thinkwork-cli 0.12.12 → 0.12.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/README.md +42 -38
  2. package/dist/{api-client-ASJWIG3Z.js → api-client-JUBCQQDF.js} +1 -1
  3. package/dist/{chunk-JEHV35EU.js → chunk-STY44FQO.js} +353 -30
  4. package/dist/cli.js +23823 -10151
  5. package/dist/commands/enterprise/templates/deploy-repo/.github/workflows/deploy.yml +17 -6
  6. package/dist/commands/enterprise/templates/deploy-repo/docs/runbook.md +81 -9
  7. package/dist/commands/enterprise/templates/deploy-repo/scripts/apply-release.mjs +183 -21
  8. package/dist/commands/enterprise/templates/deploy-repo/scripts/smoke.mjs +1 -2
  9. package/dist/commands/enterprise/templates/deploy-repo/terraform/main.tf +286 -0
  10. package/dist/drizzle/0000_petite_marvel_apes.sql +1188 -0
  11. package/dist/drizzle/0001_milky_surge.sql +103 -0
  12. package/dist/drizzle/0002_aberrant_mattie_franklin.sql +41 -0
  13. package/dist/drizzle/0003_exotic_ogun.sql +3 -0
  14. package/dist/drizzle/0004_glamorous_magneto.sql +2 -0
  15. package/dist/drizzle/0005_ancient_nocturne.sql +2 -0
  16. package/dist/drizzle/0006_new_colonel_america.sql +2 -0
  17. package/dist/drizzle/0007_unique_external_task_id.sql +31 -0
  18. package/dist/drizzle/0008_external_task_id_column.sql +43 -0
  19. package/dist/drizzle/0009_evaluations.sql +64 -0
  20. package/dist/drizzle/0010_eval_agent_template.sql +2 -0
  21. package/dist/drizzle/0011_eval_run_template.sql +2 -0
  22. package/dist/drizzle/0012_eval_seed_unique.sql +16 -0
  23. package/dist/drizzle/0013_motionless_white_queen.sql +140 -0
  24. package/dist/drizzle/0014_wiki_aggregation.sql +11 -0
  25. package/dist/drizzle/0015_pg_trgm_alias_title_indexes.sql +9 -0
  26. package/dist/drizzle/0016_wiki_schema_drops.sql +24 -0
  27. package/dist/drizzle/0017_wiki_places.sql +46 -0
  28. package/dist/drizzle/0018_agent_workspace_overlay.sql +26 -0
  29. package/dist/drizzle/0018_cool_firebird.sql +24 -0
  30. package/dist/drizzle/0018_skill_runs.sql +84 -0
  31. package/dist/drizzle/0019_condemned_dragon_man.sql +95 -0
  32. package/dist/drizzle/0019_webhook_skill_runs.sql +58 -0
  33. package/dist/drizzle/0020_crazy_the_anarchist.sql +9 -0
  34. package/dist/drizzle/0020_mutation_idempotency.sql +64 -0
  35. package/dist/drizzle/0021_crm_work_links.sql +76 -0
  36. package/dist/drizzle/0021_skill_runs_completion_hmac.sql +33 -0
  37. package/dist/drizzle/0022_add_billing_tables.sql +70 -0
  38. package/dist/drizzle/0022_seed_thinkwork_admin_permissions.sql +160 -0
  39. package/dist/drizzle/0022_stripe_billing_indexes.sql +48 -0
  40. package/dist/drizzle/0023_tenants_deactivation.sql +27 -0
  41. package/dist/drizzle/0024_tenant_mcp_admin_keys.sql +63 -0
  42. package/dist/drizzle/0025_v1_agent_architecture.sql +182 -0
  43. package/dist/drizzle/0026_thread_turns_add_kind.sql +28 -0
  44. package/dist/drizzle/0027_capability_catalog_and_manifests.sql +219 -0
  45. package/dist/drizzle/0028_aws_s3_extension.sql +26 -0
  46. package/dist/drizzle/0029_collapse_execution_types.sql +42 -0
  47. package/dist/drizzle/0030_retire_composition_primitives.sql +48 -0
  48. package/dist/drizzle/0031_thread_cleanup_drops.sql +131 -0
  49. package/dist/drizzle/0032_add_browser_automation_template_config.sql +24 -0
  50. package/dist/drizzle/0033_agent_operation_leases.sql +32 -0
  51. package/dist/drizzle/0034_agent_workspace_events.sql +116 -0
  52. package/dist/drizzle/0035_workspace_review_decisions.sql +19 -0
  53. package/dist/drizzle/0036_user_scoped_memory_wiki.sql +152 -0
  54. package/dist/drizzle/0037_user_profile_operating_model.sql +34 -0
  55. package/dist/drizzle/0042_agent_runtime_selector.sql +41 -0
  56. package/dist/drizzle/0043_wiki_search_tsv_tokenization.sql +48 -0
  57. package/dist/drizzle/0044_add_web_search_template_config.sql +7 -0
  58. package/dist/drizzle/0045_add_send_email_template_config.sql +7 -0
  59. package/dist/drizzle/0046_tenant_mcp_context_tools.sql +26 -0
  60. package/dist/drizzle/0047_add_context_engine_template_config.sql +7 -0
  61. package/dist/drizzle/0048_tenant_context_provider_settings.sql +22 -0
  62. package/dist/drizzle/0050_brain_v0_entity_subtype.sql +29 -0
  63. package/dist/drizzle/0051_brain_v0_tenant_entity_pages.sql +170 -0
  64. package/dist/drizzle/0052_brain_v0_external_refs.sql +41 -0
  65. package/dist/drizzle/0053_brain_v0_unresolved_mentions_subtype.sql +48 -0
  66. package/dist/drizzle/0054_wiki_compile_jobs_input.sql +28 -0
  67. package/dist/drizzle/0055_routines_stepfunctions_substrate.sql +202 -0
  68. package/dist/drizzle/0056_routine_step_events_dedup_idx.sql +25 -0
  69. package/dist/drizzle/0057_archive_legacy_python_routines.sql +36 -0
  70. package/dist/drizzle/0058_routines_visibility_and_owning_agent.sql +61 -0
  71. package/dist/drizzle/0061_routine_execution_asl_version_id.sql +29 -0
  72. package/dist/drizzle/0062_migrate_pi_to_flue.sql +110 -0
  73. package/dist/drizzle/0063_threads_session_data.sql +23 -0
  74. package/dist/drizzle/0064_tenant_credentials.sql +65 -0
  75. package/dist/drizzle/0067_thinkwork_computers_phase_one.sql +174 -0
  76. package/dist/drizzle/0068_drop_system_workflows_and_activation.sql +115 -0
  77. package/dist/drizzle/0069_compliance_schema.sql +364 -0
  78. package/dist/drizzle/0070_compliance_aurora_roles.sql +171 -0
  79. package/dist/drizzle/0072_threads_computer_ownership.sql +24 -0
  80. package/dist/drizzle/0073_compliance_tenant_anchor_state.sql +105 -0
  81. package/dist/drizzle/0074_compliance_event_hash_index.sql +49 -0
  82. package/dist/drizzle/0075_scheduled_jobs_computer_ownership.sql +27 -0
  83. package/dist/drizzle/0076_scheduled_jobs_marco_backfill.sql +69 -0
  84. package/dist/drizzle/0077_computers_primary_agent_id.sql +38 -0
  85. package/dist/drizzle/0078_tenant_customize_catalog.sql +46 -0
  86. package/dist/drizzle/0079_seed_tenant_customize_catalog.sql +53 -0
  87. package/dist/drizzle/0081_routines_catalog_slug.sql +42 -0
  88. package/dist/drizzle/0082_messages_parts_jsonb.sql +52 -0
  89. package/dist/drizzle/0083_computer_runbooks.sql +103 -0
  90. package/dist/drizzle/0084_artifacts_favorited_at.sql +32 -0
  91. package/dist/drizzle/0085_seed_thinkwork_computer_default_template.sql +46 -0
  92. package/dist/drizzle/0086_update_default_template_models.sql +19 -0
  93. package/dist/drizzle/0087_retire_oss_connectors.sql +77 -0
  94. package/dist/drizzle/0088_compliance_event_types_finance_pilot.sql +37 -0
  95. package/dist/drizzle/0089_remove_maniflow_eval_seeds.sql +81 -0
  96. package/dist/drizzle/0089_wiki_schema_extraction.sql +315 -0
  97. package/dist/drizzle/0090_brain_schema_extraction.sql +274 -0
  98. package/dist/drizzle/0091_drop_wiki_brain_compat_views.sql +118 -0
  99. package/dist/drizzle/0092_finish_oss_connector_retirement.sql +97 -0
  100. package/dist/drizzle/0093_eval_runs_scheduled_job_id.sql +23 -0
  101. package/dist/drizzle/0094_slack_workspace_app.sql +140 -0
  102. package/dist/drizzle/0095_eval_runs_computer_id.sql +22 -0
  103. package/dist/drizzle/0096_true_redteam_eval_seed_cleanup.sql +67 -0
  104. package/dist/drizzle/0097_shared_computers.sql +191 -0
  105. package/dist/drizzle/0098_business_ontology.sql +587 -0
  106. package/dist/drizzle/0099_thread_idle_learning.sql +145 -0
  107. package/dist/drizzle/0100_ontology_gated_brain_dynamic_subtypes.sql +7 -0
  108. package/dist/drizzle/0101_ontology_gated_unresolved_mentions_dynamic_subtypes.sql +7 -0
  109. package/dist/drizzle/0102_wiki_brain_owner_repair.sql +87 -0
  110. package/dist/drizzle/0103_brain_section_source_trigger_repair.sql +75 -0
  111. package/dist/drizzle/0104_expand_seed_ontology_for_user_memory.sql +166 -0
  112. package/dist/drizzle/0105_spaces_domain.sql +349 -0
  113. package/dist/drizzle/0106_expand_seed_ontology_for_triples.sql +173 -0
  114. package/dist/drizzle/0106_space_threads_participants.sql +197 -0
  115. package/dist/drizzle/0107_linked_task_mirror.sql +245 -0
  116. package/dist/drizzle/0108_message_mentions.sql +95 -0
  117. package/dist/drizzle/0109_space_owned_threads.sql +217 -0
  118. package/dist/drizzle/0110_thread_participant_read_state.sql +21 -0
  119. package/dist/drizzle/0111_agents_tenant_name_unique.sql +38 -0
  120. package/dist/drizzle/0112_recast_spaces_as_contextual_workrooms.sql +138 -0
  121. package/dist/drizzle/0113_agents_own_runtime_fields.sql +48 -0
  122. package/dist/drizzle/0114_migrate_templates_to_agents_and_spaces.sql +361 -0
  123. package/dist/drizzle/0115_remove_computer_eval_template_dependencies.sql +69 -0
  124. package/dist/drizzle/0116_backfill_thread_participants_access.sql +126 -0
  125. package/dist/drizzle/0117_space_access_mode.sql +40 -0
  126. package/dist/drizzle/0118_normalize_tenant_member_principal_type.sql +41 -0
  127. package/dist/drizzle/0119_space_knowledge_bases.sql +126 -0
  128. package/dist/drizzle/0120_space_automations.sql +58 -0
  129. package/dist/drizzle/0121_drop_computer_runbooks.sql +26 -0
  130. package/dist/drizzle/0122_space_email_triggers.sql +24 -0
  131. package/dist/drizzle/0123_single_platform_agent_and_overrides.sql +58 -0
  132. package/dist/drizzle/0124_thread_turns_finalized_at.sql +17 -0
  133. package/dist/drizzle/0125_drop_space_agent_assignments.sql +42 -0
  134. package/dist/drizzle/0126_migrate_flue_to_pi.sql +42 -0
  135. package/dist/drizzle/0127_runtime_type_observability.sql +28 -0
  136. package/dist/drizzle/0128_drop_eval_test_cases_agent_id.sql +37 -0
  137. package/dist/drizzle/0129_drop_code_factory_tables.sql +43 -0
  138. package/dist/drizzle/0129_eval_results_system_prompt.sql +30 -0
  139. package/dist/drizzle/0130_drop_teams_and_team_id_columns.sql +54 -0
  140. package/dist/drizzle/0131_drop_skill_catalog_and_tenant_skills.sql +33 -0
  141. package/dist/drizzle/0132_drop_computer_tables.sql +31 -0
  142. package/dist/drizzle/0133_drop_seed_view_tombstones.sql +79 -0
  143. package/dist/drizzle/0133_thread_turns_system_prompt.sql +22 -0
  144. package/dist/drizzle/0134_drop_dead_agent_runtime_tables.sql +53 -0
  145. package/dist/drizzle/0135_native_checklist_linked_tasks.sql +48 -0
  146. package/dist/drizzle/0136_goal_ledger.sql +55 -0
  147. package/dist/drizzle/0136_space_email_trigger_status.sql +66 -0
  148. package/dist/drizzle/0137_thread_participant_pins.sql +25 -0
  149. package/dist/drizzle/0138_users_cognito_sub.sql +30 -0
  150. package/dist/drizzle/0139_mobile_turn_client_id.sql +23 -0
  151. package/dist/drizzle/0140_workspace_folder_names.sql +36 -0
  152. package/dist/drizzle/0141_eval_runs_desktop_pi_provenance.sql +31 -0
  153. package/dist/drizzle/0142_pi_only_agent_runtime.sql +61 -0
  154. package/dist/drizzle/0143_add_web_extract_builtin_config.sql +28 -0
  155. package/dist/drizzle/0144_skill_catalog_index.sql +40 -0
  156. package/dist/drizzle/0145_knowledge_graph_thread_ingest.sql +512 -0
  157. package/dist/drizzle/0146_knowledge_graph_source_scope.sql +413 -0
  158. package/dist/drizzle/0147_knowledge_graph_scope_trigger_qualification.sql +211 -0
  159. package/dist/drizzle/0148_user_cost_attribution.sql +171 -0
  160. package/dist/drizzle/0149_managed_mcp_servers.sql +64 -0
  161. package/dist/drizzle/0149_user_model_approvals.sql +89 -0
  162. package/dist/drizzle/0150_bootstrap_first_admin_claim.sql +11 -0
  163. package/dist/drizzle/0151_managed_deployments.sql +91 -0
  164. package/dist/drizzle/0152_agent_profiles.sql +81 -0
  165. package/dist/drizzle/0153_message_mentions_agent_profile.sql +9 -0
  166. package/dist/drizzle/0154_customer_deployment_sessions.sql +61 -0
  167. package/dist/drizzle/0155_tenant_model_catalog.sql +152 -0
  168. package/dist/drizzle/0156_bootstrap_credential_leases.sql +52 -0
  169. package/dist/drizzle/0157_knowledge_graph_observations_source.sql +79 -0
  170. package/dist/drizzle/0158_pending_user_questions.sql +80 -0
  171. package/dist/drizzle/0158_wiki_tenant_scope.sql +38 -0
  172. package/dist/drizzle/0159_agent_profiles_space_local.sql +49 -0
  173. package/dist/drizzle/0159_application_plugins.sql +193 -0
  174. package/dist/drizzle/0159_eval_scoring_version.sql +46 -0
  175. package/dist/drizzle/0160_compliance_event_types_plugins.sql +37 -0
  176. package/dist/drizzle/0160_eval_datasets.sql +75 -0
  177. package/dist/drizzle/0160_eval_results_thread_turn.sql +35 -0
  178. package/dist/drizzle/0161_eval_run_pinning.sql +54 -0
  179. package/dist/drizzle/0161_tenant_mcp_servers_plugin_source.sql +62 -0
  180. package/dist/drizzle/0162_eval_result_override.sql +49 -0
  181. package/dist/drizzle/0163_eval_replay_tool_allowlist.sql +50 -0
  182. package/dist/drizzle/0164_eval_replay_tool_override_mode.sql +52 -0
  183. package/dist/drizzle/0165_plugin_premium_entitlements.sql +153 -0
  184. package/dist/drizzle/0166_company_brain_substrate_contract.sql +386 -0
  185. package/dist/drizzle/0167_company_brain_artifact_manifest_runtime.sql +85 -0
  186. package/dist/drizzle/0168_eval_skill_gate.sql +44 -0
  187. package/dist/drizzle/0169_release_update_jobs.sql +67 -0
  188. package/dist/drizzle/0170_email_channel_plugin.sql +291 -0
  189. package/dist/drizzle/0171_linked_task_external_providers.sql +30 -0
  190. package/dist/drizzle/0172_email_channel_sendgrid_provider.sql +8 -0
  191. package/dist/drizzle/0173_auth_provider_resources.sql +83 -0
  192. package/dist/drizzle/0174_workos_auth_bridges.sql +37 -0
  193. package/dist/drizzle/0175_workos_auth_sessions.sql +38 -0
  194. package/dist/drizzle/0176_n8n_agent_step_runs.sql +107 -0
  195. package/dist/drizzle/0177_workflow_control_plane.sql +281 -0
  196. package/dist/drizzle/0178_workflow_backfill_existing_routines.sql +525 -0
  197. package/dist/drizzle/0179_tenant_goal_budget_settings.sql +21 -0
  198. package/dist/drizzle/0180_skill_drafts.sql +89 -0
  199. package/dist/drizzle/0181_skill_draft_publish_status.sql +21 -0
  200. package/dist/drizzle/0182_agent_loops.sql +260 -0
  201. package/dist/drizzle/0183_okf_artifact_manifests.sql +52 -0
  202. package/dist/drizzle/0184_skill_catalog_trust_cache.sql +35 -0
  203. package/dist/drizzle/0185_agent_loop_space.sql +16 -0
  204. package/dist/drizzle/0186_tenant_mcp_runtime_metadata.sql +10 -0
  205. package/dist/drizzle/0187_native_work_items.sql +220 -0
  206. package/dist/drizzle/0188_company_etl_plugin_rename.sql +99 -0
  207. package/dist/drizzle/0189_trace_cost_substrate.sql +247 -0
  208. package/dist/drizzle/0190_billing_export_reconciliation.sql +101 -0
  209. package/dist/drizzle/0191_open_engine_work_item_queue.sql +66 -0
  210. package/dist/drizzle/0192_work_item_labels.sql +44 -0
  211. package/dist/drizzle/0193_work_item_documents.sql +31 -0
  212. package/dist/drizzle/0194_memory_retain_attempts.sql +103 -0
  213. package/dist/drizzle/0194_work_item_comments.sql +35 -0
  214. package/dist/drizzle/0195_plugin_app_overlays.sql +45 -0
  215. package/dist/drizzle/0196_pi_extensions.sql +118 -0
  216. package/dist/drizzle/0197_eval_profiles.sql +150 -0
  217. package/dist/drizzle/0197_rcm_context_columns.sql +28 -0
  218. package/dist/drizzle/0198_eval_runs_unstable.sql +27 -0
  219. package/dist/drizzle/0199_eval_runs_cost_partial.sql +27 -0
  220. package/dist/drizzle/meta/_journal.json +160 -0
  221. package/dist/plugins/README.md +162 -0
  222. package/dist/plugins/catalog/package.json +40 -0
  223. package/dist/plugins/catalog/scripts/build-catalog.ts +120 -0
  224. package/dist/plugins/catalog/scripts/generate-plugin-registry.ts +144 -0
  225. package/dist/plugins/catalog/src/__tests__/build-catalog.test.ts +86 -0
  226. package/dist/plugins/catalog/src/__tests__/catalog.test.ts +308 -0
  227. package/dist/plugins/catalog/src/__tests__/contracts.test.ts +861 -0
  228. package/dist/plugins/catalog/src/__tests__/plugin-package.test.ts +124 -0
  229. package/dist/plugins/catalog/src/__tests__/plugin-registry.test.ts +120 -0
  230. package/dist/plugins/catalog/src/catalog.ts +434 -0
  231. package/dist/plugins/catalog/src/contracts.ts +1498 -0
  232. package/dist/plugins/catalog/src/index.ts +4 -0
  233. package/dist/plugins/catalog/src/plugin-package.ts +171 -0
  234. package/dist/plugins/catalog/src/registry/generated-first-party.ts +76 -0
  235. package/dist/plugins/catalog/src/registry/index.ts +1 -0
  236. package/dist/plugins/catalog/tsconfig.json +8 -0
  237. package/dist/plugins/company-brain/README.md +37 -0
  238. package/dist/plugins/company-brain/package.json +33 -0
  239. package/dist/plugins/company-brain/runtime/cognee/Dockerfile +11 -0
  240. package/dist/plugins/company-brain/smoke/cognee-managed-app-smoke.mjs +458 -0
  241. package/dist/plugins/company-brain/smoke/cognee-memory-cutover-smoke.mjs +539 -0
  242. package/dist/plugins/company-brain/smoke/company-brain-context-engine-smoke.mjs +312 -0
  243. package/dist/plugins/company-brain/smoke/company-brain-operations-smoke.mjs +449 -0
  244. package/dist/plugins/company-brain/smoke/company-brain-plugin-smoke.mjs +655 -0
  245. package/dist/plugins/company-brain/smoke/hindsight-memory-isolation-smoke.mjs +474 -0
  246. package/dist/plugins/company-brain/src/api/cognee-client.ts +896 -0
  247. package/dist/plugins/company-brain/src/api/cognee-cluster-identity.ts +49 -0
  248. package/dist/plugins/company-brain/src/api/cognee-memory-scope.ts +84 -0
  249. package/dist/plugins/company-brain/src/api/context-engine-provider.ts +888 -0
  250. package/dist/plugins/company-brain/src/api/migration.ts +665 -0
  251. package/dist/plugins/company-brain/src/deployment/cognee-managed-app.ts +396 -0
  252. package/dist/plugins/company-brain/src/index.ts +62 -0
  253. package/dist/plugins/company-brain/src/manifest.ts +112 -0
  254. package/dist/plugins/company-brain/terraform/cognee/README.md +263 -0
  255. package/dist/plugins/company-brain/terraform/cognee/main.tf +766 -0
  256. package/dist/plugins/company-brain/terraform/cognee/outputs.tf +144 -0
  257. package/dist/plugins/company-brain/terraform/cognee/variables.tf +402 -0
  258. package/dist/plugins/company-brain/test/api/cognee-client.test.ts +562 -0
  259. package/dist/plugins/company-brain/test/api/cognee-memory-scope.test.ts +74 -0
  260. package/dist/plugins/company-brain/test/api/context-engine-provider.test.ts +447 -0
  261. package/dist/plugins/company-brain/test/api/migration.test.ts +465 -0
  262. package/dist/plugins/company-brain/test/manifest.test.ts +95 -0
  263. package/dist/plugins/company-brain/tsconfig.json +8 -0
  264. package/dist/plugins/company-data/README.md +49 -0
  265. package/dist/plugins/company-data/package.json +21 -0
  266. package/dist/plugins/company-data/src/index.ts +30 -0
  267. package/dist/plugins/company-data/src/manifest.ts +26 -0
  268. package/dist/plugins/company-data/test/manifest.test.ts +116 -0
  269. package/dist/plugins/company-data/tsconfig.json +8 -0
  270. package/dist/plugins/company-etl/README.md +46 -0
  271. package/dist/plugins/company-etl/package.json +21 -0
  272. package/dist/plugins/company-etl/src/index.ts +29 -0
  273. package/dist/plugins/company-etl/src/manifest.ts +26 -0
  274. package/dist/plugins/company-etl/test/manifest.test.ts +108 -0
  275. package/dist/plugins/company-etl/tsconfig.json +8 -0
  276. package/dist/plugins/email-channel/README.md +41 -0
  277. package/dist/plugins/email-channel/package.json +22 -0
  278. package/dist/plugins/email-channel/src/index.ts +36 -0
  279. package/dist/plugins/email-channel/src/manifest.ts +44 -0
  280. package/dist/plugins/email-channel/src/provider-contract.ts +36 -0
  281. package/dist/plugins/email-channel/test/manifest.test.ts +119 -0
  282. package/dist/plugins/email-channel/tsconfig.json +8 -0
  283. package/dist/plugins/lastmile/README.md +50 -0
  284. package/dist/plugins/lastmile/package.json +23 -0
  285. package/dist/plugins/lastmile/smoke/lastmile-plugin-smoke.mjs +661 -0
  286. package/dist/plugins/lastmile/src/api/tasks-adapter.ts +572 -0
  287. package/dist/plugins/lastmile/src/discovery.fixture.ts +64 -0
  288. package/dist/plugins/lastmile/src/index.ts +46 -0
  289. package/dist/plugins/lastmile/src/manifest.ts +139 -0
  290. package/dist/plugins/lastmile/test/api/tasks-adapter.test.ts +266 -0
  291. package/dist/plugins/lastmile/test/discovery.test.ts +88 -0
  292. package/dist/plugins/lastmile/tsconfig.json +8 -0
  293. package/dist/plugins/n8n/README.md +201 -0
  294. package/dist/plugins/n8n/n8n-app/README.md +33 -0
  295. package/dist/plugins/n8n/n8n-app/package.json +23 -0
  296. package/dist/plugins/n8n/n8n-app/src/application-config.ts +45 -0
  297. package/dist/plugins/n8n/n8n-app/src/front-components/thinkwork-workflows.front-component.tsx +970 -0
  298. package/dist/plugins/n8n/n8n-app/src/lib/n8n-app-data.ts +190 -0
  299. package/dist/plugins/n8n/n8n-app/src/vite-env.d.ts +7 -0
  300. package/dist/plugins/n8n/n8n-app/tsconfig.json +15 -0
  301. package/dist/plugins/n8n/package.json +35 -0
  302. package/dist/plugins/n8n/runtime/Dockerfile +18 -0
  303. package/dist/plugins/n8n/runtime/n8n-task-runners.json +14 -0
  304. package/dist/plugins/n8n/runtime/n8n-task-runners.json.template +14 -0
  305. package/dist/plugins/n8n/runtime/package-lock.json +13 -0
  306. package/dist/plugins/n8n/runtime/package.json +7 -0
  307. package/dist/plugins/n8n/scripts/sync-thinkwork-app.mjs +268 -0
  308. package/dist/plugins/n8n/smoke/README.md +95 -0
  309. package/dist/plugins/n8n/smoke/n8n-agent-step-bridge-smoke.mjs +866 -0
  310. package/dist/plugins/n8n/smoke/n8n-integrated-app-smoke.mjs +262 -0
  311. package/dist/plugins/n8n/smoke/n8n-managed-app-smoke.mjs +409 -0
  312. package/dist/plugins/n8n/smoke/n8n-mcp-smoke.mjs +624 -0
  313. package/dist/plugins/n8n/src/deployment/image-build.ts +172 -0
  314. package/dist/plugins/n8n/src/deployment/managed-app.ts +429 -0
  315. package/dist/plugins/n8n/src/index.ts +79 -0
  316. package/dist/plugins/n8n/src/manifest.ts +403 -0
  317. package/dist/plugins/n8n/src/package-config.ts +186 -0
  318. package/dist/plugins/n8n/src/skills/n8n-workflow-operator/SKILL.md +76 -0
  319. package/dist/plugins/n8n/src/skills/n8n-workflow-operator/references/mcp-tooling.md +40 -0
  320. package/dist/plugins/n8n/src/skills/n8n-workflow-operator/references/validation-and-handoff.md +40 -0
  321. package/dist/plugins/n8n/src/skills/n8n-workflow-operator/references/workflow-authoring.md +45 -0
  322. package/dist/plugins/n8n/terraform/n8n/README.md +113 -0
  323. package/dist/plugins/n8n/terraform/n8n/main.tf +918 -0
  324. package/dist/plugins/n8n/terraform/n8n/outputs.tf +124 -0
  325. package/dist/plugins/n8n/terraform/n8n/scripts/sync-database.py +250 -0
  326. package/dist/plugins/n8n/terraform/n8n/scripts/test_sync_database.py +55 -0
  327. package/dist/plugins/n8n/terraform/n8n/variables.tf +354 -0
  328. package/dist/plugins/n8n/test/image-build.test.ts +118 -0
  329. package/dist/plugins/n8n/test/integrated-app-contract.test.ts +353 -0
  330. package/dist/plugins/n8n/test/manifest.test.ts +278 -0
  331. package/dist/plugins/n8n/test/package-config.test.ts +57 -0
  332. package/dist/plugins/n8n/tsconfig.json +8 -0
  333. package/dist/plugins/sendgrid/README.md +30 -0
  334. package/dist/plugins/sendgrid/package.json +22 -0
  335. package/dist/plugins/sendgrid/src/index.ts +36 -0
  336. package/dist/plugins/sendgrid/src/manifest.ts +37 -0
  337. package/dist/plugins/sendgrid/src/provider-contract.ts +14 -0
  338. package/dist/plugins/sendgrid/test/manifest.test.ts +80 -0
  339. package/dist/plugins/sendgrid/tsconfig.json +8 -0
  340. package/dist/plugins/twenty/README.md +78 -0
  341. package/dist/plugins/twenty/package.json +27 -0
  342. package/dist/plugins/twenty/scripts/__tests__/sync-thinkwork-app.test.mjs +67 -0
  343. package/dist/plugins/twenty/scripts/sync-thinkwork-app.mjs +185 -0
  344. package/dist/plugins/twenty/scripts/wire-thinkwork-workflow.mjs +658 -0
  345. package/dist/plugins/twenty/smoke/twenty-managed-app-smoke.mjs +359 -0
  346. package/dist/plugins/twenty/smoke/twenty-mcp-oauth-smoke.mjs +574 -0
  347. package/dist/plugins/twenty/src/api/cutover.ts +209 -0
  348. package/dist/plugins/twenty/src/deployment/managed-app.ts +253 -0
  349. package/dist/plugins/twenty/src/index.ts +55 -0
  350. package/dist/plugins/twenty/src/manifest.ts +259 -0
  351. package/dist/plugins/twenty/terraform/twenty/README.md +97 -0
  352. package/dist/plugins/twenty/terraform/twenty/main.tf +829 -0
  353. package/dist/plugins/twenty/terraform/twenty/outputs.tf +79 -0
  354. package/dist/plugins/twenty/terraform/twenty/variables.tf +268 -0
  355. package/dist/plugins/twenty/test/api/cutover.test.ts +183 -0
  356. package/dist/plugins/twenty/test/manifest.test.ts +463 -0
  357. package/dist/plugins/twenty/tsconfig.json +9 -0
  358. package/dist/plugins/twenty/twenty-app/.nvmrc +1 -0
  359. package/dist/plugins/twenty/twenty-app/README.md +148 -0
  360. package/dist/plugins/twenty/twenty-app/package.json +30 -0
  361. package/dist/plugins/twenty/twenty-app/src/application-config.ts +44 -0
  362. package/dist/plugins/twenty/twenty-app/src/constants/universal-identifiers.ts +18 -0
  363. package/dist/plugins/twenty/twenty-app/src/default-role.ts +24 -0
  364. package/dist/plugins/twenty/twenty-app/src/front-components/thinkwork-settings.front-component.tsx +299 -0
  365. package/dist/plugins/twenty/twenty-app/src/logic-functions/thinkwork-webhook.logic-function.ts +354 -0
  366. package/dist/plugins/twenty/twenty-app/tsconfig.json +14 -0
  367. package/dist/plugins/twenty/twenty-app/yarn.lock +4144 -0
  368. package/dist/plugins/workos-auth/package.json +22 -0
  369. package/dist/plugins/workos-auth/src/index.ts +30 -0
  370. package/dist/plugins/workos-auth/src/manifest.ts +40 -0
  371. package/dist/plugins/workos-auth/src/provider-contract.ts +39 -0
  372. package/dist/plugins/workos-auth/test/manifest.test.ts +94 -0
  373. package/dist/plugins/workos-auth/tsconfig.json +8 -0
  374. package/dist/scripts/bootstrap-workspace.sh +162 -0
  375. package/dist/scripts/post-deploy.sh +290 -0
  376. package/dist/terraform/examples/greenfield/main.tf +903 -75
  377. package/dist/terraform/examples/greenfield/terraform.tfvars.example +67 -8
  378. package/dist/terraform/modules/app/agentcore-code-interpreter/Dockerfile.sandbox-base +2 -2
  379. package/dist/terraform/modules/app/agentcore-code-interpreter/README.md +8 -9
  380. package/dist/terraform/modules/app/agentcore-code-interpreter/sandbox/sitecustomize.py +227 -0
  381. package/dist/terraform/modules/app/agentcore-code-interpreter/sandbox/test_sitecustomize.py +277 -0
  382. package/dist/terraform/modules/app/agentcore-memory/README.md +6 -6
  383. package/dist/terraform/modules/app/agentcore-memory/main.tf +1 -1
  384. package/dist/terraform/modules/app/agentcore-memory/scripts/create_or_find_memory.sh +40 -9
  385. package/dist/terraform/modules/app/agentcore-pi/README.md +61 -0
  386. package/dist/terraform/modules/app/agentcore-pi/main.tf +466 -0
  387. package/dist/terraform/modules/app/agentcore-pi/outputs.tf +38 -0
  388. package/dist/terraform/modules/app/agentcore-pi/variables.tf +145 -0
  389. package/dist/terraform/modules/app/agentcore-platform/main.tf +83 -0
  390. package/dist/terraform/modules/app/agentcore-runtime/main.tf +9 -11
  391. package/dist/terraform/modules/app/appsync-subscriptions/main.tf +5 -1
  392. package/dist/terraform/modules/app/customer-domain/main.tf +483 -0
  393. package/dist/terraform/modules/app/deployment-control-plane/README.md +47 -0
  394. package/dist/terraform/modules/app/deployment-control-plane/buildspec.yml +24 -0
  395. package/dist/terraform/modules/app/deployment-control-plane/main.tf +614 -0
  396. package/dist/terraform/modules/app/deployment-control-plane/outputs.tf +54 -0
  397. package/dist/terraform/modules/app/deployment-control-plane/runner.py +4720 -0
  398. package/dist/terraform/modules/app/deployment-control-plane/test_runner_bundle.py +3026 -0
  399. package/dist/terraform/modules/app/deployment-control-plane/variables.tf +96 -0
  400. package/dist/terraform/modules/app/hindsight-memory/README.md +25 -23
  401. package/dist/terraform/modules/app/hindsight-memory/main.tf +26 -2
  402. package/dist/terraform/modules/app/lambda-api/eval-fanout.tf +17 -50
  403. package/dist/terraform/modules/app/lambda-api/handlers.tf +1290 -679
  404. package/dist/terraform/modules/app/lambda-api/iam-grouped.tf +933 -0
  405. package/dist/terraform/modules/app/lambda-api/main.tf +14 -527
  406. package/dist/terraform/modules/app/lambda-api/mcp-oauth.tf +3 -19
  407. package/dist/terraform/modules/app/lambda-api/outputs.tf +50 -6
  408. package/dist/terraform/modules/app/lambda-api/runtime-config.tf +163 -0
  409. package/dist/terraform/modules/app/lambda-api/slack-app-secrets.tf +3 -1
  410. package/dist/terraform/modules/app/lambda-api/stripe-secrets.tf +3 -1
  411. package/dist/terraform/modules/app/lambda-api/variables.tf +240 -53
  412. package/dist/terraform/modules/app/lambda-api/workspace-events.tf +2 -25
  413. package/dist/terraform/modules/app/ses-email/main.tf +143 -30
  414. package/dist/terraform/modules/app/static-site/main.tf +4 -3
  415. package/dist/terraform/modules/app/www-dns/main.tf +45 -5
  416. package/dist/terraform/modules/app/www-dns/outputs.tf +10 -0
  417. package/dist/terraform/modules/app/www-dns/variables.tf +24 -0
  418. package/dist/terraform/modules/data/aurora-postgres/main.tf +15 -1
  419. package/dist/terraform/modules/data/compliance-exports-bucket/main.tf +1 -1
  420. package/dist/terraform/modules/data/compliance-exports-bucket/variables.tf +6 -0
  421. package/dist/terraform/modules/foundation/cognito/main.tf +167 -11
  422. package/dist/terraform/modules/foundation/cognito/outputs.tf +5 -0
  423. package/dist/terraform/modules/foundation/cognito/variables.tf +110 -0
  424. package/dist/terraform/modules/foundation/vpc/main.tf +45 -3
  425. package/dist/terraform/modules/foundation/vpc/outputs.tf +20 -0
  426. package/dist/terraform/modules/foundation/vpc/variables.tf +18 -0
  427. package/dist/terraform/modules/thinkwork/README.md +71 -0
  428. package/dist/terraform/modules/thinkwork/main.tf +1325 -174
  429. package/dist/terraform/modules/thinkwork/outputs.tf +457 -24
  430. package/dist/terraform/modules/thinkwork/variables.tf +1169 -93
  431. package/dist/terraform/schema.graphql +82 -9
  432. package/dist/workspace-defaults/files/AGENTS.md +344 -0
  433. package/dist/workspace-defaults/files/CONTEXT.md +8 -0
  434. package/dist/workspace-defaults/files/GUARDRAILS.md +51 -0
  435. package/dist/workspace-defaults/files/MEMORY_GUIDE.md +65 -0
  436. package/dist/workspace-defaults/files/ROUTER.md +24 -0
  437. package/dist/workspace-defaults/files/SPACE.md +62 -0
  438. package/dist/workspace-defaults/files/TOOLS.md +65 -0
  439. package/dist/workspace-defaults/files/USER.md +40 -0
  440. package/dist/workspace-defaults/files/mcp.json +3 -0
  441. package/dist/workspace-defaults/files/memory/contacts.md +13 -0
  442. package/dist/workspace-defaults/files/memory/lessons.md +13 -0
  443. package/dist/workspace-defaults/files/memory/preferences.md +12 -0
  444. package/dist/workspace-defaults/files/skills/.gitkeep +1 -0
  445. package/dist/workspace-defaults/files/skills/artifact-builder/SKILL.md +79 -0
  446. package/dist/workspace-defaults/files/skills/artifact-builder/references/crm-dashboard.md +166 -0
  447. package/dist/workspace-defaults/files/skills/automation-loop-designer/SKILL.md +120 -0
  448. package/dist/workspace-defaults/files/skills/skill-creator/LICENSE.txt +202 -0
  449. package/dist/workspace-defaults/files/skills/skill-creator/SKILL.md +485 -0
  450. package/dist/workspace-defaults/files/skills/skill-creator/UPSTREAM.json +124 -0
  451. package/dist/workspace-defaults/files/skills/skill-creator/agents/analyzer.md +274 -0
  452. package/dist/workspace-defaults/files/skills/skill-creator/agents/comparator.md +202 -0
  453. package/dist/workspace-defaults/files/skills/skill-creator/agents/grader.md +223 -0
  454. package/dist/workspace-defaults/files/skills/skill-creator/assets/eval_review.html +146 -0
  455. package/dist/workspace-defaults/files/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  456. package/dist/workspace-defaults/files/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  457. package/dist/workspace-defaults/files/skills/skill-creator/references/schemas.md +430 -0
  458. package/dist/workspace-defaults/files/skills/skill-creator/scripts/__init__.py +0 -0
  459. package/dist/workspace-defaults/files/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  460. package/dist/workspace-defaults/files/skills/skill-creator/scripts/generate_report.py +326 -0
  461. package/dist/workspace-defaults/files/skills/skill-creator/scripts/improve_description.py +247 -0
  462. package/dist/workspace-defaults/files/skills/skill-creator/scripts/package_skill.py +136 -0
  463. package/dist/workspace-defaults/files/skills/skill-creator/scripts/quick_validate.py +103 -0
  464. package/dist/workspace-defaults/files/skills/skill-creator/scripts/run_eval.py +310 -0
  465. package/dist/workspace-defaults/files/skills/skill-creator/scripts/run_loop.py +328 -0
  466. package/dist/workspace-defaults/files/skills/skill-creator/scripts/utils.py +47 -0
  467. package/package.json +2 -1
  468. package/dist/terraform/modules/app/agentcore-flue/README.md +0 -58
  469. package/dist/terraform/modules/app/agentcore-flue/main.tf +0 -323
  470. package/dist/terraform/modules/app/agentcore-flue/outputs.tf +0 -23
  471. package/dist/terraform/modules/app/agentcore-flue/variables.tf +0 -97
  472. package/dist/terraform/modules/app/computer-runtime/README.md +0 -15
  473. package/dist/terraform/modules/app/computer-runtime/main.tf +0 -406
  474. package/dist/terraform/modules/app/computer-runtime/outputs.tf +0 -75
  475. package/dist/terraform/modules/app/computer-runtime/variables.tf +0 -66
