@slaw-ai/db 2026.611.0

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 (590) hide show
  1. package/LICENSE +26 -0
  2. package/dist/backup-lib.d.ts +42 -0
  3. package/dist/backup-lib.d.ts.map +1 -0
  4. package/dist/backup-lib.js +862 -0
  5. package/dist/backup-lib.js.map +1 -0
  6. package/dist/backup-lib.test.d.ts +2 -0
  7. package/dist/backup-lib.test.d.ts.map +1 -0
  8. package/dist/backup-lib.test.js +376 -0
  9. package/dist/backup-lib.test.js.map +1 -0
  10. package/dist/backup.d.ts +2 -0
  11. package/dist/backup.d.ts.map +1 -0
  12. package/dist/backup.js +77 -0
  13. package/dist/backup.js.map +1 -0
  14. package/dist/check-migration-numbering.d.ts +2 -0
  15. package/dist/check-migration-numbering.d.ts.map +1 -0
  16. package/dist/check-migration-numbering.js +64 -0
  17. package/dist/check-migration-numbering.js.map +1 -0
  18. package/dist/client.d.ts +43 -0
  19. package/dist/client.d.ts.map +1 -0
  20. package/dist/client.js +586 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/client.test.d.ts +2 -0
  23. package/dist/client.test.d.ts.map +1 -0
  24. package/dist/client.test.js +400 -0
  25. package/dist/client.test.js.map +1 -0
  26. package/dist/embedded-postgres-error.d.ts +9 -0
  27. package/dist/embedded-postgres-error.d.ts.map +1 -0
  28. package/dist/embedded-postgres-error.js +73 -0
  29. package/dist/embedded-postgres-error.js.map +1 -0
  30. package/dist/embedded-postgres-error.test.d.ts +2 -0
  31. package/dist/embedded-postgres-error.test.d.ts.map +1 -0
  32. package/dist/embedded-postgres-error.test.js +25 -0
  33. package/dist/embedded-postgres-error.test.js.map +1 -0
  34. package/dist/embedded-postgres-native.d.ts +3 -0
  35. package/dist/embedded-postgres-native.d.ts.map +1 -0
  36. package/dist/embedded-postgres-native.js +83 -0
  37. package/dist/embedded-postgres-native.js.map +1 -0
  38. package/dist/embedded-postgres-native.test.d.ts +2 -0
  39. package/dist/embedded-postgres-native.test.d.ts.map +1 -0
  40. package/dist/embedded-postgres-native.test.js +36 -0
  41. package/dist/embedded-postgres-native.test.js.map +1 -0
  42. package/dist/index.d.ts +9 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +9 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/migrate.d.ts +2 -0
  47. package/dist/migrate.d.ts.map +1 -0
  48. package/dist/migrate.js +25 -0
  49. package/dist/migrate.js.map +1 -0
  50. package/dist/migration-runtime.d.ts +7 -0
  51. package/dist/migration-runtime.d.ts.map +1 -0
  52. package/dist/migration-runtime.js +159 -0
  53. package/dist/migration-runtime.js.map +1 -0
  54. package/dist/migration-status.d.ts +2 -0
  55. package/dist/migration-status.d.ts.map +1 -0
  56. package/dist/migration-status.js +55 -0
  57. package/dist/migration-status.js.map +1 -0
  58. package/dist/migrations/0000_mature_masked_marvel.sql +208 -0
  59. package/dist/migrations/0001_fast_northstar.sql +87 -0
  60. package/dist/migrations/0002_big_zaladane.sql +1 -0
  61. package/dist/migrations/0003_shallow_quentin_quire.sql +5 -0
  62. package/dist/migrations/0004_issue_identifiers.sql +28 -0
  63. package/dist/migrations/0005_chief_luke_cage.sql +19 -0
  64. package/dist/migrations/0006_overjoyed_mister_sinister.sql +36 -0
  65. package/dist/migrations/0007_new_quentin_quire.sql +20 -0
  66. package/dist/migrations/0008_amused_zzzax.sql +1 -0
  67. package/dist/migrations/0009_fast_jackal.sql +36 -0
  68. package/dist/migrations/0010_stale_justin_hammer.sql +37 -0
  69. package/dist/migrations/0011_windy_corsair.sql +18 -0
  70. package/dist/migrations/0012_perpetual_ser_duncan.sql +2 -0
  71. package/dist/migrations/0013_dashing_wasp.sql +4 -0
  72. package/dist/migrations/0014_many_mikhail_rasputin.sql +135 -0
  73. package/dist/migrations/0015_project_color_archived.sql +2 -0
  74. package/dist/migrations/0016_agent_icon.sql +1 -0
  75. package/dist/migrations/0017_tiresome_gabe_jones.sql +51 -0
  76. package/dist/migrations/0018_flat_sleepwalker.sql +26 -0
  77. package/dist/migrations/0019_public_victor_mancha.sql +18 -0
  78. package/dist/migrations/0020_white_anita_blake.sql +1 -0
  79. package/dist/migrations/0021_chief_vindicator.sql +1 -0
  80. package/dist/migrations/0022_squad_brand_color.sql +1 -0
  81. package/dist/migrations/0023_fair_lethal_legion.sql +3 -0
  82. package/dist/migrations/0024_far_beast.sql +2 -0
  83. package/dist/migrations/0025_nasty_salo.sql +15 -0
  84. package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
  85. package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
  86. package/dist/migrations/0028_harsh_goliath.sql +54 -0
  87. package/dist/migrations/0029_plugin_tables.sql +177 -0
  88. package/dist/migrations/0030_rich_magneto.sql +12 -0
  89. package/dist/migrations/0031_zippy_magma.sql +51 -0
  90. package/dist/migrations/0032_pretty_doctor_octopus.sql +102 -0
  91. package/dist/migrations/0033_shiny_black_tarantula.sql +2 -0
  92. package/dist/migrations/0034_fat_dormammu.sql +2 -0
  93. package/dist/migrations/0035_marvelous_satana.sql +91 -0
  94. package/dist/migrations/0036_cheerful_nitro.sql +9 -0
  95. package/dist/migrations/0037_friendly_eddie_brock.sql +29 -0
  96. package/dist/migrations/0038_careless_iron_monger.sql +5 -0
  97. package/dist/migrations/0039_fat_magneto.sql +161 -0
  98. package/dist/migrations/0040_eager_shotgun.sql +5 -0
  99. package/dist/migrations/0041_curly_maria_hill.sql +1 -0
  100. package/dist/migrations/0042_spotty_the_renegades.sql +26 -0
  101. package/dist/migrations/0043_reflective_captain_universe.sql +6 -0
  102. package/dist/migrations/0044_illegal_toad.sql +56 -0
  103. package/dist/migrations/0045_workable_shockwave.sql +17 -0
  104. package/dist/migrations/0046_smooth_sentinels.sql +11 -0
  105. package/dist/migrations/0047_overjoyed_groot.sql +102 -0
  106. package/dist/migrations/0048_flashy_marrow.sql +1 -0
  107. package/dist/migrations/0049_flawless_abomination.sql +21 -0
  108. package/dist/migrations/0050_stiff_luckman.sql +1 -0
  109. package/dist/migrations/0051_young_korg.sql +5 -0
  110. package/dist/migrations/0052_mushy_trauma.sql +26 -0
  111. package/dist/migrations/0053_sharp_wild_child.sql +18 -0
  112. package/dist/migrations/0054_draft_routines.sql +2 -0
  113. package/dist/migrations/0055_kind_weapon_omega.sql +1 -0
  114. package/dist/migrations/0056_spooky_ultragirl.sql +22 -0
  115. package/dist/migrations/0057_tidy_join_requests.sql +57 -0
  116. package/dist/migrations/0058_wealthy_starbolt.sql +6 -0
  117. package/dist/migrations/0059_plugin_database_namespaces.sql +41 -0
  118. package/dist/migrations/0060_orange_annihilus.sql +50 -0
  119. package/dist/migrations/0061_lively_thor_girl.sql +3 -0
  120. package/dist/migrations/0062_routine_run_dispatch_fingerprint.sql +9 -0
  121. package/dist/migrations/0063_issue_thread_interactions.sql +65 -0
  122. package/dist/migrations/0064_issue_thread_interaction_idempotency.sql +4 -0
  123. package/dist/migrations/0065_environments.sql +50 -0
  124. package/dist/migrations/0066_issue_tree_holds.sql +107 -0
  125. package/dist/migrations/0067_agent_default_environment.sql +3 -0
  126. package/dist/migrations/0068_environment_local_driver_unique.sql +2 -0
  127. package/dist/migrations/0069_liveness_recovery_dedupe.sql +13 -0
  128. package/dist/migrations/0070_active_run_output_watchdog.sql +70 -0
  129. package/dist/migrations/0071_default_hire_approval_off.sql +1 -0
  130. package/dist/migrations/0072_large_sandman.sql +6 -0
  131. package/dist/migrations/0073_shiny_salo.sql +1 -0
  132. package/dist/migrations/0074_striped_genesis.sql +4 -0
  133. package/dist/migrations/0075_cultured_sebastian_shaw.sql +7 -0
  134. package/dist/migrations/0076_useful_elektra.sql +29 -0
  135. package/dist/migrations/0077_unusual_karnak.sql +140 -0
  136. package/dist/migrations/0078_white_darwin.sql +3 -0
  137. package/dist/migrations/0079_squad_search_document_indexes.sql +2 -0
  138. package/dist/migrations/0080_squad_search_fuzzystrmatch.sql +1 -0
  139. package/dist/migrations/0081_optimal_dormammu.sql +1 -0
  140. package/dist/migrations/0082_dry_vision.sql +124 -0
  141. package/dist/migrations/0083_squad_secret_provider_configs.sql +51 -0
  142. package/dist/migrations/0084_issue_recovery_actions.sql +64 -0
  143. package/dist/migrations/0085_tranquil_the_executioner.sql +8 -0
  144. package/dist/migrations/0086_routine_env_runtime_contract.sql +8 -0
  145. package/dist/migrations/0087_backfill_environment_manage_human_defaults.sql +29 -0
  146. package/dist/migrations/0088_backfill_principal_access_compatibility.sql +75 -0
  147. package/dist/migrations/0089_cloud_upstreams.sql +71 -0
  148. package/dist/migrations/0090_resource_memberships.sql +55 -0
  149. package/dist/migrations/0091_old_swarm.sql +189 -0
  150. package/dist/migrations/0092_mighty_puma.sql +28 -0
  151. package/dist/migrations/0093_giant_green_goblin.sql +6 -0
  152. package/dist/migrations/0094_botfather_sync_state.sql +7 -0
  153. package/dist/migrations/0095_instance_limits.sql +10 -0
  154. package/dist/migrations/0096_squad_skills_tower_managed.sql +4 -0
  155. package/dist/migrations/0097_board_to_operator.sql +52 -0
  156. package/dist/migrations/0098_roles_to_leads.sql +13 -0
  157. package/dist/migrations/meta/0000_snapshot.json +1743 -0
  158. package/dist/migrations/meta/0001_snapshot.json +2441 -0
  159. package/dist/migrations/meta/0002_snapshot.json +2454 -0
  160. package/dist/migrations/meta/0003_snapshot.json +2502 -0
  161. package/dist/migrations/meta/0005_snapshot.json +2719 -0
  162. package/dist/migrations/meta/0006_snapshot.json +3048 -0
  163. package/dist/migrations/meta/0007_snapshot.json +3258 -0
  164. package/dist/migrations/meta/0008_snapshot.json +3264 -0
  165. package/dist/migrations/meta/0009_snapshot.json +3587 -0
  166. package/dist/migrations/meta/0010_snapshot.json +3929 -0
  167. package/dist/migrations/meta/0011_snapshot.json +4068 -0
  168. package/dist/migrations/meta/0012_snapshot.json +4087 -0
  169. package/dist/migrations/meta/0013_snapshot.json +4118 -0
  170. package/dist/migrations/meta/0014_snapshot.json +5187 -0
  171. package/dist/migrations/meta/0017_snapshot.json +5215 -0
  172. package/dist/migrations/meta/0018_snapshot.json +5450 -0
  173. package/dist/migrations/meta/0019_snapshot.json +5603 -0
  174. package/dist/migrations/meta/0020_snapshot.json +5603 -0
  175. package/dist/migrations/meta/0021_snapshot.json +5609 -0
  176. package/dist/migrations/meta/0023_snapshot.json +5633 -0
  177. package/dist/migrations/meta/0024_snapshot.json +5693 -0
  178. package/dist/migrations/meta/0025_snapshot.json +5849 -0
  179. package/dist/migrations/meta/0027_snapshot.json +6205 -0
  180. package/dist/migrations/meta/0028_snapshot.json +6710 -0
  181. package/dist/migrations/meta/0029_snapshot.json +7899 -0
  182. package/dist/migrations/meta/0030_snapshot.json +8003 -0
  183. package/dist/migrations/meta/0031_snapshot.json +7242 -0
  184. package/dist/migrations/meta/0032_snapshot.json +7733 -0
  185. package/dist/migrations/meta/0033_snapshot.json +9038 -0
  186. package/dist/migrations/meta/0034_snapshot.json +9039 -0
  187. package/dist/migrations/meta/0035_snapshot.json +9959 -0
  188. package/dist/migrations/meta/0036_snapshot.json +10023 -0
  189. package/dist/migrations/meta/0037_snapshot.json +10263 -0
  190. package/dist/migrations/meta/0038_snapshot.json +11350 -0
  191. package/dist/migrations/meta/0039_snapshot.json +10308 -0
  192. package/dist/migrations/meta/0040_snapshot.json +10481 -0
  193. package/dist/migrations/meta/0041_snapshot.json +11393 -0
  194. package/dist/migrations/meta/0044_snapshot.json +11701 -0
  195. package/dist/migrations/meta/0045_snapshot.json +11857 -0
  196. package/dist/migrations/meta/0046_snapshot.json +11870 -0
  197. package/dist/migrations/meta/0047_snapshot.json +12539 -0
  198. package/dist/migrations/meta/0048_snapshot.json +12546 -0
  199. package/dist/migrations/meta/0049_snapshot.json +12766 -0
  200. package/dist/migrations/meta/0050_snapshot.json +12772 -0
  201. package/dist/migrations/meta/0051_snapshot.json +12836 -0
  202. package/dist/migrations/meta/0052_snapshot.json +13057 -0
  203. package/dist/migrations/meta/0053_snapshot.json +12979 -0
  204. package/dist/migrations/meta/0055_snapshot.json +13206 -0
  205. package/dist/migrations/meta/0056_snapshot.json +13388 -0
  206. package/dist/migrations/meta/0057_snapshot.json +13432 -0
  207. package/dist/migrations/meta/0058_snapshot.json +13490 -0
  208. package/dist/migrations/meta/0060_snapshot.json +14023 -0
  209. package/dist/migrations/meta/0061_snapshot.json +14042 -0
  210. package/dist/migrations/meta/0072_snapshot.json +15852 -0
  211. package/dist/migrations/meta/0073_snapshot.json +15859 -0
  212. package/dist/migrations/meta/0074_snapshot.json +15887 -0
  213. package/dist/migrations/meta/0075_snapshot.json +15945 -0
  214. package/dist/migrations/meta/0077_snapshot.json +16355 -0
  215. package/dist/migrations/meta/0078_snapshot.json +16373 -0
  216. package/dist/migrations/meta/0081_snapshot.json +16380 -0
  217. package/dist/migrations/meta/0090_snapshot.json +17974 -0
  218. package/dist/migrations/meta/0091_snapshot.json +18843 -0
  219. package/dist/migrations/meta/0092_snapshot.json +19543 -0
  220. package/dist/migrations/meta/0093_snapshot.json +19543 -0
  221. package/dist/migrations/meta/_journal.json +699 -0
  222. package/dist/runtime-config.d.ts +16 -0
  223. package/dist/runtime-config.d.ts.map +1 -0
  224. package/dist/runtime-config.js +168 -0
  225. package/dist/runtime-config.js.map +1 -0
  226. package/dist/runtime-config.test.d.ts +2 -0
  227. package/dist/runtime-config.test.d.ts.map +1 -0
  228. package/dist/runtime-config.test.js +111 -0
  229. package/dist/runtime-config.test.js.map +1 -0
  230. package/dist/schema/activity_log.d.ts +197 -0
  231. package/dist/schema/activity_log.d.ts.map +1 -0
  232. package/dist/schema/activity_log.js +22 -0
  233. package/dist/schema/activity_log.js.map +1 -0
  234. package/dist/schema/agent_api_keys.d.ts +144 -0
  235. package/dist/schema/agent_api_keys.d.ts.map +1 -0
  236. package/dist/schema/agent_api_keys.js +17 -0
  237. package/dist/schema/agent_api_keys.js.map +1 -0
  238. package/dist/schema/agent_config_revisions.d.ts +201 -0
  239. package/dist/schema/agent_config_revisions.d.ts.map +1 -0
  240. package/dist/schema/agent_config_revisions.js +20 -0
  241. package/dist/schema/agent_config_revisions.js.map +1 -0
  242. package/dist/schema/agent_memberships.d.ts +127 -0
  243. package/dist/schema/agent_memberships.d.ts.map +1 -0
  244. package/dist/schema/agent_memberships.js +17 -0
  245. package/dist/schema/agent_memberships.js.map +1 -0
  246. package/dist/schema/agent_runtime_state.d.ts +248 -0
  247. package/dist/schema/agent_runtime_state.d.ts.map +1 -0
  248. package/dist/schema/agent_runtime_state.js +23 -0
  249. package/dist/schema/agent_runtime_state.js.map +1 -0
  250. package/dist/schema/agent_task_sessions.d.ts +197 -0
  251. package/dist/schema/agent_task_sessions.d.ts.map +1 -0
  252. package/dist/schema/agent_task_sessions.js +22 -0
  253. package/dist/schema/agent_task_sessions.js.map +1 -0
  254. package/dist/schema/agent_wakeup_requests.d.ts +333 -0
  255. package/dist/schema/agent_wakeup_requests.d.ts.map +1 -0
  256. package/dist/schema/agent_wakeup_requests.js +29 -0
  257. package/dist/schema/agent_wakeup_requests.js.map +1 -0
  258. package/dist/schema/agents.d.ts +390 -0
  259. package/dist/schema/agents.d.ts.map +1 -0
  260. package/dist/schema/agents.js +32 -0
  261. package/dist/schema/agents.js.map +1 -0
  262. package/dist/schema/approval_comments.d.ts +144 -0
  263. package/dist/schema/approval_comments.d.ts.map +1 -0
  264. package/dist/schema/approval_comments.js +19 -0
  265. package/dist/schema/approval_comments.js.map +1 -0
  266. package/dist/schema/approvals.d.ts +214 -0
  267. package/dist/schema/approvals.d.ts.map +1 -0
  268. package/dist/schema/approvals.js +20 -0
  269. package/dist/schema/approvals.js.map +1 -0
  270. package/dist/schema/assets.d.ts +212 -0
  271. package/dist/schema/assets.d.ts.map +1 -0
  272. package/dist/schema/assets.js +22 -0
  273. package/dist/schema/assets.js.map +1 -0
  274. package/dist/schema/auth.d.ts +607 -0
  275. package/dist/schema/auth.d.ts.map +1 -0
  276. package/dist/schema/auth.js +44 -0
  277. package/dist/schema/auth.js.map +1 -0
  278. package/dist/schema/botfather_sync_state.d.ts +103 -0
  279. package/dist/schema/botfather_sync_state.d.ts.map +1 -0
  280. package/dist/schema/botfather_sync_state.js +22 -0
  281. package/dist/schema/botfather_sync_state.js.map +1 -0
  282. package/dist/schema/budget_incidents.d.ts +297 -0
  283. package/dist/schema/budget_incidents.d.ts.map +1 -0
  284. package/dist/schema/budget_incidents.js +29 -0
  285. package/dist/schema/budget_incidents.js.map +1 -0
  286. package/dist/schema/budget_policies.d.ts +263 -0
  287. package/dist/schema/budget_policies.d.ts.map +1 -0
  288. package/dist/schema/budget_policies.js +24 -0
  289. package/dist/schema/budget_policies.js.map +1 -0
  290. package/dist/schema/cli_auth_challenges.d.ts +263 -0
  291. package/dist/schema/cli_auth_challenges.d.ts.map +1 -0
  292. package/dist/schema/cli_auth_challenges.js +26 -0
  293. package/dist/schema/cli_auth_challenges.js.map +1 -0
  294. package/dist/schema/cloud_upstreams.d.ts +884 -0
  295. package/dist/schema/cloud_upstreams.d.ts.map +1 -0
  296. package/dist/schema/cloud_upstreams.js +63 -0
  297. package/dist/schema/cloud_upstreams.js.map +1 -0
  298. package/dist/schema/cost_events.d.ts +314 -0
  299. package/dist/schema/cost_events.d.ts.map +1 -0
  300. package/dist/schema/cost_events.js +34 -0
  301. package/dist/schema/cost_events.js.map +1 -0
  302. package/dist/schema/document_annotation_anchor_snapshots.d.ts +255 -0
  303. package/dist/schema/document_annotation_anchor_snapshots.d.ts.map +1 -0
  304. package/dist/schema/document_annotation_anchor_snapshots.js +25 -0
  305. package/dist/schema/document_annotation_anchor_snapshots.js.map +1 -0
  306. package/dist/schema/document_annotation_comments.d.ts +214 -0
  307. package/dist/schema/document_annotation_comments.d.ts.map +1 -0
  308. package/dist/schema/document_annotation_comments.js +27 -0
  309. package/dist/schema/document_annotation_comments.js.map +1 -0
  310. package/dist/schema/document_annotation_threads.d.ts +476 -0
  311. package/dist/schema/document_annotation_threads.d.ts.map +1 -0
  312. package/dist/schema/document_annotation_threads.js +44 -0
  313. package/dist/schema/document_annotation_threads.js.map +1 -0
  314. package/dist/schema/document_revisions.d.ts +212 -0
  315. package/dist/schema/document_revisions.d.ts.map +1 -0
  316. package/dist/schema/document_revisions.js +23 -0
  317. package/dist/schema/document_revisions.js.map +1 -0
  318. package/dist/schema/documents.d.ts +280 -0
  319. package/dist/schema/documents.d.ts.map +1 -0
  320. package/dist/schema/documents.js +27 -0
  321. package/dist/schema/documents.js.map +1 -0
  322. package/dist/schema/environment_leases.d.ts +333 -0
  323. package/dist/schema/environment_leases.d.ts.map +1 -0
  324. package/dist/schema/environment_leases.js +35 -0
  325. package/dist/schema/environment_leases.js.map +1 -0
  326. package/dist/schema/environments.d.ts +182 -0
  327. package/dist/schema/environments.d.ts.map +1 -0
  328. package/dist/schema/environments.js +22 -0
  329. package/dist/schema/environments.js.map +1 -0
  330. package/dist/schema/execution_workspaces.d.ts +418 -0
  331. package/dist/schema/execution_workspaces.d.ts.map +1 -0
  332. package/dist/schema/execution_workspaces.js +39 -0
  333. package/dist/schema/execution_workspaces.js.map +1 -0
  334. package/dist/schema/feedback_exports.d.ts +450 -0
  335. package/dist/schema/feedback_exports.d.ts.map +1 -0
  336. package/dist/schema/feedback_exports.js +41 -0
  337. package/dist/schema/feedback_exports.js.map +1 -0
  338. package/dist/schema/feedback_votes.d.ts +246 -0
  339. package/dist/schema/feedback_votes.d.ts.map +1 -0
  340. package/dist/schema/feedback_votes.js +25 -0
  341. package/dist/schema/feedback_votes.js.map +1 -0
  342. package/dist/schema/finance_events.d.ts +469 -0
  343. package/dist/schema/finance_events.d.ts.map +1 -0
  344. package/dist/schema/finance_events.js +45 -0
  345. package/dist/schema/finance_events.js.map +1 -0
  346. package/dist/schema/goals.d.ts +178 -0
  347. package/dist/schema/goals.d.ts.map +1 -0
  348. package/dist/schema/goals.js +18 -0
  349. package/dist/schema/goals.js.map +1 -0
  350. package/dist/schema/heartbeat_run_events.d.ts +214 -0
  351. package/dist/schema/heartbeat_run_events.d.ts.map +1 -0
  352. package/dist/schema/heartbeat_run_events.js +23 -0
  353. package/dist/schema/heartbeat_run_events.js.map +1 -0
  354. package/dist/schema/heartbeat_run_watchdog_decisions.d.ts +195 -0
  355. package/dist/schema/heartbeat_run_watchdog_decisions.d.ts.map +1 -0
  356. package/dist/schema/heartbeat_run_watchdog_decisions.js +22 -0
  357. package/dist/schema/heartbeat_run_watchdog_decisions.js.map +1 -0
  358. package/dist/schema/heartbeat_runs.d.ts +830 -0
  359. package/dist/schema/heartbeat_runs.d.ts.map +1 -0
  360. package/dist/schema/heartbeat_runs.js +62 -0
  361. package/dist/schema/heartbeat_runs.js.map +1 -0
  362. package/dist/schema/inbox_dismissals.d.ts +127 -0
  363. package/dist/schema/inbox_dismissals.d.ts.map +1 -0
  364. package/dist/schema/inbox_dismissals.js +16 -0
  365. package/dist/schema/inbox_dismissals.js.map +1 -0
  366. package/dist/schema/index.d.ts +88 -0
  367. package/dist/schema/index.d.ts.map +1 -0
  368. package/dist/schema/index.js +88 -0
  369. package/dist/schema/index.js.map +1 -0
  370. package/dist/schema/instance_limits.d.ts +155 -0
  371. package/dist/schema/instance_limits.d.ts.map +1 -0
  372. package/dist/schema/instance_limits.js +26 -0
  373. package/dist/schema/instance_limits.js.map +1 -0
  374. package/dist/schema/instance_settings.d.ts +114 -0
  375. package/dist/schema/instance_settings.d.ts.map +1 -0
  376. package/dist/schema/instance_settings.js +12 -0
  377. package/dist/schema/instance_settings.js.map +1 -0
  378. package/dist/schema/instance_user_roles.d.ts +93 -0
  379. package/dist/schema/instance_user_roles.d.ts.map +1 -0
  380. package/dist/schema/instance_user_roles.js +12 -0
  381. package/dist/schema/instance_user_roles.js.map +1 -0
  382. package/dist/schema/invites.d.ts +214 -0
  383. package/dist/schema/invites.d.ts.map +1 -0
  384. package/dist/schema/invites.js +20 -0
  385. package/dist/schema/invites.js.map +1 -0
  386. package/dist/schema/issue_approvals.d.ts +110 -0
  387. package/dist/schema/issue_approvals.d.ts.map +1 -0
  388. package/dist/schema/issue_approvals.js +19 -0
  389. package/dist/schema/issue_approvals.js.map +1 -0
  390. package/dist/schema/issue_attachments.d.ts +127 -0
  391. package/dist/schema/issue_attachments.d.ts.map +1 -0
  392. package/dist/schema/issue_attachments.js +19 -0
  393. package/dist/schema/issue_attachments.js.map +1 -0
  394. package/dist/schema/issue_comments.d.ts +219 -0
  395. package/dist/schema/issue_comments.d.ts.map +1 -0
  396. package/dist/schema/issue_comments.js +26 -0
  397. package/dist/schema/issue_comments.js.map +1 -0
  398. package/dist/schema/issue_documents.d.ts +127 -0
  399. package/dist/schema/issue_documents.d.ts.map +1 -0
  400. package/dist/schema/issue_documents.js +18 -0
  401. package/dist/schema/issue_documents.js.map +1 -0
  402. package/dist/schema/issue_execution_decisions.d.ts +212 -0
  403. package/dist/schema/issue_execution_decisions.d.ts.map +1 -0
  404. package/dist/schema/issue_execution_decisions.js +23 -0
  405. package/dist/schema/issue_execution_decisions.js.map +1 -0
  406. package/dist/schema/issue_inbox_archives.d.ts +127 -0
  407. package/dist/schema/issue_inbox_archives.d.ts.map +1 -0
  408. package/dist/schema/issue_inbox_archives.js +17 -0
  409. package/dist/schema/issue_inbox_archives.js.map +1 -0
  410. package/dist/schema/issue_labels.d.ts +76 -0
  411. package/dist/schema/issue_labels.d.ts.map +1 -0
  412. package/dist/schema/issue_labels.js +16 -0
  413. package/dist/schema/issue_labels.js.map +1 -0
  414. package/dist/schema/issue_plan_decompositions.d.ts +284 -0
  415. package/dist/schema/issue_plan_decompositions.d.ts.map +1 -0
  416. package/dist/schema/issue_plan_decompositions.js +36 -0
  417. package/dist/schema/issue_plan_decompositions.js.map +1 -0
  418. package/dist/schema/issue_read_states.d.ts +127 -0
  419. package/dist/schema/issue_read_states.d.ts.map +1 -0
  420. package/dist/schema/issue_read_states.js +17 -0
  421. package/dist/schema/issue_read_states.js.map +1 -0
  422. package/dist/schema/issue_recovery_actions.d.ts +456 -0
  423. package/dist/schema/issue_recovery_actions.d.ts.map +1 -0
  424. package/dist/schema/issue_recovery_actions.js +44 -0
  425. package/dist/schema/issue_recovery_actions.js.map +1 -0
  426. package/dist/schema/issue_reference_mentions.d.ts +180 -0
  427. package/dist/schema/issue_reference_mentions.d.ts.map +1 -0
  428. package/dist/schema/issue_reference_mentions.js +23 -0
  429. package/dist/schema/issue_reference_mentions.js.map +1 -0
  430. package/dist/schema/issue_relations.d.ts +163 -0
  431. package/dist/schema/issue_relations.d.ts.map +1 -0
  432. package/dist/schema/issue_relations.js +21 -0
  433. package/dist/schema/issue_relations.js.map +1 -0
  434. package/dist/schema/issue_thread_interactions.d.ts +353 -0
  435. package/dist/schema/issue_thread_interactions.d.ts.map +1 -0
  436. package/dist/schema/issue_thread_interactions.js +38 -0
  437. package/dist/schema/issue_thread_interactions.js.map +1 -0
  438. package/dist/schema/issue_tree_hold_members.d.ts +280 -0
  439. package/dist/schema/issue_tree_hold_members.d.ts.map +1 -0
  440. package/dist/schema/issue_tree_hold_members.js +29 -0
  441. package/dist/schema/issue_tree_hold_members.js.map +1 -0
  442. package/dist/schema/issue_tree_holds.d.ts +352 -0
  443. package/dist/schema/issue_tree_holds.d.ts.map +1 -0
  444. package/dist/schema/issue_tree_holds.js +31 -0
  445. package/dist/schema/issue_tree_holds.js.map +1 -0
  446. package/dist/schema/issue_work_products.d.ts +350 -0
  447. package/dist/schema/issue_work_products.d.ts.map +1 -0
  448. package/dist/schema/issue_work_products.js +37 -0
  449. package/dist/schema/issue_work_products.js.map +1 -0
  450. package/dist/schema/issues.d.ts +781 -0
  451. package/dist/schema/issues.d.ts.map +1 -0
  452. package/dist/schema/issues.js +109 -0
  453. package/dist/schema/issues.js.map +1 -0
  454. package/dist/schema/join_requests.d.ts +384 -0
  455. package/dist/schema/join_requests.d.ts.map +1 -0
  456. package/dist/schema/join_requests.js +39 -0
  457. package/dist/schema/join_requests.js.map +1 -0
  458. package/dist/schema/labels.d.ts +110 -0
  459. package/dist/schema/labels.d.ts.map +1 -0
  460. package/dist/schema/labels.js +14 -0
  461. package/dist/schema/labels.js.map +1 -0
  462. package/dist/schema/operator_api_keys.d.ts +144 -0
  463. package/dist/schema/operator_api_keys.d.ts.map +1 -0
  464. package/dist/schema/operator_api_keys.js +16 -0
  465. package/dist/schema/operator_api_keys.js.map +1 -0
  466. package/dist/schema/plugin_config.d.ts +123 -0
  467. package/dist/schema/plugin_config.d.ts.map +1 -0
  468. package/dist/schema/plugin_config.js +26 -0
  469. package/dist/schema/plugin_config.js.map +1 -0
  470. package/dist/schema/plugin_database.d.ts +357 -0
  471. package/dist/schema/plugin_database.d.ts.map +1 -0
  472. package/dist/schema/plugin_database.js +51 -0
  473. package/dist/schema/plugin_database.js.map +1 -0
  474. package/dist/schema/plugin_entities.d.ts +213 -0
  475. package/dist/schema/plugin_entities.d.ts.map +1 -0
  476. package/dist/schema/plugin_entities.js +37 -0
  477. package/dist/schema/plugin_entities.js.map +1 -0
  478. package/dist/schema/plugin_jobs.d.ts +392 -0
  479. package/dist/schema/plugin_jobs.d.ts.map +1 -0
  480. package/dist/schema/plugin_jobs.js +83 -0
  481. package/dist/schema/plugin_jobs.js.map +1 -0
  482. package/dist/schema/plugin_logs.d.ts +125 -0
  483. package/dist/schema/plugin_logs.d.ts.map +1 -0
  484. package/dist/schema/plugin_logs.js +29 -0
  485. package/dist/schema/plugin_logs.js.map +1 -0
  486. package/dist/schema/plugin_managed_resources.d.ts +180 -0
  487. package/dist/schema/plugin_managed_resources.d.ts.map +1 -0
  488. package/dist/schema/plugin_managed_resources.js +25 -0
  489. package/dist/schema/plugin_managed_resources.js.map +1 -0
  490. package/dist/schema/plugin_squad_settings.d.ts +158 -0
  491. package/dist/schema/plugin_squad_settings.d.ts.map +1 -0
  492. package/dist/schema/plugin_squad_settings.js +34 -0
  493. package/dist/schema/plugin_squad_settings.js.map +1 -0
  494. package/dist/schema/plugin_state.d.ts +169 -0
  495. package/dist/schema/plugin_state.d.ts.map +1 -0
  496. package/dist/schema/plugin_state.js +68 -0
  497. package/dist/schema/plugin_state.js.map +1 -0
  498. package/dist/schema/plugin_webhooks.d.ts +239 -0
  499. package/dist/schema/plugin_webhooks.d.ts.map +1 -0
  500. package/dist/schema/plugin_webhooks.js +52 -0
  501. package/dist/schema/plugin_webhooks.js.map +1 -0
  502. package/dist/schema/plugins.d.ts +246 -0
  503. package/dist/schema/plugins.d.ts.map +1 -0
  504. package/dist/schema/plugins.js +31 -0
  505. package/dist/schema/plugins.js.map +1 -0
  506. package/dist/schema/principal_permission_grants.d.ts +163 -0
  507. package/dist/schema/principal_permission_grants.d.ts.map +1 -0
  508. package/dist/schema/principal_permission_grants.js +17 -0
  509. package/dist/schema/principal_permission_grants.js.map +1 -0
  510. package/dist/schema/project_goals.d.ts +93 -0
  511. package/dist/schema/project_goals.d.ts.map +1 -0
  512. package/dist/schema/project_goals.js +17 -0
  513. package/dist/schema/project_goals.js.map +1 -0
  514. package/dist/schema/project_memberships.d.ts +127 -0
  515. package/dist/schema/project_memberships.d.ts.map +1 -0
  516. package/dist/schema/project_memberships.js +17 -0
  517. package/dist/schema/project_memberships.js.map +1 -0
  518. package/dist/schema/project_workspaces.d.ts +333 -0
  519. package/dist/schema/project_workspaces.d.ts.map +1 -0
  520. package/dist/schema/project_workspaces.js +32 -0
  521. package/dist/schema/project_workspaces.js.map +1 -0
  522. package/dist/schema/projects.d.ts +285 -0
  523. package/dist/schema/projects.d.ts.map +1 -0
  524. package/dist/schema/projects.js +25 -0
  525. package/dist/schema/projects.js.map +1 -0
  526. package/dist/schema/routines.d.ts +1330 -0
  527. package/dist/schema/routines.d.ts.map +1 -0
  528. package/dist/schema/routines.js +113 -0
  529. package/dist/schema/routines.js.map +1 -0
  530. package/dist/schema/secret_access_events.d.ts +280 -0
  531. package/dist/schema/secret_access_events.d.ts.map +1 -0
  532. package/dist/schema/secret_access_events.js +30 -0
  533. package/dist/schema/secret_access_events.js.map +1 -0
  534. package/dist/schema/squad_logos.d.ts +93 -0
  535. package/dist/schema/squad_logos.d.ts.map +1 -0
  536. package/dist/schema/squad_logos.js +14 -0
  537. package/dist/schema/squad_logos.js.map +1 -0
  538. package/dist/schema/squad_memberships.d.ts +144 -0
  539. package/dist/schema/squad_memberships.d.ts.map +1 -0
  540. package/dist/schema/squad_memberships.js +17 -0
  541. package/dist/schema/squad_memberships.js.map +1 -0
  542. package/dist/schema/squad_secret_bindings.d.ts +195 -0
  543. package/dist/schema/squad_secret_bindings.d.ts.map +1 -0
  544. package/dist/schema/squad_secret_bindings.js +22 -0
  545. package/dist/schema/squad_secret_bindings.js.map +1 -0
  546. package/dist/schema/squad_secret_provider_configs.d.ts +284 -0
  547. package/dist/schema/squad_secret_provider_configs.d.ts.map +1 -0
  548. package/dist/schema/squad_secret_provider_configs.js +29 -0
  549. package/dist/schema/squad_secret_provider_configs.js.map +1 -0
  550. package/dist/schema/squad_secret_versions.d.ts +231 -0
  551. package/dist/schema/squad_secret_versions.d.ts.map +1 -0
  552. package/dist/schema/squad_secret_versions.js +24 -0
  553. package/dist/schema/squad_secret_versions.js.map +1 -0
  554. package/dist/schema/squad_secrets.d.ts +333 -0
  555. package/dist/schema/squad_secrets.d.ts.map +1 -0
  556. package/dist/schema/squad_secrets.js +32 -0
  557. package/dist/schema/squad_secrets.js.map +1 -0
  558. package/dist/schema/squad_skills.d.ts +335 -0
  559. package/dist/schema/squad_skills.d.ts.map +1 -0
  560. package/dist/schema/squad_skills.js +32 -0
  561. package/dist/schema/squad_skills.js.map +1 -0
  562. package/dist/schema/squad_user_sidebar_preferences.d.ts +112 -0
  563. package/dist/schema/squad_user_sidebar_preferences.d.ts.map +1 -0
  564. package/dist/schema/squad_user_sidebar_preferences.js +15 -0
  565. package/dist/schema/squad_user_sidebar_preferences.js.map +1 -0
  566. package/dist/schema/squads.d.ts +331 -0
  567. package/dist/schema/squads.d.ts.map +1 -0
  568. package/dist/schema/squads.js +31 -0
  569. package/dist/schema/squads.js.map +1 -0
  570. package/dist/schema/user_sidebar_preferences.d.ts +95 -0
  571. package/dist/schema/user_sidebar_preferences.d.ts.map +1 -0
  572. package/dist/schema/user_sidebar_preferences.js +11 -0
  573. package/dist/schema/user_sidebar_preferences.js.map +1 -0
  574. package/dist/schema/workspace_operations.d.ts +367 -0
  575. package/dist/schema/workspace_operations.d.ts.map +1 -0
  576. package/dist/schema/workspace_operations.js +35 -0
  577. package/dist/schema/workspace_operations.js.map +1 -0
  578. package/dist/schema/workspace_runtime_services.d.ts +469 -0
  579. package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
  580. package/dist/schema/workspace_runtime_services.js +44 -0
  581. package/dist/schema/workspace_runtime_services.js.map +1 -0
  582. package/dist/seed.d.ts +2 -0
  583. package/dist/seed.d.ts.map +1 -0
  584. package/dist/seed.js +91 -0
  585. package/dist/seed.js.map +1 -0
  586. package/dist/test-embedded-postgres.d.ts +11 -0
  587. package/dist/test-embedded-postgres.d.ts.map +1 -0
  588. package/dist/test-embedded-postgres.js +138 -0
  589. package/dist/test-embedded-postgres.js.map +1 -0
  590. package/package.json +55 -0
