{
  "id": "e85253aa-2d7d-4208-99f0-0d3665d6b100",
  "prevId": "46b1a9f3-1ffd-429b-8593-bc8de7e97c90",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.ai_settings": {
      "name": "ai_settings",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "provider": {
          "name": "provider",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'openai'"
        },
        "api_key": {
          "name": "api_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "model": {
          "name": "model",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'gpt-4o-mini'"
        },
        "endpoint": {
          "name": "endpoint",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'https://api.openai.com/v1'"
        },
        "temperature": {
          "name": "temperature",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'0.7'"
        },
        "max_tokens": {
          "name": "max_tokens",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'2048'"
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "words": {
          "name": "words",
          "type": "text[]",
          "primaryKey": false,
          "notNull": false,
          "default": "ARRAY[]::text[]"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.analytics": {
      "name": "analytics",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "date": {
          "name": "date",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        },
        "messages_sent": {
          "name": "messages_sent",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "messages_delivered": {
          "name": "messages_delivered",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "messages_read": {
          "name": "messages_read",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "messages_replied": {
          "name": "messages_replied",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "new_contacts": {
          "name": "new_contacts",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "active_campaigns": {
          "name": "active_campaigns",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.api_logs": {
      "name": "api_logs",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "request_type": {
          "name": "request_type",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": true
        },
        "endpoint": {
          "name": "endpoint",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "method": {
          "name": "method",
          "type": "varchar(10)",
          "primaryKey": false,
          "notNull": true
        },
        "request_body": {
          "name": "request_body",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "response_status": {
          "name": "response_status",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "response_body": {
          "name": "response_body",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "duration": {
          "name": "duration",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "api_logs_channel_id_channels_id_fk": {
          "name": "api_logs_channel_id_channels_id_fk",
          "tableFrom": "api_logs",
          "tableTo": "channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.automation_edges": {
      "name": "automation_edges",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true
        },
        "automation_id": {
          "name": "automation_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "source_node_id": {
          "name": "source_node_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "target_node_id": {
          "name": "target_node_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "animated": {
          "name": "animated",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "automation_edges_automation_idx": {
          "name": "automation_edges_automation_idx",
          "columns": [
            {
              "expression": "automation_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "automation_edges_automation_id_automations_id_fk": {
          "name": "automation_edges_automation_id_automations_id_fk",
          "tableFrom": "automation_edges",
          "tableTo": "automations",
          "columnsFrom": [
            "automation_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "automation_edges_source_node_id_automation_nodes_node_id_fk": {
          "name": "automation_edges_source_node_id_automation_nodes_node_id_fk",
          "tableFrom": "automation_edges",
          "tableTo": "automation_nodes",
          "columnsFrom": [
            "source_node_id"
          ],
          "columnsTo": [
            "node_id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "automation_edges_target_node_id_automation_nodes_node_id_fk": {
          "name": "automation_edges_target_node_id_automation_nodes_node_id_fk",
          "tableFrom": "automation_edges",
          "tableTo": "automation_nodes",
          "columnsFrom": [
            "target_node_id"
          ],
          "columnsTo": [
            "node_id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "automation_edges_unique_idx": {
          "name": "automation_edges_unique_idx",
          "nullsNotDistinct": false,
          "columns": [
            "automation_id",
            "source_node_id",
            "target_node_id"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.automation_execution_logs": {
      "name": "automation_execution_logs",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "execution_id": {
          "name": "execution_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "node_id": {
          "name": "node_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "node_type": {
          "name": "node_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "input": {
          "name": "input",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "output": {
          "name": "output",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "error": {
          "name": "error",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "executed_at": {
          "name": "executed_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "automation_execution_logs_execution_idx": {
          "name": "automation_execution_logs_execution_idx",
          "columns": [
            {
              "expression": "execution_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "automation_execution_logs_execution_id_automation_executions_id_fk": {
          "name": "automation_execution_logs_execution_id_automation_executions_id_fk",
          "tableFrom": "automation_execution_logs",
          "tableTo": "automation_executions",
          "columnsFrom": [
            "execution_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.automation_executions": {
      "name": "automation_executions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "automation_id": {
          "name": "automation_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "contact_id": {
          "name": "contact_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "conversation_id": {
          "name": "conversation_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "trigger_data": {
          "name": "trigger_data",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "current_node_id": {
          "name": "current_node_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "execution_path": {
          "name": "execution_path",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "variables": {
          "name": "variables",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "result": {
          "name": "result",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "error": {
          "name": "error",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "started_at": {
          "name": "started_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "completed_at": {
          "name": "completed_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "automation_executions_automation_idx": {
          "name": "automation_executions_automation_idx",
          "columns": [
            {
              "expression": "automation_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "automation_executions_status_idx": {
          "name": "automation_executions_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "automation_executions_automation_id_automations_id_fk": {
          "name": "automation_executions_automation_id_automations_id_fk",
          "tableFrom": "automation_executions",
          "tableTo": "automations",
          "columnsFrom": [
            "automation_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "automation_executions_contact_id_contacts_id_fk": {
          "name": "automation_executions_contact_id_contacts_id_fk",
          "tableFrom": "automation_executions",
          "tableTo": "contacts",
          "columnsFrom": [
            "contact_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "automation_executions_conversation_id_conversations_id_fk": {
          "name": "automation_executions_conversation_id_conversations_id_fk",
          "tableFrom": "automation_executions",
          "tableTo": "conversations",
          "columnsFrom": [
            "conversation_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.automation_nodes": {
      "name": "automation_nodes",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "automation_id": {
          "name": "automation_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "node_id": {
          "name": "node_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "subtype": {
          "name": "subtype",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "position": {
          "name": "position",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "measured": {
          "name": "measured",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "data": {
          "name": "data",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "connections": {
          "name": "connections",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "automation_nodes_automation_idx": {
          "name": "automation_nodes_automation_idx",
          "columns": [
            {
              "expression": "automation_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "automation_nodes_automation_id_automations_id_fk": {
          "name": "automation_nodes_automation_id_automations_id_fk",
          "tableFrom": "automation_nodes",
          "tableTo": "automations",
          "columnsFrom": [
            "automation_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "automation_nodes_unique_idx": {
          "name": "automation_nodes_unique_idx",
          "nullsNotDistinct": false,
          "columns": [
            "automation_id",
            "node_id"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.automations": {
      "name": "automations",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "trigger": {
          "name": "trigger",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "trigger_config": {
          "name": "trigger_config",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'inactive'"
        },
        "execution_count": {
          "name": "execution_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "last_executed_at": {
          "name": "last_executed_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_by": {
          "name": "created_by",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "automations_channel_idx": {
          "name": "automations_channel_idx",
          "columns": [
            {
              "expression": "channel_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "automations_status_idx": {
          "name": "automations_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "automations_channel_id_channels_id_fk": {
          "name": "automations_channel_id_channels_id_fk",
          "tableFrom": "automations",
          "tableTo": "channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "automations_created_by_users_id_fk": {
          "name": "automations_created_by_users_id_fk",
          "tableFrom": "automations",
          "tableTo": "users",
          "columnsFrom": [
            "created_by"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.campaign_recipients": {
      "name": "campaign_recipients",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "campaign_id": {
          "name": "campaign_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "contact_id": {
          "name": "contact_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "phone": {
          "name": "phone",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'pending'"
        },
        "whatsapp_message_id": {
          "name": "whatsapp_message_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "template_params": {
          "name": "template_params",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "sent_at": {
          "name": "sent_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "delivered_at": {
          "name": "delivered_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "read_at": {
          "name": "read_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "error_code": {
          "name": "error_code",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "error_message": {
          "name": "error_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "retry_count": {
          "name": "retry_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "recipients_campaign_idx": {
          "name": "recipients_campaign_idx",
          "columns": [
            {
              "expression": "campaign_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "recipients_status_idx": {
          "name": "recipients_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "recipients_phone_idx": {
          "name": "recipients_phone_idx",
          "columns": [
            {
              "expression": "phone",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "campaign_recipients_campaign_id_campaigns_id_fk": {
          "name": "campaign_recipients_campaign_id_campaigns_id_fk",
          "tableFrom": "campaign_recipients",
          "tableTo": "campaigns",
          "columnsFrom": [
            "campaign_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "campaign_recipients_contact_id_contacts_id_fk": {
          "name": "campaign_recipients_contact_id_contacts_id_fk",
          "tableFrom": "campaign_recipients",
          "tableTo": "contacts",
          "columnsFrom": [
            "contact_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "campaign_phone_unique": {
          "name": "campaign_phone_unique",
          "nullsNotDistinct": false,
          "columns": [
            "campaign_id",
            "phone"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.campaigns": {
      "name": "campaigns",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "campaign_type": {
          "name": "campaign_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "api_type": {
          "name": "api_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "template_id": {
          "name": "template_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "template_name": {
          "name": "template_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "template_language": {
          "name": "template_language",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "variable_mapping": {
          "name": "variable_mapping",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "contact_groups": {
          "name": "contact_groups",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "csv_data": {
          "name": "csv_data",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "api_key": {
          "name": "api_key",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "api_endpoint": {
          "name": "api_endpoint",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'draft'"
        },
        "scheduled_at": {
          "name": "scheduled_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "recipient_count": {
          "name": "recipient_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "sent_count": {
          "name": "sent_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "delivered_count": {
          "name": "delivered_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "read_count": {
          "name": "read_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "replied_count": {
          "name": "replied_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "failed_count": {
          "name": "failed_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "completed_at": {
          "name": "completed_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "campaigns_channel_idx": {
          "name": "campaigns_channel_idx",
          "columns": [
            {
              "expression": "channel_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "campaigns_status_idx": {
          "name": "campaigns_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "campaigns_created_idx": {
          "name": "campaigns_created_idx",
          "columns": [
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "campaigns_channel_id_channels_id_fk": {
          "name": "campaigns_channel_id_channels_id_fk",
          "tableFrom": "campaigns",
          "tableTo": "channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "campaigns_template_id_templates_id_fk": {
          "name": "campaigns_template_id_templates_id_fk",
          "tableFrom": "campaigns",
          "tableTo": "templates",
          "columnsFrom": [
            "template_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.channels": {
      "name": "channels",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "phone_number_id": {
          "name": "phone_number_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "access_token": {
          "name": "access_token",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "whatsapp_business_account_id": {
          "name": "whatsapp_business_account_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "phone_number": {
          "name": "phone_number",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": true
        },
        "health_status": {
          "name": "health_status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'unknown'"
        },
        "last_health_check": {
          "name": "last_health_check",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "health_details": {
          "name": "health_details",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.chatbots": {
      "name": "chatbots",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "uuid": {
          "name": "uuid",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "bubble_message": {
          "name": "bubble_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "welcome_message": {
          "name": "welcome_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "instructions": {
          "name": "instructions",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "connect_message": {
          "name": "connect_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "language": {
          "name": "language",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'en'"
        },
        "interaction_type": {
          "name": "interaction_type",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'ai-only'"
        },
        "avatar_id": {
          "name": "avatar_id",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "avatar_emoji": {
          "name": "avatar_emoji",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "avatar_color": {
          "name": "avatar_color",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "primary_color": {
          "name": "primary_color",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'#3B82F6'"
        },
        "logo_url": {
          "name": "logo_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "embed_width": {
          "name": "embed_width",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 420
        },
        "embed_height": {
          "name": "embed_height",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 745
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "chatbots_uuid_unique": {
          "name": "chatbots_uuid_unique",
          "nullsNotDistinct": false,
          "columns": [
            "uuid"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.contacts": {
      "name": "contacts",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "tenant_id": {
          "name": "tenant_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "phone": {
          "name": "phone",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "groups": {
          "name": "groups",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "tags": {
          "name": "tags",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'active'"
        },
        "source": {
          "name": "source",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": false
        },
        "last_contact": {
          "name": "last_contact",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "contacts_channel_idx": {
          "name": "contacts_channel_idx",
          "columns": [
            {
              "expression": "channel_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "contacts_phone_idx": {
          "name": "contacts_phone_idx",
          "columns": [
            {
              "expression": "phone",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "contacts_status_idx": {
          "name": "contacts_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "contacts_channel_id_channels_id_fk": {
          "name": "contacts_channel_id_channels_id_fk",
          "tableFrom": "contacts",
          "tableTo": "channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "contacts_channel_phone_unique": {
          "name": "contacts_channel_phone_unique",
          "nullsNotDistinct": false,
          "columns": [
            "channel_id",
            "phone"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.conversation_assignments": {
      "name": "conversation_assignments",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "conversation_id": {
          "name": "conversation_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "assigned_by": {
          "name": "assigned_by",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "assigned_at": {
          "name": "assigned_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'active'"
        },
        "priority": {
          "name": "priority",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'normal'"
        },
        "notes": {
          "name": "notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "resolved_at": {
          "name": "resolved_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "conversation_assignments_conversation_id_conversations_id_fk": {
          "name": "conversation_assignments_conversation_id_conversations_id_fk",
          "tableFrom": "conversation_assignments",
          "tableTo": "conversations",
          "columnsFrom": [
            "conversation_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "conversation_assignments_user_id_users_id_fk": {
          "name": "conversation_assignments_user_id_users_id_fk",
          "tableFrom": "conversation_assignments",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "conversation_assignments_assigned_by_users_id_fk": {
          "name": "conversation_assignments_assigned_by_users_id_fk",
          "tableFrom": "conversation_assignments",
          "tableTo": "users",
          "columnsFrom": [
            "assigned_by"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.conversations": {
      "name": "conversations",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "contact_id": {
          "name": "contact_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "assigned_to": {
          "name": "assigned_to",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "contact_phone": {
          "name": "contact_phone",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "contact_name": {
          "name": "contact_name",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'open'"
        },
        "priority": {
          "name": "priority",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'normal'"
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'whatsapp'"
        },
        "chatbot_id": {
          "name": "chatbot_id",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "session_id": {
          "name": "session_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "tags": {
          "name": "tags",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "unread_count": {
          "name": "unread_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "last_message_at": {
          "name": "last_message_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "last_message_text": {
          "name": "last_message_text",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "conversations_channel_idx": {
          "name": "conversations_channel_idx",
          "columns": [
            {
              "expression": "channel_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "conversations_contact_idx": {
          "name": "conversations_contact_idx",
          "columns": [
            {
              "expression": "contact_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "conversations_phone_idx": {
          "name": "conversations_phone_idx",
          "columns": [
            {
              "expression": "contact_phone",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "conversations_status_idx": {
          "name": "conversations_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "conversations_channel_id_channels_id_fk": {
          "name": "conversations_channel_id_channels_id_fk",
          "tableFrom": "conversations",
          "tableTo": "channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "conversations_contact_id_contacts_id_fk": {
          "name": "conversations_contact_id_contacts_id_fk",
          "tableFrom": "conversations",
          "tableTo": "contacts",
          "columnsFrom": [
            "contact_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.knowledge_articles": {
      "name": "knowledge_articles",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "category_id": {
          "name": "category_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "varchar(500)",
          "primaryKey": false,
          "notNull": true
        },
        "content": {
          "name": "content",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "order": {
          "name": "order",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "published": {
          "name": "published",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": true
        },
        "views": {
          "name": "views",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "helpful": {
          "name": "helpful",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "not_helpful": {
          "name": "not_helpful",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "articles_category_idx": {
          "name": "articles_category_idx",
          "columns": [
            {
              "expression": "category_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "articles_published_idx": {
          "name": "articles_published_idx",
          "columns": [
            {
              "expression": "published",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.knowledge_categories": {
      "name": "knowledge_categories",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "site_id": {
          "name": "site_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "parent_id": {
          "name": "parent_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "varchar(255)",
          "primaryKey": false,
          "notNull": true
        },
        "icon": {
          "name": "icon",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "order": {
          "name": "order",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "categories_site_idx": {
          "name": "categories_site_idx",
          "columns": [
            {
              "expression": "site_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "categories_parent_idx": {
          "name": "categories_parent_idx",
          "columns": [
            {
              "expression": "parent_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.message_queue": {
      "name": "message_queue",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "campaign_id": {
          "name": "campaign_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "recipient_phone": {
          "name": "recipient_phone",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": true
        },
        "template_name": {
          "name": "template_name",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": false
        },
        "template_params": {
          "name": "template_params",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "message_type": {
          "name": "message_type",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": true
        },
        "status": {
          "name": "status",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "default": "'queued'"
        },
        "attempts": {
          "name": "attempts",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "whatsapp_message_id": {
          "name": "whatsapp_message_id",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": false
        },
        "conversation_id": {
          "name": "conversation_id",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": false
        },
        "sent_via": {
          "name": "sent_via",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false
        },
        "cost": {
          "name": "cost",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false
        },
        "error_code": {
          "name": "error_code",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": false
        },
        "error_message": {
          "name": "error_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "scheduled_for": {
          "name": "scheduled_for",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "processed_at": {
          "name": "processed_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "delivered_at": {
          "name": "delivered_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "read_at": {
          "name": "read_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "message_queue_campaign_id_campaigns_id_fk": {
          "name": "message_queue_campaign_id_campaigns_id_fk",
          "tableFrom": "message_queue",
          "tableTo": "campaigns",
          "columnsFrom": [
            "campaign_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "message_queue_channel_id_whatsapp_channels_id_fk": {
          "name": "message_queue_channel_id_whatsapp_channels_id_fk",
          "tableFrom": "message_queue",
          "tableTo": "whatsapp_channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.messages": {
      "name": "messages",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "conversation_id": {
          "name": "conversation_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "whatsapp_message_id": {
          "name": "whatsapp_message_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "from_user": {
          "name": "from_user",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "direction": {
          "name": "direction",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false,
          "default": "'outbound'"
        },
        "content": {
          "name": "content",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'text'"
        },
        "from_type": {
          "name": "from_type",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false,
          "default": "'user'"
        },
        "message_type": {
          "name": "message_type",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "media_id": {
          "name": "media_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "media_url": {
          "name": "media_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "media_mime_type": {
          "name": "media_mime_type",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": false
        },
        "media_sha256": {
          "name": "media_sha256",
          "type": "varchar(128)",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'sent'"
        },
        "timestamp": {
          "name": "timestamp",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "metadata": {
          "name": "metadata",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "delivered_at": {
          "name": "delivered_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "read_at": {
          "name": "read_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "error_code": {
          "name": "error_code",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": false
        },
        "error_message": {
          "name": "error_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "error_details": {
          "name": "error_details",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "campaign_id": {
          "name": "campaign_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {
        "messages_conversation_idx": {
          "name": "messages_conversation_idx",
          "columns": [
            {
              "expression": "conversation_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "messages_whatsapp_idx": {
          "name": "messages_whatsapp_idx",
          "columns": [
            {
              "expression": "whatsapp_message_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "messages_direction_idx": {
          "name": "messages_direction_idx",
          "columns": [
            {
              "expression": "direction",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "messages_status_idx": {
          "name": "messages_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "messages_timestamp_idx": {
          "name": "messages_timestamp_idx",
          "columns": [
            {
              "expression": "timestamp",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "messages_created_idx": {
          "name": "messages_created_idx",
          "columns": [
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "messages_conversation_id_conversations_id_fk": {
          "name": "messages_conversation_id_conversations_id_fk",
          "tableFrom": "messages",
          "tableTo": "conversations",
          "columnsFrom": [
            "conversation_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "messages_campaign_id_campaigns_id_fk": {
          "name": "messages_campaign_id_campaigns_id_fk",
          "tableFrom": "messages",
          "tableTo": "campaigns",
          "columnsFrom": [
            "campaign_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "set null",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.panel_config": {
      "name": "panel_config",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "name": {
          "name": "name",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "tagline": {
          "name": "tagline",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "logo": {
          "name": "logo",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "favicon": {
          "name": "favicon",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "default_language": {
          "name": "default_language",
          "type": "varchar(5)",
          "primaryKey": false,
          "notNull": false,
          "default": "'en'"
        },
        "supported_languages": {
          "name": "supported_languages",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[\"en\"]'"
        },
        "company_name": {
          "name": "company_name",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "company_website": {
          "name": "company_website",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "support_email": {
          "name": "support_email",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.payment_providers": {
      "name": "payment_providers",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "name": {
          "name": "name",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "provider_key": {
          "name": "provider_key",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "logo": {
          "name": "logo",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": true
        },
        "config": {
          "name": "config",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "supported_currencies": {
          "name": "supported_currencies",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "supported_methods": {
          "name": "supported_methods",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "payment_providers_provider_key_unique": {
          "name": "payment_providers_provider_key_unique",
          "nullsNotDistinct": false,
          "columns": [
            "provider_key"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.plans": {
      "name": "plans",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "name": {
          "name": "name",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "icon": {
          "name": "icon",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "popular": {
          "name": "popular",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "badge": {
          "name": "badge",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "color": {
          "name": "color",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "button_color": {
          "name": "button_color",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "monthly_price": {
          "name": "monthly_price",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": false,
          "default": "'0'"
        },
        "annual_price": {
          "name": "annual_price",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": false,
          "default": "'0'"
        },
        "permissions": {
          "name": "permissions",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "features": {
          "name": "features",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.sites": {
      "name": "sites",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "tenant_id": {
          "name": "tenant_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "domain": {
          "name": "domain",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "widget_code": {
          "name": "widget_code",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "widget_enabled": {
          "name": "widget_enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "widget_config": {
          "name": "widget_config",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "ai_training_config": {
          "name": "ai_training_config",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{\"trainFromKB\": false, \"trainFromDocuments\": true}'::jsonb"
        },
        "auto_assignment_config": {
          "name": "auto_assignment_config",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{\"enabled\": false, \"strategy\": \"round_robin\"}'::jsonb"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "sites_widget_code_unique": {
          "name": "sites_widget_code_unique",
          "nullsNotDistinct": false,
          "columns": [
            "widget_code"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.storage_settings": {
      "name": "storage_settings",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "provider": {
          "name": "provider",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'digitalocean'"
        },
        "space_name": {
          "name": "space_name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "endpoint": {
          "name": "endpoint",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "region": {
          "name": "region",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "access_key": {
          "name": "access_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "secret_key": {
          "name": "secret_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.subscriptions": {
      "name": "subscriptions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "plan_id": {
          "name": "plan_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "status": {
          "name": "status",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "billing_cycle": {
          "name": "billing_cycle",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "start_date": {
          "name": "start_date",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        },
        "end_date": {
          "name": "end_date",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true
        },
        "auto_renew": {
          "name": "auto_renew",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "subscriptions_user_id_users_id_fk": {
          "name": "subscriptions_user_id_users_id_fk",
          "tableFrom": "subscriptions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "subscriptions_plan_id_plans_id_fk": {
          "name": "subscriptions_plan_id_plans_id_fk",
          "tableFrom": "subscriptions",
          "tableTo": "plans",
          "columnsFrom": [
            "plan_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.templates": {
      "name": "templates",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "category": {
          "name": "category",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "language": {
          "name": "language",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'en_US'"
        },
        "header": {
          "name": "header",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "body": {
          "name": "body",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "footer": {
          "name": "footer",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "buttons": {
          "name": "buttons",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "variables": {
          "name": "variables",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'draft'"
        },
        "rejection_reason": {
          "name": "rejection_reason",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "media_type": {
          "name": "media_type",
          "type": "text",
          "primaryKey": false,
          "notNull": false,
          "default": "'text'"
        },
        "media_url": {
          "name": "media_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "media_handle": {
          "name": "media_handle",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "carousel_cards": {
          "name": "carousel_cards",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'[]'::jsonb"
        },
        "whatsapp_template_id": {
          "name": "whatsapp_template_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "usage_count": {
          "name": "usage_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": false,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "templates_channel_id_channels_id_fk": {
          "name": "templates_channel_id_channels_id_fk",
          "tableFrom": "templates",
          "tableTo": "channels",
          "columnsFrom": [
            "channel_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.tenants": {
      "name": "tenants",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "active": {
          "name": "active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "settings": {
          "name": "settings",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "stripe_customer_id": {
          "name": "stripe_customer_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "stripe_subscription_id": {
          "name": "stripe_subscription_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "tenants_email_unique": {
          "name": "tenants_email_unique",
          "nullsNotDistinct": false,
          "columns": [
            "email"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.training_data": {
      "name": "training_data",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "chatbot_id": {
          "name": "chatbot_id",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "type": {
          "name": "type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "content": {
          "name": "content",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "metadata": {
          "name": "metadata",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "training_data_chatbot_id_chatbots_id_fk": {
          "name": "training_data_chatbot_id_chatbots_id_fk",
          "tableFrom": "training_data",
          "tableTo": "chatbots",
          "columnsFrom": [
            "chatbot_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.transactions": {
      "name": "transactions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "plan_id": {
          "name": "plan_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "subscription_id": {
          "name": "subscription_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "payment_provider_id": {
          "name": "payment_provider_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "amount": {
          "name": "amount",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "currency": {
          "name": "currency",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false,
          "default": "'USD'"
        },
        "billing_cycle": {
          "name": "billing_cycle",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "provider_transaction_id": {
          "name": "provider_transaction_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "provider_order_id": {
          "name": "provider_order_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "provider_payment_id": {
          "name": "provider_payment_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "payment_method": {
          "name": "payment_method",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "metadata": {
          "name": "metadata",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "paid_at": {
          "name": "paid_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "refunded_at": {
          "name": "refunded_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "transactions_user_id_users_id_fk": {
          "name": "transactions_user_id_users_id_fk",
          "tableFrom": "transactions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "transactions_plan_id_plans_id_fk": {
          "name": "transactions_plan_id_plans_id_fk",
          "tableFrom": "transactions",
          "tableTo": "plans",
          "columnsFrom": [
            "plan_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "transactions_subscription_id_subscriptions_id_fk": {
          "name": "transactions_subscription_id_subscriptions_id_fk",
          "tableFrom": "transactions",
          "tableTo": "subscriptions",
          "columnsFrom": [
            "subscription_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "transactions_payment_provider_id_payment_providers_id_fk": {
          "name": "transactions_payment_provider_id_payment_providers_id_fk",
          "tableFrom": "transactions",
          "tableTo": "payment_providers",
          "columnsFrom": [
            "payment_provider_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_activity_logs": {
      "name": "user_activity_logs",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": true
        },
        "action": {
          "name": "action",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "entity_type": {
          "name": "entity_type",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "entity_id": {
          "name": "entity_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "details": {
          "name": "details",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false,
          "default": "'{}'::jsonb"
        },
        "ip_address": {
          "name": "ip_address",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "user_agent": {
          "name": "user_agent",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_activity_logs_user_id_users_id_fk": {
          "name": "user_activity_logs_user_id_users_id_fk",
          "tableFrom": "user_activity_logs",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.users": {
      "name": "users",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "username": {
          "name": "username",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "password": {
          "name": "password",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "first_name": {
          "name": "first_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "last_name": {
          "name": "last_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "role": {
          "name": "role",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'admin'"
        },
        "avatar": {
          "name": "avatar",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'active'"
        },
        "permissions": {
          "name": "permissions",
          "type": "text[]",
          "primaryKey": false,
          "notNull": true
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "last_login": {
          "name": "last_login",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "users_username_unique": {
          "name": "users_username_unique",
          "nullsNotDistinct": false,
          "columns": [
            "username"
          ]
        },
        "users_email_unique": {
          "name": "users_email_unique",
          "nullsNotDistinct": false,
          "columns": [
            "email"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.webhook_configs": {
      "name": "webhook_configs",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "channel_id": {
          "name": "channel_id",
          "type": "varchar",
          "primaryKey": false,
          "notNull": false
        },
        "webhook_url": {
          "name": "webhook_url",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "verify_token": {
          "name": "verify_token",
          "type": "varchar(100)",
          "primaryKey": false,
          "notNull": true
        },
        "app_secret": {
          "name": "app_secret",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "events": {
          "name": "events",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'[]'::jsonb"
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false,
          "default": true
        },
        "last_ping_at": {
          "name": "last_ping_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.whatsapp_channels": {
      "name": "whatsapp_channels",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "varchar",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "name": {
          "name": "name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "phone_number": {
          "name": "phone_number",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": true
        },
        "phone_number_id": {
          "name": "phone_number_id",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": true
        },
        "waba_id": {
          "name": "waba_id",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": true
        },
        "access_token": {
          "name": "access_token",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "business_account_id": {
          "name": "business_account_id",
          "type": "varchar(50)",
          "primaryKey": false,
          "notNull": false
        },
        "rate_limit_tier": {
          "name": "rate_limit_tier",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "default": "'standard'"
        },
        "quality_rating": {
          "name": "quality_rating",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "default": "'green'"
        },
        "status": {
          "name": "status",
          "type": "varchar(20)",
          "primaryKey": false,
          "notNull": false,
          "default": "'inactive'"
        },
        "error_message": {
          "name": "error_message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "last_health_check": {
          "name": "last_health_check",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false
        },
        "message_limit": {
          "name": "message_limit",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "messages_used": {
          "name": "messages_used",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp",
          "primaryKey": false,
          "notNull": false,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "whatsapp_channels_phone_number_unique": {
          "name": "whatsapp_channels_phone_number_unique",
          "nullsNotDistinct": false,
          "columns": [
            "phone_number"
          ]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    }
  },
  "enums": {},
  "schemas": {},
  "sequences": {},
  "roles": {},
  "policies": {},
  "views": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}