@@ -0,0 +1,1188 @@
1
+ CREATE TABLE "tenant_members" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "tenant_id" uuid NOT NULL,
4
+ "principal_type" text NOT NULL,
5
+ "principal_id" uuid NOT NULL,
6
+ "role" text DEFAULT 'member' NOT NULL,
7
+ "status" text DEFAULT 'active' NOT NULL,
8
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
9
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
10
+ );
11
+ --> statement-breakpoint
12
+ CREATE TABLE "tenant_settings" (
13
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
14
+ "tenant_id" uuid,
15
+ "default_model" text,
16
+ "budget_monthly_cents" integer,
17
+ "auto_close_thread_minutes" integer DEFAULT 30,
18
+ "max_agents" integer,
19
+ "features" jsonb,
20
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
21
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
22
+ CONSTRAINT "tenant_settings_tenant_id_unique" UNIQUE("tenant_id")
23
+ );
24
+ --> statement-breakpoint
25
+ CREATE TABLE "tenants" (
26
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
27
+ "name" text NOT NULL,
28
+ "slug" text NOT NULL,
29
+ "plan" text DEFAULT 'pro' NOT NULL,
30
+ "issue_prefix" text,
31
+ "issue_counter" integer DEFAULT 0 NOT NULL,
32
+ "channel_counters" jsonb DEFAULT '{}'::jsonb NOT NULL,
33
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
34
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
35
+ CONSTRAINT "tenants_slug_unique" UNIQUE("slug")
36
+ );
37
+ --> statement-breakpoint
38
+ CREATE TABLE "user_profiles" (
39
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
40
+ "user_id" uuid,
41
+ "tenant_id" uuid,
42
+ "display_name" text,
43
+ "theme" text DEFAULT 'system',
44
+ "notification_preferences" jsonb,
45
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
46
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
47
+ CONSTRAINT "user_profiles_user_id_unique" UNIQUE("user_id")
48
+ );
49
+ --> statement-breakpoint
50
+ CREATE TABLE "users" (
51
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
52
+ "tenant_id" uuid,
53
+ "email" text,
54
+ "name" text,
55
+ "image" text,
56
+ "email_verified_at" timestamp with time zone,
57
+ "phone" text,
58
+ "phone_verified_at" timestamp with time zone,
59
+ "expo_push_token" text,
60
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
61
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
62
+ CONSTRAINT "users_email_unique" UNIQUE("email")
63
+ );
64
+ --> statement-breakpoint
65
+ CREATE TABLE "agent_api_keys" (
66
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
67
+ "tenant_id" uuid NOT NULL,
68
+ "agent_id" uuid NOT NULL,
69
+ "key_hash" text NOT NULL,
70
+ "name" text,
71
+ "last_used_at" timestamp with time zone,
72
+ "revoked_at" timestamp with time zone,
73
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
74
+ CONSTRAINT "agent_api_keys_key_hash_unique" UNIQUE("key_hash")
75
+ );
76
+ --> statement-breakpoint
77
+ CREATE TABLE "agent_capabilities" (
78
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
79
+ "agent_id" uuid NOT NULL,
80
+ "tenant_id" uuid NOT NULL,
81
+ "capability" text NOT NULL,
82
+ "config" jsonb,
83
+ "enabled" boolean DEFAULT true NOT NULL,
84
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
85
+ );
86
+ --> statement-breakpoint
87
+ CREATE TABLE "agent_skills" (
88
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
89
+ "agent_id" uuid NOT NULL,
90
+ "tenant_id" uuid NOT NULL,
91
+ "skill_id" text NOT NULL,
92
+ "config" jsonb,
93
+ "permissions" jsonb,
94
+ "rate_limit_rpm" integer,
95
+ "model_override" text,
96
+ "enabled" boolean DEFAULT true NOT NULL,
97
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
98
+ );
99
+ --> statement-breakpoint
100
+ CREATE TABLE "agents" (
101
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
102
+ "tenant_id" uuid NOT NULL,
103
+ "name" text NOT NULL,
104
+ "slug" text,
105
+ "role" text,
106
+ "type" text DEFAULT 'agent' NOT NULL,
107
+ "source" text DEFAULT 'user' NOT NULL,
108
+ "status" text DEFAULT 'idle' NOT NULL,
109
+ "system_prompt" text,
110
+ "reports_to" uuid,
111
+ "parent_agent_id" uuid,
112
+ "human_pair_id" uuid,
113
+ "adapter_type" text,
114
+ "adapter_config" jsonb,
115
+ "runtime_config" jsonb,
116
+ "budget_monthly_cents" integer,
117
+ "spent_monthly_cents" integer DEFAULT 0,
118
+ "budget_paused" boolean DEFAULT false NOT NULL,
119
+ "budget_paused_at" timestamp with time zone,
120
+ "budget_paused_reason" text,
121
+ "last_heartbeat_at" timestamp with time zone,
122
+ "avatar_url" text,
123
+ "template_id" uuid NOT NULL,
124
+ "version" integer DEFAULT 1 NOT NULL,
125
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
126
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
127
+ CONSTRAINT "agents_slug_unique" UNIQUE("slug")
128
+ );
129
+ --> statement-breakpoint
130
+ CREATE TABLE "invites" (
131
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
132
+ "tenant_id" uuid NOT NULL,
133
+ "token_hash" text NOT NULL,
134
+ "invite_type" text DEFAULT 'agent' NOT NULL,
135
+ "allowed_join_types" text[],
136
+ "defaults_payload" jsonb,
137
+ "max_uses" integer DEFAULT 5 NOT NULL,
138
+ "used_count" integer DEFAULT 0 NOT NULL,
139
+ "invited_by_user_id" uuid,
140
+ "expires_at" timestamp with time zone NOT NULL,
141
+ "accepted_at" timestamp with time zone,
142
+ "revoked_at" timestamp with time zone,
143
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
144
+ CONSTRAINT "invites_token_hash_unique" UNIQUE("token_hash")
145
+ );
146
+ --> statement-breakpoint
147
+ CREATE TABLE "join_requests" (
148
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
149
+ "tenant_id" uuid NOT NULL,
150
+ "invite_id" uuid,
151
+ "request_type" text DEFAULT 'agent' NOT NULL,
152
+ "status" text DEFAULT 'pending_approval' NOT NULL,
153
+ "agent_name" text NOT NULL,
154
+ "adapter_type" text NOT NULL,
155
+ "capabilities" jsonb DEFAULT '[]'::jsonb,
156
+ "adapter_config" jsonb,
157
+ "claim_secret_hash" text,
158
+ "claim_expires_at" timestamp with time zone,
159
+ "claim_consumed_at" timestamp with time zone,
160
+ "created_agent_id" uuid,
161
+ "approved_by_user_id" uuid,
162
+ "rejected_by_user_id" uuid,
163
+ "rejection_reason" text,
164
+ "resolved_at" timestamp with time zone,
165
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
166
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
167
+ );
168
+ --> statement-breakpoint
169
+ CREATE TABLE "model_catalog" (
170
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
171
+ "model_id" text NOT NULL,
172
+ "provider" text NOT NULL,
173
+ "display_name" text NOT NULL,
174
+ "input_cost_per_million" numeric(10, 4),
175
+ "output_cost_per_million" numeric(10, 4),
176
+ "context_window" integer,
177
+ "max_output_tokens" integer,
178
+ "supports_vision" boolean DEFAULT false,
179
+ "supports_tools" boolean DEFAULT true,
180
+ "is_available" boolean DEFAULT true NOT NULL,
181
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
182
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
183
+ CONSTRAINT "model_catalog_model_id_unique" UNIQUE("model_id")
184
+ );
185
+ --> statement-breakpoint
186
+ CREATE TABLE "principal_permission_grants" (
187
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
188
+ "tenant_id" uuid NOT NULL,
189
+ "principal_type" text NOT NULL,
190
+ "principal_id" uuid NOT NULL,
191
+ "permission_key" text NOT NULL,
192
+ "scope" jsonb,
193
+ "granted_by" uuid,
194
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
195
+ );
196
+ --> statement-breakpoint
197
+ CREATE TABLE "documents" (
198
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
199
+ "tenant_id" uuid NOT NULL,
200
+ "thread_id" uuid,
201
+ "name" text NOT NULL,
202
+ "content" text,
203
+ "s3_key" text,
204
+ "mime_type" text,
205
+ "size_bytes" integer,
206
+ "metadata" jsonb,
207
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
208
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
209
+ );
210
+ --> statement-breakpoint
211
+ CREATE TABLE "message_artifacts" (
212
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
213
+ "message_id" uuid NOT NULL,
214
+ "thread_id" uuid NOT NULL,
215
+ "tenant_id" uuid NOT NULL,
216
+ "artifact_type" text NOT NULL,
217
+ "name" text,
218
+ "content" text,
219
+ "s3_key" text,
220
+ "mime_type" text,
221
+ "size_bytes" integer,
222
+ "metadata" jsonb,
223
+ "artifact_id" uuid,
224
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
225
+ );
226
+ --> statement-breakpoint
227
+ CREATE TABLE "messages" (
228
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
229
+ "thread_id" uuid NOT NULL,
230
+ "tenant_id" uuid NOT NULL,
231
+ "role" text NOT NULL,
232
+ "content" text,
233
+ "sender_type" text,
234
+ "sender_id" uuid,
235
+ "tool_calls" jsonb,
236
+ "tool_results" jsonb,
237
+ "metadata" jsonb,
238
+ "token_count" integer,
239
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
240
+ );
241
+ --> statement-breakpoint
242
+ CREATE TABLE "team_agents" (
243
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
244
+ "team_id" uuid NOT NULL,
245
+ "agent_id" uuid NOT NULL,
246
+ "tenant_id" uuid NOT NULL,
247
+ "role" text DEFAULT 'member' NOT NULL,
248
+ "joined_at" timestamp with time zone,
249
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
250
+ );
251
+ --> statement-breakpoint
252
+ CREATE TABLE "team_users" (
253
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
254
+ "team_id" uuid NOT NULL,
255
+ "user_id" uuid NOT NULL,
256
+ "tenant_id" uuid NOT NULL,
257
+ "role" text DEFAULT 'member' NOT NULL,
258
+ "joined_at" timestamp with time zone,
259
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
260
+ );
261
+ --> statement-breakpoint
262
+ CREATE TABLE "teams" (
263
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
264
+ "tenant_id" uuid NOT NULL,
265
+ "name" text NOT NULL,
266
+ "slug" text,
267
+ "description" text,
268
+ "type" text DEFAULT 'team' NOT NULL,
269
+ "status" text DEFAULT 'active' NOT NULL,
270
+ "budget_monthly_cents" integer,
271
+ "metadata" jsonb,
272
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
273
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
274
+ CONSTRAINT "teams_slug_unique" UNIQUE("slug")
275
+ );
276
+ --> statement-breakpoint
277
+ CREATE TABLE "routines" (
278
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
279
+ "tenant_id" uuid NOT NULL,
280
+ "team_id" uuid,
281
+ "agent_id" uuid,
282
+ "name" text NOT NULL,
283
+ "description" text,
284
+ "type" text DEFAULT 'scheduled' NOT NULL,
285
+ "status" text DEFAULT 'active' NOT NULL,
286
+ "schedule" text,
287
+ "config" jsonb,
288
+ "last_run_at" timestamp with time zone,
289
+ "next_run_at" timestamp with time zone,
290
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
291
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
292
+ );
293
+ --> statement-breakpoint
294
+ CREATE TABLE "connect_providers" (
295
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
296
+ "name" text NOT NULL,
297
+ "display_name" text NOT NULL,
298
+ "provider_type" text NOT NULL,
299
+ "auth_type" text NOT NULL,
300
+ "config" jsonb,
301
+ "is_available" boolean DEFAULT true NOT NULL,
302
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
303
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
304
+ CONSTRAINT "connect_providers_name_unique" UNIQUE("name")
305
+ );
306
+ --> statement-breakpoint
307
+ CREATE TABLE "connections" (
308
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
309
+ "tenant_id" uuid NOT NULL,
310
+ "user_id" uuid NOT NULL,
311
+ "provider_id" uuid NOT NULL,
312
+ "status" text DEFAULT 'active' NOT NULL,
313
+ "external_id" text,
314
+ "metadata" jsonb,
315
+ "connected_at" timestamp with time zone,
316
+ "disconnected_at" timestamp with time zone,
317
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
318
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
319
+ );
320
+ --> statement-breakpoint
321
+ CREATE TABLE "credentials" (
322
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
323
+ "connection_id" uuid NOT NULL,
324
+ "tenant_id" uuid NOT NULL,
325
+ "credential_type" text NOT NULL,
326
+ "encrypted_value" text NOT NULL,
327
+ "expires_at" timestamp with time zone,
328
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
329
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
330
+ );
331
+ --> statement-breakpoint
332
+ CREATE TABLE "code_factory_jobs" (
333
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
334
+ "repo_id" uuid NOT NULL,
335
+ "tenant_id" uuid NOT NULL,
336
+ "agent_id" uuid,
337
+ "name" text NOT NULL,
338
+ "type" text NOT NULL,
339
+ "config" jsonb,
340
+ "status" text DEFAULT 'active' NOT NULL,
341
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
342
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
343
+ );
344
+ --> statement-breakpoint
345
+ CREATE TABLE "code_factory_repos" (
346
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
347
+ "tenant_id" uuid NOT NULL,
348
+ "github_owner" text NOT NULL,
349
+ "github_repo" text NOT NULL,
350
+ "github_installation_id" integer,
351
+ "default_branch" text,
352
+ "status" text DEFAULT 'active' NOT NULL,
353
+ "config" jsonb,
354
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
355
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
356
+ );
357
+ --> statement-breakpoint
358
+ CREATE TABLE "code_factory_runs" (
359
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
360
+ "job_id" uuid NOT NULL,
361
+ "tenant_id" uuid NOT NULL,
362
+ "status" text DEFAULT 'pending' NOT NULL,
363
+ "commit_sha" text,
364
+ "branch" text,
365
+ "started_at" timestamp with time zone,
366
+ "completed_at" timestamp with time zone,
367
+ "error" text,
368
+ "metadata" jsonb,
369
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
370
+ );
371
+ --> statement-breakpoint
372
+ CREATE TABLE "github_app_installations" (
373
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
374
+ "tenant_id" uuid NOT NULL,
375
+ "installation_id" integer NOT NULL,
376
+ "account_login" text NOT NULL,
377
+ "account_type" text NOT NULL,
378
+ "status" text DEFAULT 'active' NOT NULL,
379
+ "permissions" jsonb,
380
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
381
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
382
+ CONSTRAINT "github_app_installations_installation_id_unique" UNIQUE("installation_id")
383
+ );
384
+ --> statement-breakpoint
385
+ CREATE TABLE "github_webhook_deliveries" (
386
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
387
+ "tenant_id" uuid NOT NULL,
388
+ "event_type" text NOT NULL,
389
+ "delivery_id" text,
390
+ "payload" jsonb,
391
+ "status" text DEFAULT 'pending' NOT NULL,
392
+ "processed_at" timestamp with time zone,
393
+ "error" text,
394
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
395
+ );
396
+ --> statement-breakpoint
397
+ CREATE TABLE "thread_attachments" (
398
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
399
+ "thread_id" uuid NOT NULL,
400
+ "tenant_id" uuid NOT NULL,
401
+ "name" text,
402
+ "s3_key" text,
403
+ "mime_type" text,
404
+ "size_bytes" integer,
405
+ "uploaded_by" uuid,
406
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
407
+ );
408
+ --> statement-breakpoint
409
+ CREATE TABLE "thread_comments" (
410
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
411
+ "thread_id" uuid NOT NULL,
412
+ "tenant_id" uuid NOT NULL,
413
+ "author_type" text,
414
+ "author_id" uuid,
415
+ "content" text NOT NULL,
416
+ "metadata" jsonb,
417
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
418
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
419
+ );
420
+ --> statement-breakpoint
421
+ CREATE TABLE "thread_label_assignments" (
422
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
423
+ "thread_id" uuid NOT NULL,
424
+ "label_id" uuid NOT NULL,
425
+ "tenant_id" uuid NOT NULL,
426
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
427
+ );
428
+ --> statement-breakpoint
429
+ CREATE TABLE "thread_labels" (
430
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
431
+ "tenant_id" uuid NOT NULL,
432
+ "name" text NOT NULL,
433
+ "color" text,
434
+ "description" text,
435
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
436
+ );
437
+ --> statement-breakpoint
438
+ CREATE TABLE "threads" (
439
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
440
+ "tenant_id" uuid NOT NULL,
441
+ "agent_id" uuid,
442
+ "number" integer NOT NULL,
443
+ "identifier" text,
444
+ "title" text NOT NULL,
445
+ "description" text,
446
+ "status" text DEFAULT 'backlog' NOT NULL,
447
+ "priority" text DEFAULT 'medium' NOT NULL,
448
+ "type" text DEFAULT 'task' NOT NULL,
449
+ "channel" text DEFAULT 'manual' NOT NULL,
450
+ "parent_id" uuid,
451
+ "assignee_type" text,
452
+ "assignee_id" uuid,
453
+ "reporter_id" uuid,
454
+ "checkout_run_id" text,
455
+ "checkout_version" integer DEFAULT 0 NOT NULL,
456
+ "billing_code" text,
457
+ "labels" jsonb,
458
+ "metadata" jsonb,
459
+ "due_at" timestamp with time zone,
460
+ "started_at" timestamp with time zone,
461
+ "completed_at" timestamp with time zone,
462
+ "cancelled_at" timestamp with time zone,
463
+ "closed_at" timestamp with time zone,
464
+ "archived_at" timestamp with time zone,
465
+ "last_turn_completed_at" timestamp with time zone,
466
+ "last_response_preview" text,
467
+ "last_read_at" timestamp with time zone,
468
+ "created_by_type" text,
469
+ "created_by_id" text,
470
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
471
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
472
+ );
473
+ --> statement-breakpoint
474
+ CREATE TABLE "inbox_item_comments" (
475
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
476
+ "inbox_item_id" uuid NOT NULL,
477
+ "tenant_id" uuid NOT NULL,
478
+ "author_type" text,
479
+ "author_id" uuid,
480
+ "content" text NOT NULL,
481
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
482
+ );
483
+ --> statement-breakpoint
484
+ CREATE TABLE "inbox_item_links" (
485
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
486
+ "inbox_item_id" uuid NOT NULL,
487
+ "tenant_id" uuid NOT NULL,
488
+ "linked_type" text,
489
+ "linked_id" uuid,
490
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
491
+ );
492
+ --> statement-breakpoint
493
+ CREATE TABLE "inbox_items" (
494
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
495
+ "tenant_id" uuid NOT NULL,
496
+ "requester_type" text,
497
+ "requester_id" uuid,
498
+ "recipient_id" uuid,
499
+ "type" text NOT NULL,
500
+ "status" text DEFAULT 'pending' NOT NULL,
501
+ "title" text,
502
+ "description" text,
503
+ "entity_type" text,
504
+ "entity_id" uuid,
505
+ "config" jsonb,
506
+ "revision" integer DEFAULT 1 NOT NULL,
507
+ "review_notes" text,
508
+ "decided_by" uuid,
509
+ "decided_at" timestamp with time zone,
510
+ "expires_at" timestamp with time zone,
511
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
512
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
513
+ );
514
+ --> statement-breakpoint
515
+ CREATE TABLE "agent_wakeup_requests" (
516
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
517
+ "tenant_id" uuid NOT NULL,
518
+ "agent_id" uuid NOT NULL,
519
+ "source" text NOT NULL,
520
+ "trigger_detail" text,
521
+ "reason" text,
522
+ "payload" jsonb,
523
+ "status" text DEFAULT 'queued' NOT NULL,
524
+ "coalesced_count" integer DEFAULT 0 NOT NULL,
525
+ "idempotency_key" text,
526
+ "requested_by_actor_type" text,
527
+ "requested_by_actor_id" text,
528
+ "run_id" uuid,
529
+ "requested_at" timestamp with time zone DEFAULT now() NOT NULL,
530
+ "claimed_at" timestamp with time zone,
531
+ "finished_at" timestamp with time zone,
532
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
533
+ );
534
+ --> statement-breakpoint
535
+ CREATE TABLE "agent_runtime_state" (
536
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
537
+ "tenant_id" uuid NOT NULL,
538
+ "agent_id" uuid NOT NULL,
539
+ "session_id" text,
540
+ "status" text DEFAULT 'idle' NOT NULL,
541
+ "state" jsonb,
542
+ "last_active_at" timestamp with time zone,
543
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
544
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
545
+ CONSTRAINT "agent_runtime_state_session_id_unique" UNIQUE("session_id")
546
+ );
547
+ --> statement-breakpoint
548
+ CREATE TABLE "agent_task_sessions" (
549
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
550
+ "runtime_state_id" uuid NOT NULL,
551
+ "tenant_id" uuid NOT NULL,
552
+ "thread_id" uuid,
553
+ "task_type" text,
554
+ "status" text DEFAULT 'pending' NOT NULL,
555
+ "input" jsonb,
556
+ "output" jsonb,
557
+ "started_at" timestamp with time zone,
558
+ "completed_at" timestamp with time zone,
559
+ "error" text,
560
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
561
+ );
562
+ --> statement-breakpoint
563
+ CREATE TABLE "wakeup_requests" (
564
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
565
+ "tenant_id" uuid NOT NULL,
566
+ "agent_id" uuid NOT NULL,
567
+ "reason" text,
568
+ "priority" text DEFAULT 'normal' NOT NULL,
569
+ "status" text DEFAULT 'pending' NOT NULL,
570
+ "payload" jsonb,
571
+ "scheduled_for" timestamp with time zone,
572
+ "processed_at" timestamp with time zone,
573
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
574
+ );
575
+ --> statement-breakpoint
576
+ CREATE TABLE "budget_policies" (
577
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
578
+ "tenant_id" uuid NOT NULL,
579
+ "agent_id" uuid,
580
+ "scope" text NOT NULL,
581
+ "period" text DEFAULT 'monthly' NOT NULL,
582
+ "limit_usd" numeric(12, 6) NOT NULL,
583
+ "action_on_exceed" text DEFAULT 'pause' NOT NULL,
584
+ "enabled" boolean DEFAULT true NOT NULL,
585
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
586
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
587
+ );
588
+ --> statement-breakpoint
589
+ CREATE TABLE "cost_events" (
590
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
591
+ "tenant_id" uuid NOT NULL,
592
+ "agent_id" uuid,
593
+ "team_id" uuid,
594
+ "thread_id" uuid,
595
+ "request_id" text NOT NULL,
596
+ "event_type" text NOT NULL,
597
+ "amount_usd" numeric(12, 6) NOT NULL,
598
+ "model" text,
599
+ "provider" text,
600
+ "input_tokens" integer,
601
+ "output_tokens" integer,
602
+ "cached_read_tokens" integer,
603
+ "duration_ms" integer,
604
+ "trace_id" text,
605
+ "metadata" jsonb,
606
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
607
+ );
608
+ --> statement-breakpoint
609
+ CREATE TABLE "scheduled_jobs" (
610
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
611
+ "tenant_id" uuid NOT NULL,
612
+ "trigger_type" text NOT NULL,
613
+ "agent_id" uuid,
614
+ "routine_id" uuid,
615
+ "team_id" uuid,
616
+ "name" text NOT NULL,
617
+ "description" text,
618
+ "prompt" text,
619
+ "config" jsonb,
620
+ "schedule_type" text,
621
+ "schedule_expression" text,
622
+ "timezone" text DEFAULT 'UTC' NOT NULL,
623
+ "enabled" boolean DEFAULT true NOT NULL,
624
+ "eb_schedule_name" text,
625
+ "last_run_at" timestamp with time zone,
626
+ "next_run_at" timestamp with time zone,
627
+ "created_by_type" text,
628
+ "created_by_id" text,
629
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
630
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
631
+ );
632
+ --> statement-breakpoint
633
+ CREATE TABLE "thread_turn_events" (
634
+ "id" bigserial PRIMARY KEY NOT NULL,
635
+ "tenant_id" uuid NOT NULL,
636
+ "run_id" uuid NOT NULL,
637
+ "agent_id" uuid,
638
+ "seq" integer NOT NULL,
639
+ "event_type" text NOT NULL,
640
+ "stream" text,
641
+ "level" text,
642
+ "color" text,
643
+ "message" text,
644
+ "payload" jsonb,
645
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
646
+ );
647
+ --> statement-breakpoint
648
+ CREATE TABLE "thread_turns" (
649
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
650
+ "tenant_id" uuid NOT NULL,
651
+ "trigger_id" uuid,
652
+ "agent_id" uuid,
653
+ "routine_id" uuid,
654
+ "invocation_source" text DEFAULT 'schedule' NOT NULL,
655
+ "trigger_detail" text,
656
+ "wakeup_request_id" uuid,
657
+ "thread_id" uuid,
658
+ "turn_number" integer,
659
+ "status" text DEFAULT 'queued' NOT NULL,
660
+ "started_at" timestamp with time zone,
661
+ "finished_at" timestamp with time zone,
662
+ "error" text,
663
+ "error_code" text,
664
+ "usage_json" jsonb,
665
+ "result_json" jsonb,
666
+ "context_snapshot" jsonb,
667
+ "session_id_before" text,
668
+ "session_id_after" text,
669
+ "external_run_id" text,
670
+ "log_store" text,
671
+ "log_ref" text,
672
+ "log_bytes" integer,
673
+ "log_sha256" text,
674
+ "log_compressed" boolean,
675
+ "stdout_excerpt" text,
676
+ "stderr_excerpt" text,
677
+ "webhook_id" uuid,
678
+ "last_activity_at" timestamp with time zone,
679
+ "retry_attempt" integer DEFAULT 0,
680
+ "origin_turn_id" uuid,
681
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
682
+ );
683
+ --> statement-breakpoint
684
+ CREATE TABLE "agent_knowledge_bases" (
685
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
686
+ "agent_id" uuid NOT NULL,
687
+ "tenant_id" uuid NOT NULL,
688
+ "knowledge_base_id" uuid NOT NULL,
689
+ "enabled" boolean DEFAULT true NOT NULL,
690
+ "search_config" jsonb,
691
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
692
+ );
693
+ --> statement-breakpoint
694
+ CREATE TABLE "knowledge_bases" (
695
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
696
+ "tenant_id" uuid NOT NULL,
697
+ "name" text NOT NULL,
698
+ "slug" text NOT NULL,
699
+ "description" text,
700
+ "embedding_model" text DEFAULT 'amazon.titan-embed-text-v2:0' NOT NULL,
701
+ "chunking_strategy" text DEFAULT 'FIXED_SIZE' NOT NULL,
702
+ "chunk_size_tokens" integer DEFAULT 300,
703
+ "chunk_overlap_percent" integer DEFAULT 20,
704
+ "status" text DEFAULT 'creating' NOT NULL,
705
+ "aws_kb_id" text,
706
+ "aws_data_source_id" text,
707
+ "last_sync_at" timestamp with time zone,
708
+ "last_sync_status" text,
709
+ "document_count" integer DEFAULT 0,
710
+ "error_message" text,
711
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
712
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
713
+ );
714
+ --> statement-breakpoint
715
+ CREATE TABLE "email_reply_tokens" (
716
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
717
+ "tenant_id" uuid NOT NULL,
718
+ "agent_id" uuid NOT NULL,
719
+ "token_hash" text NOT NULL,
720
+ "context_type" text NOT NULL,
721
+ "context_id" uuid NOT NULL,
722
+ "recipient_email" text NOT NULL,
723
+ "ses_message_id" text,
724
+ "expires_at" timestamp with time zone NOT NULL,
725
+ "consumed_at" timestamp with time zone,
726
+ "max_uses" integer DEFAULT 3 NOT NULL,
727
+ "use_count" integer DEFAULT 0 NOT NULL,
728
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
729
+ CONSTRAINT "email_reply_tokens_token_hash_unique" UNIQUE("token_hash")
730
+ );
731
+ --> statement-breakpoint
732
+ CREATE TABLE "thread_dependencies" (
733
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
734
+ "tenant_id" uuid NOT NULL,
735
+ "thread_id" uuid NOT NULL,
736
+ "blocked_by_thread_id" uuid NOT NULL,
737
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
738
+ );
739
+ --> statement-breakpoint
740
+ CREATE TABLE "retry_queue" (
741
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
742
+ "tenant_id" uuid NOT NULL,
743
+ "agent_id" uuid NOT NULL,
744
+ "thread_id" uuid,
745
+ "attempt" integer DEFAULT 1 NOT NULL,
746
+ "max_attempts" integer DEFAULT 5 NOT NULL,
747
+ "status" text DEFAULT 'pending' NOT NULL,
748
+ "scheduled_at" timestamp with time zone NOT NULL,
749
+ "last_error" text,
750
+ "origin_turn_id" uuid,
751
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
752
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
753
+ );
754
+ --> statement-breakpoint
755
+ CREATE TABLE "artifacts" (
756
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
757
+ "tenant_id" uuid NOT NULL,
758
+ "agent_id" uuid,
759
+ "thread_id" uuid,
760
+ "title" text NOT NULL,
761
+ "type" text NOT NULL,
762
+ "status" text DEFAULT 'final' NOT NULL,
763
+ "content" text,
764
+ "s3_key" text,
765
+ "summary" text,
766
+ "source_message_id" uuid,
767
+ "metadata" jsonb,
768
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
769
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
770
+ );
771
+ --> statement-breakpoint
772
+ CREATE TABLE "webhook_idempotency" (
773
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
774
+ "webhook_id" uuid NOT NULL,
775
+ "idempotency_key" text NOT NULL,
776
+ "turn_id" uuid,
777
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
778
+ );
779
+ --> statement-breakpoint
780
+ CREATE TABLE "webhooks" (
781
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
782
+ "tenant_id" uuid NOT NULL,
783
+ "name" text NOT NULL,
784
+ "description" text,
785
+ "token" text NOT NULL,
786
+ "target_type" text NOT NULL,
787
+ "agent_id" uuid,
788
+ "routine_id" uuid,
789
+ "prompt" text,
790
+ "config" jsonb,
791
+ "enabled" boolean DEFAULT true NOT NULL,
792
+ "rate_limit" integer DEFAULT 60,
793
+ "last_invoked_at" timestamp with time zone,
794
+ "invocation_count" integer DEFAULT 0 NOT NULL,
795
+ "created_by_type" text,
796
+ "created_by_id" text,
797
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
798
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
799
+ );
800
+ --> statement-breakpoint
801
+ CREATE TABLE "recipes" (
802
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
803
+ "tenant_id" uuid NOT NULL,
804
+ "agent_id" uuid,
805
+ "thread_id" uuid,
806
+ "title" text NOT NULL,
807
+ "summary" text,
808
+ "server" text NOT NULL,
809
+ "tool" text NOT NULL,
810
+ "params" jsonb NOT NULL,
811
+ "genui_type" text NOT NULL,
812
+ "templates" jsonb,
813
+ "cached_result" jsonb,
814
+ "last_refreshed" timestamp with time zone,
815
+ "last_error" text,
816
+ "source_message_id" uuid,
817
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
818
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
819
+ );
820
+ --> statement-breakpoint
821
+ CREATE TABLE "skill_catalog" (
822
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
823
+ "slug" text NOT NULL,
824
+ "display_name" text NOT NULL,
825
+ "description" text,
826
+ "category" text,
827
+ "version" text NOT NULL,
828
+ "author" text DEFAULT 'thinkwork' NOT NULL,
829
+ "icon" text,
830
+ "tags" text[],
831
+ "source" text DEFAULT 'builtin' NOT NULL,
832
+ "is_default" boolean DEFAULT false NOT NULL,
833
+ "execution" text DEFAULT 'context' NOT NULL,
834
+ "mode" text DEFAULT 'tool' NOT NULL,
835
+ "requires_env" text[],
836
+ "oauth_provider" text,
837
+ "oauth_scopes" text[],
838
+ "mcp_server" text,
839
+ "mcp_tools" text[],
840
+ "dependencies" text[],
841
+ "triggers" text[],
842
+ "tier1_metadata" jsonb,
843
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
844
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
845
+ CONSTRAINT "skill_catalog_slug_unique" UNIQUE("slug")
846
+ );
847
+ --> statement-breakpoint
848
+ CREATE TABLE "tenant_skills" (
849
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
850
+ "tenant_id" uuid NOT NULL,
851
+ "skill_id" text NOT NULL,
852
+ "source" text DEFAULT 'catalog' NOT NULL,
853
+ "version" text,
854
+ "catalog_version" text,
855
+ "config" jsonb,
856
+ "enabled" boolean DEFAULT true NOT NULL,
857
+ "installed_at" timestamp with time zone DEFAULT now() NOT NULL,
858
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
859
+ );
860
+ --> statement-breakpoint
861
+ CREATE TABLE "guardrail_blocks" (
862
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
863
+ "tenant_id" uuid NOT NULL,
864
+ "agent_id" uuid NOT NULL,
865
+ "guardrail_id" uuid NOT NULL,
866
+ "thread_id" uuid,
867
+ "message_id" uuid,
868
+ "block_type" text NOT NULL,
869
+ "action" text NOT NULL,
870
+ "blocked_topics" text[],
871
+ "content_filters" jsonb,
872
+ "raw_response" jsonb,
873
+ "user_message" text,
874
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
875
+ );
876
+ --> statement-breakpoint
877
+ CREATE TABLE "guardrails" (
878
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
879
+ "tenant_id" uuid NOT NULL,
880
+ "name" text NOT NULL,
881
+ "description" text,
882
+ "bedrock_guardrail_id" text,
883
+ "bedrock_version" text,
884
+ "is_default" boolean DEFAULT false NOT NULL,
885
+ "status" text DEFAULT 'active' NOT NULL,
886
+ "config" jsonb DEFAULT '{}'::jsonb NOT NULL,
887
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
888
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
889
+ );
890
+ --> statement-breakpoint
891
+ CREATE TABLE "agent_templates" (
892
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
893
+ "tenant_id" uuid,
894
+ "name" text NOT NULL,
895
+ "slug" text NOT NULL,
896
+ "description" text,
897
+ "category" text,
898
+ "icon" text,
899
+ "source" text DEFAULT 'user' NOT NULL,
900
+ "model" text,
901
+ "guardrail_id" uuid,
902
+ "blocked_tools" jsonb,
903
+ "config" jsonb,
904
+ "skills" jsonb,
905
+ "knowledge_base_ids" jsonb,
906
+ "is_published" boolean DEFAULT true NOT NULL,
907
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
908
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
909
+ );
910
+ --> statement-breakpoint
911
+ CREATE TABLE "agent_versions" (
912
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
913
+ "tenant_id" uuid NOT NULL,
914
+ "agent_id" uuid NOT NULL,
915
+ "version_number" integer NOT NULL,
916
+ "label" text,
917
+ "config_snapshot" jsonb,
918
+ "workspace_snapshot" jsonb,
919
+ "skills_snapshot" jsonb,
920
+ "knowledge_bases_snapshot" jsonb,
921
+ "guardrail_snapshot" jsonb,
922
+ "created_by" uuid,
923
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
924
+ "is_active" boolean DEFAULT false NOT NULL
925
+ );
926
+ --> statement-breakpoint
927
+ CREATE TABLE "activity_log" (
928
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
929
+ "tenant_id" uuid NOT NULL,
930
+ "actor_type" text NOT NULL,
931
+ "actor_id" uuid NOT NULL,
932
+ "action" text NOT NULL,
933
+ "entity_type" text,
934
+ "entity_id" uuid,
935
+ "changes" jsonb,
936
+ "metadata" jsonb,
937
+ "ip_address" text,
938
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
939
+ );
940
+ --> statement-breakpoint
941
+ CREATE TABLE "user_quick_actions" (
942
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
943
+ "user_id" uuid NOT NULL,
944
+ "tenant_id" uuid NOT NULL,
945
+ "title" text NOT NULL,
946
+ "prompt" text NOT NULL,
947
+ "workspace_agent_id" uuid,
948
+ "sort_order" integer DEFAULT 0 NOT NULL,
949
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
950
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
951
+ );
952
+ --> statement-breakpoint
953
+ ALTER TABLE "tenant_members" ADD CONSTRAINT "tenant_members_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
954
+ ALTER TABLE "tenant_settings" ADD CONSTRAINT "tenant_settings_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
955
+ ALTER TABLE "user_profiles" ADD CONSTRAINT "user_profiles_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
956
+ ALTER TABLE "user_profiles" ADD CONSTRAINT "user_profiles_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
957
+ ALTER TABLE "users" ADD CONSTRAINT "users_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
958
+ ALTER TABLE "agent_api_keys" ADD CONSTRAINT "agent_api_keys_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
959
+ ALTER TABLE "agent_api_keys" ADD CONSTRAINT "agent_api_keys_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
960
+ ALTER TABLE "agent_capabilities" ADD CONSTRAINT "agent_capabilities_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
961
+ ALTER TABLE "agent_capabilities" ADD CONSTRAINT "agent_capabilities_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
962
+ ALTER TABLE "agent_skills" ADD CONSTRAINT "agent_skills_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
963
+ ALTER TABLE "agent_skills" ADD CONSTRAINT "agent_skills_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
964
+ ALTER TABLE "agents" ADD CONSTRAINT "agents_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
965
+ ALTER TABLE "agents" ADD CONSTRAINT "agents_reports_to_agents_id_fk" FOREIGN KEY ("reports_to") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
966
+ ALTER TABLE "agents" ADD CONSTRAINT "agents_parent_agent_id_agents_id_fk" FOREIGN KEY ("parent_agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
967
+ ALTER TABLE "agents" ADD CONSTRAINT "agents_human_pair_id_users_id_fk" FOREIGN KEY ("human_pair_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
968
+ ALTER TABLE "agents" ADD CONSTRAINT "agents_template_id_agent_templates_id_fk" FOREIGN KEY ("template_id") REFERENCES "public"."agent_templates"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
969
+ ALTER TABLE "invites" ADD CONSTRAINT "invites_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
970
+ ALTER TABLE "invites" ADD CONSTRAINT "invites_invited_by_user_id_users_id_fk" FOREIGN KEY ("invited_by_user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
971
+ ALTER TABLE "join_requests" ADD CONSTRAINT "join_requests_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
972
+ ALTER TABLE "join_requests" ADD CONSTRAINT "join_requests_invite_id_invites_id_fk" FOREIGN KEY ("invite_id") REFERENCES "public"."invites"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
973
+ ALTER TABLE "join_requests" ADD CONSTRAINT "join_requests_created_agent_id_agents_id_fk" FOREIGN KEY ("created_agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
974
+ ALTER TABLE "join_requests" ADD CONSTRAINT "join_requests_approved_by_user_id_users_id_fk" FOREIGN KEY ("approved_by_user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
975
+ ALTER TABLE "join_requests" ADD CONSTRAINT "join_requests_rejected_by_user_id_users_id_fk" FOREIGN KEY ("rejected_by_user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
976
+ ALTER TABLE "principal_permission_grants" ADD CONSTRAINT "principal_permission_grants_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
977
+ ALTER TABLE "principal_permission_grants" ADD CONSTRAINT "principal_permission_grants_granted_by_users_id_fk" FOREIGN KEY ("granted_by") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
978
+ ALTER TABLE "documents" ADD CONSTRAINT "documents_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
979
+ ALTER TABLE "documents" ADD CONSTRAINT "documents_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
980
+ ALTER TABLE "message_artifacts" ADD CONSTRAINT "message_artifacts_message_id_messages_id_fk" FOREIGN KEY ("message_id") REFERENCES "public"."messages"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
981
+ ALTER TABLE "message_artifacts" ADD CONSTRAINT "message_artifacts_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
982
+ ALTER TABLE "message_artifacts" ADD CONSTRAINT "message_artifacts_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
983
+ ALTER TABLE "messages" ADD CONSTRAINT "messages_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
984
+ ALTER TABLE "messages" ADD CONSTRAINT "messages_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
985
+ ALTER TABLE "team_agents" ADD CONSTRAINT "team_agents_team_id_teams_id_fk" FOREIGN KEY ("team_id") REFERENCES "public"."teams"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
986
+ ALTER TABLE "team_agents" ADD CONSTRAINT "team_agents_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
987
+ ALTER TABLE "team_agents" ADD CONSTRAINT "team_agents_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
988
+ ALTER TABLE "team_users" ADD CONSTRAINT "team_users_team_id_teams_id_fk" FOREIGN KEY ("team_id") REFERENCES "public"."teams"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
989
+ ALTER TABLE "team_users" ADD CONSTRAINT "team_users_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
990
+ ALTER TABLE "team_users" ADD CONSTRAINT "team_users_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
991
+ ALTER TABLE "teams" ADD CONSTRAINT "teams_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
992
+ ALTER TABLE "routines" ADD CONSTRAINT "routines_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
993
+ ALTER TABLE "routines" ADD CONSTRAINT "routines_team_id_teams_id_fk" FOREIGN KEY ("team_id") REFERENCES "public"."teams"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
994
+ ALTER TABLE "routines" ADD CONSTRAINT "routines_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
995
+ ALTER TABLE "connections" ADD CONSTRAINT "connections_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
996
+ ALTER TABLE "connections" ADD CONSTRAINT "connections_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
997
+ ALTER TABLE "connections" ADD CONSTRAINT "connections_provider_id_connect_providers_id_fk" FOREIGN KEY ("provider_id") REFERENCES "public"."connect_providers"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
998
+ ALTER TABLE "credentials" ADD CONSTRAINT "credentials_connection_id_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."connections"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
999
+ ALTER TABLE "credentials" ADD CONSTRAINT "credentials_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1000
+ ALTER TABLE "code_factory_jobs" ADD CONSTRAINT "code_factory_jobs_repo_id_code_factory_repos_id_fk" FOREIGN KEY ("repo_id") REFERENCES "public"."code_factory_repos"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1001
+ ALTER TABLE "code_factory_jobs" ADD CONSTRAINT "code_factory_jobs_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1002
+ ALTER TABLE "code_factory_jobs" ADD CONSTRAINT "code_factory_jobs_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1003
+ ALTER TABLE "code_factory_repos" ADD CONSTRAINT "code_factory_repos_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1004
+ ALTER TABLE "code_factory_runs" ADD CONSTRAINT "code_factory_runs_job_id_code_factory_jobs_id_fk" FOREIGN KEY ("job_id") REFERENCES "public"."code_factory_jobs"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1005
+ ALTER TABLE "code_factory_runs" ADD CONSTRAINT "code_factory_runs_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1006
+ ALTER TABLE "github_app_installations" ADD CONSTRAINT "github_app_installations_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1007
+ ALTER TABLE "github_webhook_deliveries" ADD CONSTRAINT "github_webhook_deliveries_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1008
+ ALTER TABLE "thread_attachments" ADD CONSTRAINT "thread_attachments_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1009
+ ALTER TABLE "thread_attachments" ADD CONSTRAINT "thread_attachments_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1010
+ ALTER TABLE "thread_comments" ADD CONSTRAINT "thread_comments_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1011
+ ALTER TABLE "thread_comments" ADD CONSTRAINT "thread_comments_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1012
+ ALTER TABLE "thread_label_assignments" ADD CONSTRAINT "thread_label_assignments_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
1013
+ ALTER TABLE "thread_label_assignments" ADD CONSTRAINT "thread_label_assignments_label_id_thread_labels_id_fk" FOREIGN KEY ("label_id") REFERENCES "public"."thread_labels"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
1014
+ ALTER TABLE "thread_label_assignments" ADD CONSTRAINT "thread_label_assignments_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1015
+ ALTER TABLE "thread_labels" ADD CONSTRAINT "thread_labels_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1016
+ ALTER TABLE "threads" ADD CONSTRAINT "threads_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1017
+ ALTER TABLE "threads" ADD CONSTRAINT "threads_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1018
+ ALTER TABLE "threads" ADD CONSTRAINT "threads_reporter_id_users_id_fk" FOREIGN KEY ("reporter_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1019
+ ALTER TABLE "inbox_item_comments" ADD CONSTRAINT "inbox_item_comments_inbox_item_id_inbox_items_id_fk" FOREIGN KEY ("inbox_item_id") REFERENCES "public"."inbox_items"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1020
+ ALTER TABLE "inbox_item_comments" ADD CONSTRAINT "inbox_item_comments_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1021
+ ALTER TABLE "inbox_item_links" ADD CONSTRAINT "inbox_item_links_inbox_item_id_inbox_items_id_fk" FOREIGN KEY ("inbox_item_id") REFERENCES "public"."inbox_items"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1022
+ ALTER TABLE "inbox_item_links" ADD CONSTRAINT "inbox_item_links_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1023
+ ALTER TABLE "inbox_items" ADD CONSTRAINT "inbox_items_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1024
+ ALTER TABLE "agent_wakeup_requests" ADD CONSTRAINT "agent_wakeup_requests_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1025
+ ALTER TABLE "agent_wakeup_requests" ADD CONSTRAINT "agent_wakeup_requests_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1026
+ ALTER TABLE "agent_runtime_state" ADD CONSTRAINT "agent_runtime_state_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1027
+ ALTER TABLE "agent_runtime_state" ADD CONSTRAINT "agent_runtime_state_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1028
+ ALTER TABLE "agent_task_sessions" ADD CONSTRAINT "agent_task_sessions_runtime_state_id_agent_runtime_state_id_fk" FOREIGN KEY ("runtime_state_id") REFERENCES "public"."agent_runtime_state"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1029
+ ALTER TABLE "agent_task_sessions" ADD CONSTRAINT "agent_task_sessions_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1030
+ ALTER TABLE "wakeup_requests" ADD CONSTRAINT "wakeup_requests_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1031
+ ALTER TABLE "wakeup_requests" ADD CONSTRAINT "wakeup_requests_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1032
+ ALTER TABLE "budget_policies" ADD CONSTRAINT "budget_policies_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1033
+ ALTER TABLE "budget_policies" ADD CONSTRAINT "budget_policies_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1034
+ ALTER TABLE "cost_events" ADD CONSTRAINT "cost_events_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1035
+ ALTER TABLE "cost_events" ADD CONSTRAINT "cost_events_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1036
+ ALTER TABLE "scheduled_jobs" ADD CONSTRAINT "scheduled_jobs_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1037
+ ALTER TABLE "scheduled_jobs" ADD CONSTRAINT "scheduled_jobs_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1038
+ ALTER TABLE "scheduled_jobs" ADD CONSTRAINT "scheduled_jobs_routine_id_routines_id_fk" FOREIGN KEY ("routine_id") REFERENCES "public"."routines"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1039
+ ALTER TABLE "scheduled_jobs" ADD CONSTRAINT "scheduled_jobs_team_id_teams_id_fk" FOREIGN KEY ("team_id") REFERENCES "public"."teams"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1040
+ ALTER TABLE "thread_turn_events" ADD CONSTRAINT "thread_turn_events_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1041
+ ALTER TABLE "thread_turn_events" ADD CONSTRAINT "thread_turn_events_run_id_thread_turns_id_fk" FOREIGN KEY ("run_id") REFERENCES "public"."thread_turns"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1042
+ ALTER TABLE "thread_turn_events" ADD CONSTRAINT "thread_turn_events_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1043
+ ALTER TABLE "thread_turns" ADD CONSTRAINT "thread_turns_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1044
+ ALTER TABLE "thread_turns" ADD CONSTRAINT "thread_turns_trigger_id_scheduled_jobs_id_fk" FOREIGN KEY ("trigger_id") REFERENCES "public"."scheduled_jobs"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1045
+ ALTER TABLE "thread_turns" ADD CONSTRAINT "thread_turns_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1046
+ ALTER TABLE "thread_turns" ADD CONSTRAINT "thread_turns_routine_id_routines_id_fk" FOREIGN KEY ("routine_id") REFERENCES "public"."routines"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1047
+ ALTER TABLE "thread_turns" ADD CONSTRAINT "thread_turns_webhook_id_webhooks_id_fk" FOREIGN KEY ("webhook_id") REFERENCES "public"."webhooks"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1048
+ ALTER TABLE "agent_knowledge_bases" ADD CONSTRAINT "agent_knowledge_bases_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1049
+ ALTER TABLE "agent_knowledge_bases" ADD CONSTRAINT "agent_knowledge_bases_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1050
+ ALTER TABLE "agent_knowledge_bases" ADD CONSTRAINT "agent_knowledge_bases_knowledge_base_id_knowledge_bases_id_fk" FOREIGN KEY ("knowledge_base_id") REFERENCES "public"."knowledge_bases"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1051
+ ALTER TABLE "knowledge_bases" ADD CONSTRAINT "knowledge_bases_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1052
+ ALTER TABLE "email_reply_tokens" ADD CONSTRAINT "email_reply_tokens_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1053
+ ALTER TABLE "email_reply_tokens" ADD CONSTRAINT "email_reply_tokens_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1054
+ ALTER TABLE "thread_dependencies" ADD CONSTRAINT "thread_dependencies_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1055
+ ALTER TABLE "thread_dependencies" ADD CONSTRAINT "thread_dependencies_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
1056
+ ALTER TABLE "thread_dependencies" ADD CONSTRAINT "thread_dependencies_blocked_by_thread_id_threads_id_fk" FOREIGN KEY ("blocked_by_thread_id") REFERENCES "public"."threads"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
1057
+ ALTER TABLE "retry_queue" ADD CONSTRAINT "retry_queue_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1058
+ ALTER TABLE "retry_queue" ADD CONSTRAINT "retry_queue_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1059
+ ALTER TABLE "retry_queue" ADD CONSTRAINT "retry_queue_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1060
+ ALTER TABLE "artifacts" ADD CONSTRAINT "artifacts_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1061
+ ALTER TABLE "artifacts" ADD CONSTRAINT "artifacts_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1062
+ ALTER TABLE "artifacts" ADD CONSTRAINT "artifacts_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1063
+ ALTER TABLE "artifacts" ADD CONSTRAINT "artifacts_source_message_id_messages_id_fk" FOREIGN KEY ("source_message_id") REFERENCES "public"."messages"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1064
+ ALTER TABLE "webhook_idempotency" ADD CONSTRAINT "webhook_idempotency_webhook_id_webhooks_id_fk" FOREIGN KEY ("webhook_id") REFERENCES "public"."webhooks"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
1065
+ ALTER TABLE "webhooks" ADD CONSTRAINT "webhooks_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1066
+ ALTER TABLE "webhooks" ADD CONSTRAINT "webhooks_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1067
+ ALTER TABLE "webhooks" ADD CONSTRAINT "webhooks_routine_id_routines_id_fk" FOREIGN KEY ("routine_id") REFERENCES "public"."routines"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1068
+ ALTER TABLE "recipes" ADD CONSTRAINT "recipes_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1069
+ ALTER TABLE "recipes" ADD CONSTRAINT "recipes_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1070
+ ALTER TABLE "recipes" ADD CONSTRAINT "recipes_thread_id_threads_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."threads"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1071
+ ALTER TABLE "recipes" ADD CONSTRAINT "recipes_source_message_id_messages_id_fk" FOREIGN KEY ("source_message_id") REFERENCES "public"."messages"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1072
+ ALTER TABLE "tenant_skills" ADD CONSTRAINT "tenant_skills_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1073
+ ALTER TABLE "guardrail_blocks" ADD CONSTRAINT "guardrail_blocks_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1074
+ ALTER TABLE "guardrail_blocks" ADD CONSTRAINT "guardrail_blocks_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1075
+ ALTER TABLE "guardrail_blocks" ADD CONSTRAINT "guardrail_blocks_guardrail_id_guardrails_id_fk" FOREIGN KEY ("guardrail_id") REFERENCES "public"."guardrails"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1076
+ ALTER TABLE "guardrails" ADD CONSTRAINT "guardrails_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1077
+ ALTER TABLE "agent_templates" ADD CONSTRAINT "agent_templates_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1078
+ ALTER TABLE "agent_templates" ADD CONSTRAINT "agent_templates_guardrail_id_guardrails_id_fk" FOREIGN KEY ("guardrail_id") REFERENCES "public"."guardrails"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1079
+ ALTER TABLE "agent_versions" ADD CONSTRAINT "agent_versions_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1080
+ ALTER TABLE "agent_versions" ADD CONSTRAINT "agent_versions_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1081
+ ALTER TABLE "agent_versions" ADD CONSTRAINT "agent_versions_created_by_users_id_fk" FOREIGN KEY ("created_by") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1082
+ ALTER TABLE "activity_log" ADD CONSTRAINT "activity_log_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1083
+ ALTER TABLE "user_quick_actions" ADD CONSTRAINT "user_quick_actions_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1084
+ ALTER TABLE "user_quick_actions" ADD CONSTRAINT "user_quick_actions_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1085
+ ALTER TABLE "user_quick_actions" ADD CONSTRAINT "user_quick_actions_workspace_agent_id_agents_id_fk" FOREIGN KEY ("workspace_agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
1086
+ CREATE INDEX "idx_tenant_members_tenant" ON "tenant_members" USING btree ("tenant_id");--> statement-breakpoint
1087
+ CREATE INDEX "idx_tenant_members_principal" ON "tenant_members" USING btree ("principal_type","principal_id");--> statement-breakpoint
1088
+ CREATE UNIQUE INDEX "uq_tenant_members_principal" ON "tenant_members" USING btree ("tenant_id","principal_type","principal_id");--> statement-breakpoint
1089
+ CREATE UNIQUE INDEX "idx_users_email" ON "users" USING btree ("email");--> statement-breakpoint
1090
+ CREATE INDEX "idx_users_tenant_id" ON "users" USING btree ("tenant_id");--> statement-breakpoint
1091
+ CREATE UNIQUE INDEX "uq_agent_capabilities_agent_capability" ON "agent_capabilities" USING btree ("agent_id","capability");--> statement-breakpoint
1092
+ CREATE UNIQUE INDEX "uq_agent_skills_agent_skill" ON "agent_skills" USING btree ("agent_id","skill_id");--> statement-breakpoint
1093
+ CREATE INDEX "idx_agents_tenant_id" ON "agents" USING btree ("tenant_id");--> statement-breakpoint
1094
+ CREATE INDEX "idx_agents_type" ON "agents" USING btree ("type");--> statement-breakpoint
1095
+ CREATE INDEX "idx_agents_status" ON "agents" USING btree ("status");--> statement-breakpoint
1096
+ CREATE INDEX "idx_agents_reports_to" ON "agents" USING btree ("reports_to");--> statement-breakpoint
1097
+ CREATE INDEX "idx_agents_source" ON "agents" USING btree ("source");--> statement-breakpoint
1098
+ CREATE INDEX "idx_join_requests_tenant_status" ON "join_requests" USING btree ("tenant_id","status");--> statement-breakpoint
1099
+ CREATE INDEX "join_requests_invite_idx" ON "join_requests" USING btree ("invite_id");--> statement-breakpoint
1100
+ CREATE INDEX "join_requests_claim_secret_idx" ON "join_requests" USING btree ("claim_secret_hash");--> statement-breakpoint
1101
+ CREATE INDEX "idx_ppg_principal" ON "principal_permission_grants" USING btree ("principal_type","principal_id");--> statement-breakpoint
1102
+ CREATE UNIQUE INDEX "uq_ppg_tenant_principal_permission" ON "principal_permission_grants" USING btree ("tenant_id","principal_type","principal_id","permission_key");--> statement-breakpoint
1103
+ CREATE INDEX "idx_messages_thread_id" ON "messages" USING btree ("thread_id");--> statement-breakpoint
1104
+ CREATE INDEX "idx_messages_tenant_id_created_at" ON "messages" USING btree ("tenant_id","created_at");--> statement-breakpoint
1105
+ CREATE UNIQUE INDEX "uq_team_agents_team_agent" ON "team_agents" USING btree ("team_id","agent_id");--> statement-breakpoint
1106
+ CREATE UNIQUE INDEX "uq_team_users_team_user" ON "team_users" USING btree ("team_id","user_id");--> statement-breakpoint
1107
+ CREATE INDEX "idx_teams_tenant_id" ON "teams" USING btree ("tenant_id");--> statement-breakpoint
1108
+ CREATE INDEX "idx_routines_tenant_id" ON "routines" USING btree ("tenant_id");--> statement-breakpoint
1109
+ CREATE INDEX "idx_routines_status" ON "routines" USING btree ("status");--> statement-breakpoint
1110
+ CREATE INDEX "idx_connections_tenant_provider" ON "connections" USING btree ("tenant_id","provider_id");--> statement-breakpoint
1111
+ CREATE UNIQUE INDEX "uq_code_factory_repos_owner_repo" ON "code_factory_repos" USING btree ("github_owner","github_repo");--> statement-breakpoint
1112
+ CREATE UNIQUE INDEX "uq_thread_label_assignment" ON "thread_label_assignments" USING btree ("thread_id","label_id");--> statement-breakpoint
1113
+ CREATE UNIQUE INDEX "uq_thread_labels_tenant_name" ON "thread_labels" USING btree ("tenant_id","name");--> statement-breakpoint
1114
+ CREATE UNIQUE INDEX "uq_threads_tenant_number" ON "threads" USING btree ("tenant_id","number");--> statement-breakpoint
1115
+ CREATE INDEX "idx_threads_tenant_status" ON "threads" USING btree ("tenant_id","status");--> statement-breakpoint
1116
+ CREATE INDEX "idx_threads_assignee" ON "threads" USING btree ("assignee_type","assignee_id");--> statement-breakpoint
1117
+ CREATE INDEX "idx_threads_parent_id" ON "threads" USING btree ("parent_id");--> statement-breakpoint
1118
+ CREATE INDEX "idx_threads_checkout_run_id" ON "threads" USING btree ("checkout_run_id");--> statement-breakpoint
1119
+ CREATE INDEX "idx_threads_tenant_channel" ON "threads" USING btree ("tenant_id","channel");--> statement-breakpoint
1120
+ CREATE INDEX "idx_inbox_items_tenant_status" ON "inbox_items" USING btree ("tenant_id","status");--> statement-breakpoint
1121
+ CREATE INDEX "idx_inbox_items_entity" ON "inbox_items" USING btree ("entity_type","entity_id");--> statement-breakpoint
1122
+ CREATE INDEX "idx_agent_wakeup_requests_status" ON "agent_wakeup_requests" USING btree ("tenant_id","status");--> statement-breakpoint
1123
+ CREATE INDEX "idx_agent_runtime_state_agent_status" ON "agent_runtime_state" USING btree ("agent_id","status");--> statement-breakpoint
1124
+ CREATE INDEX "idx_wakeup_requests_status_scheduled" ON "wakeup_requests" USING btree ("status","scheduled_for");--> statement-breakpoint
1125
+ CREATE INDEX "idx_budget_policies_tenant" ON "budget_policies" USING btree ("tenant_id");--> statement-breakpoint
1126
+ CREATE INDEX "idx_budget_policies_agent" ON "budget_policies" USING btree ("agent_id");--> statement-breakpoint
1127
+ CREATE INDEX "idx_cost_events_tenant_created" ON "cost_events" USING btree ("tenant_id","created_at");--> statement-breakpoint
1128
+ CREATE INDEX "idx_cost_events_agent_created" ON "cost_events" USING btree ("agent_id","created_at");--> statement-breakpoint
1129
+ CREATE UNIQUE INDEX "uq_cost_events_request_type" ON "cost_events" USING btree ("request_id","event_type");--> statement-breakpoint
1130
+ CREATE INDEX "idx_cost_events_thread" ON "cost_events" USING btree ("thread_id");--> statement-breakpoint
1131
+ CREATE INDEX "idx_cost_events_trace" ON "cost_events" USING btree ("trace_id");--> statement-breakpoint
1132
+ CREATE INDEX "idx_scheduled_jobs_tenant_type" ON "scheduled_jobs" USING btree ("tenant_id","trigger_type");--> statement-breakpoint
1133
+ CREATE INDEX "idx_scheduled_jobs_agent" ON "scheduled_jobs" USING btree ("agent_id");--> statement-breakpoint
1134
+ CREATE INDEX "idx_scheduled_jobs_routine" ON "scheduled_jobs" USING btree ("routine_id");--> statement-breakpoint
1135
+ CREATE INDEX "idx_scheduled_jobs_enabled" ON "scheduled_jobs" USING btree ("tenant_id","enabled");--> statement-breakpoint
1136
+ CREATE INDEX "idx_thread_turn_events_run_seq" ON "thread_turn_events" USING btree ("run_id","seq");--> statement-breakpoint
1137
+ CREATE INDEX "idx_thread_turn_events_tenant_created" ON "thread_turn_events" USING btree ("tenant_id","created_at");--> statement-breakpoint
1138
+ CREATE INDEX "idx_thread_turns_tenant_agent" ON "thread_turns" USING btree ("tenant_id","agent_id","started_at");--> statement-breakpoint
1139
+ CREATE INDEX "idx_thread_turns_tenant_routine" ON "thread_turns" USING btree ("tenant_id","routine_id","started_at");--> statement-breakpoint
1140
+ CREATE INDEX "idx_thread_turns_trigger" ON "thread_turns" USING btree ("trigger_id");--> statement-breakpoint
1141
+ CREATE INDEX "idx_thread_turns_status" ON "thread_turns" USING btree ("tenant_id","status");--> statement-breakpoint
1142
+ CREATE INDEX "idx_thread_turns_thread" ON "thread_turns" USING btree ("thread_id");--> statement-breakpoint
1143
+ CREATE INDEX "idx_thread_turns_webhook" ON "thread_turns" USING btree ("webhook_id");--> statement-breakpoint
1144
+ CREATE UNIQUE INDEX "uq_agent_kb" ON "agent_knowledge_bases" USING btree ("agent_id","knowledge_base_id");--> statement-breakpoint
1145
+ CREATE INDEX "idx_knowledge_bases_tenant" ON "knowledge_bases" USING btree ("tenant_id");--> statement-breakpoint
1146
+ CREATE UNIQUE INDEX "uq_knowledge_bases_tenant_slug" ON "knowledge_bases" USING btree ("tenant_id","slug");--> statement-breakpoint
1147
+ CREATE INDEX "idx_email_reply_tokens_hash" ON "email_reply_tokens" USING btree ("token_hash");--> statement-breakpoint
1148
+ CREATE INDEX "idx_email_reply_tokens_agent" ON "email_reply_tokens" USING btree ("agent_id");--> statement-breakpoint
1149
+ CREATE INDEX "idx_email_reply_tokens_expires" ON "email_reply_tokens" USING btree ("tenant_id","expires_at");--> statement-breakpoint
1150
+ CREATE INDEX "idx_email_reply_tokens_ses_msg" ON "email_reply_tokens" USING btree ("ses_message_id");--> statement-breakpoint
1151
+ CREATE UNIQUE INDEX "uq_thread_dependency" ON "thread_dependencies" USING btree ("thread_id","blocked_by_thread_id");--> statement-breakpoint
1152
+ CREATE INDEX "idx_thread_deps_thread" ON "thread_dependencies" USING btree ("thread_id");--> statement-breakpoint
1153
+ CREATE INDEX "idx_thread_deps_blocked_by" ON "thread_dependencies" USING btree ("blocked_by_thread_id");--> statement-breakpoint
1154
+ CREATE INDEX "idx_thread_deps_tenant" ON "thread_dependencies" USING btree ("tenant_id");--> statement-breakpoint
1155
+ CREATE INDEX "idx_retry_queue_status_scheduled" ON "retry_queue" USING btree ("status","scheduled_at");--> statement-breakpoint
1156
+ CREATE INDEX "idx_retry_queue_tenant" ON "retry_queue" USING btree ("tenant_id");--> statement-breakpoint
1157
+ CREATE INDEX "idx_retry_queue_origin_turn" ON "retry_queue" USING btree ("origin_turn_id");--> statement-breakpoint
1158
+ CREATE INDEX "idx_artifacts_tenant_id" ON "artifacts" USING btree ("tenant_id");--> statement-breakpoint
1159
+ CREATE INDEX "idx_artifacts_thread_id" ON "artifacts" USING btree ("thread_id");--> statement-breakpoint
1160
+ CREATE INDEX "idx_artifacts_agent_id" ON "artifacts" USING btree ("agent_id");--> statement-breakpoint
1161
+ CREATE INDEX "idx_artifacts_type" ON "artifacts" USING btree ("tenant_id","type");--> statement-breakpoint
1162
+ CREATE UNIQUE INDEX "idx_webhook_idempotency_key" ON "webhook_idempotency" USING btree ("webhook_id","idempotency_key");--> statement-breakpoint
1163
+ CREATE UNIQUE INDEX "idx_webhooks_token" ON "webhooks" USING btree ("token");--> statement-breakpoint
1164
+ CREATE INDEX "idx_webhooks_tenant" ON "webhooks" USING btree ("tenant_id");--> statement-breakpoint
1165
+ CREATE INDEX "idx_webhooks_tenant_enabled" ON "webhooks" USING btree ("tenant_id","enabled");--> statement-breakpoint
1166
+ CREATE INDEX "idx_recipes_tenant_id" ON "recipes" USING btree ("tenant_id");--> statement-breakpoint
1167
+ CREATE INDEX "idx_recipes_thread_id" ON "recipes" USING btree ("thread_id");--> statement-breakpoint
1168
+ CREATE INDEX "idx_recipes_agent_id" ON "recipes" USING btree ("agent_id");--> statement-breakpoint
1169
+ CREATE INDEX "idx_skill_catalog_category" ON "skill_catalog" USING btree ("category");--> statement-breakpoint
1170
+ CREATE INDEX "idx_skill_catalog_execution" ON "skill_catalog" USING btree ("execution");--> statement-breakpoint
1171
+ CREATE UNIQUE INDEX "uq_tenant_skills" ON "tenant_skills" USING btree ("tenant_id","skill_id");--> statement-breakpoint
1172
+ CREATE INDEX "idx_tenant_skills_tenant_source" ON "tenant_skills" USING btree ("tenant_id","source");--> statement-breakpoint
1173
+ CREATE INDEX "idx_guardrail_blocks_tenant" ON "guardrail_blocks" USING btree ("tenant_id");--> statement-breakpoint
1174
+ CREATE INDEX "idx_guardrail_blocks_agent" ON "guardrail_blocks" USING btree ("agent_id");--> statement-breakpoint
1175
+ CREATE INDEX "idx_guardrail_blocks_guardrail" ON "guardrail_blocks" USING btree ("guardrail_id");--> statement-breakpoint
1176
+ CREATE INDEX "idx_guardrail_blocks_created" ON "guardrail_blocks" USING btree ("created_at");--> statement-breakpoint
1177
+ CREATE INDEX "idx_guardrails_tenant" ON "guardrails" USING btree ("tenant_id");--> statement-breakpoint
1178
+ CREATE UNIQUE INDEX "uq_agent_templates_tenant_slug" ON "agent_templates" USING btree ("tenant_id","slug");--> statement-breakpoint
1179
+ CREATE INDEX "idx_agent_templates_tenant" ON "agent_templates" USING btree ("tenant_id");--> statement-breakpoint
1180
+ CREATE INDEX "idx_agent_templates_category" ON "agent_templates" USING btree ("category");--> statement-breakpoint
1181
+ CREATE INDEX "idx_agent_templates_source" ON "agent_templates" USING btree ("source");--> statement-breakpoint
1182
+ CREATE INDEX "idx_agent_versions_agent" ON "agent_versions" USING btree ("agent_id");--> statement-breakpoint
1183
+ CREATE UNIQUE INDEX "uq_agent_versions_agent_version" ON "agent_versions" USING btree ("agent_id","version_number");--> statement-breakpoint
1184
+ CREATE INDEX "idx_activity_log_tenant_created" ON "activity_log" USING btree ("tenant_id","created_at");--> statement-breakpoint
1185
+ CREATE INDEX "idx_activity_log_entity" ON "activity_log" USING btree ("entity_type","entity_id");--> statement-breakpoint
1186
+ CREATE INDEX "idx_activity_log_actor" ON "activity_log" USING btree ("actor_type","actor_id");--> statement-breakpoint
1187
+ CREATE INDEX "idx_user_quick_actions_user" ON "user_quick_actions" USING btree ("user_id");--> statement-breakpoint
1188
+ CREATE INDEX "idx_user_quick_actions_tenant" ON "user_quick_actions" USING btree ("tenant_id");