@@ -0,0 +1,107 @@
1
+ CREATE TABLE IF NOT EXISTS "issue_tree_holds" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "squad_id" uuid NOT NULL,
4
+ "root_issue_id" uuid NOT NULL,
5
+ "mode" text NOT NULL,
6
+ "status" text DEFAULT 'active' NOT NULL,
7
+ "reason" text,
8
+ "release_policy" jsonb,
9
+ "created_by_actor_type" text DEFAULT 'system' NOT NULL,
10
+ "created_by_agent_id" uuid,
11
+ "created_by_user_id" text,
12
+ "created_by_run_id" uuid,
13
+ "released_at" timestamp with time zone,
14
+ "released_by_actor_type" text,
15
+ "released_by_agent_id" uuid,
16
+ "released_by_user_id" text,
17
+ "released_by_run_id" uuid,
18
+ "release_reason" text,
19
+ "release_metadata" jsonb,
20
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
21
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
22
+ );
23
+ --> statement-breakpoint
24
+ CREATE TABLE IF NOT EXISTS "issue_tree_hold_members" (
25
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
26
+ "squad_id" uuid NOT NULL,
27
+ "hold_id" uuid NOT NULL,
28
+ "issue_id" uuid NOT NULL,
29
+ "parent_issue_id" uuid,
30
+ "depth" integer DEFAULT 0 NOT NULL,
31
+ "issue_identifier" text,
32
+ "issue_title" text NOT NULL,
33
+ "issue_status" text NOT NULL,
34
+ "assignee_agent_id" uuid,
35
+ "assignee_user_id" text,
36
+ "active_run_id" uuid,
37
+ "active_run_status" text,
38
+ "skipped" boolean DEFAULT false NOT NULL,
39
+ "skip_reason" text,
40
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
41
+ );
42
+ --> statement-breakpoint
43
+ DO $$ BEGIN
44
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_holds_squad_id_squads_id_fk') THEN
45
+ ALTER TABLE "issue_tree_holds" ADD CONSTRAINT "issue_tree_holds_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
46
+ END IF;
47
+ END $$;--> statement-breakpoint
48
+ DO $$ BEGIN
49
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_holds_root_issue_id_issues_id_fk') THEN
50
+ ALTER TABLE "issue_tree_holds" ADD CONSTRAINT "issue_tree_holds_root_issue_id_issues_id_fk" FOREIGN KEY ("root_issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;
51
+ END IF;
52
+ END $$;--> statement-breakpoint
53
+ DO $$ BEGIN
54
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_holds_created_by_agent_id_agents_id_fk') THEN
55
+ ALTER TABLE "issue_tree_holds" ADD CONSTRAINT "issue_tree_holds_created_by_agent_id_agents_id_fk" FOREIGN KEY ("created_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
56
+ END IF;
57
+ END $$;--> statement-breakpoint
58
+ DO $$ BEGIN
59
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_holds_created_by_run_id_heartbeat_runs_id_fk') THEN
60
+ ALTER TABLE "issue_tree_holds" ADD CONSTRAINT "issue_tree_holds_created_by_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("created_by_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
61
+ END IF;
62
+ END $$;--> statement-breakpoint
63
+ DO $$ BEGIN
64
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_holds_released_by_agent_id_agents_id_fk') THEN
65
+ ALTER TABLE "issue_tree_holds" ADD CONSTRAINT "issue_tree_holds_released_by_agent_id_agents_id_fk" FOREIGN KEY ("released_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
66
+ END IF;
67
+ END $$;--> statement-breakpoint
68
+ DO $$ BEGIN
69
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_holds_released_by_run_id_heartbeat_runs_id_fk') THEN
70
+ ALTER TABLE "issue_tree_holds" ADD CONSTRAINT "issue_tree_holds_released_by_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("released_by_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
71
+ END IF;
72
+ END $$;--> statement-breakpoint
73
+ DO $$ BEGIN
74
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_hold_members_squad_id_squads_id_fk') THEN
75
+ ALTER TABLE "issue_tree_hold_members" ADD CONSTRAINT "issue_tree_hold_members_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
76
+ END IF;
77
+ END $$;--> statement-breakpoint
78
+ DO $$ BEGIN
79
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_hold_members_hold_id_issue_tree_holds_id_fk') THEN
80
+ ALTER TABLE "issue_tree_hold_members" ADD CONSTRAINT "issue_tree_hold_members_hold_id_issue_tree_holds_id_fk" FOREIGN KEY ("hold_id") REFERENCES "public"."issue_tree_holds"("id") ON DELETE cascade ON UPDATE no action;
81
+ END IF;
82
+ END $$;--> statement-breakpoint
83
+ DO $$ BEGIN
84
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_hold_members_issue_id_issues_id_fk') THEN
85
+ ALTER TABLE "issue_tree_hold_members" ADD CONSTRAINT "issue_tree_hold_members_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;
86
+ END IF;
87
+ END $$;--> statement-breakpoint
88
+ DO $$ BEGIN
89
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_hold_members_parent_issue_id_issues_id_fk') THEN
90
+ ALTER TABLE "issue_tree_hold_members" ADD CONSTRAINT "issue_tree_hold_members_parent_issue_id_issues_id_fk" FOREIGN KEY ("parent_issue_id") REFERENCES "public"."issues"("id") ON DELETE set null ON UPDATE no action;
91
+ END IF;
92
+ END $$;--> statement-breakpoint
93
+ DO $$ BEGIN
94
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_hold_members_assignee_agent_id_agents_id_fk') THEN
95
+ ALTER TABLE "issue_tree_hold_members" ADD CONSTRAINT "issue_tree_hold_members_assignee_agent_id_agents_id_fk" FOREIGN KEY ("assignee_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
96
+ END IF;
97
+ END $$;--> statement-breakpoint
98
+ DO $$ BEGIN
99
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'issue_tree_hold_members_active_run_id_heartbeat_runs_id_fk') THEN
100
+ ALTER TABLE "issue_tree_hold_members" ADD CONSTRAINT "issue_tree_hold_members_active_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("active_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
101
+ END IF;
102
+ END $$;--> statement-breakpoint
103
+ CREATE INDEX IF NOT EXISTS "issue_tree_holds_squad_root_status_idx" ON "issue_tree_holds" USING btree ("squad_id","root_issue_id","status");--> statement-breakpoint
104
+ CREATE INDEX IF NOT EXISTS "issue_tree_holds_squad_status_mode_idx" ON "issue_tree_holds" USING btree ("squad_id","status","mode");--> statement-breakpoint
105
+ CREATE UNIQUE INDEX IF NOT EXISTS "issue_tree_hold_members_hold_issue_uq" ON "issue_tree_hold_members" USING btree ("hold_id","issue_id");--> statement-breakpoint
106
+ CREATE INDEX IF NOT EXISTS "issue_tree_hold_members_squad_issue_idx" ON "issue_tree_hold_members" USING btree ("squad_id","issue_id");--> statement-breakpoint
107
+ CREATE INDEX IF NOT EXISTS "issue_tree_hold_members_hold_depth_idx" ON "issue_tree_hold_members" USING btree ("hold_id","depth");
@@ -0,0 +1,3 @@
1
+ ALTER TABLE "agents" ADD COLUMN "default_environment_id" uuid;
2
+ ALTER TABLE "agents" ADD CONSTRAINT "agents_default_environment_id_environments_id_fk" FOREIGN KEY ("default_environment_id") REFERENCES "public"."environments"("id") ON DELETE set null ON UPDATE no action;
3
+ CREATE INDEX "agents_squad_default_environment_idx" ON "agents" USING btree ("squad_id","default_environment_id");
@@ -0,0 +1,2 @@
1
+ DROP INDEX IF EXISTS "environments_squad_driver_idx";--> statement-breakpoint
2
+ CREATE UNIQUE INDEX IF NOT EXISTS "environments_squad_driver_idx" ON "environments" USING btree ("squad_id","driver") WHERE "driver" = 'local';
@@ -0,0 +1,13 @@
1
+ CREATE UNIQUE INDEX IF NOT EXISTS "issues_active_liveness_recovery_incident_uq"
2
+ ON "issues" USING btree ("squad_id","origin_kind","origin_id")
3
+ WHERE "origin_kind" = 'harness_liveness_escalation'
4
+ AND "origin_id" IS NOT NULL
5
+ AND "hidden_at" IS NULL
6
+ AND "status" NOT IN ('done', 'cancelled');
7
+ --> statement-breakpoint
8
+ CREATE UNIQUE INDEX IF NOT EXISTS "issues_active_liveness_recovery_leaf_uq"
9
+ ON "issues" USING btree ("squad_id","origin_kind","origin_fingerprint")
10
+ WHERE "origin_kind" = 'harness_liveness_escalation'
11
+ AND "origin_fingerprint" <> 'default'
12
+ AND "hidden_at" IS NULL
13
+ AND "status" NOT IN ('done', 'cancelled');
@@ -0,0 +1,70 @@
1
+ ALTER TABLE "heartbeat_runs" ADD COLUMN IF NOT EXISTS "last_output_at" timestamp with time zone;
2
+ --> statement-breakpoint
3
+ ALTER TABLE "heartbeat_runs" ADD COLUMN IF NOT EXISTS "last_output_seq" integer DEFAULT 0 NOT NULL;
4
+ --> statement-breakpoint
5
+ ALTER TABLE "heartbeat_runs" ADD COLUMN IF NOT EXISTS "last_output_stream" text;
6
+ --> statement-breakpoint
7
+ ALTER TABLE "heartbeat_runs" ADD COLUMN IF NOT EXISTS "last_output_bytes" bigint;
8
+ --> statement-breakpoint
9
+ CREATE INDEX IF NOT EXISTS "heartbeat_runs_squad_status_last_output_idx"
10
+ ON "heartbeat_runs" USING btree ("squad_id","status","last_output_at");
11
+ --> statement-breakpoint
12
+ CREATE INDEX IF NOT EXISTS "heartbeat_runs_squad_status_process_started_idx"
13
+ ON "heartbeat_runs" USING btree ("squad_id","status","process_started_at");
14
+ --> statement-breakpoint
15
+ CREATE TABLE IF NOT EXISTS "heartbeat_run_watchdog_decisions" (
16
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
17
+ "squad_id" uuid NOT NULL,
18
+ "run_id" uuid NOT NULL,
19
+ "evaluation_issue_id" uuid,
20
+ "decision" text NOT NULL,
21
+ "snoozed_until" timestamp with time zone,
22
+ "reason" text,
23
+ "created_by_agent_id" uuid,
24
+ "created_by_user_id" text,
25
+ "created_by_run_id" uuid,
26
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
27
+ );
28
+ --> statement-breakpoint
29
+ DO $$ BEGIN
30
+ ALTER TABLE "heartbeat_run_watchdog_decisions" ADD CONSTRAINT "heartbeat_run_watchdog_decisions_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
31
+ EXCEPTION
32
+ WHEN duplicate_object THEN null;
33
+ END $$;
34
+ --> statement-breakpoint
35
+ DO $$ BEGIN
36
+ ALTER TABLE "heartbeat_run_watchdog_decisions" ADD CONSTRAINT "heartbeat_run_watchdog_decisions_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE cascade ON UPDATE no action;
37
+ EXCEPTION
38
+ WHEN duplicate_object THEN null;
39
+ END $$;
40
+ --> statement-breakpoint
41
+ DO $$ BEGIN
42
+ ALTER TABLE "heartbeat_run_watchdog_decisions" ADD CONSTRAINT "heartbeat_run_watchdog_decisions_evaluation_issue_id_issues_id_fk" FOREIGN KEY ("evaluation_issue_id") REFERENCES "public"."issues"("id") ON DELETE set null ON UPDATE no action;
43
+ EXCEPTION
44
+ WHEN duplicate_object THEN null;
45
+ END $$;
46
+ --> statement-breakpoint
47
+ DO $$ BEGIN
48
+ ALTER TABLE "heartbeat_run_watchdog_decisions" ADD CONSTRAINT "heartbeat_run_watchdog_decisions_created_by_agent_id_agents_id_fk" FOREIGN KEY ("created_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
49
+ EXCEPTION
50
+ WHEN duplicate_object THEN null;
51
+ END $$;
52
+ --> statement-breakpoint
53
+ DO $$ BEGIN
54
+ ALTER TABLE "heartbeat_run_watchdog_decisions" ADD CONSTRAINT "heartbeat_run_watchdog_decisions_created_by_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("created_by_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
55
+ EXCEPTION
56
+ WHEN duplicate_object THEN null;
57
+ END $$;
58
+ --> statement-breakpoint
59
+ CREATE INDEX IF NOT EXISTS "heartbeat_run_watchdog_decisions_squad_run_created_idx"
60
+ ON "heartbeat_run_watchdog_decisions" USING btree ("squad_id","run_id","created_at");
61
+ --> statement-breakpoint
62
+ CREATE INDEX IF NOT EXISTS "heartbeat_run_watchdog_decisions_squad_run_snooze_idx"
63
+ ON "heartbeat_run_watchdog_decisions" USING btree ("squad_id","run_id","snoozed_until");
64
+ --> statement-breakpoint
65
+ CREATE UNIQUE INDEX IF NOT EXISTS "issues_active_stale_run_evaluation_uq"
66
+ ON "issues" USING btree ("squad_id","origin_kind","origin_id")
67
+ WHERE "origin_kind" = 'stale_active_run_evaluation'
68
+ AND "origin_id" IS NOT NULL
69
+ AND "hidden_at" IS NULL
70
+ AND "status" NOT IN ('done', 'cancelled');
@@ -0,0 +1 @@
1
+ ALTER TABLE "squads" ALTER COLUMN "require_board_approval_for_new_agents" SET DEFAULT false;
@@ -0,0 +1,6 @@
1
+ CREATE UNIQUE INDEX IF NOT EXISTS "issues_active_stranded_issue_recovery_uq"
2
+ ON "issues" USING btree ("squad_id","origin_kind","origin_id")
3
+ WHERE "origin_kind" = 'stranded_issue_recovery'
4
+ AND "origin_id" IS NOT NULL
5
+ AND "hidden_at" IS NULL
6
+ AND "status" NOT IN ('done', 'cancelled');
@@ -0,0 +1 @@
1
+ ALTER TABLE "squads" ADD COLUMN "attachment_max_bytes" integer DEFAULT 10485760 NOT NULL;
@@ -0,0 +1,4 @@
1
+ CREATE UNIQUE INDEX "issues_active_productivity_review_uq" ON "issues" USING btree ("squad_id","origin_kind","origin_id") WHERE "issues"."origin_kind" = 'issue_productivity_review'
2
+ and "issues"."origin_id" is not null
3
+ and "issues"."hidden_at" is null
4
+ and "issues"."status" not in ('done', 'cancelled');
@@ -0,0 +1,7 @@
1
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_next_check_at" timestamp with time zone;--> statement-breakpoint
2
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_wake_requested_at" timestamp with time zone;--> statement-breakpoint
3
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_last_triggered_at" timestamp with time zone;--> statement-breakpoint
4
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_attempt_count" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
5
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_notes" text;--> statement-breakpoint
6
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "monitor_scheduled_by" text;--> statement-breakpoint
7
+ CREATE INDEX IF NOT EXISTS "issues_squad_monitor_due_idx" ON "issues" USING btree ("squad_id","monitor_next_check_at");
@@ -0,0 +1,29 @@
1
+ CREATE TABLE IF NOT EXISTS "plugin_managed_resources" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "squad_id" uuid NOT NULL,
4
+ "plugin_id" uuid NOT NULL,
5
+ "plugin_key" text NOT NULL,
6
+ "resource_kind" text NOT NULL,
7
+ "resource_key" text NOT NULL,
8
+ "resource_id" uuid NOT NULL,
9
+ "defaults_json" jsonb DEFAULT '{}'::jsonb NOT NULL,
10
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
11
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
12
+ );
13
+ --> statement-breakpoint
14
+ DO $$ BEGIN
15
+ ALTER TABLE "plugin_managed_resources" ADD CONSTRAINT "plugin_managed_resources_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
16
+ EXCEPTION
17
+ WHEN duplicate_object THEN NULL;
18
+ END $$;
19
+ --> statement-breakpoint
20
+ DO $$ BEGIN
21
+ ALTER TABLE "plugin_managed_resources" ADD CONSTRAINT "plugin_managed_resources_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;
22
+ EXCEPTION
23
+ WHEN duplicate_object THEN NULL;
24
+ END $$;
25
+ --> statement-breakpoint
26
+ CREATE INDEX IF NOT EXISTS "plugin_managed_resources_squad_idx" ON "plugin_managed_resources" USING btree ("squad_id");--> statement-breakpoint
27
+ CREATE INDEX IF NOT EXISTS "plugin_managed_resources_plugin_idx" ON "plugin_managed_resources" USING btree ("plugin_id");--> statement-breakpoint
28
+ CREATE INDEX IF NOT EXISTS "plugin_managed_resources_resource_idx" ON "plugin_managed_resources" USING btree ("resource_kind","resource_id");--> statement-breakpoint
29
+ CREATE UNIQUE INDEX IF NOT EXISTS "plugin_managed_resources_squad_plugin_resource_uq" ON "plugin_managed_resources" USING btree ("squad_id","plugin_id","resource_kind","resource_key");
@@ -0,0 +1,140 @@
1
+ CREATE TABLE IF NOT EXISTS "routine_revisions" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "squad_id" uuid NOT NULL,
4
+ "routine_id" uuid NOT NULL,
5
+ "revision_number" integer NOT NULL,
6
+ "title" text NOT NULL,
7
+ "description" text,
8
+ "snapshot" jsonb NOT NULL,
9
+ "change_summary" text,
10
+ "restored_from_revision_id" uuid,
11
+ "created_by_agent_id" uuid,
12
+ "created_by_user_id" text,
13
+ "created_by_run_id" uuid,
14
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
15
+ );
16
+ --> statement-breakpoint
17
+ ALTER TABLE "routines" ADD COLUMN IF NOT EXISTS "latest_revision_id" uuid;--> statement-breakpoint
18
+ ALTER TABLE "routines" ADD COLUMN IF NOT EXISTS "latest_revision_number" integer DEFAULT 1 NOT NULL;--> statement-breakpoint
19
+ DO $$ BEGIN
20
+ ALTER TABLE "routine_revisions" ADD CONSTRAINT "routine_revisions_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
21
+ EXCEPTION
22
+ WHEN duplicate_object THEN NULL;
23
+ END $$;
24
+ --> statement-breakpoint
25
+ DO $$ BEGIN
26
+ ALTER TABLE "routine_revisions" ADD CONSTRAINT "routine_revisions_routine_id_routines_id_fk" FOREIGN KEY ("routine_id") REFERENCES "public"."routines"("id") ON DELETE cascade ON UPDATE no action;
27
+ EXCEPTION
28
+ WHEN duplicate_object THEN NULL;
29
+ END $$;
30
+ --> statement-breakpoint
31
+ DO $$ BEGIN
32
+ ALTER TABLE "routine_revisions" ADD CONSTRAINT "routine_revisions_restored_from_revision_id_routine_revisions_id_fk" FOREIGN KEY ("restored_from_revision_id") REFERENCES "public"."routine_revisions"("id") ON DELETE set null ON UPDATE no action;
33
+ EXCEPTION
34
+ WHEN duplicate_object THEN NULL;
35
+ END $$;
36
+ --> statement-breakpoint
37
+ DO $$ BEGIN
38
+ ALTER TABLE "routine_revisions" ADD CONSTRAINT "routine_revisions_created_by_agent_id_agents_id_fk" FOREIGN KEY ("created_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
39
+ EXCEPTION
40
+ WHEN duplicate_object THEN NULL;
41
+ END $$;
42
+ --> statement-breakpoint
43
+ DO $$ BEGIN
44
+ ALTER TABLE "routine_revisions" ADD CONSTRAINT "routine_revisions_created_by_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("created_by_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
45
+ EXCEPTION
46
+ WHEN duplicate_object THEN NULL;
47
+ END $$;
48
+ --> statement-breakpoint
49
+ CREATE UNIQUE INDEX IF NOT EXISTS "routine_revisions_routine_revision_uq" ON "routine_revisions" USING btree ("routine_id","revision_number");--> statement-breakpoint
50
+ CREATE INDEX IF NOT EXISTS "routine_revisions_squad_routine_created_idx" ON "routine_revisions" USING btree ("squad_id","routine_id","created_at");
51
+ --> statement-breakpoint
52
+ WITH inserted_revisions AS (
53
+ INSERT INTO "routine_revisions" (
54
+ "id",
55
+ "squad_id",
56
+ "routine_id",
57
+ "revision_number",
58
+ "title",
59
+ "description",
60
+ "snapshot",
61
+ "change_summary",
62
+ "created_by_agent_id",
63
+ "created_by_user_id",
64
+ "created_at"
65
+ )
66
+ SELECT
67
+ gen_random_uuid(),
68
+ r."squad_id",
69
+ r."id",
70
+ 1,
71
+ r."title",
72
+ r."description",
73
+ jsonb_build_object(
74
+ 'version', 1,
75
+ 'routine', jsonb_build_object(
76
+ 'id', r."id",
77
+ 'squadId', r."squad_id",
78
+ 'projectId', r."project_id",
79
+ 'goalId', r."goal_id",
80
+ 'parentIssueId', r."parent_issue_id",
81
+ 'title', r."title",
82
+ 'description', r."description",
83
+ 'assigneeAgentId', r."assignee_agent_id",
84
+ 'priority', r."priority",
85
+ 'status', r."status",
86
+ 'concurrencyPolicy', r."concurrency_policy",
87
+ 'catchUpPolicy', r."catch_up_policy",
88
+ 'variables', coalesce(r."variables", '[]'::jsonb)
89
+ ),
90
+ 'triggers', coalesce(
91
+ (
92
+ SELECT jsonb_agg(
93
+ jsonb_build_object(
94
+ 'id', rt."id",
95
+ 'kind', rt."kind",
96
+ 'label', rt."label",
97
+ 'enabled', rt."enabled",
98
+ 'cronExpression', rt."cron_expression",
99
+ 'timezone', rt."timezone",
100
+ 'publicId', rt."public_id",
101
+ 'signingMode', rt."signing_mode",
102
+ 'replayWindowSec', rt."replay_window_sec"
103
+ )
104
+ ORDER BY rt."created_at", rt."id"
105
+ )
106
+ FROM "routine_triggers" rt
107
+ WHERE rt."routine_id" = r."id"
108
+ AND rt."squad_id" = r."squad_id"
109
+ ),
110
+ '[]'::jsonb
111
+ )
112
+ ),
113
+ 'Initial routine revision backfill',
114
+ r."created_by_agent_id",
115
+ r."created_by_user_id",
116
+ r."created_at"
117
+ FROM "routines" r
118
+ WHERE NOT EXISTS (
119
+ SELECT 1
120
+ FROM "routine_revisions" rr
121
+ WHERE rr."routine_id" = r."id"
122
+ AND rr."revision_number" = 1
123
+ )
124
+ RETURNING "id", "routine_id"
125
+ )
126
+ UPDATE "routines" r
127
+ SET
128
+ "latest_revision_id" = inserted_revisions."id",
129
+ "latest_revision_number" = 1
130
+ FROM inserted_revisions
131
+ WHERE r."id" = inserted_revisions."routine_id";
132
+ --> statement-breakpoint
133
+ UPDATE "routines" r
134
+ SET
135
+ "latest_revision_id" = rr."id",
136
+ "latest_revision_number" = rr."revision_number"
137
+ FROM "routine_revisions" rr
138
+ WHERE rr."routine_id" = r."id"
139
+ AND rr."revision_number" = 1
140
+ AND r."latest_revision_id" IS NULL;
@@ -0,0 +1,3 @@
1
+ ALTER TABLE "issue_comments" ADD COLUMN IF NOT EXISTS "author_type" text;--> statement-breakpoint
2
+ ALTER TABLE "issue_comments" ADD COLUMN IF NOT EXISTS "presentation" jsonb;--> statement-breakpoint
3
+ ALTER TABLE "issue_comments" ADD COLUMN IF NOT EXISTS "metadata" jsonb;
@@ -0,0 +1,2 @@
1
+ CREATE INDEX IF NOT EXISTS "documents_title_search_idx" ON "documents" USING gin ("title" gin_trgm_ops);--> statement-breakpoint
2
+ CREATE INDEX IF NOT EXISTS "documents_latest_body_search_idx" ON "documents" USING gin ("latest_body" gin_trgm_ops);
@@ -0,0 +1 @@
1
+ CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
@@ -0,0 +1 @@
1
+ ALTER TABLE "issues" ADD COLUMN IF NOT EXISTS "work_mode" text DEFAULT 'standard' NOT NULL;
@@ -0,0 +1,124 @@
1
+ CREATE TABLE IF NOT EXISTS "squad_secret_bindings" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "squad_id" uuid NOT NULL,
4
+ "secret_id" uuid NOT NULL,
5
+ "target_type" text NOT NULL,
6
+ "target_id" text NOT NULL,
7
+ "config_path" text NOT NULL,
8
+ "version_selector" text DEFAULT 'latest' NOT NULL,
9
+ "required" boolean DEFAULT true NOT NULL,
10
+ "label" text,
11
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
12
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
13
+ );
14
+ --> statement-breakpoint
15
+ CREATE TABLE IF NOT EXISTS "secret_access_events" (
16
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
17
+ "squad_id" uuid NOT NULL,
18
+ "secret_id" uuid NOT NULL,
19
+ "version" integer,
20
+ "provider" text NOT NULL,
21
+ "actor_type" text NOT NULL,
22
+ "actor_id" text,
23
+ "consumer_type" text NOT NULL,
24
+ "consumer_id" text NOT NULL,
25
+ "config_path" text,
26
+ "issue_id" uuid,
27
+ "heartbeat_run_id" uuid,
28
+ "plugin_id" uuid,
29
+ "outcome" text NOT NULL,
30
+ "error_code" text,
31
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
32
+ );
33
+ --> statement-breakpoint
34
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "key" text;--> statement-breakpoint
35
+ UPDATE "squad_secrets"
36
+ SET "key" = left(
37
+ regexp_replace(
38
+ regexp_replace(lower(trim(coalesce("name", "id"::text))), '[^a-z0-9_.-]+', '-', 'g'),
39
+ '^-+|-+$',
40
+ '',
41
+ 'g'
42
+ ),
43
+ 120
44
+ )
45
+ WHERE "key" IS NULL;--> statement-breakpoint
46
+ UPDATE "squad_secrets"
47
+ SET "key" = "id"::text
48
+ WHERE "key" IS NULL OR "key" = '';--> statement-breakpoint
49
+ ALTER TABLE "squad_secrets" ALTER COLUMN "key" SET NOT NULL;--> statement-breakpoint
50
+ WITH ranked AS (
51
+ SELECT
52
+ "id",
53
+ "key",
54
+ row_number() OVER (PARTITION BY "squad_id", "key" ORDER BY "created_at", "id") AS rn
55
+ FROM "squad_secrets"
56
+ )
57
+ UPDATE "squad_secrets"
58
+ SET "key" = left(ranked."key", 100) || '-' || ranked.rn::text
59
+ FROM ranked
60
+ WHERE "squad_secrets"."id" = ranked."id"
61
+ AND ranked.rn > 1;--> statement-breakpoint
62
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "status" text DEFAULT 'active' NOT NULL;--> statement-breakpoint
63
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "managed_mode" text DEFAULT 'slaw_managed' NOT NULL;--> statement-breakpoint
64
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "provider_config_id" text;--> statement-breakpoint
65
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "provider_metadata" jsonb;--> statement-breakpoint
66
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "last_resolved_at" timestamp with time zone;--> statement-breakpoint
67
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "last_rotated_at" timestamp with time zone;--> statement-breakpoint
68
+ UPDATE "squad_secrets"
69
+ SET "last_rotated_at" = "updated_at"
70
+ WHERE "last_rotated_at" IS NULL;--> statement-breakpoint
71
+ ALTER TABLE "squad_secrets" ADD COLUMN IF NOT EXISTS "deleted_at" timestamp with time zone;--> statement-breakpoint
72
+ ALTER TABLE "squad_secret_versions" ADD COLUMN IF NOT EXISTS "provider_version_ref" text;--> statement-breakpoint
73
+ ALTER TABLE "squad_secret_versions" ADD COLUMN IF NOT EXISTS "status" text DEFAULT 'current' NOT NULL;--> statement-breakpoint
74
+ ALTER TABLE "squad_secret_versions" ADD COLUMN IF NOT EXISTS "fingerprint_sha256" text;--> statement-breakpoint
75
+ UPDATE "squad_secret_versions"
76
+ SET "fingerprint_sha256" = "value_sha256"
77
+ WHERE "fingerprint_sha256" IS NULL;--> statement-breakpoint
78
+ ALTER TABLE "squad_secret_versions" ALTER COLUMN "fingerprint_sha256" SET NOT NULL;--> statement-breakpoint
79
+ ALTER TABLE "squad_secret_versions" ADD COLUMN IF NOT EXISTS "rotation_job_id" text;--> statement-breakpoint
80
+ DO $$ BEGIN
81
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'squad_secret_bindings_squad_id_squads_id_fk') THEN
82
+ ALTER TABLE "squad_secret_bindings" ADD CONSTRAINT "squad_secret_bindings_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
83
+ END IF;
84
+ END $$;--> statement-breakpoint
85
+ DO $$ BEGIN
86
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'squad_secret_bindings_secret_id_squad_secrets_id_fk') THEN
87
+ ALTER TABLE "squad_secret_bindings" ADD CONSTRAINT "squad_secret_bindings_secret_id_squad_secrets_id_fk" FOREIGN KEY ("secret_id") REFERENCES "public"."squad_secrets"("id") ON DELETE cascade ON UPDATE no action;
88
+ END IF;
89
+ END $$;--> statement-breakpoint
90
+ DO $$ BEGIN
91
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'secret_access_events_squad_id_squads_id_fk') THEN
92
+ ALTER TABLE "secret_access_events" ADD CONSTRAINT "secret_access_events_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE no action ON UPDATE no action;
93
+ END IF;
94
+ END $$;--> statement-breakpoint
95
+ DO $$ BEGIN
96
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'secret_access_events_secret_id_squad_secrets_id_fk') THEN
97
+ ALTER TABLE "secret_access_events" ADD CONSTRAINT "secret_access_events_secret_id_squad_secrets_id_fk" FOREIGN KEY ("secret_id") REFERENCES "public"."squad_secrets"("id") ON DELETE cascade ON UPDATE no action;
98
+ END IF;
99
+ END $$;--> statement-breakpoint
100
+ DO $$ BEGIN
101
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'secret_access_events_issue_id_issues_id_fk') THEN
102
+ ALTER TABLE "secret_access_events" ADD CONSTRAINT "secret_access_events_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE set null ON UPDATE no action;
103
+ END IF;
104
+ END $$;--> statement-breakpoint
105
+ DO $$ BEGIN
106
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'secret_access_events_heartbeat_run_id_heartbeat_runs_id_fk') THEN
107
+ ALTER TABLE "secret_access_events" ADD CONSTRAINT "secret_access_events_heartbeat_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("heartbeat_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;
108
+ END IF;
109
+ END $$;--> statement-breakpoint
110
+ DO $$ BEGIN
111
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'secret_access_events_plugin_id_plugins_id_fk') THEN
112
+ ALTER TABLE "secret_access_events" ADD CONSTRAINT "secret_access_events_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE set null ON UPDATE no action;
113
+ END IF;
114
+ END $$;--> statement-breakpoint
115
+ CREATE INDEX IF NOT EXISTS "squad_secret_bindings_squad_idx" ON "squad_secret_bindings" USING btree ("squad_id");--> statement-breakpoint
116
+ CREATE INDEX IF NOT EXISTS "squad_secret_bindings_secret_idx" ON "squad_secret_bindings" USING btree ("secret_id");--> statement-breakpoint
117
+ CREATE INDEX IF NOT EXISTS "squad_secret_bindings_target_idx" ON "squad_secret_bindings" USING btree ("squad_id","target_type","target_id");--> statement-breakpoint
118
+ CREATE UNIQUE INDEX IF NOT EXISTS "squad_secret_bindings_target_path_uq" ON "squad_secret_bindings" USING btree ("squad_id","target_type","target_id","config_path");--> statement-breakpoint
119
+ CREATE INDEX IF NOT EXISTS "secret_access_events_squad_created_idx" ON "secret_access_events" USING btree ("squad_id","created_at");--> statement-breakpoint
120
+ CREATE INDEX IF NOT EXISTS "secret_access_events_secret_created_idx" ON "secret_access_events" USING btree ("secret_id","created_at");--> statement-breakpoint
121
+ CREATE INDEX IF NOT EXISTS "secret_access_events_consumer_idx" ON "secret_access_events" USING btree ("squad_id","consumer_type","consumer_id");--> statement-breakpoint
122
+ CREATE INDEX IF NOT EXISTS "secret_access_events_run_idx" ON "secret_access_events" USING btree ("heartbeat_run_id");--> statement-breakpoint
123
+ CREATE INDEX IF NOT EXISTS "squad_secret_versions_fingerprint_idx" ON "squad_secret_versions" USING btree ("fingerprint_sha256");--> statement-breakpoint
124
+ CREATE UNIQUE INDEX IF NOT EXISTS "squad_secrets_squad_key_uq" ON "squad_secrets" USING btree ("squad_id","key");
@@ -0,0 +1,51 @@
1
+ CREATE TABLE IF NOT EXISTS "squad_secret_provider_configs" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "squad_id" uuid NOT NULL,
4
+ "provider" text NOT NULL,
5
+ "display_name" text NOT NULL,
6
+ "status" text DEFAULT 'ready' NOT NULL,
7
+ "is_default" boolean DEFAULT false NOT NULL,
8
+ "config" jsonb DEFAULT '{}'::jsonb NOT NULL,
9
+ "health_status" text,
10
+ "health_checked_at" timestamp with time zone,
11
+ "health_message" text,
12
+ "health_details" jsonb,
13
+ "disabled_at" timestamp with time zone,
14
+ "created_by_agent_id" uuid,
15
+ "created_by_user_id" text,
16
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
17
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
18
+ );
19
+ --> statement-breakpoint
20
+ DO $$ BEGIN
21
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'squad_secret_provider_configs_squad_id_squads_id_fk') THEN
22
+ ALTER TABLE "squad_secret_provider_configs" ADD CONSTRAINT "squad_secret_provider_configs_squad_id_squads_id_fk" FOREIGN KEY ("squad_id") REFERENCES "public"."squads"("id") ON DELETE cascade ON UPDATE no action;
23
+ END IF;
24
+ END $$;
25
+ --> statement-breakpoint
26
+ DO $$ BEGIN
27
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'squad_secret_provider_configs_created_by_agent_id_agents_id_fk') THEN
28
+ ALTER TABLE "squad_secret_provider_configs" ADD CONSTRAINT "squad_secret_provider_configs_created_by_agent_id_agents_id_fk" FOREIGN KEY ("created_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;
29
+ END IF;
30
+ END $$;
31
+ --> statement-breakpoint
32
+ UPDATE "squad_secrets"
33
+ SET "provider_config_id" = NULL
34
+ WHERE "provider_config_id" IS NOT NULL
35
+ AND "provider_config_id" !~* '^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';
36
+ --> statement-breakpoint
37
+ ALTER TABLE "squad_secrets" ALTER COLUMN "provider_config_id" TYPE uuid USING "provider_config_id"::uuid;
38
+ --> statement-breakpoint
39
+ DO $$ BEGIN
40
+ IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'squad_secrets_provider_config_id_squad_secret_provider_configs_id_fk') THEN
41
+ ALTER TABLE "squad_secrets" ADD CONSTRAINT "squad_secrets_provider_config_id_squad_secret_provider_configs_id_fk" FOREIGN KEY ("provider_config_id") REFERENCES "public"."squad_secret_provider_configs"("id") ON DELETE set null ON UPDATE no action;
42
+ END IF;
43
+ END $$;
44
+ --> statement-breakpoint
45
+ CREATE INDEX IF NOT EXISTS "squad_secret_provider_configs_squad_idx" ON "squad_secret_provider_configs" USING btree ("squad_id");
46
+ --> statement-breakpoint
47
+ CREATE INDEX IF NOT EXISTS "squad_secret_provider_configs_squad_provider_idx" ON "squad_secret_provider_configs" USING btree ("squad_id","provider");
48
+ --> statement-breakpoint
49
+ CREATE UNIQUE INDEX IF NOT EXISTS "squad_secret_provider_configs_default_uq" ON "squad_secret_provider_configs" USING btree ("squad_id","provider") WHERE "is_default" = true;
50
+ --> statement-breakpoint
51
+ CREATE INDEX IF NOT EXISTS "squad_secrets_provider_config_idx" ON "squad_secrets" USING btree ("provider_config_id");