{ "version": "5", "dialect": "mysql", "id": "37465fff-f2a6-49a2-b83c-94530b1cb769", "prevId": "6c86c0af-47b6-4b5c-a100-516cfe260b2e", "tables": { "analytics_events": { "name": "analytics_events", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "conversationId": { "name": "conversationId", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "sessionId": { "name": "sessionId", "type": "varchar(64)", "primaryKey": false, "notNull": false, "autoincrement": false }, "eventType": { "name": "eventType", "type": "enum('session_start','message_sent','message_received','intent_detected','flow_triggered','escalated','resolved_by_bot','resolved_by_agent','abandoned','button_clicked','feedback_positive','feedback_negative')", "primaryKey": false, "notNull": true, "autoincrement": false }, "category": { "name": "category", "type": "varchar(64)", "primaryKey": false, "notNull": false, "autoincrement": false }, "metadata": { "name": "metadata", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "analytics_events_id": { "name": "analytics_events_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "api_connections": { "name": "api_connections", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "varchar(255)", "primaryKey": false, "notNull": true, "autoincrement": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "category": { "name": "category", "type": "varchar(64)", "primaryKey": false, "notNull": false, "autoincrement": false }, "httpMethod": { "name": "httpMethod", "type": "enum('GET','POST','PUT','DELETE')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'GET'" }, "endpoint": { "name": "endpoint", "type": "varchar(1024)", "primaryKey": false, "notNull": true, "autoincrement": false }, "headers": { "name": "headers", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "inputVariables": { "name": "inputVariables", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "outputVariables": { "name": "outputVariables", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "testPayload": { "name": "testPayload", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "isActive": { "name": "isActive", "type": "boolean", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "executionCount": { "name": "executionCount", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "lastExecutedAt": { "name": "lastExecutedAt", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdById": { "name": "createdById", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "api_connections_id": { "name": "api_connections_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "audit_logs": { "name": "audit_logs", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "action": { "name": "action", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "actorId": { "name": "actorId", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false }, "actorName": { "name": "actorName", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, "targetId": { "name": "targetId", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "targetName": { "name": "targetName", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, "details": { "name": "details", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "audit_logs_id": { "name": "audit_logs_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "conversations": { "name": "conversations", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "sessionId": { "name": "sessionId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "visitorName": { "name": "visitorName", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, "visitorEmail": { "name": "visitorEmail", "type": "varchar(320)", "primaryKey": false, "notNull": false, "autoincrement": false }, "customerId": { "name": "customerId", "type": "varchar(64)", "primaryKey": false, "notNull": false, "autoincrement": false }, "salesRep": { "name": "salesRep", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, "status": { "name": "status", "type": "enum('active','escalated','resolved','closed')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'active'" }, "assignedAgentId": { "name": "assignedAgentId", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "metadata": { "name": "metadata", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "conversations_id": { "name": "conversations_id", "columns": [ "id" ] } }, "uniqueConstraints": { "conversations_sessionId_unique": { "name": "conversations_sessionId_unique", "columns": [ "sessionId" ] } }, "checkConstraint": {} }, "data_sources": { "name": "data_sources", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "name": { "name": "name", "type": "varchar(255)", "primaryKey": false, "notNull": true, "autoincrement": false }, "sourceType": { "name": "sourceType", "type": "enum('url','file','qa_pair','api')", "primaryKey": false, "notNull": true, "autoincrement": false }, "sourceStatus": { "name": "sourceStatus", "type": "enum('active','inactive','syncing','error')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'active'" }, "config": { "name": "config", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "lastSyncedAt": { "name": "lastSyncedAt", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false }, "itemCount": { "name": "itemCount", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "createdById": { "name": "createdById", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "data_sources_id": { "name": "data_sources_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "invitations": { "name": "invitations", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "email": { "name": "email", "type": "varchar(320)", "primaryKey": false, "notNull": true, "autoincrement": false }, "role": { "name": "role", "type": "enum('user','agent','admin')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'agent'" }, "token": { "name": "token", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "inviteStatus": { "name": "inviteStatus", "type": "enum('pending','accepted','expired','revoked')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'pending'" }, "invitedById": { "name": "invitedById", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false }, "invitedByName": { "name": "invitedByName", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, "acceptedByUserId": { "name": "acceptedByUserId", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "message": { "name": "message", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false }, "acceptedAt": { "name": "acceptedAt", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "invitations_id": { "name": "invitations_id", "columns": [ "id" ] } }, "uniqueConstraints": { "invitations_token_unique": { "name": "invitations_token_unique", "columns": [ "token" ] } }, "checkConstraint": {} }, "messages": { "name": "messages", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "conversationId": { "name": "conversationId", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false }, "sender": { "name": "sender", "type": "enum('visitor','bot','agent')", "primaryKey": false, "notNull": true, "autoincrement": false }, "content": { "name": "content", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "metadata": { "name": "metadata", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "messages_id": { "name": "messages_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "password_reset_tokens": { "name": "password_reset_tokens", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "userId": { "name": "userId", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false }, "token": { "name": "token", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false }, "usedAt": { "name": "usedAt", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "password_reset_tokens_id": { "name": "password_reset_tokens_id", "columns": [ "id" ] } }, "uniqueConstraints": { "password_reset_tokens_token_unique": { "name": "password_reset_tokens_token_unique", "columns": [ "token" ] } }, "checkConstraint": {} }, "users": { "name": "users", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "openId": { "name": "openId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "email": { "name": "email", "type": "varchar(320)", "primaryKey": false, "notNull": false, "autoincrement": false }, "loginMethod": { "name": "loginMethod", "type": "varchar(64)", "primaryKey": false, "notNull": false, "autoincrement": false }, "role": { "name": "role", "type": "enum('user','agent','admin')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'user'" }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" }, "lastSignedIn": { "name": "lastSignedIn", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "passwordHash": { "name": "passwordHash", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "users_id": { "name": "users_id", "columns": [ "id" ] } }, "uniqueConstraints": { "users_openId_unique": { "name": "users_openId_unique", "columns": [ "openId" ] } }, "checkConstraint": {} }, "workflow_edges": { "name": "workflow_edges", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "workflowId": { "name": "workflowId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "sourceNodeId": { "name": "sourceNodeId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "targetNodeId": { "name": "targetNodeId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "label": { "name": "label", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, "condition": { "name": "condition", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "workflow_edges_id": { "name": "workflow_edges_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "workflow_nodes": { "name": "workflow_nodes", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "workflowId": { "name": "workflowId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "nodeId": { "name": "nodeId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "type": { "name": "type", "type": "enum('greeting','intent','response','condition','escalation','action','end','customer_data','sales_order','guardrail')", "primaryKey": false, "notNull": true, "autoincrement": false }, "label": { "name": "label", "type": "varchar(255)", "primaryKey": false, "notNull": true, "autoincrement": false }, "config": { "name": "config", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "positionX": { "name": "positionX", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "positionY": { "name": "positionY", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "workflow_nodes_id": { "name": "workflow_nodes_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} }, "workflow_suggestions": { "name": "workflow_suggestions", "columns": { "id": { "name": "id", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": true }, "workflowId": { "name": "workflowId", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "suggestedNodeType": { "name": "suggestedNodeType", "type": "varchar(64)", "primaryKey": false, "notNull": true, "autoincrement": false }, "label": { "name": "label", "type": "varchar(255)", "primaryKey": false, "notNull": true, "autoincrement": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "config": { "name": "config", "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, "faqQuestion": { "name": "faqQuestion", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "frequency": { "name": "frequency", "type": "int", "primaryKey": false, "notNull": true, "autoincrement": false, "default": 0 }, "suggestionStatus": { "name": "suggestionStatus", "type": "enum('pending','approved','declined','waiting')", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'pending'" }, "reviewedById": { "name": "reviewedById", "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false }, "reviewedAt": { "name": "reviewedAt", "type": "timestamp", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "(now())" }, "updatedAt": { "name": "updatedAt", "type": "timestamp", "primaryKey": false, "notNull": true, "autoincrement": false, "onUpdate": true, "default": "(now())" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": { "workflow_suggestions_id": { "name": "workflow_suggestions_id", "columns": [ "id" ] } }, "uniqueConstraints": {}, "checkConstraint": {} } }, "views": {}, "_meta": { "schemas": {}, "tables": {}, "columns": {} }, "internal": { "tables": {}, "indexes": {} } }