@fidelios/db 0.0.1

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 (473) hide show
  1. package/dist/backup-lib.d.ts +26 -0
  2. package/dist/backup-lib.d.ts.map +1 -0
  3. package/dist/backup-lib.js +498 -0
  4. package/dist/backup-lib.js.map +1 -0
  5. package/dist/backup.d.ts +2 -0
  6. package/dist/backup.d.ts.map +1 -0
  7. package/dist/backup.js +103 -0
  8. package/dist/backup.js.map +1 -0
  9. package/dist/client.d.ts +43 -0
  10. package/dist/client.d.ts.map +1 -0
  11. package/dist/client.js +586 -0
  12. package/dist/client.js.map +1 -0
  13. package/dist/client.test.d.ts +2 -0
  14. package/dist/client.test.d.ts.map +1 -0
  15. package/dist/client.test.js +120 -0
  16. package/dist/client.test.js.map +1 -0
  17. package/dist/embedded-postgres-error.d.ts +9 -0
  18. package/dist/embedded-postgres-error.d.ts.map +1 -0
  19. package/dist/embedded-postgres-error.js +73 -0
  20. package/dist/embedded-postgres-error.js.map +1 -0
  21. package/dist/embedded-postgres-error.test.d.ts +2 -0
  22. package/dist/embedded-postgres-error.test.d.ts.map +1 -0
  23. package/dist/embedded-postgres-error.test.js +25 -0
  24. package/dist/embedded-postgres-error.test.js.map +1 -0
  25. package/dist/index.d.ts +6 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +6 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/migrate.d.ts +2 -0
  30. package/dist/migrate.d.ts.map +1 -0
  31. package/dist/migrate.js +25 -0
  32. package/dist/migrate.js.map +1 -0
  33. package/dist/migration-runtime.d.ts +7 -0
  34. package/dist/migration-runtime.d.ts.map +1 -0
  35. package/dist/migration-runtime.js +157 -0
  36. package/dist/migration-runtime.js.map +1 -0
  37. package/dist/migration-status.d.ts +2 -0
  38. package/dist/migration-status.d.ts.map +1 -0
  39. package/dist/migration-status.js +55 -0
  40. package/dist/migration-status.js.map +1 -0
  41. package/dist/migrations/0000_mature_masked_marvel.sql +208 -0
  42. package/dist/migrations/0001_fast_northstar.sql +87 -0
  43. package/dist/migrations/0002_big_zaladane.sql +1 -0
  44. package/dist/migrations/0003_shallow_quentin_quire.sql +5 -0
  45. package/dist/migrations/0004_issue_identifiers.sql +28 -0
  46. package/dist/migrations/0005_chief_luke_cage.sql +19 -0
  47. package/dist/migrations/0006_overjoyed_mister_sinister.sql +36 -0
  48. package/dist/migrations/0007_new_quentin_quire.sql +20 -0
  49. package/dist/migrations/0008_amused_zzzax.sql +1 -0
  50. package/dist/migrations/0009_fast_jackal.sql +36 -0
  51. package/dist/migrations/0010_stale_justin_hammer.sql +37 -0
  52. package/dist/migrations/0011_windy_corsair.sql +18 -0
  53. package/dist/migrations/0012_perpetual_ser_duncan.sql +2 -0
  54. package/dist/migrations/0013_dashing_wasp.sql +4 -0
  55. package/dist/migrations/0014_many_mikhail_rasputin.sql +135 -0
  56. package/dist/migrations/0015_project_color_archived.sql +2 -0
  57. package/dist/migrations/0016_agent_icon.sql +1 -0
  58. package/dist/migrations/0017_tiresome_gabe_jones.sql +51 -0
  59. package/dist/migrations/0018_flat_sleepwalker.sql +26 -0
  60. package/dist/migrations/0019_public_victor_mancha.sql +18 -0
  61. package/dist/migrations/0020_white_anita_blake.sql +1 -0
  62. package/dist/migrations/0021_chief_vindicator.sql +1 -0
  63. package/dist/migrations/0022_company_brand_color.sql +1 -0
  64. package/dist/migrations/0023_fair_lethal_legion.sql +3 -0
  65. package/dist/migrations/0024_far_beast.sql +2 -0
  66. package/dist/migrations/0025_nasty_salo.sql +15 -0
  67. package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
  68. package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
  69. package/dist/migrations/0028_harsh_goliath.sql +54 -0
  70. package/dist/migrations/0029_plugin_tables.sql +177 -0
  71. package/dist/migrations/0030_rich_magneto.sql +12 -0
  72. package/dist/migrations/0031_zippy_magma.sql +51 -0
  73. package/dist/migrations/0032_pretty_doctor_octopus.sql +102 -0
  74. package/dist/migrations/0033_shiny_black_tarantula.sql +2 -0
  75. package/dist/migrations/0034_fat_dormammu.sql +2 -0
  76. package/dist/migrations/0035_marvelous_satana.sql +91 -0
  77. package/dist/migrations/0036_cheerful_nitro.sql +9 -0
  78. package/dist/migrations/0037_friendly_eddie_brock.sql +29 -0
  79. package/dist/migrations/0038_careless_iron_monger.sql +5 -0
  80. package/dist/migrations/0039_fat_magneto.sql +161 -0
  81. package/dist/migrations/0040_eager_shotgun.sql +5 -0
  82. package/dist/migrations/0041_curly_maria_hill.sql +1 -0
  83. package/dist/migrations/0042_spotty_the_renegades.sql +26 -0
  84. package/dist/migrations/0043_reflective_captain_universe.sql +6 -0
  85. package/dist/migrations/0044_illegal_toad.sql +56 -0
  86. package/dist/migrations/0045_workable_shockwave.sql +17 -0
  87. package/dist/migrations/meta/0000_snapshot.json +1743 -0
  88. package/dist/migrations/meta/0001_snapshot.json +2441 -0
  89. package/dist/migrations/meta/0002_snapshot.json +2454 -0
  90. package/dist/migrations/meta/0003_snapshot.json +2502 -0
  91. package/dist/migrations/meta/0005_snapshot.json +2719 -0
  92. package/dist/migrations/meta/0006_snapshot.json +3048 -0
  93. package/dist/migrations/meta/0007_snapshot.json +3258 -0
  94. package/dist/migrations/meta/0008_snapshot.json +3264 -0
  95. package/dist/migrations/meta/0009_snapshot.json +3587 -0
  96. package/dist/migrations/meta/0010_snapshot.json +3929 -0
  97. package/dist/migrations/meta/0011_snapshot.json +4068 -0
  98. package/dist/migrations/meta/0012_snapshot.json +4087 -0
  99. package/dist/migrations/meta/0013_snapshot.json +4118 -0
  100. package/dist/migrations/meta/0014_snapshot.json +5187 -0
  101. package/dist/migrations/meta/0017_snapshot.json +5215 -0
  102. package/dist/migrations/meta/0018_snapshot.json +5450 -0
  103. package/dist/migrations/meta/0019_snapshot.json +5603 -0
  104. package/dist/migrations/meta/0020_snapshot.json +5603 -0
  105. package/dist/migrations/meta/0021_snapshot.json +5609 -0
  106. package/dist/migrations/meta/0023_snapshot.json +5633 -0
  107. package/dist/migrations/meta/0024_snapshot.json +5693 -0
  108. package/dist/migrations/meta/0025_snapshot.json +5849 -0
  109. package/dist/migrations/meta/0027_snapshot.json +6205 -0
  110. package/dist/migrations/meta/0028_snapshot.json +6710 -0
  111. package/dist/migrations/meta/0029_snapshot.json +7899 -0
  112. package/dist/migrations/meta/0030_snapshot.json +8003 -0
  113. package/dist/migrations/meta/0031_snapshot.json +7242 -0
  114. package/dist/migrations/meta/0032_snapshot.json +7733 -0
  115. package/dist/migrations/meta/0033_snapshot.json +9038 -0
  116. package/dist/migrations/meta/0034_snapshot.json +9039 -0
  117. package/dist/migrations/meta/0035_snapshot.json +9959 -0
  118. package/dist/migrations/meta/0036_snapshot.json +10023 -0
  119. package/dist/migrations/meta/0037_snapshot.json +10263 -0
  120. package/dist/migrations/meta/0038_snapshot.json +11350 -0
  121. package/dist/migrations/meta/0039_snapshot.json +10308 -0
  122. package/dist/migrations/meta/0040_snapshot.json +10481 -0
  123. package/dist/migrations/meta/0041_snapshot.json +11393 -0
  124. package/dist/migrations/meta/0044_snapshot.json +11701 -0
  125. package/dist/migrations/meta/0045_snapshot.json +11857 -0
  126. package/dist/migrations/meta/_journal.json +328 -0
  127. package/dist/migrations/migrations/0000_mature_masked_marvel.sql +208 -0
  128. package/dist/migrations/migrations/0001_fast_northstar.sql +87 -0
  129. package/dist/migrations/migrations/0002_big_zaladane.sql +1 -0
  130. package/dist/migrations/migrations/0003_shallow_quentin_quire.sql +5 -0
  131. package/dist/migrations/migrations/0004_issue_identifiers.sql +28 -0
  132. package/dist/migrations/migrations/0005_chief_luke_cage.sql +19 -0
  133. package/dist/migrations/migrations/0006_overjoyed_mister_sinister.sql +36 -0
  134. package/dist/migrations/migrations/0007_new_quentin_quire.sql +20 -0
  135. package/dist/migrations/migrations/0008_amused_zzzax.sql +1 -0
  136. package/dist/migrations/migrations/0009_fast_jackal.sql +36 -0
  137. package/dist/migrations/migrations/0010_stale_justin_hammer.sql +37 -0
  138. package/dist/migrations/migrations/0011_windy_corsair.sql +18 -0
  139. package/dist/migrations/migrations/0012_perpetual_ser_duncan.sql +2 -0
  140. package/dist/migrations/migrations/0013_dashing_wasp.sql +4 -0
  141. package/dist/migrations/migrations/0014_many_mikhail_rasputin.sql +135 -0
  142. package/dist/migrations/migrations/0015_project_color_archived.sql +2 -0
  143. package/dist/migrations/migrations/0016_agent_icon.sql +1 -0
  144. package/dist/migrations/migrations/0017_tiresome_gabe_jones.sql +51 -0
  145. package/dist/migrations/migrations/0018_flat_sleepwalker.sql +26 -0
  146. package/dist/migrations/migrations/0019_public_victor_mancha.sql +18 -0
  147. package/dist/migrations/migrations/0020_white_anita_blake.sql +1 -0
  148. package/dist/migrations/migrations/0021_chief_vindicator.sql +1 -0
  149. package/dist/migrations/migrations/0022_company_brand_color.sql +1 -0
  150. package/dist/migrations/migrations/0023_fair_lethal_legion.sql +3 -0
  151. package/dist/migrations/migrations/0024_far_beast.sql +2 -0
  152. package/dist/migrations/migrations/0025_nasty_salo.sql +15 -0
  153. package/dist/migrations/migrations/0026_lying_pete_wisdom.sql +39 -0
  154. package/dist/migrations/migrations/0027_tranquil_tenebrous.sql +2 -0
  155. package/dist/migrations/migrations/0028_harsh_goliath.sql +54 -0
  156. package/dist/migrations/migrations/0029_plugin_tables.sql +177 -0
  157. package/dist/migrations/migrations/0030_rich_magneto.sql +12 -0
  158. package/dist/migrations/migrations/0031_zippy_magma.sql +51 -0
  159. package/dist/migrations/migrations/0032_pretty_doctor_octopus.sql +102 -0
  160. package/dist/migrations/migrations/0033_shiny_black_tarantula.sql +2 -0
  161. package/dist/migrations/migrations/0034_fat_dormammu.sql +2 -0
  162. package/dist/migrations/migrations/0035_marvelous_satana.sql +91 -0
  163. package/dist/migrations/migrations/0036_cheerful_nitro.sql +9 -0
  164. package/dist/migrations/migrations/0037_friendly_eddie_brock.sql +29 -0
  165. package/dist/migrations/migrations/0038_careless_iron_monger.sql +5 -0
  166. package/dist/migrations/migrations/0039_fat_magneto.sql +161 -0
  167. package/dist/migrations/migrations/0040_eager_shotgun.sql +5 -0
  168. package/dist/migrations/migrations/0041_curly_maria_hill.sql +1 -0
  169. package/dist/migrations/migrations/0042_spotty_the_renegades.sql +26 -0
  170. package/dist/migrations/migrations/0043_reflective_captain_universe.sql +6 -0
  171. package/dist/migrations/migrations/0044_illegal_toad.sql +56 -0
  172. package/dist/migrations/migrations/0045_workable_shockwave.sql +17 -0
  173. package/dist/migrations/migrations/meta/0000_snapshot.json +1743 -0
  174. package/dist/migrations/migrations/meta/0001_snapshot.json +2441 -0
  175. package/dist/migrations/migrations/meta/0002_snapshot.json +2454 -0
  176. package/dist/migrations/migrations/meta/0003_snapshot.json +2502 -0
  177. package/dist/migrations/migrations/meta/0005_snapshot.json +2719 -0
  178. package/dist/migrations/migrations/meta/0006_snapshot.json +3048 -0
  179. package/dist/migrations/migrations/meta/0007_snapshot.json +3258 -0
  180. package/dist/migrations/migrations/meta/0008_snapshot.json +3264 -0
  181. package/dist/migrations/migrations/meta/0009_snapshot.json +3587 -0
  182. package/dist/migrations/migrations/meta/0010_snapshot.json +3929 -0
  183. package/dist/migrations/migrations/meta/0011_snapshot.json +4068 -0
  184. package/dist/migrations/migrations/meta/0012_snapshot.json +4087 -0
  185. package/dist/migrations/migrations/meta/0013_snapshot.json +4118 -0
  186. package/dist/migrations/migrations/meta/0014_snapshot.json +5187 -0
  187. package/dist/migrations/migrations/meta/0017_snapshot.json +5215 -0
  188. package/dist/migrations/migrations/meta/0018_snapshot.json +5450 -0
  189. package/dist/migrations/migrations/meta/0019_snapshot.json +5603 -0
  190. package/dist/migrations/migrations/meta/0020_snapshot.json +5603 -0
  191. package/dist/migrations/migrations/meta/0021_snapshot.json +5609 -0
  192. package/dist/migrations/migrations/meta/0023_snapshot.json +5633 -0
  193. package/dist/migrations/migrations/meta/0024_snapshot.json +5693 -0
  194. package/dist/migrations/migrations/meta/0025_snapshot.json +5849 -0
  195. package/dist/migrations/migrations/meta/0027_snapshot.json +6205 -0
  196. package/dist/migrations/migrations/meta/0028_snapshot.json +6710 -0
  197. package/dist/migrations/migrations/meta/0029_snapshot.json +7899 -0
  198. package/dist/migrations/migrations/meta/0030_snapshot.json +8003 -0
  199. package/dist/migrations/migrations/meta/0031_snapshot.json +7242 -0
  200. package/dist/migrations/migrations/meta/0032_snapshot.json +7733 -0
  201. package/dist/migrations/migrations/meta/0033_snapshot.json +9038 -0
  202. package/dist/migrations/migrations/meta/0034_snapshot.json +9039 -0
  203. package/dist/migrations/migrations/meta/0035_snapshot.json +9959 -0
  204. package/dist/migrations/migrations/meta/0036_snapshot.json +10023 -0
  205. package/dist/migrations/migrations/meta/0037_snapshot.json +10263 -0
  206. package/dist/migrations/migrations/meta/0038_snapshot.json +11350 -0
  207. package/dist/migrations/migrations/meta/0039_snapshot.json +10308 -0
  208. package/dist/migrations/migrations/meta/0040_snapshot.json +10481 -0
  209. package/dist/migrations/migrations/meta/0041_snapshot.json +11393 -0
  210. package/dist/migrations/migrations/meta/0044_snapshot.json +11701 -0
  211. package/dist/migrations/migrations/meta/0045_snapshot.json +11857 -0
  212. package/dist/migrations/migrations/meta/_journal.json +328 -0
  213. package/dist/restore.d.ts +2 -0
  214. package/dist/restore.d.ts.map +1 -0
  215. package/dist/restore.js +211 -0
  216. package/dist/restore.js.map +1 -0
  217. package/dist/runtime-config.d.ts +16 -0
  218. package/dist/runtime-config.d.ts.map +1 -0
  219. package/dist/runtime-config.js +197 -0
  220. package/dist/runtime-config.js.map +1 -0
  221. package/dist/runtime-config.test.d.ts +2 -0
  222. package/dist/runtime-config.test.d.ts.map +1 -0
  223. package/dist/runtime-config.test.js +93 -0
  224. package/dist/runtime-config.test.js.map +1 -0
  225. package/dist/s3-sync.d.ts +36 -0
  226. package/dist/s3-sync.d.ts.map +1 -0
  227. package/dist/s3-sync.js +120 -0
  228. package/dist/s3-sync.js.map +1 -0
  229. package/dist/schema/activity_log.d.ts +197 -0
  230. package/dist/schema/activity_log.d.ts.map +1 -0
  231. package/dist/schema/activity_log.js +22 -0
  232. package/dist/schema/activity_log.js.map +1 -0
  233. package/dist/schema/agent_api_keys.d.ts +144 -0
  234. package/dist/schema/agent_api_keys.d.ts.map +1 -0
  235. package/dist/schema/agent_api_keys.js +17 -0
  236. package/dist/schema/agent_api_keys.js.map +1 -0
  237. package/dist/schema/agent_config_revisions.d.ts +201 -0
  238. package/dist/schema/agent_config_revisions.d.ts.map +1 -0
  239. package/dist/schema/agent_config_revisions.js +20 -0
  240. package/dist/schema/agent_config_revisions.js.map +1 -0
  241. package/dist/schema/agent_runtime_state.d.ts +248 -0
  242. package/dist/schema/agent_runtime_state.d.ts.map +1 -0
  243. package/dist/schema/agent_runtime_state.js +23 -0
  244. package/dist/schema/agent_runtime_state.js.map +1 -0
  245. package/dist/schema/agent_task_sessions.d.ts +197 -0
  246. package/dist/schema/agent_task_sessions.d.ts.map +1 -0
  247. package/dist/schema/agent_task_sessions.js +22 -0
  248. package/dist/schema/agent_task_sessions.js.map +1 -0
  249. package/dist/schema/agent_wakeup_requests.d.ts +333 -0
  250. package/dist/schema/agent_wakeup_requests.d.ts.map +1 -0
  251. package/dist/schema/agent_wakeup_requests.js +29 -0
  252. package/dist/schema/agent_wakeup_requests.js.map +1 -0
  253. package/dist/schema/agents.d.ts +373 -0
  254. package/dist/schema/agents.d.ts.map +1 -0
  255. package/dist/schema/agents.js +29 -0
  256. package/dist/schema/agents.js.map +1 -0
  257. package/dist/schema/approval_comments.d.ts +144 -0
  258. package/dist/schema/approval_comments.d.ts.map +1 -0
  259. package/dist/schema/approval_comments.js +19 -0
  260. package/dist/schema/approval_comments.js.map +1 -0
  261. package/dist/schema/approvals.d.ts +214 -0
  262. package/dist/schema/approvals.d.ts.map +1 -0
  263. package/dist/schema/approvals.js +20 -0
  264. package/dist/schema/approvals.js.map +1 -0
  265. package/dist/schema/assets.d.ts +212 -0
  266. package/dist/schema/assets.d.ts.map +1 -0
  267. package/dist/schema/assets.js +22 -0
  268. package/dist/schema/assets.js.map +1 -0
  269. package/dist/schema/auth.d.ts +607 -0
  270. package/dist/schema/auth.d.ts.map +1 -0
  271. package/dist/schema/auth.js +44 -0
  272. package/dist/schema/auth.js.map +1 -0
  273. package/dist/schema/board_api_keys.d.ts +144 -0
  274. package/dist/schema/board_api_keys.d.ts.map +1 -0
  275. package/dist/schema/board_api_keys.js +16 -0
  276. package/dist/schema/board_api_keys.js.map +1 -0
  277. package/dist/schema/budget_incidents.d.ts +297 -0
  278. package/dist/schema/budget_incidents.d.ts.map +1 -0
  279. package/dist/schema/budget_incidents.js +29 -0
  280. package/dist/schema/budget_incidents.js.map +1 -0
  281. package/dist/schema/budget_policies.d.ts +263 -0
  282. package/dist/schema/budget_policies.d.ts.map +1 -0
  283. package/dist/schema/budget_policies.js +24 -0
  284. package/dist/schema/budget_policies.js.map +1 -0
  285. package/dist/schema/cli_auth_challenges.d.ts +263 -0
  286. package/dist/schema/cli_auth_challenges.d.ts.map +1 -0
  287. package/dist/schema/cli_auth_challenges.js +26 -0
  288. package/dist/schema/cli_auth_challenges.js.map +1 -0
  289. package/dist/schema/companies.d.ts +246 -0
  290. package/dist/schema/companies.d.ts.map +1 -0
  291. package/dist/schema/companies.js +22 -0
  292. package/dist/schema/companies.js.map +1 -0
  293. package/dist/schema/company_logos.d.ts +93 -0
  294. package/dist/schema/company_logos.d.ts.map +1 -0
  295. package/dist/schema/company_logos.js +14 -0
  296. package/dist/schema/company_logos.js.map +1 -0
  297. package/dist/schema/company_memberships.d.ts +144 -0
  298. package/dist/schema/company_memberships.d.ts.map +1 -0
  299. package/dist/schema/company_memberships.js +17 -0
  300. package/dist/schema/company_memberships.js.map +1 -0
  301. package/dist/schema/company_secret_versions.d.ts +163 -0
  302. package/dist/schema/company_secret_versions.d.ts.map +1 -0
  303. package/dist/schema/company_secret_versions.js +19 -0
  304. package/dist/schema/company_secret_versions.js.map +1 -0
  305. package/dist/schema/company_secrets.d.ts +195 -0
  306. package/dist/schema/company_secrets.d.ts.map +1 -0
  307. package/dist/schema/company_secrets.js +21 -0
  308. package/dist/schema/company_secrets.js.map +1 -0
  309. package/dist/schema/company_skills.d.ts +284 -0
  310. package/dist/schema/company_skills.d.ts.map +1 -0
  311. package/dist/schema/company_skills.js +24 -0
  312. package/dist/schema/company_skills.js.map +1 -0
  313. package/dist/schema/cost_events.d.ts +314 -0
  314. package/dist/schema/cost_events.d.ts.map +1 -0
  315. package/dist/schema/cost_events.js +34 -0
  316. package/dist/schema/cost_events.js.map +1 -0
  317. package/dist/schema/document_revisions.d.ts +161 -0
  318. package/dist/schema/document_revisions.d.ts.map +1 -0
  319. package/dist/schema/document_revisions.js +19 -0
  320. package/dist/schema/document_revisions.js.map +1 -0
  321. package/dist/schema/documents.d.ts +229 -0
  322. package/dist/schema/documents.d.ts.map +1 -0
  323. package/dist/schema/documents.js +22 -0
  324. package/dist/schema/documents.js.map +1 -0
  325. package/dist/schema/execution_workspaces.d.ts +418 -0
  326. package/dist/schema/execution_workspaces.d.ts.map +1 -0
  327. package/dist/schema/execution_workspaces.js +39 -0
  328. package/dist/schema/execution_workspaces.js.map +1 -0
  329. package/dist/schema/finance_events.d.ts +469 -0
  330. package/dist/schema/finance_events.d.ts.map +1 -0
  331. package/dist/schema/finance_events.js +45 -0
  332. package/dist/schema/finance_events.js.map +1 -0
  333. package/dist/schema/goals.d.ts +178 -0
  334. package/dist/schema/goals.d.ts.map +1 -0
  335. package/dist/schema/goals.js +18 -0
  336. package/dist/schema/goals.js.map +1 -0
  337. package/dist/schema/heartbeat_run_events.d.ts +214 -0
  338. package/dist/schema/heartbeat_run_events.d.ts.map +1 -0
  339. package/dist/schema/heartbeat_run_events.js +23 -0
  340. package/dist/schema/heartbeat_run_events.js.map +1 -0
  341. package/dist/schema/heartbeat_runs.d.ts +558 -0
  342. package/dist/schema/heartbeat_runs.d.ts.map +1 -0
  343. package/dist/schema/heartbeat_runs.js +43 -0
  344. package/dist/schema/heartbeat_runs.js.map +1 -0
  345. package/dist/schema/index.d.ts +59 -0
  346. package/dist/schema/index.d.ts.map +1 -0
  347. package/dist/schema/index.js +59 -0
  348. package/dist/schema/index.js.map +1 -0
  349. package/dist/schema/instance_settings.d.ts +114 -0
  350. package/dist/schema/instance_settings.d.ts.map +1 -0
  351. package/dist/schema/instance_settings.js +12 -0
  352. package/dist/schema/instance_settings.js.map +1 -0
  353. package/dist/schema/instance_user_roles.d.ts +93 -0
  354. package/dist/schema/instance_user_roles.d.ts.map +1 -0
  355. package/dist/schema/instance_user_roles.js +12 -0
  356. package/dist/schema/instance_user_roles.js.map +1 -0
  357. package/dist/schema/invites.d.ts +214 -0
  358. package/dist/schema/invites.d.ts.map +1 -0
  359. package/dist/schema/invites.js +20 -0
  360. package/dist/schema/invites.js.map +1 -0
  361. package/dist/schema/issue_approvals.d.ts +110 -0
  362. package/dist/schema/issue_approvals.d.ts.map +1 -0
  363. package/dist/schema/issue_approvals.js +19 -0
  364. package/dist/schema/issue_approvals.js.map +1 -0
  365. package/dist/schema/issue_attachments.d.ts +127 -0
  366. package/dist/schema/issue_attachments.d.ts.map +1 -0
  367. package/dist/schema/issue_attachments.js +19 -0
  368. package/dist/schema/issue_attachments.js.map +1 -0
  369. package/dist/schema/issue_comments.d.ts +144 -0
  370. package/dist/schema/issue_comments.d.ts.map +1 -0
  371. package/dist/schema/issue_comments.js +20 -0
  372. package/dist/schema/issue_comments.js.map +1 -0
  373. package/dist/schema/issue_documents.d.ts +127 -0
  374. package/dist/schema/issue_documents.d.ts.map +1 -0
  375. package/dist/schema/issue_documents.js +18 -0
  376. package/dist/schema/issue_documents.js.map +1 -0
  377. package/dist/schema/issue_inbox_archives.d.ts +127 -0
  378. package/dist/schema/issue_inbox_archives.d.ts.map +1 -0
  379. package/dist/schema/issue_inbox_archives.js +17 -0
  380. package/dist/schema/issue_inbox_archives.js.map +1 -0
  381. package/dist/schema/issue_labels.d.ts +76 -0
  382. package/dist/schema/issue_labels.d.ts.map +1 -0
  383. package/dist/schema/issue_labels.js +16 -0
  384. package/dist/schema/issue_labels.js.map +1 -0
  385. package/dist/schema/issue_read_states.d.ts +127 -0
  386. package/dist/schema/issue_read_states.d.ts.map +1 -0
  387. package/dist/schema/issue_read_states.js +17 -0
  388. package/dist/schema/issue_read_states.js.map +1 -0
  389. package/dist/schema/issue_work_products.d.ts +350 -0
  390. package/dist/schema/issue_work_products.d.ts.map +1 -0
  391. package/dist/schema/issue_work_products.js +37 -0
  392. package/dist/schema/issue_work_products.js.map +1 -0
  393. package/dist/schema/issues.d.ts +607 -0
  394. package/dist/schema/issues.d.ts.map +1 -0
  395. package/dist/schema/issues.js +65 -0
  396. package/dist/schema/issues.js.map +1 -0
  397. package/dist/schema/join_requests.d.ts +384 -0
  398. package/dist/schema/join_requests.d.ts.map +1 -0
  399. package/dist/schema/join_requests.js +32 -0
  400. package/dist/schema/join_requests.js.map +1 -0
  401. package/dist/schema/labels.d.ts +110 -0
  402. package/dist/schema/labels.d.ts.map +1 -0
  403. package/dist/schema/labels.js +14 -0
  404. package/dist/schema/labels.js.map +1 -0
  405. package/dist/schema/plugin_company_settings.d.ts +158 -0
  406. package/dist/schema/plugin_company_settings.d.ts.map +1 -0
  407. package/dist/schema/plugin_company_settings.js +34 -0
  408. package/dist/schema/plugin_company_settings.js.map +1 -0
  409. package/dist/schema/plugin_config.d.ts +123 -0
  410. package/dist/schema/plugin_config.d.ts.map +1 -0
  411. package/dist/schema/plugin_config.js +26 -0
  412. package/dist/schema/plugin_config.js.map +1 -0
  413. package/dist/schema/plugin_entities.d.ts +213 -0
  414. package/dist/schema/plugin_entities.d.ts.map +1 -0
  415. package/dist/schema/plugin_entities.js +37 -0
  416. package/dist/schema/plugin_entities.js.map +1 -0
  417. package/dist/schema/plugin_jobs.d.ts +392 -0
  418. package/dist/schema/plugin_jobs.d.ts.map +1 -0
  419. package/dist/schema/plugin_jobs.js +83 -0
  420. package/dist/schema/plugin_jobs.js.map +1 -0
  421. package/dist/schema/plugin_logs.d.ts +125 -0
  422. package/dist/schema/plugin_logs.d.ts.map +1 -0
  423. package/dist/schema/plugin_logs.js +29 -0
  424. package/dist/schema/plugin_logs.js.map +1 -0
  425. package/dist/schema/plugin_state.d.ts +169 -0
  426. package/dist/schema/plugin_state.d.ts.map +1 -0
  427. package/dist/schema/plugin_state.js +68 -0
  428. package/dist/schema/plugin_state.js.map +1 -0
  429. package/dist/schema/plugin_webhooks.d.ts +239 -0
  430. package/dist/schema/plugin_webhooks.d.ts.map +1 -0
  431. package/dist/schema/plugin_webhooks.js +52 -0
  432. package/dist/schema/plugin_webhooks.js.map +1 -0
  433. package/dist/schema/plugins.d.ts +246 -0
  434. package/dist/schema/plugins.d.ts.map +1 -0
  435. package/dist/schema/plugins.js +31 -0
  436. package/dist/schema/plugins.js.map +1 -0
  437. package/dist/schema/principal_permission_grants.d.ts +163 -0
  438. package/dist/schema/principal_permission_grants.d.ts.map +1 -0
  439. package/dist/schema/principal_permission_grants.js +17 -0
  440. package/dist/schema/principal_permission_grants.js.map +1 -0
  441. package/dist/schema/project_goals.d.ts +93 -0
  442. package/dist/schema/project_goals.d.ts.map +1 -0
  443. package/dist/schema/project_goals.js +17 -0
  444. package/dist/schema/project_goals.js.map +1 -0
  445. package/dist/schema/project_workspaces.d.ts +333 -0
  446. package/dist/schema/project_workspaces.d.ts.map +1 -0
  447. package/dist/schema/project_workspaces.js +32 -0
  448. package/dist/schema/project_workspaces.js.map +1 -0
  449. package/dist/schema/projects.d.ts +265 -0
  450. package/dist/schema/projects.d.ts.map +1 -0
  451. package/dist/schema/projects.js +24 -0
  452. package/dist/schema/projects.js.map +1 -0
  453. package/dist/schema/routines.d.ts +993 -0
  454. package/dist/schema/routines.d.ts.map +1 -0
  455. package/dist/schema/routines.js +86 -0
  456. package/dist/schema/routines.js.map +1 -0
  457. package/dist/schema/workspace_operations.d.ts +367 -0
  458. package/dist/schema/workspace_operations.d.ts.map +1 -0
  459. package/dist/schema/workspace_operations.js +35 -0
  460. package/dist/schema/workspace_operations.js.map +1 -0
  461. package/dist/schema/workspace_runtime_services.d.ts +469 -0
  462. package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
  463. package/dist/schema/workspace_runtime_services.js +44 -0
  464. package/dist/schema/workspace_runtime_services.js.map +1 -0
  465. package/dist/seed.d.ts +2 -0
  466. package/dist/seed.d.ts.map +1 -0
  467. package/dist/seed.js +91 -0
  468. package/dist/seed.js.map +1 -0
  469. package/dist/test-embedded-postgres.d.ts +11 -0
  470. package/dist/test-embedded-postgres.d.ts.map +1 -0
  471. package/dist/test-embedded-postgres.js +110 -0
  472. package/dist/test-embedded-postgres.js.map +1 -0
  473. package/package.json +60 -0
