@zmeel/db 0.1.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 (494) hide show
  1. package/LICENSE +21 -0
  2. package/dist/backup-lib.d.ts +29 -0
  3. package/dist/backup-lib.d.ts.map +1 -0
  4. package/dist/backup-lib.js +553 -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 +146 -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 +103 -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 +298 -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/index.d.ts +6 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +6 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/migrate.d.ts +2 -0
  39. package/dist/migrate.d.ts.map +1 -0
  40. package/dist/migrate.js +25 -0
  41. package/dist/migrate.js.map +1 -0
  42. package/dist/migration-runtime.d.ts +7 -0
  43. package/dist/migration-runtime.d.ts.map +1 -0
  44. package/dist/migration-runtime.js +158 -0
  45. package/dist/migration-runtime.js.map +1 -0
  46. package/dist/migration-status.d.ts +2 -0
  47. package/dist/migration-status.d.ts.map +1 -0
  48. package/dist/migration-status.js +55 -0
  49. package/dist/migration-status.js.map +1 -0
  50. package/dist/migrations/0000_mature_masked_marvel.sql +208 -0
  51. package/dist/migrations/0001_fast_northstar.sql +87 -0
  52. package/dist/migrations/0002_big_zaladane.sql +1 -0
  53. package/dist/migrations/0003_shallow_quentin_quire.sql +5 -0
  54. package/dist/migrations/0004_issue_identifiers.sql +28 -0
  55. package/dist/migrations/0005_chief_luke_cage.sql +19 -0
  56. package/dist/migrations/0006_overjoyed_mister_sinister.sql +36 -0
  57. package/dist/migrations/0007_new_quentin_quire.sql +20 -0
  58. package/dist/migrations/0008_amused_zzzax.sql +1 -0
  59. package/dist/migrations/0009_fast_jackal.sql +36 -0
  60. package/dist/migrations/0010_stale_justin_hammer.sql +37 -0
  61. package/dist/migrations/0011_windy_corsair.sql +18 -0
  62. package/dist/migrations/0012_perpetual_ser_duncan.sql +2 -0
  63. package/dist/migrations/0013_dashing_wasp.sql +4 -0
  64. package/dist/migrations/0014_many_mikhail_rasputin.sql +135 -0
  65. package/dist/migrations/0015_project_color_archived.sql +2 -0
  66. package/dist/migrations/0016_agent_icon.sql +1 -0
  67. package/dist/migrations/0017_tiresome_gabe_jones.sql +51 -0
  68. package/dist/migrations/0018_flat_sleepwalker.sql +26 -0
  69. package/dist/migrations/0019_public_victor_mancha.sql +18 -0
  70. package/dist/migrations/0020_white_anita_blake.sql +1 -0
  71. package/dist/migrations/0021_chief_vindicator.sql +1 -0
  72. package/dist/migrations/0022_company_brand_color.sql +1 -0
  73. package/dist/migrations/0023_fair_lethal_legion.sql +3 -0
  74. package/dist/migrations/0024_far_beast.sql +2 -0
  75. package/dist/migrations/0025_nasty_salo.sql +15 -0
  76. package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
  77. package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
  78. package/dist/migrations/0028_harsh_goliath.sql +54 -0
  79. package/dist/migrations/0029_plugin_tables.sql +177 -0
  80. package/dist/migrations/0030_rich_magneto.sql +12 -0
  81. package/dist/migrations/0031_zippy_magma.sql +51 -0
  82. package/dist/migrations/0032_pretty_doctor_octopus.sql +102 -0
  83. package/dist/migrations/0033_shiny_black_tarantula.sql +2 -0
  84. package/dist/migrations/0034_fat_dormammu.sql +2 -0
  85. package/dist/migrations/0035_marvelous_satana.sql +91 -0
  86. package/dist/migrations/0036_cheerful_nitro.sql +9 -0
  87. package/dist/migrations/0037_friendly_eddie_brock.sql +29 -0
  88. package/dist/migrations/0038_careless_iron_monger.sql +5 -0
  89. package/dist/migrations/0039_fat_magneto.sql +161 -0
  90. package/dist/migrations/0040_eager_shotgun.sql +5 -0
  91. package/dist/migrations/0041_curly_maria_hill.sql +1 -0
  92. package/dist/migrations/0042_spotty_the_renegades.sql +26 -0
  93. package/dist/migrations/0043_reflective_captain_universe.sql +6 -0
  94. package/dist/migrations/0044_illegal_toad.sql +56 -0
  95. package/dist/migrations/0045_workable_shockwave.sql +17 -0
  96. package/dist/migrations/0046_smooth_sentinels.sql +11 -0
  97. package/dist/migrations/0047_overjoyed_groot.sql +102 -0
  98. package/dist/migrations/0048_flashy_marrow.sql +1 -0
  99. package/dist/migrations/meta/0000_snapshot.json +1743 -0
  100. package/dist/migrations/meta/0001_snapshot.json +2441 -0
  101. package/dist/migrations/meta/0002_snapshot.json +2454 -0
  102. package/dist/migrations/meta/0003_snapshot.json +2502 -0
  103. package/dist/migrations/meta/0005_snapshot.json +2719 -0
  104. package/dist/migrations/meta/0006_snapshot.json +3048 -0
  105. package/dist/migrations/meta/0007_snapshot.json +3258 -0
  106. package/dist/migrations/meta/0008_snapshot.json +3264 -0
  107. package/dist/migrations/meta/0009_snapshot.json +3587 -0
  108. package/dist/migrations/meta/0010_snapshot.json +3929 -0
  109. package/dist/migrations/meta/0011_snapshot.json +4068 -0
  110. package/dist/migrations/meta/0012_snapshot.json +4087 -0
  111. package/dist/migrations/meta/0013_snapshot.json +4118 -0
  112. package/dist/migrations/meta/0014_snapshot.json +5187 -0
  113. package/dist/migrations/meta/0017_snapshot.json +5215 -0
  114. package/dist/migrations/meta/0018_snapshot.json +5450 -0
  115. package/dist/migrations/meta/0019_snapshot.json +5603 -0
  116. package/dist/migrations/meta/0020_snapshot.json +5603 -0
  117. package/dist/migrations/meta/0021_snapshot.json +5609 -0
  118. package/dist/migrations/meta/0023_snapshot.json +5633 -0
  119. package/dist/migrations/meta/0024_snapshot.json +5693 -0
  120. package/dist/migrations/meta/0025_snapshot.json +5849 -0
  121. package/dist/migrations/meta/0027_snapshot.json +6205 -0
  122. package/dist/migrations/meta/0028_snapshot.json +6710 -0
  123. package/dist/migrations/meta/0029_snapshot.json +7899 -0
  124. package/dist/migrations/meta/0030_snapshot.json +8003 -0
  125. package/dist/migrations/meta/0031_snapshot.json +7242 -0
  126. package/dist/migrations/meta/0032_snapshot.json +7733 -0
  127. package/dist/migrations/meta/0033_snapshot.json +9038 -0
  128. package/dist/migrations/meta/0034_snapshot.json +9039 -0
  129. package/dist/migrations/meta/0035_snapshot.json +9959 -0
  130. package/dist/migrations/meta/0036_snapshot.json +10023 -0
  131. package/dist/migrations/meta/0037_snapshot.json +10263 -0
  132. package/dist/migrations/meta/0038_snapshot.json +11350 -0
  133. package/dist/migrations/meta/0039_snapshot.json +10308 -0
  134. package/dist/migrations/meta/0040_snapshot.json +10481 -0
  135. package/dist/migrations/meta/0041_snapshot.json +11393 -0
  136. package/dist/migrations/meta/0044_snapshot.json +11701 -0
  137. package/dist/migrations/meta/0045_snapshot.json +11857 -0
  138. package/dist/migrations/meta/0046_snapshot.json +11870 -0
  139. package/dist/migrations/meta/0047_snapshot.json +12539 -0
  140. package/dist/migrations/meta/0048_snapshot.json +12546 -0
  141. package/dist/migrations/meta/_journal.json +349 -0
  142. package/dist/migrations/migrations/0000_mature_masked_marvel.sql +208 -0
  143. package/dist/migrations/migrations/0001_fast_northstar.sql +87 -0
  144. package/dist/migrations/migrations/0002_big_zaladane.sql +1 -0
  145. package/dist/migrations/migrations/0003_shallow_quentin_quire.sql +5 -0
  146. package/dist/migrations/migrations/0004_issue_identifiers.sql +28 -0
  147. package/dist/migrations/migrations/0005_chief_luke_cage.sql +19 -0
  148. package/dist/migrations/migrations/0006_overjoyed_mister_sinister.sql +36 -0
  149. package/dist/migrations/migrations/0007_new_quentin_quire.sql +20 -0
  150. package/dist/migrations/migrations/0008_amused_zzzax.sql +1 -0
  151. package/dist/migrations/migrations/0009_fast_jackal.sql +36 -0
  152. package/dist/migrations/migrations/0010_stale_justin_hammer.sql +37 -0
  153. package/dist/migrations/migrations/0011_windy_corsair.sql +18 -0
  154. package/dist/migrations/migrations/0012_perpetual_ser_duncan.sql +2 -0
  155. package/dist/migrations/migrations/0013_dashing_wasp.sql +4 -0
  156. package/dist/migrations/migrations/0014_many_mikhail_rasputin.sql +135 -0
  157. package/dist/migrations/migrations/0015_project_color_archived.sql +2 -0
  158. package/dist/migrations/migrations/0016_agent_icon.sql +1 -0
  159. package/dist/migrations/migrations/0017_tiresome_gabe_jones.sql +51 -0
  160. package/dist/migrations/migrations/0018_flat_sleepwalker.sql +26 -0
  161. package/dist/migrations/migrations/0019_public_victor_mancha.sql +18 -0
  162. package/dist/migrations/migrations/0020_white_anita_blake.sql +1 -0
  163. package/dist/migrations/migrations/0021_chief_vindicator.sql +1 -0
  164. package/dist/migrations/migrations/0022_company_brand_color.sql +1 -0
  165. package/dist/migrations/migrations/0023_fair_lethal_legion.sql +3 -0
  166. package/dist/migrations/migrations/0024_far_beast.sql +2 -0
  167. package/dist/migrations/migrations/0025_nasty_salo.sql +15 -0
  168. package/dist/migrations/migrations/0026_lying_pete_wisdom.sql +39 -0
  169. package/dist/migrations/migrations/0027_tranquil_tenebrous.sql +2 -0
  170. package/dist/migrations/migrations/0028_harsh_goliath.sql +54 -0
  171. package/dist/migrations/migrations/0029_plugin_tables.sql +177 -0
  172. package/dist/migrations/migrations/0030_rich_magneto.sql +12 -0
  173. package/dist/migrations/migrations/0031_zippy_magma.sql +51 -0
  174. package/dist/migrations/migrations/0032_pretty_doctor_octopus.sql +102 -0
  175. package/dist/migrations/migrations/0033_shiny_black_tarantula.sql +2 -0
  176. package/dist/migrations/migrations/0034_fat_dormammu.sql +2 -0
  177. package/dist/migrations/migrations/0035_marvelous_satana.sql +91 -0
  178. package/dist/migrations/migrations/0036_cheerful_nitro.sql +9 -0
  179. package/dist/migrations/migrations/0037_friendly_eddie_brock.sql +29 -0
  180. package/dist/migrations/migrations/0038_careless_iron_monger.sql +5 -0
  181. package/dist/migrations/migrations/0039_fat_magneto.sql +161 -0
  182. package/dist/migrations/migrations/0040_eager_shotgun.sql +5 -0
  183. package/dist/migrations/migrations/0041_curly_maria_hill.sql +1 -0
  184. package/dist/migrations/migrations/0042_spotty_the_renegades.sql +26 -0
  185. package/dist/migrations/migrations/0043_reflective_captain_universe.sql +6 -0
  186. package/dist/migrations/migrations/0044_illegal_toad.sql +56 -0
  187. package/dist/migrations/migrations/0045_workable_shockwave.sql +17 -0
  188. package/dist/migrations/migrations/0046_smooth_sentinels.sql +11 -0
  189. package/dist/migrations/migrations/0047_overjoyed_groot.sql +102 -0
  190. package/dist/migrations/migrations/0048_flashy_marrow.sql +1 -0
  191. package/dist/migrations/migrations/meta/0000_snapshot.json +1743 -0
  192. package/dist/migrations/migrations/meta/0001_snapshot.json +2441 -0
  193. package/dist/migrations/migrations/meta/0002_snapshot.json +2454 -0
  194. package/dist/migrations/migrations/meta/0003_snapshot.json +2502 -0
  195. package/dist/migrations/migrations/meta/0005_snapshot.json +2719 -0
  196. package/dist/migrations/migrations/meta/0006_snapshot.json +3048 -0
  197. package/dist/migrations/migrations/meta/0007_snapshot.json +3258 -0
  198. package/dist/migrations/migrations/meta/0008_snapshot.json +3264 -0
  199. package/dist/migrations/migrations/meta/0009_snapshot.json +3587 -0
  200. package/dist/migrations/migrations/meta/0010_snapshot.json +3929 -0
  201. package/dist/migrations/migrations/meta/0011_snapshot.json +4068 -0
  202. package/dist/migrations/migrations/meta/0012_snapshot.json +4087 -0
  203. package/dist/migrations/migrations/meta/0013_snapshot.json +4118 -0
  204. package/dist/migrations/migrations/meta/0014_snapshot.json +5187 -0
  205. package/dist/migrations/migrations/meta/0017_snapshot.json +5215 -0
  206. package/dist/migrations/migrations/meta/0018_snapshot.json +5450 -0
  207. package/dist/migrations/migrations/meta/0019_snapshot.json +5603 -0
  208. package/dist/migrations/migrations/meta/0020_snapshot.json +5603 -0
  209. package/dist/migrations/migrations/meta/0021_snapshot.json +5609 -0
  210. package/dist/migrations/migrations/meta/0023_snapshot.json +5633 -0
  211. package/dist/migrations/migrations/meta/0024_snapshot.json +5693 -0
  212. package/dist/migrations/migrations/meta/0025_snapshot.json +5849 -0
  213. package/dist/migrations/migrations/meta/0027_snapshot.json +6205 -0
  214. package/dist/migrations/migrations/meta/0028_snapshot.json +6710 -0
  215. package/dist/migrations/migrations/meta/0029_snapshot.json +7899 -0
  216. package/dist/migrations/migrations/meta/0030_snapshot.json +8003 -0
  217. package/dist/migrations/migrations/meta/0031_snapshot.json +7242 -0
  218. package/dist/migrations/migrations/meta/0032_snapshot.json +7733 -0
  219. package/dist/migrations/migrations/meta/0033_snapshot.json +9038 -0
  220. package/dist/migrations/migrations/meta/0034_snapshot.json +9039 -0
  221. package/dist/migrations/migrations/meta/0035_snapshot.json +9959 -0
  222. package/dist/migrations/migrations/meta/0036_snapshot.json +10023 -0
  223. package/dist/migrations/migrations/meta/0037_snapshot.json +10263 -0
  224. package/dist/migrations/migrations/meta/0038_snapshot.json +11350 -0
  225. package/dist/migrations/migrations/meta/0039_snapshot.json +10308 -0
  226. package/dist/migrations/migrations/meta/0040_snapshot.json +10481 -0
  227. package/dist/migrations/migrations/meta/0041_snapshot.json +11393 -0
  228. package/dist/migrations/migrations/meta/0044_snapshot.json +11701 -0
  229. package/dist/migrations/migrations/meta/0045_snapshot.json +11857 -0
  230. package/dist/migrations/migrations/meta/0046_snapshot.json +11870 -0
  231. package/dist/migrations/migrations/meta/0047_snapshot.json +12539 -0
  232. package/dist/migrations/migrations/meta/0048_snapshot.json +12546 -0
  233. package/dist/migrations/migrations/meta/_journal.json +349 -0
  234. package/dist/runtime-config.d.ts +16 -0
  235. package/dist/runtime-config.d.ts.map +1 -0
  236. package/dist/runtime-config.js +197 -0
  237. package/dist/runtime-config.js.map +1 -0
  238. package/dist/runtime-config.test.d.ts +2 -0
  239. package/dist/runtime-config.test.d.ts.map +1 -0
  240. package/dist/runtime-config.test.js +93 -0
  241. package/dist/runtime-config.test.js.map +1 -0
  242. package/dist/schema/activity_log.d.ts +197 -0
  243. package/dist/schema/activity_log.d.ts.map +1 -0
  244. package/dist/schema/activity_log.js +22 -0
  245. package/dist/schema/activity_log.js.map +1 -0
  246. package/dist/schema/agent_api_keys.d.ts +144 -0
  247. package/dist/schema/agent_api_keys.d.ts.map +1 -0
  248. package/dist/schema/agent_api_keys.js +17 -0
  249. package/dist/schema/agent_api_keys.js.map +1 -0
  250. package/dist/schema/agent_config_revisions.d.ts +201 -0
  251. package/dist/schema/agent_config_revisions.d.ts.map +1 -0
  252. package/dist/schema/agent_config_revisions.js +20 -0
  253. package/dist/schema/agent_config_revisions.js.map +1 -0
  254. package/dist/schema/agent_runtime_state.d.ts +248 -0
  255. package/dist/schema/agent_runtime_state.d.ts.map +1 -0
  256. package/dist/schema/agent_runtime_state.js +23 -0
  257. package/dist/schema/agent_runtime_state.js.map +1 -0
  258. package/dist/schema/agent_task_sessions.d.ts +197 -0
  259. package/dist/schema/agent_task_sessions.d.ts.map +1 -0
  260. package/dist/schema/agent_task_sessions.js +22 -0
  261. package/dist/schema/agent_task_sessions.js.map +1 -0
  262. package/dist/schema/agent_wakeup_requests.d.ts +333 -0
  263. package/dist/schema/agent_wakeup_requests.d.ts.map +1 -0
  264. package/dist/schema/agent_wakeup_requests.js +29 -0
  265. package/dist/schema/agent_wakeup_requests.js.map +1 -0
  266. package/dist/schema/agents.d.ts +373 -0
  267. package/dist/schema/agents.d.ts.map +1 -0
  268. package/dist/schema/agents.js +29 -0
  269. package/dist/schema/agents.js.map +1 -0
  270. package/dist/schema/approval_comments.d.ts +144 -0
  271. package/dist/schema/approval_comments.d.ts.map +1 -0
  272. package/dist/schema/approval_comments.js +19 -0
  273. package/dist/schema/approval_comments.js.map +1 -0
  274. package/dist/schema/approvals.d.ts +214 -0
  275. package/dist/schema/approvals.d.ts.map +1 -0
  276. package/dist/schema/approvals.js +20 -0
  277. package/dist/schema/approvals.js.map +1 -0
  278. package/dist/schema/assets.d.ts +212 -0
  279. package/dist/schema/assets.d.ts.map +1 -0
  280. package/dist/schema/assets.js +22 -0
  281. package/dist/schema/assets.js.map +1 -0
  282. package/dist/schema/auth.d.ts +607 -0
  283. package/dist/schema/auth.d.ts.map +1 -0
  284. package/dist/schema/auth.js +44 -0
  285. package/dist/schema/auth.js.map +1 -0
  286. package/dist/schema/board_api_keys.d.ts +144 -0
  287. package/dist/schema/board_api_keys.d.ts.map +1 -0
  288. package/dist/schema/board_api_keys.js +16 -0
  289. package/dist/schema/board_api_keys.js.map +1 -0
  290. package/dist/schema/budget_incidents.d.ts +297 -0
  291. package/dist/schema/budget_incidents.d.ts.map +1 -0
  292. package/dist/schema/budget_incidents.js +29 -0
  293. package/dist/schema/budget_incidents.js.map +1 -0
  294. package/dist/schema/budget_policies.d.ts +263 -0
  295. package/dist/schema/budget_policies.d.ts.map +1 -0
  296. package/dist/schema/budget_policies.js +24 -0
  297. package/dist/schema/budget_policies.js.map +1 -0
  298. package/dist/schema/cli_auth_challenges.d.ts +263 -0
  299. package/dist/schema/cli_auth_challenges.d.ts.map +1 -0
  300. package/dist/schema/cli_auth_challenges.js +26 -0
  301. package/dist/schema/cli_auth_challenges.js.map +1 -0
  302. package/dist/schema/companies.d.ts +314 -0
  303. package/dist/schema/companies.d.ts.map +1 -0
  304. package/dist/schema/companies.js +28 -0
  305. package/dist/schema/companies.js.map +1 -0
  306. package/dist/schema/company_logos.d.ts +93 -0
  307. package/dist/schema/company_logos.d.ts.map +1 -0
  308. package/dist/schema/company_logos.js +14 -0
  309. package/dist/schema/company_logos.js.map +1 -0
  310. package/dist/schema/company_memberships.d.ts +144 -0
  311. package/dist/schema/company_memberships.d.ts.map +1 -0
  312. package/dist/schema/company_memberships.js +17 -0
  313. package/dist/schema/company_memberships.js.map +1 -0
  314. package/dist/schema/company_secret_versions.d.ts +163 -0
  315. package/dist/schema/company_secret_versions.d.ts.map +1 -0
  316. package/dist/schema/company_secret_versions.js +19 -0
  317. package/dist/schema/company_secret_versions.js.map +1 -0
  318. package/dist/schema/company_secrets.d.ts +195 -0
  319. package/dist/schema/company_secrets.d.ts.map +1 -0
  320. package/dist/schema/company_secrets.js +21 -0
  321. package/dist/schema/company_secrets.js.map +1 -0
  322. package/dist/schema/company_skills.d.ts +284 -0
  323. package/dist/schema/company_skills.d.ts.map +1 -0
  324. package/dist/schema/company_skills.js +24 -0
  325. package/dist/schema/company_skills.js.map +1 -0
  326. package/dist/schema/cost_events.d.ts +314 -0
  327. package/dist/schema/cost_events.d.ts.map +1 -0
  328. package/dist/schema/cost_events.js +34 -0
  329. package/dist/schema/cost_events.js.map +1 -0
  330. package/dist/schema/document_revisions.d.ts +212 -0
  331. package/dist/schema/document_revisions.d.ts.map +1 -0
  332. package/dist/schema/document_revisions.js +23 -0
  333. package/dist/schema/document_revisions.js.map +1 -0
  334. package/dist/schema/documents.d.ts +229 -0
  335. package/dist/schema/documents.d.ts.map +1 -0
  336. package/dist/schema/documents.js +22 -0
  337. package/dist/schema/documents.js.map +1 -0
  338. package/dist/schema/execution_workspaces.d.ts +418 -0
  339. package/dist/schema/execution_workspaces.d.ts.map +1 -0
  340. package/dist/schema/execution_workspaces.js +39 -0
  341. package/dist/schema/execution_workspaces.js.map +1 -0
  342. package/dist/schema/feedback_exports.d.ts +450 -0
  343. package/dist/schema/feedback_exports.d.ts.map +1 -0
  344. package/dist/schema/feedback_exports.js +41 -0
  345. package/dist/schema/feedback_exports.js.map +1 -0
  346. package/dist/schema/feedback_votes.d.ts +246 -0
  347. package/dist/schema/feedback_votes.d.ts.map +1 -0
  348. package/dist/schema/feedback_votes.js +25 -0
  349. package/dist/schema/feedback_votes.js.map +1 -0
  350. package/dist/schema/finance_events.d.ts +469 -0
  351. package/dist/schema/finance_events.d.ts.map +1 -0
  352. package/dist/schema/finance_events.js +45 -0
  353. package/dist/schema/finance_events.js.map +1 -0
  354. package/dist/schema/goals.d.ts +178 -0
  355. package/dist/schema/goals.d.ts.map +1 -0
  356. package/dist/schema/goals.js +18 -0
  357. package/dist/schema/goals.js.map +1 -0
  358. package/dist/schema/heartbeat_run_events.d.ts +214 -0
  359. package/dist/schema/heartbeat_run_events.d.ts.map +1 -0
  360. package/dist/schema/heartbeat_run_events.js +23 -0
  361. package/dist/schema/heartbeat_run_events.js.map +1 -0
  362. package/dist/schema/heartbeat_runs.d.ts +558 -0
  363. package/dist/schema/heartbeat_runs.d.ts.map +1 -0
  364. package/dist/schema/heartbeat_runs.js +43 -0
  365. package/dist/schema/heartbeat_runs.js.map +1 -0
  366. package/dist/schema/index.d.ts +61 -0
  367. package/dist/schema/index.d.ts.map +1 -0
  368. package/dist/schema/index.js +61 -0
  369. package/dist/schema/index.js.map +1 -0
  370. package/dist/schema/instance_settings.d.ts +114 -0
  371. package/dist/schema/instance_settings.d.ts.map +1 -0
  372. package/dist/schema/instance_settings.js +12 -0
  373. package/dist/schema/instance_settings.js.map +1 -0
  374. package/dist/schema/instance_user_roles.d.ts +93 -0
  375. package/dist/schema/instance_user_roles.d.ts.map +1 -0
  376. package/dist/schema/instance_user_roles.js +12 -0
  377. package/dist/schema/instance_user_roles.js.map +1 -0
  378. package/dist/schema/invites.d.ts +214 -0
  379. package/dist/schema/invites.d.ts.map +1 -0
  380. package/dist/schema/invites.js +20 -0
  381. package/dist/schema/invites.js.map +1 -0
  382. package/dist/schema/issue_approvals.d.ts +110 -0
  383. package/dist/schema/issue_approvals.d.ts.map +1 -0
  384. package/dist/schema/issue_approvals.js +19 -0
  385. package/dist/schema/issue_approvals.js.map +1 -0
  386. package/dist/schema/issue_attachments.d.ts +127 -0
  387. package/dist/schema/issue_attachments.d.ts.map +1 -0
  388. package/dist/schema/issue_attachments.js +19 -0
  389. package/dist/schema/issue_attachments.js.map +1 -0
  390. package/dist/schema/issue_comments.d.ts +161 -0
  391. package/dist/schema/issue_comments.d.ts.map +1 -0
  392. package/dist/schema/issue_comments.js +22 -0
  393. package/dist/schema/issue_comments.js.map +1 -0
  394. package/dist/schema/issue_documents.d.ts +127 -0
  395. package/dist/schema/issue_documents.d.ts.map +1 -0
  396. package/dist/schema/issue_documents.js +18 -0
  397. package/dist/schema/issue_documents.js.map +1 -0
  398. package/dist/schema/issue_inbox_archives.d.ts +127 -0
  399. package/dist/schema/issue_inbox_archives.d.ts.map +1 -0
  400. package/dist/schema/issue_inbox_archives.js +17 -0
  401. package/dist/schema/issue_inbox_archives.js.map +1 -0
  402. package/dist/schema/issue_labels.d.ts +76 -0
  403. package/dist/schema/issue_labels.d.ts.map +1 -0
  404. package/dist/schema/issue_labels.js +16 -0
  405. package/dist/schema/issue_labels.js.map +1 -0
  406. package/dist/schema/issue_read_states.d.ts +127 -0
  407. package/dist/schema/issue_read_states.d.ts.map +1 -0
  408. package/dist/schema/issue_read_states.js +17 -0
  409. package/dist/schema/issue_read_states.js.map +1 -0
  410. package/dist/schema/issue_work_products.d.ts +350 -0
  411. package/dist/schema/issue_work_products.d.ts.map +1 -0
  412. package/dist/schema/issue_work_products.js +37 -0
  413. package/dist/schema/issue_work_products.js.map +1 -0
  414. package/dist/schema/issues.d.ts +607 -0
  415. package/dist/schema/issues.d.ts.map +1 -0
  416. package/dist/schema/issues.js +65 -0
  417. package/dist/schema/issues.js.map +1 -0
  418. package/dist/schema/join_requests.d.ts +384 -0
  419. package/dist/schema/join_requests.d.ts.map +1 -0
  420. package/dist/schema/join_requests.js +32 -0
  421. package/dist/schema/join_requests.js.map +1 -0
  422. package/dist/schema/labels.d.ts +110 -0
  423. package/dist/schema/labels.d.ts.map +1 -0
  424. package/dist/schema/labels.js +14 -0
  425. package/dist/schema/labels.js.map +1 -0
  426. package/dist/schema/plugin_company_settings.d.ts +158 -0
  427. package/dist/schema/plugin_company_settings.d.ts.map +1 -0
  428. package/dist/schema/plugin_company_settings.js +34 -0
  429. package/dist/schema/plugin_company_settings.js.map +1 -0
  430. package/dist/schema/plugin_config.d.ts +123 -0
  431. package/dist/schema/plugin_config.d.ts.map +1 -0
  432. package/dist/schema/plugin_config.js +26 -0
  433. package/dist/schema/plugin_config.js.map +1 -0
  434. package/dist/schema/plugin_entities.d.ts +213 -0
  435. package/dist/schema/plugin_entities.d.ts.map +1 -0
  436. package/dist/schema/plugin_entities.js +37 -0
  437. package/dist/schema/plugin_entities.js.map +1 -0
  438. package/dist/schema/plugin_jobs.d.ts +392 -0
  439. package/dist/schema/plugin_jobs.d.ts.map +1 -0
  440. package/dist/schema/plugin_jobs.js +83 -0
  441. package/dist/schema/plugin_jobs.js.map +1 -0
  442. package/dist/schema/plugin_logs.d.ts +125 -0
  443. package/dist/schema/plugin_logs.d.ts.map +1 -0
  444. package/dist/schema/plugin_logs.js +29 -0
  445. package/dist/schema/plugin_logs.js.map +1 -0
  446. package/dist/schema/plugin_state.d.ts +169 -0
  447. package/dist/schema/plugin_state.d.ts.map +1 -0
  448. package/dist/schema/plugin_state.js +68 -0
  449. package/dist/schema/plugin_state.js.map +1 -0
  450. package/dist/schema/plugin_webhooks.d.ts +239 -0
  451. package/dist/schema/plugin_webhooks.d.ts.map +1 -0
  452. package/dist/schema/plugin_webhooks.js +52 -0
  453. package/dist/schema/plugin_webhooks.js.map +1 -0
  454. package/dist/schema/plugins.d.ts +246 -0
  455. package/dist/schema/plugins.d.ts.map +1 -0
  456. package/dist/schema/plugins.js +31 -0
  457. package/dist/schema/plugins.js.map +1 -0
  458. package/dist/schema/principal_permission_grants.d.ts +163 -0
  459. package/dist/schema/principal_permission_grants.d.ts.map +1 -0
  460. package/dist/schema/principal_permission_grants.js +17 -0
  461. package/dist/schema/principal_permission_grants.js.map +1 -0
  462. package/dist/schema/project_goals.d.ts +93 -0
  463. package/dist/schema/project_goals.d.ts.map +1 -0
  464. package/dist/schema/project_goals.js +17 -0
  465. package/dist/schema/project_goals.js.map +1 -0
  466. package/dist/schema/project_workspaces.d.ts +333 -0
  467. package/dist/schema/project_workspaces.d.ts.map +1 -0
  468. package/dist/schema/project_workspaces.js +32 -0
  469. package/dist/schema/project_workspaces.js.map +1 -0
  470. package/dist/schema/projects.d.ts +265 -0
  471. package/dist/schema/projects.d.ts.map +1 -0
  472. package/dist/schema/projects.js +24 -0
  473. package/dist/schema/projects.js.map +1 -0
  474. package/dist/schema/routines.d.ts +1013 -0
  475. package/dist/schema/routines.d.ts.map +1 -0
  476. package/dist/schema/routines.js +87 -0
  477. package/dist/schema/routines.js.map +1 -0
  478. package/dist/schema/workspace_operations.d.ts +367 -0
  479. package/dist/schema/workspace_operations.d.ts.map +1 -0
  480. package/dist/schema/workspace_operations.js +35 -0
  481. package/dist/schema/workspace_operations.js.map +1 -0
  482. package/dist/schema/workspace_runtime_services.d.ts +469 -0
  483. package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
  484. package/dist/schema/workspace_runtime_services.js +44 -0
  485. package/dist/schema/workspace_runtime_services.js.map +1 -0
  486. package/dist/seed.d.ts +2 -0
  487. package/dist/seed.d.ts.map +1 -0
  488. package/dist/seed.js +91 -0
  489. package/dist/seed.js.map +1 -0
  490. package/dist/test-embedded-postgres.d.ts +11 -0
  491. package/dist/test-embedded-postgres.d.ts.map +1 -0
  492. package/dist/test-embedded-postgres.js +111 -0
  493. package/dist/test-embedded-postgres.js.map +1 -0
  494. package/package.json +54 -0
@@ -0,0 +1,298 @@
1
+ import { createHash } from "node:crypto";
2
+ import fs from "node:fs";
3
+ import { afterEach, describe, expect, it } from "vitest";
4
+ import postgres from "postgres";
5
+ import { applyPendingMigrations, inspectMigrations, } from "./client.js";
6
+ import { getEmbeddedPostgresTestSupport, startEmbeddedPostgresTestDatabase, } from "./test-embedded-postgres.js";
7
+ const cleanups = [];
8
+ const embeddedPostgresSupport = await getEmbeddedPostgresTestSupport();
9
+ const describeEmbeddedPostgres = embeddedPostgresSupport.supported ? describe : describe.skip;
10
+ async function createTempDatabase() {
11
+ const db = await startEmbeddedPostgresTestDatabase("zmeel-db-client-");
12
+ cleanups.push(db.cleanup);
13
+ return db.connectionString;
14
+ }
15
+ async function migrationHash(migrationFile) {
16
+ const content = await fs.promises.readFile(new URL(`./migrations/${migrationFile}`, import.meta.url), "utf8");
17
+ return createHash("sha256").update(content).digest("hex");
18
+ }
19
+ afterEach(async () => {
20
+ while (cleanups.length > 0) {
21
+ const cleanup = cleanups.pop();
22
+ await cleanup?.();
23
+ }
24
+ });
25
+ if (!embeddedPostgresSupport.supported) {
26
+ console.warn(`Skipping embedded Postgres migration tests on this host: ${embeddedPostgresSupport.reason ?? "unsupported environment"}`);
27
+ }
28
+ describeEmbeddedPostgres("applyPendingMigrations", () => {
29
+ it("applies an inserted earlier migration without replaying later legacy migrations", async () => {
30
+ const connectionString = await createTempDatabase();
31
+ await applyPendingMigrations(connectionString);
32
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
33
+ try {
34
+ const richMagnetoHash = await migrationHash("0030_rich_magneto.sql");
35
+ await sql.unsafe(`DELETE FROM "drizzle"."__drizzle_migrations" WHERE hash = '${richMagnetoHash}'`);
36
+ await sql.unsafe(`DROP TABLE "company_logos"`);
37
+ }
38
+ finally {
39
+ await sql.end();
40
+ }
41
+ const pendingState = await inspectMigrations(connectionString);
42
+ expect(pendingState).toMatchObject({
43
+ status: "needsMigrations",
44
+ pendingMigrations: ["0030_rich_magneto.sql"],
45
+ reason: "pending-migrations",
46
+ });
47
+ await applyPendingMigrations(connectionString);
48
+ const finalState = await inspectMigrations(connectionString);
49
+ expect(finalState.status).toBe("upToDate");
50
+ const verifySql = postgres(connectionString, { max: 1, onnotice: () => { } });
51
+ try {
52
+ const rows = await verifySql.unsafe(`
53
+ SELECT table_name
54
+ FROM information_schema.tables
55
+ WHERE table_schema = 'public'
56
+ AND table_name IN ('company_logos', 'execution_workspaces')
57
+ ORDER BY table_name
58
+ `);
59
+ expect(rows.map((row) => row.table_name)).toEqual([
60
+ "company_logos",
61
+ "execution_workspaces",
62
+ ]);
63
+ }
64
+ finally {
65
+ await verifySql.end();
66
+ }
67
+ }, 20_000);
68
+ it("replays migration 0044 safely when its schema changes already exist", async () => {
69
+ const connectionString = await createTempDatabase();
70
+ await applyPendingMigrations(connectionString);
71
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
72
+ try {
73
+ const illegalToadHash = await migrationHash("0044_illegal_toad.sql");
74
+ await sql.unsafe(`DELETE FROM "drizzle"."__drizzle_migrations" WHERE hash = '${illegalToadHash}'`);
75
+ const columns = await sql.unsafe(`
76
+ SELECT column_name
77
+ FROM information_schema.columns
78
+ WHERE table_schema = 'public'
79
+ AND table_name = 'instance_settings'
80
+ AND column_name = 'general'
81
+ `);
82
+ expect(columns).toHaveLength(1);
83
+ }
84
+ finally {
85
+ await sql.end();
86
+ }
87
+ const pendingState = await inspectMigrations(connectionString);
88
+ expect(pendingState).toMatchObject({
89
+ status: "needsMigrations",
90
+ pendingMigrations: ["0044_illegal_toad.sql"],
91
+ reason: "pending-migrations",
92
+ });
93
+ await applyPendingMigrations(connectionString);
94
+ const finalState = await inspectMigrations(connectionString);
95
+ expect(finalState.status).toBe("upToDate");
96
+ }, 20_000);
97
+ it("enforces a unique board_api_keys.key_hash after migration 0044", async () => {
98
+ const connectionString = await createTempDatabase();
99
+ await applyPendingMigrations(connectionString);
100
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
101
+ try {
102
+ await sql.unsafe(`
103
+ INSERT INTO "user" ("id", "name", "email", "email_verified", "created_at", "updated_at")
104
+ VALUES ('user-1', 'User One', 'user@example.com', true, now(), now())
105
+ `);
106
+ await sql.unsafe(`
107
+ INSERT INTO "board_api_keys" ("id", "user_id", "name", "key_hash", "created_at")
108
+ VALUES ('00000000-0000-0000-0000-000000000001', 'user-1', 'Key One', 'dup-hash', now())
109
+ `);
110
+ await expect(sql.unsafe(`
111
+ INSERT INTO "board_api_keys" ("id", "user_id", "name", "key_hash", "created_at")
112
+ VALUES ('00000000-0000-0000-0000-000000000002', 'user-1', 'Key Two', 'dup-hash', now())
113
+ `)).rejects.toThrow();
114
+ }
115
+ finally {
116
+ await sql.end();
117
+ }
118
+ }, 20_000);
119
+ it("replays migration 0046 safely when document revision columns already exist", async () => {
120
+ const connectionString = await createTempDatabase();
121
+ await applyPendingMigrations(connectionString);
122
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
123
+ try {
124
+ const smoothSentinelsHash = await migrationHash("0046_smooth_sentinels.sql");
125
+ await sql.unsafe(`DELETE FROM "drizzle"."__drizzle_migrations" WHERE hash = '${smoothSentinelsHash}'`);
126
+ const columns = await sql.unsafe(`
127
+ SELECT column_name, is_nullable, column_default
128
+ FROM information_schema.columns
129
+ WHERE table_schema = 'public'
130
+ AND table_name = 'document_revisions'
131
+ AND column_name IN ('title', 'format')
132
+ ORDER BY column_name
133
+ `);
134
+ expect(columns).toHaveLength(2);
135
+ }
136
+ finally {
137
+ await sql.end();
138
+ }
139
+ const pendingState = await inspectMigrations(connectionString);
140
+ expect(pendingState).toMatchObject({
141
+ status: "needsMigrations",
142
+ pendingMigrations: ["0046_smooth_sentinels.sql"],
143
+ reason: "pending-migrations",
144
+ });
145
+ await applyPendingMigrations(connectionString);
146
+ const finalState = await inspectMigrations(connectionString);
147
+ expect(finalState.status).toBe("upToDate");
148
+ const verifySql = postgres(connectionString, { max: 1, onnotice: () => { } });
149
+ try {
150
+ const columns = await verifySql.unsafe(`
151
+ SELECT column_name, is_nullable, column_default
152
+ FROM information_schema.columns
153
+ WHERE table_schema = 'public'
154
+ AND table_name = 'document_revisions'
155
+ AND column_name IN ('title', 'format')
156
+ ORDER BY column_name
157
+ `);
158
+ expect(columns).toEqual([
159
+ expect.objectContaining({
160
+ column_name: "format",
161
+ is_nullable: "NO",
162
+ }),
163
+ expect.objectContaining({
164
+ column_name: "title",
165
+ is_nullable: "YES",
166
+ }),
167
+ ]);
168
+ expect(columns[0]?.column_default).toContain("'markdown'");
169
+ }
170
+ finally {
171
+ await verifySql.end();
172
+ }
173
+ }, 20_000);
174
+ it("replays migration 0047 safely when feedback tables and run columns already exist", async () => {
175
+ const connectionString = await createTempDatabase();
176
+ await applyPendingMigrations(connectionString);
177
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
178
+ try {
179
+ const overjoyedGrootHash = await migrationHash("0047_overjoyed_groot.sql");
180
+ await sql.unsafe(`DELETE FROM "drizzle"."__drizzle_migrations" WHERE hash = '${overjoyedGrootHash}'`);
181
+ const tables = await sql.unsafe(`
182
+ SELECT table_name
183
+ FROM information_schema.tables
184
+ WHERE table_schema = 'public'
185
+ AND table_name IN ('feedback_exports', 'feedback_votes')
186
+ ORDER BY table_name
187
+ `);
188
+ expect(tables.map((row) => row.table_name)).toEqual([
189
+ "feedback_exports",
190
+ "feedback_votes",
191
+ ]);
192
+ const columns = await sql.unsafe(`
193
+ SELECT table_name, column_name
194
+ FROM information_schema.columns
195
+ WHERE table_schema = 'public'
196
+ AND (
197
+ (table_name = 'companies' AND column_name IN (
198
+ 'feedback_data_sharing_enabled',
199
+ 'feedback_data_sharing_consent_at',
200
+ 'feedback_data_sharing_consent_by_user_id',
201
+ 'feedback_data_sharing_terms_version'
202
+ ))
203
+ OR (table_name = 'document_revisions' AND column_name = 'created_by_run_id')
204
+ OR (table_name = 'issue_comments' AND column_name = 'created_by_run_id')
205
+ )
206
+ ORDER BY table_name, column_name
207
+ `);
208
+ expect(columns).toHaveLength(6);
209
+ }
210
+ finally {
211
+ await sql.end();
212
+ }
213
+ const pendingState = await inspectMigrations(connectionString);
214
+ expect(pendingState).toMatchObject({
215
+ status: "needsMigrations",
216
+ pendingMigrations: ["0047_overjoyed_groot.sql"],
217
+ reason: "pending-migrations",
218
+ });
219
+ await applyPendingMigrations(connectionString);
220
+ const finalState = await inspectMigrations(connectionString);
221
+ expect(finalState.status).toBe("upToDate");
222
+ const verifySql = postgres(connectionString, { max: 1, onnotice: () => { } });
223
+ try {
224
+ const constraints = await verifySql.unsafe(`
225
+ SELECT conname
226
+ FROM pg_constraint
227
+ WHERE conname IN (
228
+ 'feedback_exports_company_id_companies_id_fk',
229
+ 'feedback_exports_feedback_vote_id_feedback_votes_id_fk',
230
+ 'feedback_exports_issue_id_issues_id_fk',
231
+ 'feedback_votes_company_id_companies_id_fk',
232
+ 'feedback_votes_issue_id_issues_id_fk'
233
+ )
234
+ ORDER BY conname
235
+ `);
236
+ expect(constraints.map((row) => row.conname)).toEqual([
237
+ "feedback_exports_company_id_companies_id_fk",
238
+ "feedback_exports_feedback_vote_id_feedback_votes_id_fk",
239
+ "feedback_exports_issue_id_issues_id_fk",
240
+ "feedback_votes_company_id_companies_id_fk",
241
+ "feedback_votes_issue_id_issues_id_fk",
242
+ ]);
243
+ }
244
+ finally {
245
+ await verifySql.end();
246
+ }
247
+ }, 20_000);
248
+ it("replays migration 0048 safely when routines.variables already exists", async () => {
249
+ const connectionString = await createTempDatabase();
250
+ await applyPendingMigrations(connectionString);
251
+ const sql = postgres(connectionString, { max: 1, onnotice: () => { } });
252
+ try {
253
+ const flashyMarrowHash = await migrationHash("0048_flashy_marrow.sql");
254
+ await sql.unsafe(`DELETE FROM "drizzle"."__drizzle_migrations" WHERE hash = '${flashyMarrowHash}'`);
255
+ const columns = await sql.unsafe(`
256
+ SELECT column_name
257
+ FROM information_schema.columns
258
+ WHERE table_schema = 'public'
259
+ AND table_name = 'routines'
260
+ AND column_name = 'variables'
261
+ `);
262
+ expect(columns).toHaveLength(1);
263
+ }
264
+ finally {
265
+ await sql.end();
266
+ }
267
+ const pendingState = await inspectMigrations(connectionString);
268
+ expect(pendingState).toMatchObject({
269
+ status: "needsMigrations",
270
+ pendingMigrations: ["0048_flashy_marrow.sql"],
271
+ reason: "pending-migrations",
272
+ });
273
+ await applyPendingMigrations(connectionString);
274
+ const finalState = await inspectMigrations(connectionString);
275
+ expect(finalState.status).toBe("upToDate");
276
+ const verifySql = postgres(connectionString, { max: 1, onnotice: () => { } });
277
+ try {
278
+ const columns = await verifySql.unsafe(`
279
+ SELECT column_name, is_nullable, data_type
280
+ FROM information_schema.columns
281
+ WHERE table_schema = 'public'
282
+ AND table_name = 'routines'
283
+ AND column_name = 'variables'
284
+ `);
285
+ expect(columns).toEqual([
286
+ expect.objectContaining({
287
+ column_name: "variables",
288
+ is_nullable: "NO",
289
+ data_type: "jsonb",
290
+ }),
291
+ ]);
292
+ }
293
+ finally {
294
+ await verifySql.end();
295
+ }
296
+ }, 20_000);
297
+ });
298
+ //# sourceMappingURL=client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function createEmbeddedPostgresLogBuffer(limit?: number): {
2
+ append(message: unknown): void;
3
+ getRecentLogs(): string[];
4
+ };
5
+ export declare function formatEmbeddedPostgresError(error: unknown, input: {
6
+ fallbackMessage: string;
7
+ recentLogs?: string[];
8
+ }): Error;
9
+ //# sourceMappingURL=embedded-postgres-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-postgres-error.d.ts","sourceRoot":"","sources":["../src/embedded-postgres-error.ts"],"names":[],"mappings":"AAqCA,wBAAgB,+BAA+B,CAAC,KAAK,SAA2B,GAAG;IACjF,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,aAAa,IAAI,MAAM,EAAE,CAAC;CAC3B,CAyBA;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE;IACL,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,GACA,KAAK,CAeP"}
@@ -0,0 +1,73 @@
1
+ const DEFAULT_RECENT_LOG_LIMIT = 40;
2
+ const RECENT_LOG_SUMMARY_LINES = 8;
3
+ function toError(error, fallbackMessage) {
4
+ if (error instanceof Error)
5
+ return error;
6
+ if (error === undefined)
7
+ return new Error(fallbackMessage);
8
+ if (typeof error === "string")
9
+ return new Error(`${fallbackMessage}: ${error}`);
10
+ try {
11
+ return new Error(`${fallbackMessage}: ${JSON.stringify(error)}`);
12
+ }
13
+ catch {
14
+ return new Error(`${fallbackMessage}: ${String(error)}`);
15
+ }
16
+ }
17
+ function summarizeRecentLogs(recentLogs) {
18
+ if (recentLogs.length === 0)
19
+ return null;
20
+ return recentLogs
21
+ .slice(-RECENT_LOG_SUMMARY_LINES)
22
+ .map((line) => line.trim())
23
+ .filter((line) => line.length > 0)
24
+ .join(" | ");
25
+ }
26
+ function detectEmbeddedPostgresHint(recentLogs) {
27
+ const haystack = recentLogs.join("\n").toLowerCase();
28
+ if (!haystack.includes("could not create shared memory segment")) {
29
+ return null;
30
+ }
31
+ return ("Embedded PostgreSQL bootstrap could not allocate shared memory. " +
32
+ "On macOS, this usually means the host's kern.sysv.shm* limits are too low for another local PostgreSQL cluster. " +
33
+ "Stop other local PostgreSQL servers or raise the shared-memory sysctls, then retry.");
34
+ }
35
+ export function createEmbeddedPostgresLogBuffer(limit = DEFAULT_RECENT_LOG_LIMIT) {
36
+ const recentLogs = [];
37
+ return {
38
+ append(message) {
39
+ const text = typeof message === "string"
40
+ ? message
41
+ : message instanceof Error
42
+ ? message.message
43
+ : String(message ?? "");
44
+ for (const rawLine of text.split(/\r?\n/)) {
45
+ const line = rawLine.trim();
46
+ if (!line)
47
+ continue;
48
+ recentLogs.push(line);
49
+ if (recentLogs.length > limit) {
50
+ recentLogs.splice(0, recentLogs.length - limit);
51
+ }
52
+ }
53
+ },
54
+ getRecentLogs() {
55
+ return [...recentLogs];
56
+ },
57
+ };
58
+ }
59
+ export function formatEmbeddedPostgresError(error, input) {
60
+ const baseError = toError(error, input.fallbackMessage);
61
+ const recentLogs = input.recentLogs ?? [];
62
+ const parts = [baseError.message];
63
+ const hint = detectEmbeddedPostgresHint(recentLogs);
64
+ const recentSummary = summarizeRecentLogs(recentLogs);
65
+ if (hint) {
66
+ parts.push(hint);
67
+ }
68
+ if (recentSummary) {
69
+ parts.push(`Recent embedded Postgres logs: ${recentSummary}`);
70
+ }
71
+ return new Error(parts.join(" "));
72
+ }
73
+ //# sourceMappingURL=embedded-postgres-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-postgres-error.js","sourceRoot":"","sources":["../src/embedded-postgres-error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=embedded-postgres-error.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-postgres-error.test.d.ts","sourceRoot":"","sources":["../src/embedded-postgres-error.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { createEmbeddedPostgresLogBuffer, formatEmbeddedPostgresError } from "./embedded-postgres-error.js";
3
+ describe("formatEmbeddedPostgresError", () => {
4
+ it("adds a shared-memory hint when initdb logs expose the real cause", () => {
5
+ const error = formatEmbeddedPostgresError("Postgres init script exited with code 1.", {
6
+ fallbackMessage: "Failed to initialize embedded PostgreSQL cluster",
7
+ recentLogs: [
8
+ "running bootstrap script ...",
9
+ "FATAL: could not create shared memory segment: Cannot allocate memory",
10
+ "DETAIL: Failed system call was shmget(key=123, size=56, 03600).",
11
+ ],
12
+ });
13
+ expect(error.message).toContain("could not allocate shared memory");
14
+ expect(error.message).toContain("kern.sysv.shm");
15
+ expect(error.message).toContain("could not create shared memory segment");
16
+ });
17
+ it("keeps only recent non-empty log lines in the collector", () => {
18
+ const buffer = createEmbeddedPostgresLogBuffer(2);
19
+ buffer.append("line one\n\n");
20
+ buffer.append("line two");
21
+ buffer.append("line three");
22
+ expect(buffer.getRecentLogs()).toEqual(["line two", "line three"]);
23
+ });
24
+ });
25
+ //# sourceMappingURL=embedded-postgres-error.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-postgres-error.test.js","sourceRoot":"","sources":["../src/embedded-postgres-error.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE5G,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAG,2BAA2B,CAAC,0CAA0C,EAAE;YACpF,eAAe,EAAE,kDAAkD;YACnE,UAAU,EAAE;gBACV,8BAA8B;gBAC9B,wEAAwE;gBACxE,kEAAkE;aACnE;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAG,+BAA+B,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { createDb, getPostgresDataDirectory, ensurePostgresDatabase, inspectMigrations, applyPendingMigrations, reconcilePendingMigrationHistory, type MigrationState, type MigrationHistoryReconcileResult, migratePostgresIfEmpty, type MigrationBootstrapResult, type Db, } from "./client.js";
2
+ export { getEmbeddedPostgresTestSupport, startEmbeddedPostgresTestDatabase, type EmbeddedPostgresTestDatabase, type EmbeddedPostgresTestSupport, } from "./test-embedded-postgres.js";
3
+ export { runDatabaseBackup, runDatabaseRestore, formatDatabaseBackupResult, type RunDatabaseBackupOptions, type RunDatabaseBackupResult, type RunDatabaseRestoreOptions, } from "./backup-lib.js";
4
+ export { createEmbeddedPostgresLogBuffer, formatEmbeddedPostgresError, } from "./embedded-postgres-error.js";
5
+ export * from "./schema/index.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAChC,KAAK,cAAc,EACnB,KAAK,+BAA+B,EACpC,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,EAAE,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export { createDb, getPostgresDataDirectory, ensurePostgresDatabase, inspectMigrations, applyPendingMigrations, reconcilePendingMigrationHistory, migratePostgresIfEmpty, } from "./client.js";
2
+ export { getEmbeddedPostgresTestSupport, startEmbeddedPostgresTestDatabase, } from "./test-embedded-postgres.js";
3
+ export { runDatabaseBackup, runDatabaseRestore, formatDatabaseBackupResult, } from "./backup-lib.js";
4
+ export { createEmbeddedPostgresLogBuffer, formatEmbeddedPostgresError, } from "./embedded-postgres-error.js";
5
+ export * from "./schema/index.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAGhC,sBAAsB,GAGvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAGlC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAI3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { applyPendingMigrations, inspectMigrations } from "./client.js";
2
+ import { resolveMigrationConnection } from "./migration-runtime.js";
3
+ async function main() {
4
+ const resolved = await resolveMigrationConnection();
5
+ console.log(`Migrating database via ${resolved.source}`);
6
+ try {
7
+ const before = await inspectMigrations(resolved.connectionString);
8
+ if (before.status === "upToDate") {
9
+ console.log("No pending migrations");
10
+ return;
11
+ }
12
+ console.log(`Applying ${before.pendingMigrations.length} pending migration(s)...`);
13
+ await applyPendingMigrations(resolved.connectionString);
14
+ const after = await inspectMigrations(resolved.connectionString);
15
+ if (after.status !== "upToDate") {
16
+ throw new Error(`Migrations incomplete: ${after.pendingMigrations.join(", ")}`);
17
+ }
18
+ console.log("Migrations complete");
19
+ }
20
+ finally {
21
+ await resolved.stop();
22
+ }
23
+ }
24
+ await main();
25
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE,KAAK,UAAU,IAAI;IACjB,MAAM,QAAQ,GAAG,MAAM,0BAA0B,EAAE,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,iBAAiB,CAAC,MAAM,0BAA0B,CAAC,CAAC;QACnF,MAAM,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,IAAI,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type MigrationConnection = {
2
+ connectionString: string;
3
+ source: string;
4
+ stop: () => Promise<void>;
5
+ };
6
+ export declare function resolveMigrationConnection(): Promise<MigrationConnection>;
7
+ //# sourceMappingURL=migration-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-runtime.d.ts","sourceRoot":"","sources":["../src/migration-runtime.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AA2JF,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAW/E"}