@@ -0,0 +1,135 @@
1
+ CREATE TABLE "account" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "account_id" text NOT NULL,
4
+ "provider_id" text NOT NULL,
5
+ "user_id" text NOT NULL,
6
+ "access_token" text,
7
+ "refresh_token" text,
8
+ "id_token" text,
9
+ "access_token_expires_at" timestamp with time zone,
10
+ "refresh_token_expires_at" timestamp with time zone,
11
+ "scope" text,
12
+ "password" text,
13
+ "created_at" timestamp with time zone NOT NULL,
14
+ "updated_at" timestamp with time zone NOT NULL
15
+ );
16
+ --> statement-breakpoint
17
+ CREATE TABLE "session" (
18
+ "id" text PRIMARY KEY NOT NULL,
19
+ "expires_at" timestamp with time zone NOT NULL,
20
+ "token" text NOT NULL,
21
+ "created_at" timestamp with time zone NOT NULL,
22
+ "updated_at" timestamp with time zone NOT NULL,
23
+ "ip_address" text,
24
+ "user_agent" text,
25
+ "user_id" text NOT NULL
26
+ );
27
+ --> statement-breakpoint
28
+ CREATE TABLE "user" (
29
+ "id" text PRIMARY KEY NOT NULL,
30
+ "name" text NOT NULL,
31
+ "email" text NOT NULL,
32
+ "email_verified" boolean DEFAULT false NOT NULL,
33
+ "image" text,
34
+ "created_at" timestamp with time zone NOT NULL,
35
+ "updated_at" timestamp with time zone NOT NULL
36
+ );
37
+ --> statement-breakpoint
38
+ CREATE TABLE "verification" (
39
+ "id" text PRIMARY KEY NOT NULL,
40
+ "identifier" text NOT NULL,
41
+ "value" text NOT NULL,
42
+ "expires_at" timestamp with time zone NOT NULL,
43
+ "created_at" timestamp with time zone,
44
+ "updated_at" timestamp with time zone
45
+ );
46
+ --> statement-breakpoint
47
+ CREATE TABLE "company_memberships" (
48
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
49
+ "company_id" uuid NOT NULL,
50
+ "principal_type" text NOT NULL,
51
+ "principal_id" text NOT NULL,
52
+ "status" text DEFAULT 'active' NOT NULL,
53
+ "membership_role" text,
54
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
55
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
56
+ );
57
+ --> statement-breakpoint
58
+ CREATE TABLE "instance_user_roles" (
59
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
60
+ "user_id" text NOT NULL,
61
+ "role" text DEFAULT 'instance_admin' NOT NULL,
62
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
63
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
64
+ );
65
+ --> statement-breakpoint
66
+ CREATE TABLE "invites" (
67
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
68
+ "company_id" uuid,
69
+ "invite_type" text DEFAULT 'company_join' NOT NULL,
70
+ "token_hash" text NOT NULL,
71
+ "allowed_join_types" text DEFAULT 'both' NOT NULL,
72
+ "defaults_payload" jsonb,
73
+ "expires_at" timestamp with time zone NOT NULL,
74
+ "invited_by_user_id" text,
75
+ "revoked_at" timestamp with time zone,
76
+ "accepted_at" timestamp with time zone,
77
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
78
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
79
+ );
80
+ --> statement-breakpoint
81
+ CREATE TABLE "join_requests" (
82
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
83
+ "invite_id" uuid NOT NULL,
84
+ "company_id" uuid NOT NULL,
85
+ "request_type" text NOT NULL,
86
+ "status" text DEFAULT 'pending_approval' NOT NULL,
87
+ "request_ip" text NOT NULL,
88
+ "requesting_user_id" text,
89
+ "request_email_snapshot" text,
90
+ "agent_name" text,
91
+ "adapter_type" text,
92
+ "capabilities" text,
93
+ "agent_defaults_payload" jsonb,
94
+ "created_agent_id" uuid,
95
+ "approved_by_user_id" text,
96
+ "approved_at" timestamp with time zone,
97
+ "rejected_by_user_id" text,
98
+ "rejected_at" timestamp with time zone,
99
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
100
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
101
+ );
102
+ --> statement-breakpoint
103
+ CREATE TABLE "principal_permission_grants" (
104
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
105
+ "company_id" uuid NOT NULL,
106
+ "principal_type" text NOT NULL,
107
+ "principal_id" text NOT NULL,
108
+ "permission_key" text NOT NULL,
109
+ "scope" jsonb,
110
+ "granted_by_user_id" text,
111
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
112
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
113
+ );
114
+ --> statement-breakpoint
115
+ ALTER TABLE "issues" ADD COLUMN "assignee_user_id" text;--> statement-breakpoint
116
+ ALTER TABLE "account" ADD CONSTRAINT "account_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
117
+ ALTER TABLE "session" ADD CONSTRAINT "session_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
118
+ ALTER TABLE "company_memberships" ADD CONSTRAINT "company_memberships_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
119
+ ALTER TABLE "invites" ADD CONSTRAINT "invites_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
120
+ 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
121
+ ALTER TABLE "join_requests" ADD CONSTRAINT "join_requests_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
122
+ 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
123
+ ALTER TABLE "principal_permission_grants" ADD CONSTRAINT "principal_permission_grants_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
124
+ CREATE UNIQUE INDEX "company_memberships_company_principal_unique_idx" ON "company_memberships" USING btree ("company_id","principal_type","principal_id");--> statement-breakpoint
125
+ CREATE INDEX "company_memberships_principal_status_idx" ON "company_memberships" USING btree ("principal_type","principal_id","status");--> statement-breakpoint
126
+ CREATE INDEX "company_memberships_company_status_idx" ON "company_memberships" USING btree ("company_id","status");--> statement-breakpoint
127
+ CREATE UNIQUE INDEX "instance_user_roles_user_role_unique_idx" ON "instance_user_roles" USING btree ("user_id","role");--> statement-breakpoint
128
+ CREATE INDEX "instance_user_roles_role_idx" ON "instance_user_roles" USING btree ("role");--> statement-breakpoint
129
+ CREATE UNIQUE INDEX "invites_token_hash_unique_idx" ON "invites" USING btree ("token_hash");--> statement-breakpoint
130
+ CREATE INDEX "invites_company_invite_state_idx" ON "invites" USING btree ("company_id","invite_type","revoked_at","expires_at");--> statement-breakpoint
131
+ CREATE UNIQUE INDEX "join_requests_invite_unique_idx" ON "join_requests" USING btree ("invite_id");--> statement-breakpoint
132
+ CREATE INDEX "join_requests_company_status_type_created_idx" ON "join_requests" USING btree ("company_id","status","request_type","created_at");--> statement-breakpoint
133
+ CREATE UNIQUE INDEX "principal_permission_grants_unique_idx" ON "principal_permission_grants" USING btree ("company_id","principal_type","principal_id","permission_key");--> statement-breakpoint
134
+ CREATE INDEX "principal_permission_grants_company_permission_idx" ON "principal_permission_grants" USING btree ("company_id","permission_key");--> statement-breakpoint
135
+ CREATE INDEX "issues_company_assignee_user_status_idx" ON "issues" USING btree ("company_id","assignee_user_id","status");
@@ -0,0 +1,2 @@
1
+ ALTER TABLE "projects" ADD COLUMN "color" text;
2
+ ALTER TABLE "projects" ADD COLUMN "archived_at" timestamp with time zone;
@@ -0,0 +1 @@
1
+ ALTER TABLE "agents" ADD COLUMN "icon" text;
@@ -0,0 +1,51 @@
1
+ DROP INDEX "issues_company_identifier_idx";--> statement-breakpoint
2
+
3
+ -- Rebuild issue prefixes to be company-specific and globally unique.
4
+ -- Base prefix is first 3 letters of company name (A-Z only), fallback "CMP".
5
+ -- Duplicate bases receive deterministic letter suffixes: PAP, PAPA, PAPAA, ...
6
+ WITH ranked_companies AS (
7
+ SELECT
8
+ c.id,
9
+ COALESCE(NULLIF(SUBSTRING(REGEXP_REPLACE(UPPER(c.name), '[^A-Z]', '', 'g') FROM 1 FOR 3), ''), 'CMP') AS base_prefix,
10
+ ROW_NUMBER() OVER (
11
+ PARTITION BY COALESCE(NULLIF(SUBSTRING(REGEXP_REPLACE(UPPER(c.name), '[^A-Z]', '', 'g') FROM 1 FOR 3), ''), 'CMP')
12
+ ORDER BY c.created_at, c.id
13
+ ) AS prefix_rank
14
+ FROM companies c
15
+ )
16
+ UPDATE companies c
17
+ SET issue_prefix = CASE
18
+ WHEN ranked_companies.prefix_rank = 1 THEN ranked_companies.base_prefix
19
+ ELSE ranked_companies.base_prefix || REPEAT('A', (ranked_companies.prefix_rank - 1)::integer)
20
+ END
21
+ FROM ranked_companies
22
+ WHERE c.id = ranked_companies.id;--> statement-breakpoint
23
+
24
+ -- Reassign issue numbers sequentially per company to guarantee uniqueness.
25
+ WITH numbered_issues AS (
26
+ SELECT
27
+ i.id,
28
+ ROW_NUMBER() OVER (PARTITION BY i.company_id ORDER BY i.created_at, i.id) AS issue_number
29
+ FROM issues i
30
+ )
31
+ UPDATE issues i
32
+ SET issue_number = numbered_issues.issue_number
33
+ FROM numbered_issues
34
+ WHERE i.id = numbered_issues.id;--> statement-breakpoint
35
+
36
+ -- Rebuild identifiers from normalized prefix + issue number.
37
+ UPDATE issues i
38
+ SET identifier = c.issue_prefix || '-' || i.issue_number
39
+ FROM companies c
40
+ WHERE c.id = i.company_id;--> statement-breakpoint
41
+
42
+ -- Sync counters to the largest issue number currently assigned per company.
43
+ UPDATE companies c
44
+ SET issue_counter = COALESCE((
45
+ SELECT MAX(i.issue_number)
46
+ FROM issues i
47
+ WHERE i.company_id = c.id
48
+ ), 0);--> statement-breakpoint
49
+
50
+ CREATE UNIQUE INDEX "companies_issue_prefix_idx" ON "companies" USING btree ("issue_prefix");--> statement-breakpoint
51
+ CREATE UNIQUE INDEX "issues_identifier_idx" ON "issues" USING btree ("identifier");
@@ -0,0 +1,26 @@
1
+ CREATE TABLE "issue_labels" (
2
+ "issue_id" uuid NOT NULL,
3
+ "label_id" uuid NOT NULL,
4
+ "company_id" uuid NOT NULL,
5
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
6
+ CONSTRAINT "issue_labels_pk" PRIMARY KEY("issue_id","label_id")
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE TABLE "labels" (
10
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
11
+ "company_id" uuid NOT NULL,
12
+ "name" text NOT NULL,
13
+ "color" text NOT NULL,
14
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
15
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
16
+ );
17
+ --> statement-breakpoint
18
+ ALTER TABLE "issue_labels" ADD CONSTRAINT "issue_labels_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
19
+ ALTER TABLE "issue_labels" ADD CONSTRAINT "issue_labels_label_id_labels_id_fk" FOREIGN KEY ("label_id") REFERENCES "public"."labels"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
20
+ ALTER TABLE "issue_labels" ADD CONSTRAINT "issue_labels_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
21
+ ALTER TABLE "labels" ADD CONSTRAINT "labels_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
22
+ CREATE INDEX "issue_labels_issue_idx" ON "issue_labels" USING btree ("issue_id");--> statement-breakpoint
23
+ CREATE INDEX "issue_labels_label_idx" ON "issue_labels" USING btree ("label_id");--> statement-breakpoint
24
+ CREATE INDEX "issue_labels_company_idx" ON "issue_labels" USING btree ("company_id");--> statement-breakpoint
25
+ CREATE INDEX "labels_company_idx" ON "labels" USING btree ("company_id");--> statement-breakpoint
26
+ CREATE UNIQUE INDEX "labels_company_name_idx" ON "labels" USING btree ("company_id","name");
@@ -0,0 +1,18 @@
1
+ CREATE TABLE "project_workspaces" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "company_id" uuid NOT NULL,
4
+ "project_id" uuid NOT NULL,
5
+ "name" text NOT NULL,
6
+ "cwd" text NOT NULL,
7
+ "repo_url" text,
8
+ "repo_ref" text,
9
+ "metadata" jsonb,
10
+ "is_primary" boolean DEFAULT false NOT NULL,
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
+ ALTER TABLE "project_workspaces" ADD CONSTRAINT "project_workspaces_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
16
+ ALTER TABLE "project_workspaces" ADD CONSTRAINT "project_workspaces_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
17
+ CREATE INDEX "project_workspaces_company_project_idx" ON "project_workspaces" USING btree ("company_id","project_id");--> statement-breakpoint
18
+ CREATE INDEX "project_workspaces_project_primary_idx" ON "project_workspaces" USING btree ("project_id","is_primary");
@@ -0,0 +1 @@
1
+ ALTER TABLE "project_workspaces" ALTER COLUMN "cwd" DROP NOT NULL;
@@ -0,0 +1 @@
1
+ ALTER TABLE "issues" ADD COLUMN "assignee_adapter_overrides" jsonb;
@@ -0,0 +1 @@
1
+ ALTER TABLE "companies" ADD COLUMN "brand_color" text;
@@ -0,0 +1,3 @@
1
+ ALTER TABLE "join_requests" ADD COLUMN "claim_secret_hash" text;--> statement-breakpoint
2
+ ALTER TABLE "join_requests" ADD COLUMN "claim_secret_expires_at" timestamp with time zone;--> statement-breakpoint
3
+ ALTER TABLE "join_requests" ADD COLUMN "claim_secret_consumed_at" timestamp with time zone;
@@ -0,0 +1,2 @@
1
+ CREATE INDEX "issue_comments_company_issue_created_at_idx" ON "issue_comments" USING btree ("company_id","issue_id","created_at");--> statement-breakpoint
2
+ CREATE INDEX "issue_comments_company_author_issue_created_at_idx" ON "issue_comments" USING btree ("company_id","author_user_id","issue_id","created_at");
@@ -0,0 +1,15 @@
1
+ CREATE TABLE "issue_read_states" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "company_id" uuid NOT NULL,
4
+ "issue_id" uuid NOT NULL,
5
+ "user_id" text NOT NULL,
6
+ "last_read_at" timestamp with time zone DEFAULT now() NOT NULL,
7
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
8
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
9
+ );
10
+ --> statement-breakpoint
11
+ ALTER TABLE "issue_read_states" ADD CONSTRAINT "issue_read_states_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
12
+ ALTER TABLE "issue_read_states" ADD CONSTRAINT "issue_read_states_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
13
+ CREATE INDEX "issue_read_states_company_issue_idx" ON "issue_read_states" USING btree ("company_id","issue_id");--> statement-breakpoint
14
+ CREATE INDEX "issue_read_states_company_user_idx" ON "issue_read_states" USING btree ("company_id","user_id");--> statement-breakpoint
15
+ CREATE UNIQUE INDEX "issue_read_states_company_issue_user_idx" ON "issue_read_states" USING btree ("company_id","issue_id","user_id");
@@ -0,0 +1,39 @@
1
+ CREATE TABLE "workspace_runtime_services" (
2
+ "id" uuid PRIMARY KEY NOT NULL,
3
+ "company_id" uuid NOT NULL,
4
+ "project_id" uuid,
5
+ "project_workspace_id" uuid,
6
+ "issue_id" uuid,
7
+ "scope_type" text NOT NULL,
8
+ "scope_id" text,
9
+ "service_name" text NOT NULL,
10
+ "status" text NOT NULL,
11
+ "lifecycle" text NOT NULL,
12
+ "reuse_key" text,
13
+ "command" text,
14
+ "cwd" text,
15
+ "port" integer,
16
+ "url" text,
17
+ "provider" text NOT NULL,
18
+ "provider_ref" text,
19
+ "owner_agent_id" uuid,
20
+ "started_by_run_id" uuid,
21
+ "last_used_at" timestamp with time zone DEFAULT now() NOT NULL,
22
+ "started_at" timestamp with time zone DEFAULT now() NOT NULL,
23
+ "stopped_at" timestamp with time zone,
24
+ "stop_policy" jsonb,
25
+ "health_status" text DEFAULT 'unknown' NOT NULL,
26
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
27
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
28
+ );
29
+ --> statement-breakpoint
30
+ ALTER TABLE "workspace_runtime_services" ADD CONSTRAINT "workspace_runtime_services_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
31
+ ALTER TABLE "workspace_runtime_services" ADD CONSTRAINT "workspace_runtime_services_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
32
+ ALTER TABLE "workspace_runtime_services" ADD CONSTRAINT "workspace_runtime_services_project_workspace_id_project_workspaces_id_fk" FOREIGN KEY ("project_workspace_id") REFERENCES "public"."project_workspaces"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
33
+ ALTER TABLE "workspace_runtime_services" ADD CONSTRAINT "workspace_runtime_services_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
34
+ ALTER TABLE "workspace_runtime_services" ADD CONSTRAINT "workspace_runtime_services_owner_agent_id_agents_id_fk" FOREIGN KEY ("owner_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
35
+ ALTER TABLE "workspace_runtime_services" ADD CONSTRAINT "workspace_runtime_services_started_by_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("started_by_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
36
+ CREATE INDEX "workspace_runtime_services_company_workspace_status_idx" ON "workspace_runtime_services" USING btree ("company_id","project_workspace_id","status");--> statement-breakpoint
37
+ CREATE INDEX "workspace_runtime_services_company_project_status_idx" ON "workspace_runtime_services" USING btree ("company_id","project_id","status");--> statement-breakpoint
38
+ CREATE INDEX "workspace_runtime_services_run_idx" ON "workspace_runtime_services" USING btree ("started_by_run_id");--> statement-breakpoint
39
+ CREATE INDEX "workspace_runtime_services_company_updated_idx" ON "workspace_runtime_services" USING btree ("company_id","updated_at");
@@ -0,0 +1,2 @@
1
+ ALTER TABLE "issues" ADD COLUMN "execution_workspace_settings" jsonb;--> statement-breakpoint
2
+ ALTER TABLE "projects" ADD COLUMN "execution_workspace_policy" jsonb;
@@ -0,0 +1,54 @@
1
+ CREATE TABLE "document_revisions" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "company_id" uuid NOT NULL,
4
+ "document_id" uuid NOT NULL,
5
+ "revision_number" integer NOT NULL,
6
+ "body" text NOT NULL,
7
+ "change_summary" text,
8
+ "created_by_agent_id" uuid,
9
+ "created_by_user_id" text,
10
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
11
+ );
12
+ --> statement-breakpoint
13
+ CREATE TABLE "documents" (
14
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
15
+ "company_id" uuid NOT NULL,
16
+ "title" text,
17
+ "format" text DEFAULT 'markdown' NOT NULL,
18
+ "latest_body" text NOT NULL,
19
+ "latest_revision_id" uuid,
20
+ "latest_revision_number" integer DEFAULT 1 NOT NULL,
21
+ "created_by_agent_id" uuid,
22
+ "created_by_user_id" text,
23
+ "updated_by_agent_id" uuid,
24
+ "updated_by_user_id" text,
25
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
26
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
27
+ );
28
+ --> statement-breakpoint
29
+ CREATE TABLE "issue_documents" (
30
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
31
+ "company_id" uuid NOT NULL,
32
+ "issue_id" uuid NOT NULL,
33
+ "document_id" uuid NOT NULL,
34
+ "key" text NOT NULL,
35
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
36
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
37
+ );
38
+ --> statement-breakpoint
39
+ ALTER TABLE "document_revisions" ADD CONSTRAINT "document_revisions_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
40
+ ALTER TABLE "document_revisions" ADD CONSTRAINT "document_revisions_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
41
+ ALTER TABLE "document_revisions" ADD CONSTRAINT "document_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;--> statement-breakpoint
42
+ ALTER TABLE "documents" ADD CONSTRAINT "documents_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
43
+ ALTER TABLE "documents" ADD CONSTRAINT "documents_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;--> statement-breakpoint
44
+ ALTER TABLE "documents" ADD CONSTRAINT "documents_updated_by_agent_id_agents_id_fk" FOREIGN KEY ("updated_by_agent_id") REFERENCES "public"."agents"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
45
+ ALTER TABLE "issue_documents" ADD CONSTRAINT "issue_documents_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
46
+ ALTER TABLE "issue_documents" ADD CONSTRAINT "issue_documents_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
47
+ ALTER TABLE "issue_documents" ADD CONSTRAINT "issue_documents_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
48
+ CREATE UNIQUE INDEX "document_revisions_document_revision_uq" ON "document_revisions" USING btree ("document_id","revision_number");--> statement-breakpoint
49
+ CREATE INDEX "document_revisions_company_document_created_idx" ON "document_revisions" USING btree ("company_id","document_id","created_at");--> statement-breakpoint
50
+ CREATE INDEX "documents_company_updated_idx" ON "documents" USING btree ("company_id","updated_at");--> statement-breakpoint
51
+ CREATE INDEX "documents_company_created_idx" ON "documents" USING btree ("company_id","created_at");--> statement-breakpoint
52
+ CREATE UNIQUE INDEX "issue_documents_company_issue_key_uq" ON "issue_documents" USING btree ("company_id","issue_id","key");--> statement-breakpoint
53
+ CREATE UNIQUE INDEX "issue_documents_document_uq" ON "issue_documents" USING btree ("document_id");--> statement-breakpoint
54
+ CREATE INDEX "issue_documents_company_issue_updated_idx" ON "issue_documents" USING btree ("company_id","issue_id","updated_at");
@@ -0,0 +1,177 @@
1
+ -- Rollback:
2
+ -- DROP INDEX IF EXISTS "plugin_logs_level_idx";
3
+ -- DROP INDEX IF EXISTS "plugin_logs_plugin_time_idx";
4
+ -- DROP INDEX IF EXISTS "plugin_company_settings_company_plugin_uq";
5
+ -- DROP INDEX IF EXISTS "plugin_company_settings_plugin_idx";
6
+ -- DROP INDEX IF EXISTS "plugin_company_settings_company_idx";
7
+ -- DROP INDEX IF EXISTS "plugin_webhook_deliveries_key_idx";
8
+ -- DROP INDEX IF EXISTS "plugin_webhook_deliveries_status_idx";
9
+ -- DROP INDEX IF EXISTS "plugin_webhook_deliveries_plugin_idx";
10
+ -- DROP INDEX IF EXISTS "plugin_job_runs_status_idx";
11
+ -- DROP INDEX IF EXISTS "plugin_job_runs_plugin_idx";
12
+ -- DROP INDEX IF EXISTS "plugin_job_runs_job_idx";
13
+ -- DROP INDEX IF EXISTS "plugin_jobs_unique_idx";
14
+ -- DROP INDEX IF EXISTS "plugin_jobs_next_run_idx";
15
+ -- DROP INDEX IF EXISTS "plugin_jobs_plugin_idx";
16
+ -- DROP INDEX IF EXISTS "plugin_entities_external_idx";
17
+ -- DROP INDEX IF EXISTS "plugin_entities_scope_idx";
18
+ -- DROP INDEX IF EXISTS "plugin_entities_type_idx";
19
+ -- DROP INDEX IF EXISTS "plugin_entities_plugin_idx";
20
+ -- DROP INDEX IF EXISTS "plugin_state_plugin_scope_idx";
21
+ -- DROP INDEX IF EXISTS "plugin_config_plugin_id_idx";
22
+ -- DROP INDEX IF EXISTS "plugins_status_idx";
23
+ -- DROP INDEX IF EXISTS "plugins_plugin_key_idx";
24
+ -- DROP TABLE IF EXISTS "plugin_logs";
25
+ -- DROP TABLE IF EXISTS "plugin_company_settings";
26
+ -- DROP TABLE IF EXISTS "plugin_webhook_deliveries";
27
+ -- DROP TABLE IF EXISTS "plugin_job_runs";
28
+ -- DROP TABLE IF EXISTS "plugin_jobs";
29
+ -- DROP TABLE IF EXISTS "plugin_entities";
30
+ -- DROP TABLE IF EXISTS "plugin_state";
31
+ -- DROP TABLE IF EXISTS "plugin_config";
32
+ -- DROP TABLE IF EXISTS "plugins";
33
+
34
+ CREATE TABLE "plugins" (
35
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
36
+ "plugin_key" text NOT NULL,
37
+ "package_name" text NOT NULL,
38
+ "package_path" text,
39
+ "version" text NOT NULL,
40
+ "api_version" integer DEFAULT 1 NOT NULL,
41
+ "categories" jsonb DEFAULT '[]'::jsonb NOT NULL,
42
+ "manifest_json" jsonb NOT NULL,
43
+ "status" text DEFAULT 'installed' NOT NULL,
44
+ "install_order" integer,
45
+ "last_error" text,
46
+ "installed_at" timestamp with time zone DEFAULT now() NOT NULL,
47
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
48
+ );
49
+ --> statement-breakpoint
50
+ CREATE TABLE "plugin_config" (
51
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
52
+ "plugin_id" uuid NOT NULL,
53
+ "config_json" jsonb DEFAULT '{}'::jsonb NOT NULL,
54
+ "last_error" text,
55
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
56
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
57
+ );
58
+ --> statement-breakpoint
59
+ CREATE TABLE "plugin_state" (
60
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
61
+ "plugin_id" uuid NOT NULL,
62
+ "scope_kind" text NOT NULL,
63
+ "scope_id" text,
64
+ "namespace" text DEFAULT 'default' NOT NULL,
65
+ "state_key" text NOT NULL,
66
+ "value_json" jsonb NOT NULL,
67
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
68
+ CONSTRAINT "plugin_state_unique_entry_idx" UNIQUE NULLS NOT DISTINCT("plugin_id","scope_kind","scope_id","namespace","state_key")
69
+ );
70
+ --> statement-breakpoint
71
+ CREATE TABLE "plugin_entities" (
72
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
73
+ "plugin_id" uuid NOT NULL,
74
+ "entity_type" text NOT NULL,
75
+ "scope_kind" text NOT NULL,
76
+ "scope_id" text,
77
+ "external_id" text,
78
+ "title" text,
79
+ "status" text,
80
+ "data" jsonb DEFAULT '{}'::jsonb NOT NULL,
81
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
82
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
83
+ );
84
+ --> statement-breakpoint
85
+ CREATE TABLE "plugin_jobs" (
86
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
87
+ "plugin_id" uuid NOT NULL,
88
+ "job_key" text NOT NULL,
89
+ "schedule" text NOT NULL,
90
+ "status" text DEFAULT 'active' NOT NULL,
91
+ "last_run_at" timestamp with time zone,
92
+ "next_run_at" timestamp with time zone,
93
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
94
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
95
+ );
96
+ --> statement-breakpoint
97
+ CREATE TABLE "plugin_job_runs" (
98
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
99
+ "job_id" uuid NOT NULL,
100
+ "plugin_id" uuid NOT NULL,
101
+ "trigger" text NOT NULL,
102
+ "status" text DEFAULT 'pending' NOT NULL,
103
+ "duration_ms" integer,
104
+ "error" text,
105
+ "logs" jsonb DEFAULT '[]'::jsonb NOT NULL,
106
+ "started_at" timestamp with time zone,
107
+ "finished_at" timestamp with time zone,
108
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
109
+ );
110
+ --> statement-breakpoint
111
+ CREATE TABLE "plugin_webhook_deliveries" (
112
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
113
+ "plugin_id" uuid NOT NULL,
114
+ "webhook_key" text NOT NULL,
115
+ "external_id" text,
116
+ "status" text DEFAULT 'pending' NOT NULL,
117
+ "duration_ms" integer,
118
+ "error" text,
119
+ "payload" jsonb NOT NULL,
120
+ "headers" jsonb DEFAULT '{}'::jsonb NOT NULL,
121
+ "started_at" timestamp with time zone,
122
+ "finished_at" timestamp with time zone,
123
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
124
+ );
125
+ --> statement-breakpoint
126
+ CREATE TABLE "plugin_company_settings" (
127
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
128
+ "company_id" uuid NOT NULL,
129
+ "plugin_id" uuid NOT NULL,
130
+ "settings_json" jsonb DEFAULT '{}'::jsonb NOT NULL,
131
+ "last_error" text,
132
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
133
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
134
+ "enabled" boolean DEFAULT true NOT NULL
135
+ );
136
+ --> statement-breakpoint
137
+ CREATE TABLE "plugin_logs" (
138
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(),
139
+ "plugin_id" uuid NOT NULL,
140
+ "level" text NOT NULL DEFAULT 'info',
141
+ "message" text NOT NULL,
142
+ "meta" jsonb,
143
+ "created_at" timestamp with time zone NOT NULL DEFAULT now()
144
+ );
145
+ --> statement-breakpoint
146
+ ALTER TABLE "plugin_config" ADD CONSTRAINT "plugin_config_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
147
+ ALTER TABLE "plugin_state" ADD CONSTRAINT "plugin_state_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
148
+ ALTER TABLE "plugin_entities" ADD CONSTRAINT "plugin_entities_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
149
+ ALTER TABLE "plugin_jobs" ADD CONSTRAINT "plugin_jobs_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
150
+ ALTER TABLE "plugin_job_runs" ADD CONSTRAINT "plugin_job_runs_job_id_plugin_jobs_id_fk" FOREIGN KEY ("job_id") REFERENCES "public"."plugin_jobs"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
151
+ ALTER TABLE "plugin_job_runs" ADD CONSTRAINT "plugin_job_runs_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
152
+ ALTER TABLE "plugin_webhook_deliveries" ADD CONSTRAINT "plugin_webhook_deliveries_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
153
+ ALTER TABLE "plugin_company_settings" ADD CONSTRAINT "plugin_company_settings_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
154
+ ALTER TABLE "plugin_company_settings" ADD CONSTRAINT "plugin_company_settings_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
155
+ ALTER TABLE "plugin_logs" ADD CONSTRAINT "plugin_logs_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
156
+ CREATE UNIQUE INDEX "plugins_plugin_key_idx" ON "plugins" USING btree ("plugin_key");--> statement-breakpoint
157
+ CREATE INDEX "plugins_status_idx" ON "plugins" USING btree ("status");--> statement-breakpoint
158
+ CREATE UNIQUE INDEX "plugin_config_plugin_id_idx" ON "plugin_config" USING btree ("plugin_id");--> statement-breakpoint
159
+ CREATE INDEX "plugin_state_plugin_scope_idx" ON "plugin_state" USING btree ("plugin_id","scope_kind");--> statement-breakpoint
160
+ CREATE INDEX "plugin_entities_plugin_idx" ON "plugin_entities" USING btree ("plugin_id");--> statement-breakpoint
161
+ CREATE INDEX "plugin_entities_type_idx" ON "plugin_entities" USING btree ("entity_type");--> statement-breakpoint
162
+ CREATE INDEX "plugin_entities_scope_idx" ON "plugin_entities" USING btree ("scope_kind","scope_id");--> statement-breakpoint
163
+ CREATE UNIQUE INDEX "plugin_entities_external_idx" ON "plugin_entities" USING btree ("plugin_id","entity_type","external_id");--> statement-breakpoint
164
+ CREATE INDEX "plugin_jobs_plugin_idx" ON "plugin_jobs" USING btree ("plugin_id");--> statement-breakpoint
165
+ CREATE INDEX "plugin_jobs_next_run_idx" ON "plugin_jobs" USING btree ("next_run_at");--> statement-breakpoint
166
+ CREATE UNIQUE INDEX "plugin_jobs_unique_idx" ON "plugin_jobs" USING btree ("plugin_id","job_key");--> statement-breakpoint
167
+ CREATE INDEX "plugin_job_runs_job_idx" ON "plugin_job_runs" USING btree ("job_id");--> statement-breakpoint
168
+ CREATE INDEX "plugin_job_runs_plugin_idx" ON "plugin_job_runs" USING btree ("plugin_id");--> statement-breakpoint
169
+ CREATE INDEX "plugin_job_runs_status_idx" ON "plugin_job_runs" USING btree ("status");--> statement-breakpoint
170
+ CREATE INDEX "plugin_webhook_deliveries_plugin_idx" ON "plugin_webhook_deliveries" USING btree ("plugin_id");--> statement-breakpoint
171
+ CREATE INDEX "plugin_webhook_deliveries_status_idx" ON "plugin_webhook_deliveries" USING btree ("status");--> statement-breakpoint
172
+ CREATE INDEX "plugin_webhook_deliveries_key_idx" ON "plugin_webhook_deliveries" USING btree ("webhook_key");--> statement-breakpoint
173
+ CREATE INDEX "plugin_company_settings_company_idx" ON "plugin_company_settings" USING btree ("company_id");--> statement-breakpoint
174
+ CREATE INDEX "plugin_company_settings_plugin_idx" ON "plugin_company_settings" USING btree ("plugin_id");--> statement-breakpoint
175
+ CREATE UNIQUE INDEX "plugin_company_settings_company_plugin_uq" ON "plugin_company_settings" USING btree ("company_id","plugin_id");--> statement-breakpoint
176
+ CREATE INDEX "plugin_logs_plugin_time_idx" ON "plugin_logs" USING btree ("plugin_id","created_at");--> statement-breakpoint
177
+ CREATE INDEX "plugin_logs_level_idx" ON "plugin_logs" USING btree ("level");
@@ -0,0 +1,12 @@
1
+ CREATE TABLE "company_logos" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "company_id" uuid NOT NULL,
4
+ "asset_id" uuid NOT NULL,
5
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
6
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
7
+ );
8
+ --> statement-breakpoint
9
+ ALTER TABLE "company_logos" ADD CONSTRAINT "company_logos_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
10
+ ALTER TABLE "company_logos" ADD CONSTRAINT "company_logos_asset_id_assets_id_fk" FOREIGN KEY ("asset_id") REFERENCES "public"."assets"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
11
+ CREATE UNIQUE INDEX "company_logos_company_uq" ON "company_logos" USING btree ("company_id");--> statement-breakpoint
12
+ CREATE UNIQUE INDEX "company_logos_asset_uq" ON "company_logos" USING btree ("asset_id");
@@ -0,0 +1,51 @@
1
+ CREATE TABLE "finance_events" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "company_id" uuid NOT NULL,
4
+ "agent_id" uuid,
5
+ "issue_id" uuid,
6
+ "project_id" uuid,
7
+ "goal_id" uuid,
8
+ "heartbeat_run_id" uuid,
9
+ "cost_event_id" uuid,
10
+ "billing_code" text,
11
+ "description" text,
12
+ "event_kind" text NOT NULL,
13
+ "direction" text DEFAULT 'debit' NOT NULL,
14
+ "biller" text NOT NULL,
15
+ "provider" text,
16
+ "execution_adapter_type" text,
17
+ "pricing_tier" text,
18
+ "region" text,
19
+ "model" text,
20
+ "quantity" integer,
21
+ "unit" text,
22
+ "amount_cents" integer NOT NULL,
23
+ "currency" text DEFAULT 'USD' NOT NULL,
24
+ "estimated" boolean DEFAULT false NOT NULL,
25
+ "external_invoice_id" text,
26
+ "metadata_json" jsonb,
27
+ "occurred_at" timestamp with time zone NOT NULL,
28
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
29
+ );
30
+ --> statement-breakpoint
31
+ ALTER TABLE "cost_events" ADD COLUMN "heartbeat_run_id" uuid;--> statement-breakpoint
32
+ ALTER TABLE "cost_events" ADD COLUMN "biller" text DEFAULT 'unknown' NOT NULL;--> statement-breakpoint
33
+ ALTER TABLE "cost_events" ADD COLUMN "billing_type" text DEFAULT 'unknown' NOT NULL;--> statement-breakpoint
34
+ ALTER TABLE "cost_events" ADD COLUMN "cached_input_tokens" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
35
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_company_id_companies_id_fk" FOREIGN KEY ("company_id") REFERENCES "public"."companies"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
36
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_agent_id_agents_id_fk" FOREIGN KEY ("agent_id") REFERENCES "public"."agents"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
37
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_issue_id_issues_id_fk" FOREIGN KEY ("issue_id") REFERENCES "public"."issues"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
38
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
39
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_goal_id_goals_id_fk" FOREIGN KEY ("goal_id") REFERENCES "public"."goals"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
40
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_heartbeat_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("heartbeat_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
41
+ ALTER TABLE "finance_events" ADD CONSTRAINT "finance_events_cost_event_id_cost_events_id_fk" FOREIGN KEY ("cost_event_id") REFERENCES "public"."cost_events"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
42
+ CREATE INDEX "finance_events_company_occurred_idx" ON "finance_events" USING btree ("company_id","occurred_at");--> statement-breakpoint
43
+ CREATE INDEX "finance_events_company_biller_occurred_idx" ON "finance_events" USING btree ("company_id","biller","occurred_at");--> statement-breakpoint
44
+ CREATE INDEX "finance_events_company_kind_occurred_idx" ON "finance_events" USING btree ("company_id","event_kind","occurred_at");--> statement-breakpoint
45
+ CREATE INDEX "finance_events_company_direction_occurred_idx" ON "finance_events" USING btree ("company_id","direction","occurred_at");--> statement-breakpoint
46
+ CREATE INDEX "finance_events_company_heartbeat_run_idx" ON "finance_events" USING btree ("company_id","heartbeat_run_id");--> statement-breakpoint
47
+ CREATE INDEX "finance_events_company_cost_event_idx" ON "finance_events" USING btree ("company_id","cost_event_id");--> statement-breakpoint
48
+ ALTER TABLE "cost_events" ADD CONSTRAINT "cost_events_heartbeat_run_id_heartbeat_runs_id_fk" FOREIGN KEY ("heartbeat_run_id") REFERENCES "public"."heartbeat_runs"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
49
+ CREATE INDEX "cost_events_company_provider_occurred_idx" ON "cost_events" USING btree ("company_id","provider","occurred_at");--> statement-breakpoint
50
+ CREATE INDEX "cost_events_company_biller_occurred_idx" ON "cost_events" USING btree ("company_id","biller","occurred_at");--> statement-breakpoint
51
+ CREATE INDEX "cost_events_company_heartbeat_run_idx" ON "cost_events" USING btree ("company_id","heartbeat_run_id");