@tickernelz/paperclip-pro-db 2026.925.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 (1239) hide show
  1. package/dist/adapter-auth-sessions-schema.test.d.ts +2 -0
  2. package/dist/adapter-auth-sessions-schema.test.d.ts.map +1 -0
  3. package/dist/adapter-auth-sessions-schema.test.js +112 -0
  4. package/dist/adapter-auth-sessions-schema.test.js.map +1 -0
  5. package/dist/agent-chat-migration.test.d.ts +2 -0
  6. package/dist/agent-chat-migration.test.d.ts.map +1 -0
  7. package/dist/agent-chat-migration.test.js +111 -0
  8. package/dist/agent-chat-migration.test.js.map +1 -0
  9. package/dist/agent-wakeup-requests-schema.test.d.ts +2 -0
  10. package/dist/agent-wakeup-requests-schema.test.d.ts.map +1 -0
  11. package/dist/agent-wakeup-requests-schema.test.js +24 -0
  12. package/dist/agent-wakeup-requests-schema.test.js.map +1 -0
  13. package/dist/backup-lib.d.ts +42 -0
  14. package/dist/backup-lib.d.ts.map +1 -0
  15. package/dist/backup-lib.js +921 -0
  16. package/dist/backup-lib.js.map +1 -0
  17. package/dist/backup-lib.test.d.ts +2 -0
  18. package/dist/backup-lib.test.d.ts.map +1 -0
  19. package/dist/backup-lib.test.js +502 -0
  20. package/dist/backup-lib.test.js.map +1 -0
  21. package/dist/backup.d.ts +2 -0
  22. package/dist/backup.d.ts.map +1 -0
  23. package/dist/backup.js +77 -0
  24. package/dist/backup.js.map +1 -0
  25. package/dist/better-auth-account-issuer-migration.test.d.ts +9 -0
  26. package/dist/better-auth-account-issuer-migration.test.d.ts.map +1 -0
  27. package/dist/better-auth-account-issuer-migration.test.js +113 -0
  28. package/dist/better-auth-account-issuer-migration.test.js.map +1 -0
  29. package/dist/built-in-agent-unique-marker-migration.test.d.ts +2 -0
  30. package/dist/built-in-agent-unique-marker-migration.test.d.ts.map +1 -0
  31. package/dist/built-in-agent-unique-marker-migration.test.js +102 -0
  32. package/dist/built-in-agent-unique-marker-migration.test.js.map +1 -0
  33. package/dist/chat-github-migration.test.d.ts +2 -0
  34. package/dist/chat-github-migration.test.d.ts.map +1 -0
  35. package/dist/chat-github-migration.test.js +34 -0
  36. package/dist/chat-github-migration.test.js.map +1 -0
  37. package/dist/chat-identity-migration-reconciliation.test.d.ts +2 -0
  38. package/dist/chat-identity-migration-reconciliation.test.d.ts.map +1 -0
  39. package/dist/chat-identity-migration-reconciliation.test.js +531 -0
  40. package/dist/chat-identity-migration-reconciliation.test.js.map +1 -0
  41. package/dist/chat-telegram-draft-ids-migration.test.d.ts +2 -0
  42. package/dist/chat-telegram-draft-ids-migration.test.d.ts.map +1 -0
  43. package/dist/chat-telegram-draft-ids-migration.test.js +71 -0
  44. package/dist/chat-telegram-draft-ids-migration.test.js.map +1 -0
  45. package/dist/chat-tenant-foreign-keys.test.d.ts +2 -0
  46. package/dist/chat-tenant-foreign-keys.test.d.ts.map +1 -0
  47. package/dist/chat-tenant-foreign-keys.test.js +140 -0
  48. package/dist/chat-tenant-foreign-keys.test.js.map +1 -0
  49. package/dist/check-migration-numbering.d.ts +2 -0
  50. package/dist/check-migration-numbering.d.ts.map +1 -0
  51. package/dist/check-migration-numbering.js +64 -0
  52. package/dist/check-migration-numbering.js.map +1 -0
  53. package/dist/check-migration-safety.d.ts +27 -0
  54. package/dist/check-migration-safety.d.ts.map +1 -0
  55. package/dist/check-migration-safety.js +811 -0
  56. package/dist/check-migration-safety.js.map +1 -0
  57. package/dist/check-migration-safety.test.d.ts +2 -0
  58. package/dist/check-migration-safety.test.d.ts.map +1 -0
  59. package/dist/check-migration-safety.test.js +391 -0
  60. package/dist/check-migration-safety.test.js.map +1 -0
  61. package/dist/client-options.test.d.ts +2 -0
  62. package/dist/client-options.test.d.ts.map +1 -0
  63. package/dist/client-options.test.js +88 -0
  64. package/dist/client-options.test.js.map +1 -0
  65. package/dist/client-teardown-registry.test.d.ts +2 -0
  66. package/dist/client-teardown-registry.test.d.ts.map +1 -0
  67. package/dist/client-teardown-registry.test.js +100 -0
  68. package/dist/client-teardown-registry.test.js.map +1 -0
  69. package/dist/client.d.ts +111 -0
  70. package/dist/client.d.ts.map +1 -0
  71. package/dist/client.js +883 -0
  72. package/dist/client.js.map +1 -0
  73. package/dist/client.test.d.ts +2 -0
  74. package/dist/client.test.d.ts.map +1 -0
  75. package/dist/client.test.js +1759 -0
  76. package/dist/client.test.js.map +1 -0
  77. package/dist/company-secret-proposals-migration.test.d.ts +2 -0
  78. package/dist/company-secret-proposals-migration.test.d.ts.map +1 -0
  79. package/dist/company-secret-proposals-migration.test.js +40 -0
  80. package/dist/company-secret-proposals-migration.test.js.map +1 -0
  81. package/dist/connection-grants-phase2-migration.test.d.ts +2 -0
  82. package/dist/connection-grants-phase2-migration.test.d.ts.map +1 -0
  83. package/dist/connection-grants-phase2-migration.test.js +30 -0
  84. package/dist/connection-grants-phase2-migration.test.js.map +1 -0
  85. package/dist/connection-grants-phase4-migration.test.d.ts +2 -0
  86. package/dist/connection-grants-phase4-migration.test.d.ts.map +1 -0
  87. package/dist/connection-grants-phase4-migration.test.js +300 -0
  88. package/dist/connection-grants-phase4-migration.test.js.map +1 -0
  89. package/dist/connections-v3-schema-core-migration.test.d.ts +2 -0
  90. package/dist/connections-v3-schema-core-migration.test.d.ts.map +1 -0
  91. package/dist/connections-v3-schema-core-migration.test.js +98 -0
  92. package/dist/connections-v3-schema-core-migration.test.js.map +1 -0
  93. package/dist/decision-queue-migrations.test.d.ts +2 -0
  94. package/dist/decision-queue-migrations.test.d.ts.map +1 -0
  95. package/dist/decision-queue-migrations.test.js +78 -0
  96. package/dist/decision-queue-migrations.test.js.map +1 -0
  97. package/dist/embedded-postgres-error.d.ts +9 -0
  98. package/dist/embedded-postgres-error.d.ts.map +1 -0
  99. package/dist/embedded-postgres-error.js +73 -0
  100. package/dist/embedded-postgres-error.js.map +1 -0
  101. package/dist/embedded-postgres-error.test.d.ts +2 -0
  102. package/dist/embedded-postgres-error.test.d.ts.map +1 -0
  103. package/dist/embedded-postgres-error.test.js +25 -0
  104. package/dist/embedded-postgres-error.test.js.map +1 -0
  105. package/dist/embedded-postgres-lifecycle.d.ts +16 -0
  106. package/dist/embedded-postgres-lifecycle.d.ts.map +1 -0
  107. package/dist/embedded-postgres-lifecycle.js +43 -0
  108. package/dist/embedded-postgres-lifecycle.js.map +1 -0
  109. package/dist/embedded-postgres-lifecycle.test.d.ts +2 -0
  110. package/dist/embedded-postgres-lifecycle.test.d.ts.map +1 -0
  111. package/dist/embedded-postgres-lifecycle.test.js +64 -0
  112. package/dist/embedded-postgres-lifecycle.test.js.map +1 -0
  113. package/dist/embedded-postgres-native.d.ts +3 -0
  114. package/dist/embedded-postgres-native.d.ts.map +1 -0
  115. package/dist/embedded-postgres-native.js +83 -0
  116. package/dist/embedded-postgres-native.js.map +1 -0
  117. package/dist/embedded-postgres-native.test.d.ts +2 -0
  118. package/dist/embedded-postgres-native.test.d.ts.map +1 -0
  119. package/dist/embedded-postgres-native.test.js +49 -0
  120. package/dist/embedded-postgres-native.test.js.map +1 -0
  121. package/dist/environment-custom-images-schema.test.d.ts +2 -0
  122. package/dist/environment-custom-images-schema.test.d.ts.map +1 -0
  123. package/dist/environment-custom-images-schema.test.js +26 -0
  124. package/dist/environment-custom-images-schema.test.js.map +1 -0
  125. package/dist/external-objects-schema.test.d.ts +2 -0
  126. package/dist/external-objects-schema.test.d.ts.map +1 -0
  127. package/dist/external-objects-schema.test.js +46 -0
  128. package/dist/external-objects-schema.test.js.map +1 -0
  129. package/dist/heartbeat-context-snapshot-index-migration.test.d.ts +2 -0
  130. package/dist/heartbeat-context-snapshot-index-migration.test.d.ts.map +1 -0
  131. package/dist/heartbeat-context-snapshot-index-migration.test.js +60 -0
  132. package/dist/heartbeat-context-snapshot-index-migration.test.js.map +1 -0
  133. package/dist/inbox-archive-agent-policies-migration.test.d.ts +2 -0
  134. package/dist/inbox-archive-agent-policies-migration.test.d.ts.map +1 -0
  135. package/dist/inbox-archive-agent-policies-migration.test.js +155 -0
  136. package/dist/inbox-archive-agent-policies-migration.test.js.map +1 -0
  137. package/dist/index.d.ts +10 -0
  138. package/dist/index.d.ts.map +1 -0
  139. package/dist/index.js +10 -0
  140. package/dist/index.js.map +1 -0
  141. package/dist/issue-comment-derived-attribution-migration.test.d.ts +2 -0
  142. package/dist/issue-comment-derived-attribution-migration.test.d.ts.map +1 -0
  143. package/dist/issue-comment-derived-attribution-migration.test.js +287 -0
  144. package/dist/issue-comment-derived-attribution-migration.test.js.map +1 -0
  145. package/dist/issue-comment-on-behalf-migration.test.d.ts +2 -0
  146. package/dist/issue-comment-on-behalf-migration.test.d.ts.map +1 -0
  147. package/dist/issue-comment-on-behalf-migration.test.js +146 -0
  148. package/dist/issue-comment-on-behalf-migration.test.js.map +1 -0
  149. package/dist/issue-thread-interaction-resolver-policy-migration.test.d.ts +2 -0
  150. package/dist/issue-thread-interaction-resolver-policy-migration.test.d.ts.map +1 -0
  151. package/dist/issue-thread-interaction-resolver-policy-migration.test.js +146 -0
  152. package/dist/issue-thread-interaction-resolver-policy-migration.test.js.map +1 -0
  153. package/dist/migrate.d.ts +2 -0
  154. package/dist/migrate.d.ts.map +1 -0
  155. package/dist/migrate.js +25 -0
  156. package/dist/migrate.js.map +1 -0
  157. package/dist/migration-runtime.d.ts +7 -0
  158. package/dist/migration-runtime.d.ts.map +1 -0
  159. package/dist/migration-runtime.js +159 -0
  160. package/dist/migration-runtime.js.map +1 -0
  161. package/dist/migration-safety-baseline.d.ts +135 -0
  162. package/dist/migration-safety-baseline.d.ts.map +1 -0
  163. package/dist/migration-safety-baseline.js +150 -0
  164. package/dist/migration-safety-baseline.js.map +1 -0
  165. package/dist/migration-snapshot-drift.test.d.ts +2 -0
  166. package/dist/migration-snapshot-drift.test.d.ts.map +1 -0
  167. package/dist/migration-snapshot-drift.test.js +55 -0
  168. package/dist/migration-snapshot-drift.test.js.map +1 -0
  169. package/dist/migration-status.d.ts +2 -0
  170. package/dist/migration-status.d.ts.map +1 -0
  171. package/dist/migration-status.js +55 -0
  172. package/dist/migration-status.js.map +1 -0
  173. package/dist/migrations/0000_mature_masked_marvel.sql +208 -0
  174. package/dist/migrations/0001_fast_northstar.sql +87 -0
  175. package/dist/migrations/0002_big_zaladane.sql +1 -0
  176. package/dist/migrations/0003_shallow_quentin_quire.sql +5 -0
  177. package/dist/migrations/0004_issue_identifiers.sql +28 -0
  178. package/dist/migrations/0005_chief_luke_cage.sql +19 -0
  179. package/dist/migrations/0006_overjoyed_mister_sinister.sql +36 -0
  180. package/dist/migrations/0007_new_quentin_quire.sql +20 -0
  181. package/dist/migrations/0008_amused_zzzax.sql +1 -0
  182. package/dist/migrations/0009_fast_jackal.sql +36 -0
  183. package/dist/migrations/0010_stale_justin_hammer.sql +37 -0
  184. package/dist/migrations/0011_windy_corsair.sql +18 -0
  185. package/dist/migrations/0012_perpetual_ser_duncan.sql +2 -0
  186. package/dist/migrations/0013_dashing_wasp.sql +4 -0
  187. package/dist/migrations/0014_many_mikhail_rasputin.sql +135 -0
  188. package/dist/migrations/0015_project_color_archived.sql +2 -0
  189. package/dist/migrations/0016_agent_icon.sql +1 -0
  190. package/dist/migrations/0017_tiresome_gabe_jones.sql +51 -0
  191. package/dist/migrations/0018_flat_sleepwalker.sql +26 -0
  192. package/dist/migrations/0019_public_victor_mancha.sql +18 -0
  193. package/dist/migrations/0020_white_anita_blake.sql +1 -0
  194. package/dist/migrations/0021_chief_vindicator.sql +1 -0
  195. package/dist/migrations/0022_company_brand_color.sql +1 -0
  196. package/dist/migrations/0023_fair_lethal_legion.sql +3 -0
  197. package/dist/migrations/0024_far_beast.sql +2 -0
  198. package/dist/migrations/0025_nasty_salo.sql +15 -0
  199. package/dist/migrations/0026_lying_pete_wisdom.sql +39 -0
  200. package/dist/migrations/0027_tranquil_tenebrous.sql +2 -0
  201. package/dist/migrations/0028_harsh_goliath.sql +54 -0
  202. package/dist/migrations/0029_plugin_tables.sql +177 -0
  203. package/dist/migrations/0030_rich_magneto.sql +12 -0
  204. package/dist/migrations/0031_zippy_magma.sql +51 -0
  205. package/dist/migrations/0032_pretty_doctor_octopus.sql +102 -0
  206. package/dist/migrations/0033_shiny_black_tarantula.sql +2 -0
  207. package/dist/migrations/0034_fat_dormammu.sql +2 -0
  208. package/dist/migrations/0035_marvelous_satana.sql +91 -0
  209. package/dist/migrations/0036_cheerful_nitro.sql +9 -0
  210. package/dist/migrations/0037_friendly_eddie_brock.sql +29 -0
  211. package/dist/migrations/0038_careless_iron_monger.sql +5 -0
  212. package/dist/migrations/0039_fat_magneto.sql +161 -0
  213. package/dist/migrations/0040_eager_shotgun.sql +5 -0
  214. package/dist/migrations/0041_curly_maria_hill.sql +1 -0
  215. package/dist/migrations/0042_spotty_the_renegades.sql +26 -0
  216. package/dist/migrations/0043_reflective_captain_universe.sql +6 -0
  217. package/dist/migrations/0044_illegal_toad.sql +56 -0
  218. package/dist/migrations/0045_workable_shockwave.sql +17 -0
  219. package/dist/migrations/0046_smooth_sentinels.sql +11 -0
  220. package/dist/migrations/0047_overjoyed_groot.sql +102 -0
  221. package/dist/migrations/0048_flashy_marrow.sql +1 -0
  222. package/dist/migrations/0049_flawless_abomination.sql +21 -0
  223. package/dist/migrations/0050_stiff_luckman.sql +1 -0
  224. package/dist/migrations/0051_young_korg.sql +5 -0
  225. package/dist/migrations/0052_mushy_trauma.sql +26 -0
  226. package/dist/migrations/0053_sharp_wild_child.sql +18 -0
  227. package/dist/migrations/0054_draft_routines.sql +2 -0
  228. package/dist/migrations/0055_kind_weapon_omega.sql +1 -0
  229. package/dist/migrations/0056_spooky_ultragirl.sql +22 -0
  230. package/dist/migrations/0057_tidy_join_requests.sql +57 -0
  231. package/dist/migrations/0058_wealthy_starbolt.sql +6 -0
  232. package/dist/migrations/0059_plugin_database_namespaces.sql +41 -0
  233. package/dist/migrations/0060_orange_annihilus.sql +50 -0
  234. package/dist/migrations/0061_lively_thor_girl.sql +3 -0
  235. package/dist/migrations/0062_routine_run_dispatch_fingerprint.sql +9 -0
  236. package/dist/migrations/0063_issue_thread_interactions.sql +65 -0
  237. package/dist/migrations/0064_issue_thread_interaction_idempotency.sql +4 -0
  238. package/dist/migrations/0065_environments.sql +50 -0
  239. package/dist/migrations/0066_issue_tree_holds.sql +107 -0
  240. package/dist/migrations/0067_agent_default_environment.sql +3 -0
  241. package/dist/migrations/0068_environment_local_driver_unique.sql +2 -0
  242. package/dist/migrations/0069_liveness_recovery_dedupe.sql +13 -0
  243. package/dist/migrations/0070_active_run_output_watchdog.sql +70 -0
  244. package/dist/migrations/0071_default_hire_approval_off.sql +1 -0
  245. package/dist/migrations/0072_large_sandman.sql +6 -0
  246. package/dist/migrations/0073_shiny_salo.sql +1 -0
  247. package/dist/migrations/0074_striped_genesis.sql +4 -0
  248. package/dist/migrations/0075_cultured_sebastian_shaw.sql +7 -0
  249. package/dist/migrations/0076_useful_elektra.sql +29 -0
  250. package/dist/migrations/0077_unusual_karnak.sql +140 -0
  251. package/dist/migrations/0078_white_darwin.sql +3 -0
  252. package/dist/migrations/0079_company_search_document_indexes.sql +2 -0
  253. package/dist/migrations/0080_company_search_fuzzystrmatch.sql +1 -0
  254. package/dist/migrations/0081_optimal_dormammu.sql +1 -0
  255. package/dist/migrations/0082_dry_vision.sql +124 -0
  256. package/dist/migrations/0083_company_secret_provider_configs.sql +51 -0
  257. package/dist/migrations/0084_issue_recovery_actions.sql +64 -0
  258. package/dist/migrations/0085_tranquil_the_executioner.sql +8 -0
  259. package/dist/migrations/0086_routine_env_runtime_contract.sql +8 -0
  260. package/dist/migrations/0087_backfill_environment_manage_human_defaults.sql +29 -0
  261. package/dist/migrations/0088_backfill_principal_access_compatibility.sql +75 -0
  262. package/dist/migrations/0089_cloud_upstreams.sql +71 -0
  263. package/dist/migrations/0090_resource_memberships.sql +55 -0
  264. package/dist/migrations/0091_old_swarm.sql +189 -0
  265. package/dist/migrations/0092_mighty_puma.sql +28 -0
  266. package/dist/migrations/0093_giant_green_goblin.sql +6 -0
  267. package/dist/migrations/0094_backfill_archived_company_agent_pauses.sql +10 -0
  268. package/dist/migrations/0095_issue_comment_tombstones.sql +15 -0
  269. package/dist/migrations/0096_document_annotation_issue_comment_links.sql +7 -0
  270. package/dist/migrations/0097_low_trust_source_trust.sql +4 -0
  271. package/dist/migrations/0098_project_icon.sql +1 -0
  272. package/dist/migrations/0099_skills_store_foundation.sql +121 -0
  273. package/dist/migrations/0100_skill_install_count_backfill.sql +3 -0
  274. package/dist/migrations/0101_plugin_company_id_tenant_isolation.sql +14 -0
  275. package/dist/migrations/0102_managed_sandbox_dedup_index.sql +33 -0
  276. package/dist/migrations/0103_agent_error_reason.sql +1 -0
  277. package/dist/migrations/0104_issue_watchdogs.sql +90 -0
  278. package/dist/migrations/0105_instance_scoped_environments.sql +170 -0
  279. package/dist/migrations/0106_external_object_references.sql +106 -0
  280. package/dist/migrations/0107_external_object_display_metadata.sql +5 -0
  281. package/dist/migrations/0108_workspace_operations_issue_id.sql +41 -0
  282. package/dist/migrations/0109_routine_description_annotations.sql +170 -0
  283. package/dist/migrations/0110_document_company_cascade.sql +31 -0
  284. package/dist/migrations/0111_backfill_skill_create_human_defaults.sql +29 -0
  285. package/dist/migrations/0112_rename_skill_create_permission_key.sql +30 -0
  286. package/dist/migrations/0113_pipeline_foundation.sql +335 -0
  287. package/dist/migrations/0114_pipeline_case_issue_unlinked_event.sql +3 -0
  288. package/dist/migrations/0115_pipeline_routine_origin.sql +3 -0
  289. package/dist/migrations/0116_pipeline_upstream_drift_event.sql +3 -0
  290. package/dist/migrations/0117_pipeline_transition_forced_event.sql +3 -0
  291. package/dist/migrations/0118_pipeline_case_agent_fanout.sql +3 -0
  292. package/dist/migrations/0119_pipeline_drift_acknowledged_event.sql +3 -0
  293. package/dist/migrations/0120_pipeline_stage_working_primitives.sql +19 -0
  294. package/dist/migrations/0121_pipeline_automation_retry_effects.sql +43 -0
  295. package/dist/migrations/0122_pipeline_case_documents.sql +28 -0
  296. package/dist/migrations/0123_document_annotation_source_trust.sql +1 -0
  297. package/dist/migrations/0124_agent_api_key_scope_config.sql +1 -0
  298. package/dist/migrations/0125_environment_custom_image_templates.sql +147 -0
  299. package/dist/migrations/0127_environment_custom_images_instance_scoped.sql +106 -0
  300. package/dist/migrations/0128_user_specific_secrets.sql +178 -0
  301. package/dist/migrations/0129_agent_api_key_responsible_user.sql +41 -0
  302. package/dist/migrations/0131_repair_run_responsible_user_context_refs.sql +67 -0
  303. package/dist/migrations/0132_issue_comment_derived_attribution_fast.sql +82 -0
  304. package/dist/migrations/0133_resource_membership_stars.sql +7 -0
  305. package/dist/migrations/0134_run_responsible_user_invariant.sql +211 -0
  306. package/dist/migrations/0135_repair_run_responsible_user_updated_at_sweep.sql +84 -0
  307. package/dist/migrations/0136_acpx_default_engine_migration.sql +97 -0
  308. package/dist/migrations/0137_skill_studio_server_foundation.sql +76 -0
  309. package/dist/migrations/0138_skill_studio_run_retention.sql +5 -0
  310. package/dist/migrations/0139_skill_studio_run_templates.sql +44 -0
  311. package/dist/migrations/0140_built_in_managed_resources.sql +43 -0
  312. package/dist/migrations/0141_heartbeat_runs_company_created_at_index.sql +2 -0
  313. package/dist/migrations/0142_company_search_sort_indexes.sql +3 -0
  314. package/dist/migrations/0143_cases_foundation.sql +248 -0
  315. package/dist/migrations/0144_case_document_annotations.sql +31 -0
  316. package/dist/migrations/0145_inbox_dismissal_snooze_kind.sql +15 -0
  317. package/dist/migrations/0146_routine_activity_gate.sql +3 -0
  318. package/dist/migrations/0147_cost_event_status.sql +1 -0
  319. package/dist/migrations/0148_tool_access_mcp_connections.sql +126 -0
  320. package/dist/migrations/0149_agent_access_phase2_contracts.sql +612 -0
  321. package/dist/migrations/0150_tool_invocation_catalog_snapshots.sql +2 -0
  322. package/dist/migrations/0151_tool_gateway_sessions.sql +38 -0
  323. package/dist/migrations/0152_tool_connection_application_no_cascade.sql +18 -0
  324. package/dist/migrations/0153_tool_stdio_command_templates.sql +32 -0
  325. package/dist/migrations/0154_tool_oauth_states.sql +36 -0
  326. package/dist/migrations/0155_tool_oauth_state_actor_binding.sql +5 -0
  327. package/dist/migrations/0156_tool_oauth_state_session_binding.sql +1 -0
  328. package/dist/migrations/0157_tool_profile_new_tools_review.sql +1 -0
  329. package/dist/migrations/0158_tool_invocation_connected_mcp_metadata.sql +4 -0
  330. package/dist/migrations/0159_named_mcp_gateways.sql +72 -0
  331. package/dist/migrations/0160_mcp_gateway_contract_expansion.sql +176 -0
  332. package/dist/migrations/0161_environment_custom_image_company_scope_repair.sql +8 -0
  333. package/dist/migrations/0162_tool_runtime_metric_counters.sql +27 -0
  334. package/dist/migrations/0163_secret_binding_projection_class.sql +2 -0
  335. package/dist/migrations/0164_plugin_config_company_scope.sql +117 -0
  336. package/dist/migrations/0165_connection_token_issuances.sql +64 -0
  337. package/dist/migrations/0166_smoke_lab_results.sql +51 -0
  338. package/dist/migrations/0167_environment_custom_image_instance_scope_cleanup.sql +32 -0
  339. package/dist/migrations/0168_tool_connection_installs.sql +56 -0
  340. package/dist/migrations/0169_tool_gateway_protocol_rate_limit_counters.sql +43 -0
  341. package/dist/migrations/0170_company_skill_policies.sql +12 -0
  342. package/dist/migrations/0171_issue_create_idempotency_keys.sql +19 -0
  343. package/dist/migrations/0172_inbox_archive_agent_policies.sql +42 -0
  344. package/dist/migrations/0173_inbox_policy_agent_cleanup.sql +22 -0
  345. package/dist/migrations/0174_folders.sql +46 -0
  346. package/dist/migrations/0175_nested_skill_folders.sql +232 -0
  347. package/dist/migrations/0176_issue_create_idempotency_key_expiry.sql +2 -0
  348. package/dist/migrations/0177_activity_log_responsible_user.sql +10 -0
  349. package/dist/migrations/0178_summary_slots.sql +37 -0
  350. package/dist/migrations/0179_summary_slot_failure_reason.sql +1 -0
  351. package/dist/migrations/0180_decision_training_examples.sql +23 -0
  352. package/dist/migrations/0181_decision_training_retention_policy.sql +2 -0
  353. package/dist/migrations/0182_connections_v3_schema_core.sql +74 -0
  354. package/dist/migrations/0183_connection_user_authorization_state.sql +6 -0
  355. package/dist/migrations/0184_routable_blocked.sql +3 -0
  356. package/dist/migrations/0185_status_cards.sql +111 -0
  357. package/dist/migrations/0186_status_card_compile_provenance.sql +3 -0
  358. package/dist/migrations/0187_status_card_pending_change_hash.sql +1 -0
  359. package/dist/migrations/0188_status_card_generation_issue_index.sql +1 -0
  360. package/dist/migrations/0189_status_card_agent.sql +6 -0
  361. package/dist/migrations/0190_status_card_single_prompt.sql +2 -0
  362. package/dist/migrations/0191_status_card_mentioned_issue_ids.sql +1 -0
  363. package/dist/migrations/0192_task_watchdog_stop_snapshots.sql +2 -0
  364. package/dist/migrations/0193_document_memberships.sql +15 -0
  365. package/dist/migrations/0194_company_skill_releases.sql +4 -0
  366. package/dist/migrations/0195_built_in_agent_unique_marker.sql +53 -0
  367. package/dist/migrations/0196_drop_cloud_upstream_tables.sql +9 -0
  368. package/dist/migrations/0197_decisions_v1.sql +106 -0
  369. package/dist/migrations/0198_decision_queues_and_triage.sql +161 -0
  370. package/dist/migrations/0199_decision_queue_composite_key.sql +10 -0
  371. package/dist/migrations/0200_yellow_maria_hill.sql +64 -0
  372. package/dist/migrations/0201_concerned_captain_midlands.sql +1 -0
  373. package/dist/migrations/0202_eminent_marvel_zombies.sql +1 -0
  374. package/dist/migrations/0203_interaction_resolver_governance.sql +8 -0
  375. package/dist/migrations/0204_interaction_addressee.sql +6 -0
  376. package/dist/migrations/0205_narrow_shiva.sql +10 -0
  377. package/dist/migrations/0206_review_path_recovery_idempotency_index.sql +2 -0
  378. package/dist/migrations/0207_moaning_amazoness.sql +94 -0
  379. package/dist/migrations/0208_keen_sharon_carter.sql +1 -0
  380. package/dist/migrations/0209_heartbeat_context_snapshot_indexes.sql +4 -0
  381. package/dist/migrations/0210_heartbeat_context_taskkey_index.sql +1 -0
  382. package/dist/migrations/0211_bright_morg.sql +1 -0
  383. package/dist/migrations/0212_onboarding_first_task_unique.sql +3 -0
  384. package/dist/migrations/0213_complete_mystique.sql +24 -0
  385. package/dist/migrations/0214_lively_lord_tyger.sql +22 -0
  386. package/dist/migrations/0215_flat_daimon_hellstrom.sql +1 -0
  387. package/dist/migrations/0216_company_onboarding_seeds.sql +42 -0
  388. package/dist/migrations/0217_yielding_starbolt.sql +21 -0
  389. package/dist/migrations/0218_mushy_jack_murdock.sql +38 -0
  390. package/dist/migrations/0219_runtime_service_exposure.sql +3 -0
  391. package/dist/migrations/0220_execution_workspace_runtime_leases.sql +26 -0
  392. package/dist/migrations/0221_swift_justin_hammer.sql +20 -0
  393. package/dist/migrations/0222_orphan_cleanup_env_reference_survives_delete.sql +4 -0
  394. package/dist/migrations/0223_robust_zaladane.sql +6 -0
  395. package/dist/migrations/0224_unified_adapter_auth_sessions.sql +18 -0
  396. package/dist/migrations/0225_drop_claude_setup_token_sessions.sql +5 -0
  397. package/dist/migrations/0226_tan_colossus.sql +2 -0
  398. package/dist/migrations/0227_modern_pandemic.sql +410 -0
  399. package/dist/migrations/0228_nasty_grim_reaper.sql +59 -0
  400. package/dist/migrations/0229_drop_company_brand_color_and_attachment_max_bytes.sql +7 -0
  401. package/dist/migrations/0230_better_auth_account_issuer.sql +23 -0
  402. package/dist/migrations/0231_remove_app_connection_wide_includes.sql +10 -0
  403. package/dist/migrations/0232_fixed_hannibal_king.sql +202 -0
  404. package/dist/migrations/0233_living_dreaming_celestial.sql +13 -0
  405. package/dist/migrations/0234_provider_trace_records.sql +31 -0
  406. package/dist/migrations/0235_heartbeat_run_event_sequence_uniqueness.sql +28 -0
  407. package/dist/migrations/0236_remove_cheap_model_profiles.sql +108 -0
  408. package/dist/migrations/0237_clammy_colonel_america.sql +52 -0
  409. package/dist/migrations/0238_graceful_infant_terrible.sql +7 -0
  410. package/dist/migrations/0239_sturdy_santa_claus.sql +38 -0
  411. package/dist/migrations/0240_pink_fantastic_four.sql +25 -0
  412. package/dist/migrations/0241_conscious_adam_destine.sql +1 -0
  413. package/dist/migrations/0242_wide_lightspeed.sql +1 -0
  414. package/dist/migrations/0243_sleepy_metal_master.sql +1 -0
  415. package/dist/migrations/0244_organic_meltdown.sql +1 -0
  416. package/dist/migrations/0245_misty_nightshade.sql +3 -0
  417. package/dist/migrations/0246_nostalgic_medusa.sql +19 -0
  418. package/dist/migrations/0247_even_moon_knight.sql +2 -0
  419. package/dist/migrations/0248_small_manta.sql +36 -0
  420. package/dist/migrations/0249_fast_silverclaw.sql +33 -0
  421. package/dist/migrations/0250_exotic_dakota_north.sql +2 -0
  422. package/dist/migrations/0251_narrow_mastermind.sql +1 -0
  423. package/dist/migrations/0252_friendly_kate_bishop.sql +1 -0
  424. package/dist/migrations/0253_real_firebrand.sql +1 -0
  425. package/dist/migrations/0254_military_calypso.sql +3 -0
  426. package/dist/migrations/0255_previous_captain_america.sql +290 -0
  427. package/dist/migrations/0256_married_king_cobra.sql +3 -0
  428. package/dist/migrations/0257_bizarre_the_hunter.sql +8 -0
  429. package/dist/migrations/0258_typical_sauron.sql +2 -0
  430. package/dist/migrations/0259_tan_chat.sql +1 -0
  431. package/dist/migrations/0260_chat_interaction_wakeup_idempotency.sql +106 -0
  432. package/dist/migrations/0261_faulty_iceman.sql +4 -0
  433. package/dist/migrations/0262_lying_avengers.sql +3 -0
  434. package/dist/migrations/0263_nebulous_iron_lad.sql +3 -0
  435. package/dist/migrations/0264_cynical_hellcat.sql +3 -0
  436. package/dist/migrations/0265_chat_interaction_wakeup_provenance.sql +80 -0
  437. package/dist/migrations/0266_brave_living_mummy.sql +56 -0
  438. package/dist/migrations/0267_warm_wild_child.sql +8 -0
  439. package/dist/migrations/0268_lively_runaways.sql +1 -0
  440. package/dist/migrations/0269_fearless_young_avengers.sql +15 -0
  441. package/dist/migrations/0270_harsh_queen_noir.sql +12 -0
  442. package/dist/migrations/0271_woozy_silver_surfer.sql +1 -0
  443. package/dist/migrations/0272_light_kate_bishop.sql +98 -0
  444. package/dist/migrations/0273_aromatic_moondragon.sql +3 -0
  445. package/dist/migrations/0274_agent_chat.sql +33 -0
  446. package/dist/migrations/0275_easy_dragon_man.sql +5 -0
  447. package/dist/migrations/0276_hard_mandroid.sql +77 -0
  448. package/dist/migrations/0277_uneven_lady_deathstrike.sql +47 -0
  449. package/dist/migrations/0278_nappy_colonel_america.sql +6 -0
  450. package/dist/migrations/0279_tired_deathstrike.sql +3 -0
  451. package/dist/migrations/0280_unique_genesis.sql +11 -0
  452. package/dist/migrations/0281_true_boom_boom.sql +14 -0
  453. package/dist/migrations/0282_colossal_shocker.sql +2 -0
  454. package/dist/migrations/0283_jittery_psynapse.sql +81 -0
  455. package/dist/migrations/meta/_journal.json +1980 -0
  456. package/dist/native-runner-recovery-migration.test.d.ts +2 -0
  457. package/dist/native-runner-recovery-migration.test.d.ts.map +1 -0
  458. package/dist/native-runner-recovery-migration.test.js +121 -0
  459. package/dist/native-runner-recovery-migration.test.js.map +1 -0
  460. package/dist/nested-skill-folders-migration.test.d.ts +2 -0
  461. package/dist/nested-skill-folders-migration.test.d.ts.map +1 -0
  462. package/dist/nested-skill-folders-migration.test.js +106 -0
  463. package/dist/nested-skill-folders-migration.test.js.map +1 -0
  464. package/dist/pipelines-schema.test.d.ts +2 -0
  465. package/dist/pipelines-schema.test.d.ts.map +1 -0
  466. package/dist/pipelines-schema.test.js +205 -0
  467. package/dist/pipelines-schema.test.js.map +1 -0
  468. package/dist/postgres-connection-recovery.test.d.ts +2 -0
  469. package/dist/postgres-connection-recovery.test.d.ts.map +1 -0
  470. package/dist/postgres-connection-recovery.test.js +35 -0
  471. package/dist/postgres-connection-recovery.test.js.map +1 -0
  472. package/dist/question-response-delivery-migration.test.d.ts +2 -0
  473. package/dist/question-response-delivery-migration.test.d.ts.map +1 -0
  474. package/dist/question-response-delivery-migration.test.js +62 -0
  475. package/dist/question-response-delivery-migration.test.js.map +1 -0
  476. package/dist/run-event-payload.d.ts +30 -0
  477. package/dist/run-event-payload.d.ts.map +1 -0
  478. package/dist/run-event-payload.js +57 -0
  479. package/dist/run-event-payload.js.map +1 -0
  480. package/dist/run-event-payload.test.d.ts +2 -0
  481. package/dist/run-event-payload.test.d.ts.map +1 -0
  482. package/dist/run-event-payload.test.js +46 -0
  483. package/dist/run-event-payload.test.js.map +1 -0
  484. package/dist/run-identity-migration.test.d.ts +2 -0
  485. package/dist/run-identity-migration.test.d.ts.map +1 -0
  486. package/dist/run-identity-migration.test.js +60 -0
  487. package/dist/run-identity-migration.test.js.map +1 -0
  488. package/dist/runtime-config.d.ts +16 -0
  489. package/dist/runtime-config.d.ts.map +1 -0
  490. package/dist/runtime-config.js +168 -0
  491. package/dist/runtime-config.js.map +1 -0
  492. package/dist/runtime-config.test.d.ts +2 -0
  493. package/dist/runtime-config.test.d.ts.map +1 -0
  494. package/dist/runtime-config.test.js +111 -0
  495. package/dist/runtime-config.test.js.map +1 -0
  496. package/dist/schema/activity_log.d.ts +214 -0
  497. package/dist/schema/activity_log.d.ts.map +1 -0
  498. package/dist/schema/activity_log.js +25 -0
  499. package/dist/schema/activity_log.js.map +1 -0
  500. package/dist/schema/adapter_auth_sessions.d.ts +377 -0
  501. package/dist/schema/adapter_auth_sessions.d.ts.map +1 -0
  502. package/dist/schema/adapter_auth_sessions.js +88 -0
  503. package/dist/schema/adapter_auth_sessions.js.map +1 -0
  504. package/dist/schema/agent_api_keys.d.ts +204 -0
  505. package/dist/schema/agent_api_keys.d.ts.map +1 -0
  506. package/dist/schema/agent_api_keys.js +19 -0
  507. package/dist/schema/agent_api_keys.js.map +1 -0
  508. package/dist/schema/agent_config_revisions.d.ts +201 -0
  509. package/dist/schema/agent_config_revisions.d.ts.map +1 -0
  510. package/dist/schema/agent_config_revisions.js +20 -0
  511. package/dist/schema/agent_config_revisions.js.map +1 -0
  512. package/dist/schema/agent_memberships.d.ts +144 -0
  513. package/dist/schema/agent_memberships.d.ts.map +1 -0
  514. package/dist/schema/agent_memberships.js +19 -0
  515. package/dist/schema/agent_memberships.js.map +1 -0
  516. package/dist/schema/agent_runtime_state.d.ts +248 -0
  517. package/dist/schema/agent_runtime_state.d.ts.map +1 -0
  518. package/dist/schema/agent_runtime_state.js +23 -0
  519. package/dist/schema/agent_runtime_state.js.map +1 -0
  520. package/dist/schema/agent_task_sessions.d.ts +569 -0
  521. package/dist/schema/agent_task_sessions.d.ts.map +1 -0
  522. package/dist/schema/agent_task_sessions.js +51 -0
  523. package/dist/schema/agent_task_sessions.js.map +1 -0
  524. package/dist/schema/agent_wakeup_requests.d.ts +333 -0
  525. package/dist/schema/agent_wakeup_requests.d.ts.map +1 -0
  526. package/dist/schema/agent_wakeup_requests.js +56 -0
  527. package/dist/schema/agent_wakeup_requests.js.map +1 -0
  528. package/dist/schema/agents.d.ts +434 -0
  529. package/dist/schema/agents.d.ts.map +1 -0
  530. package/dist/schema/agents.js +35 -0
  531. package/dist/schema/agents.js.map +1 -0
  532. package/dist/schema/ai_connection_defaults.d.ts +132 -0
  533. package/dist/schema/ai_connection_defaults.d.ts.map +1 -0
  534. package/dist/schema/ai_connection_defaults.js +28 -0
  535. package/dist/schema/ai_connection_defaults.js.map +1 -0
  536. package/dist/schema/ai_provider_defaults.d.ts +114 -0
  537. package/dist/schema/ai_provider_defaults.d.ts.map +1 -0
  538. package/dist/schema/ai_provider_defaults.js +19 -0
  539. package/dist/schema/ai_provider_defaults.js.map +1 -0
  540. package/dist/schema/announcement_dismissals.d.ts +83 -0
  541. package/dist/schema/announcement_dismissals.d.ts.map +1 -0
  542. package/dist/schema/announcement_dismissals.js +15 -0
  543. package/dist/schema/announcement_dismissals.js.map +1 -0
  544. package/dist/schema/approval_comments.d.ts +144 -0
  545. package/dist/schema/approval_comments.d.ts.map +1 -0
  546. package/dist/schema/approval_comments.js +19 -0
  547. package/dist/schema/approval_comments.js.map +1 -0
  548. package/dist/schema/approvals.d.ts +214 -0
  549. package/dist/schema/approvals.d.ts.map +1 -0
  550. package/dist/schema/approvals.js +20 -0
  551. package/dist/schema/approvals.js.map +1 -0
  552. package/dist/schema/assets.d.ts +212 -0
  553. package/dist/schema/assets.d.ts.map +1 -0
  554. package/dist/schema/assets.js +22 -0
  555. package/dist/schema/assets.js.map +1 -0
  556. package/dist/schema/auth.d.ts +638 -0
  557. package/dist/schema/auth.d.ts.map +1 -0
  558. package/dist/schema/auth.js +61 -0
  559. package/dist/schema/auth.js.map +1 -0
  560. package/dist/schema/board_api_keys.d.ts +144 -0
  561. package/dist/schema/board_api_keys.d.ts.map +1 -0
  562. package/dist/schema/board_api_keys.js +16 -0
  563. package/dist/schema/board_api_keys.js.map +1 -0
  564. package/dist/schema/budget_incidents.d.ts +297 -0
  565. package/dist/schema/budget_incidents.d.ts.map +1 -0
  566. package/dist/schema/budget_incidents.js +29 -0
  567. package/dist/schema/budget_incidents.js.map +1 -0
  568. package/dist/schema/budget_policies.d.ts +263 -0
  569. package/dist/schema/budget_policies.d.ts.map +1 -0
  570. package/dist/schema/budget_policies.js +24 -0
  571. package/dist/schema/budget_policies.js.map +1 -0
  572. package/dist/schema/built_in_managed_resources.d.ts +197 -0
  573. package/dist/schema/built_in_managed_resources.d.ts.map +1 -0
  574. package/dist/schema/built_in_managed_resources.js +22 -0
  575. package/dist/schema/built_in_managed_resources.js.map +1 -0
  576. package/dist/schema/cases.d.ts +982 -0
  577. package/dist/schema/cases.d.ts.map +1 -0
  578. package/dist/schema/cases.js +122 -0
  579. package/dist/schema/cases.js.map +1 -0
  580. package/dist/schema/chat_channels.d.ts +3035 -0
  581. package/dist/schema/chat_channels.d.ts.map +1 -0
  582. package/dist/schema/chat_channels.js +605 -0
  583. package/dist/schema/chat_channels.js.map +1 -0
  584. package/dist/schema/chat_discord_command_owners.d.ts +93 -0
  585. package/dist/schema/chat_discord_command_owners.d.ts.map +1 -0
  586. package/dist/schema/chat_discord_command_owners.js +19 -0
  587. package/dist/schema/chat_discord_command_owners.js.map +1 -0
  588. package/dist/schema/chat_github.d.ts +730 -0
  589. package/dist/schema/chat_github.d.ts.map +1 -0
  590. package/dist/schema/chat_github.js +110 -0
  591. package/dist/schema/chat_github.js.map +1 -0
  592. package/dist/schema/chat_teams_file_transfers.d.ts +639 -0
  593. package/dist/schema/chat_teams_file_transfers.d.ts.map +1 -0
  594. package/dist/schema/chat_teams_file_transfers.js +86 -0
  595. package/dist/schema/chat_teams_file_transfers.js.map +1 -0
  596. package/dist/schema/chat_telegram_draft_ids.d.ts +2 -0
  597. package/dist/schema/chat_telegram_draft_ids.d.ts.map +1 -0
  598. package/dist/schema/chat_telegram_draft_ids.js +14 -0
  599. package/dist/schema/chat_telegram_draft_ids.js.map +1 -0
  600. package/dist/schema/cli_auth_challenges.d.ts +263 -0
  601. package/dist/schema/cli_auth_challenges.d.ts.map +1 -0
  602. package/dist/schema/cli_auth_challenges.js +26 -0
  603. package/dist/schema/cli_auth_challenges.js.map +1 -0
  604. package/dist/schema/companies.d.ts +333 -0
  605. package/dist/schema/companies.d.ts.map +1 -0
  606. package/dist/schema/companies.js +32 -0
  607. package/dist/schema/companies.js.map +1 -0
  608. package/dist/schema/company_logos.d.ts +93 -0
  609. package/dist/schema/company_logos.d.ts.map +1 -0
  610. package/dist/schema/company_logos.js +14 -0
  611. package/dist/schema/company_logos.js.map +1 -0
  612. package/dist/schema/company_memberships.d.ts +144 -0
  613. package/dist/schema/company_memberships.d.ts.map +1 -0
  614. package/dist/schema/company_memberships.js +17 -0
  615. package/dist/schema/company_memberships.js.map +1 -0
  616. package/dist/schema/company_onboarding_seeds.d.ts +257 -0
  617. package/dist/schema/company_onboarding_seeds.d.ts.map +1 -0
  618. package/dist/schema/company_onboarding_seeds.js +35 -0
  619. package/dist/schema/company_onboarding_seeds.js.map +1 -0
  620. package/dist/schema/company_secret_bindings.d.ts +229 -0
  621. package/dist/schema/company_secret_bindings.d.ts.map +1 -0
  622. package/dist/schema/company_secret_bindings.js +24 -0
  623. package/dist/schema/company_secret_bindings.js.map +1 -0
  624. package/dist/schema/company_secret_proposals.d.ts +575 -0
  625. package/dist/schema/company_secret_proposals.d.ts.map +1 -0
  626. package/dist/schema/company_secret_proposals.js +69 -0
  627. package/dist/schema/company_secret_proposals.js.map +1 -0
  628. package/dist/schema/company_secret_provider_configs.d.ts +284 -0
  629. package/dist/schema/company_secret_provider_configs.d.ts.map +1 -0
  630. package/dist/schema/company_secret_provider_configs.js +29 -0
  631. package/dist/schema/company_secret_provider_configs.js.map +1 -0
  632. package/dist/schema/company_secret_versions.d.ts +231 -0
  633. package/dist/schema/company_secret_versions.d.ts.map +1 -0
  634. package/dist/schema/company_secret_versions.js +24 -0
  635. package/dist/schema/company_secret_versions.js.map +1 -0
  636. package/dist/schema/company_secrets.d.ts +384 -0
  637. package/dist/schema/company_secrets.d.ts.map +1 -0
  638. package/dist/schema/company_secrets.js +56 -0
  639. package/dist/schema/company_secrets.js.map +1 -0
  640. package/dist/schema/company_skill_policies.d.ts +131 -0
  641. package/dist/schema/company_skill_policies.d.ts.map +1 -0
  642. package/dist/schema/company_skill_policies.js +12 -0
  643. package/dist/schema/company_skill_policies.js.map +1 -0
  644. package/dist/schema/company_skills.d.ts +1858 -0
  645. package/dist/schema/company_skills.d.ts.map +1 -0
  646. package/dist/schema/company_skills.js +157 -0
  647. package/dist/schema/company_skills.js.map +1 -0
  648. package/dist/schema/company_transfer_runs.d.ts +297 -0
  649. package/dist/schema/company_transfer_runs.d.ts.map +1 -0
  650. package/dist/schema/company_transfer_runs.js +42 -0
  651. package/dist/schema/company_transfer_runs.js.map +1 -0
  652. package/dist/schema/company_user_sidebar_preferences.d.ts +112 -0
  653. package/dist/schema/company_user_sidebar_preferences.d.ts.map +1 -0
  654. package/dist/schema/company_user_sidebar_preferences.js +15 -0
  655. package/dist/schema/company_user_sidebar_preferences.js.map +1 -0
  656. package/dist/schema/completion_contracts.d.ts +265 -0
  657. package/dist/schema/completion_contracts.d.ts.map +1 -0
  658. package/dist/schema/completion_contracts.js +35 -0
  659. package/dist/schema/completion_contracts.js.map +1 -0
  660. package/dist/schema/connection_event_deliveries.d.ts +291 -0
  661. package/dist/schema/connection_event_deliveries.d.ts.map +1 -0
  662. package/dist/schema/connection_event_deliveries.js +31 -0
  663. package/dist/schema/connection_event_deliveries.js.map +1 -0
  664. package/dist/schema/connection_intent_deliveries.d.ts +94 -0
  665. package/dist/schema/connection_intent_deliveries.d.ts.map +1 -0
  666. package/dist/schema/connection_intent_deliveries.js +12 -0
  667. package/dist/schema/connection_intent_deliveries.js.map +1 -0
  668. package/dist/schema/cost_events.d.ts +331 -0
  669. package/dist/schema/cost_events.d.ts.map +1 -0
  670. package/dist/schema/cost_events.js +35 -0
  671. package/dist/schema/cost_events.js.map +1 -0
  672. package/dist/schema/decision_queues.d.ts +1510 -0
  673. package/dist/schema/decision_queues.d.ts.map +1 -0
  674. package/dist/schema/decision_queues.js +161 -0
  675. package/dist/schema/decision_queues.js.map +1 -0
  676. package/dist/schema/decision_training_examples.d.ts +255 -0
  677. package/dist/schema/decision_training_examples.d.ts.map +1 -0
  678. package/dist/schema/decision_training_examples.js +27 -0
  679. package/dist/schema/decision_training_examples.js.map +1 -0
  680. package/dist/schema/decisions.d.ts +824 -0
  681. package/dist/schema/decisions.d.ts.map +1 -0
  682. package/dist/schema/decisions.js +78 -0
  683. package/dist/schema/decisions.js.map +1 -0
  684. package/dist/schema/document_annotation_anchor_snapshots.d.ts +255 -0
  685. package/dist/schema/document_annotation_anchor_snapshots.d.ts.map +1 -0
  686. package/dist/schema/document_annotation_anchor_snapshots.js +25 -0
  687. package/dist/schema/document_annotation_anchor_snapshots.js.map +1 -0
  688. package/dist/schema/document_annotation_comments.d.ts +285 -0
  689. package/dist/schema/document_annotation_comments.d.ts.map +1 -0
  690. package/dist/schema/document_annotation_comments.js +39 -0
  691. package/dist/schema/document_annotation_comments.js.map +1 -0
  692. package/dist/schema/document_annotation_threads.d.ts +510 -0
  693. package/dist/schema/document_annotation_threads.d.ts.map +1 -0
  694. package/dist/schema/document_annotation_threads.js +52 -0
  695. package/dist/schema/document_annotation_threads.js.map +1 -0
  696. package/dist/schema/document_memberships.d.ts +127 -0
  697. package/dist/schema/document_memberships.d.ts.map +1 -0
  698. package/dist/schema/document_memberships.js +16 -0
  699. package/dist/schema/document_memberships.js.map +1 -0
  700. package/dist/schema/document_revisions.d.ts +212 -0
  701. package/dist/schema/document_revisions.d.ts.map +1 -0
  702. package/dist/schema/document_revisions.js +23 -0
  703. package/dist/schema/document_revisions.js.map +1 -0
  704. package/dist/schema/documents.d.ts +300 -0
  705. package/dist/schema/documents.d.ts.map +1 -0
  706. package/dist/schema/documents.js +28 -0
  707. package/dist/schema/documents.js.map +1 -0
  708. package/dist/schema/email.d.ts +550 -0
  709. package/dist/schema/email.d.ts.map +1 -0
  710. package/dist/schema/email.js +80 -0
  711. package/dist/schema/email.js.map +1 -0
  712. package/dist/schema/environment_custom_image_setup_sessions.d.ts +351 -0
  713. package/dist/schema/environment_custom_image_setup_sessions.d.ts.map +1 -0
  714. package/dist/schema/environment_custom_image_setup_sessions.js +39 -0
  715. package/dist/schema/environment_custom_image_setup_sessions.js.map +1 -0
  716. package/dist/schema/environment_custom_image_templates.d.ts +284 -0
  717. package/dist/schema/environment_custom_image_templates.d.ts.map +1 -0
  718. package/dist/schema/environment_custom_image_templates.js +32 -0
  719. package/dist/schema/environment_custom_image_templates.js.map +1 -0
  720. package/dist/schema/environment_leases.d.ts +333 -0
  721. package/dist/schema/environment_leases.d.ts.map +1 -0
  722. package/dist/schema/environment_leases.js +42 -0
  723. package/dist/schema/environment_leases.js.map +1 -0
  724. package/dist/schema/environments.d.ts +184 -0
  725. package/dist/schema/environments.d.ts.map +1 -0
  726. package/dist/schema/environments.js +24 -0
  727. package/dist/schema/environments.js.map +1 -0
  728. package/dist/schema/execution_workspace_runtime_leases.d.ts +248 -0
  729. package/dist/schema/execution_workspace_runtime_leases.d.ts.map +1 -0
  730. package/dist/schema/execution_workspace_runtime_leases.js +35 -0
  731. package/dist/schema/execution_workspace_runtime_leases.js.map +1 -0
  732. package/dist/schema/execution_workspaces.d.ts +418 -0
  733. package/dist/schema/execution_workspaces.d.ts.map +1 -0
  734. package/dist/schema/execution_workspaces.js +39 -0
  735. package/dist/schema/execution_workspaces.js.map +1 -0
  736. package/dist/schema/external_object_mentions.d.ts +337 -0
  737. package/dist/schema/external_object_mentions.d.ts.map +1 -0
  738. package/dist/schema/external_object_mentions.js +34 -0
  739. package/dist/schema/external_object_mentions.js.map +1 -0
  740. package/dist/schema/external_objects.d.ts +543 -0
  741. package/dist/schema/external_objects.d.ts.map +1 -0
  742. package/dist/schema/external_objects.js +43 -0
  743. package/dist/schema/external_objects.js.map +1 -0
  744. package/dist/schema/feedback_exports.d.ts +450 -0
  745. package/dist/schema/feedback_exports.d.ts.map +1 -0
  746. package/dist/schema/feedback_exports.js +41 -0
  747. package/dist/schema/feedback_exports.js.map +1 -0
  748. package/dist/schema/feedback_votes.d.ts +246 -0
  749. package/dist/schema/feedback_votes.d.ts.map +1 -0
  750. package/dist/schema/feedback_votes.js +25 -0
  751. package/dist/schema/feedback_votes.js.map +1 -0
  752. package/dist/schema/finance_events.d.ts +469 -0
  753. package/dist/schema/finance_events.d.ts.map +1 -0
  754. package/dist/schema/finance_events.js +45 -0
  755. package/dist/schema/finance_events.js.map +1 -0
  756. package/dist/schema/folders.d.ts +198 -0
  757. package/dist/schema/folders.d.ts.map +1 -0
  758. package/dist/schema/folders.js +29 -0
  759. package/dist/schema/folders.js.map +1 -0
  760. package/dist/schema/goals.d.ts +178 -0
  761. package/dist/schema/goals.d.ts.map +1 -0
  762. package/dist/schema/goals.js +18 -0
  763. package/dist/schema/goals.js.map +1 -0
  764. package/dist/schema/heartbeat_run_events.d.ts +299 -0
  765. package/dist/schema/heartbeat_run_events.d.ts.map +1 -0
  766. package/dist/schema/heartbeat_run_events.js +36 -0
  767. package/dist/schema/heartbeat_run_events.js.map +1 -0
  768. package/dist/schema/heartbeat_run_watchdog_decisions.d.ts +195 -0
  769. package/dist/schema/heartbeat_run_watchdog_decisions.d.ts.map +1 -0
  770. package/dist/schema/heartbeat_run_watchdog_decisions.js +22 -0
  771. package/dist/schema/heartbeat_run_watchdog_decisions.js.map +1 -0
  772. package/dist/schema/heartbeat_runs.d.ts +1206 -0
  773. package/dist/schema/heartbeat_runs.d.ts.map +1 -0
  774. package/dist/schema/heartbeat_runs.js +103 -0
  775. package/dist/schema/heartbeat_runs.js.map +1 -0
  776. package/dist/schema/inbox_dismissals.d.ts +163 -0
  777. package/dist/schema/inbox_dismissals.d.ts.map +1 -0
  778. package/dist/schema/inbox_dismissals.js +18 -0
  779. package/dist/schema/inbox_dismissals.js.map +1 -0
  780. package/dist/schema/index.d.ts +138 -0
  781. package/dist/schema/index.d.ts.map +1 -0
  782. package/dist/schema/index.js +138 -0
  783. package/dist/schema/index.js.map +1 -0
  784. package/dist/schema/instance_settings.d.ts +131 -0
  785. package/dist/schema/instance_settings.d.ts.map +1 -0
  786. package/dist/schema/instance_settings.js +14 -0
  787. package/dist/schema/instance_settings.js.map +1 -0
  788. package/dist/schema/instance_user_roles.d.ts +93 -0
  789. package/dist/schema/instance_user_roles.d.ts.map +1 -0
  790. package/dist/schema/instance_user_roles.js +12 -0
  791. package/dist/schema/instance_user_roles.js.map +1 -0
  792. package/dist/schema/invites.d.ts +214 -0
  793. package/dist/schema/invites.d.ts.map +1 -0
  794. package/dist/schema/invites.js +20 -0
  795. package/dist/schema/invites.js.map +1 -0
  796. package/dist/schema/issue_approvals.d.ts +110 -0
  797. package/dist/schema/issue_approvals.d.ts.map +1 -0
  798. package/dist/schema/issue_approvals.js +19 -0
  799. package/dist/schema/issue_approvals.js.map +1 -0
  800. package/dist/schema/issue_attachments.d.ts +144 -0
  801. package/dist/schema/issue_attachments.d.ts.map +1 -0
  802. package/dist/schema/issue_attachments.js +24 -0
  803. package/dist/schema/issue_attachments.js.map +1 -0
  804. package/dist/schema/issue_comments.d.ts +429 -0
  805. package/dist/schema/issue_comments.d.ts.map +1 -0
  806. package/dist/schema/issue_comments.js +45 -0
  807. package/dist/schema/issue_comments.js.map +1 -0
  808. package/dist/schema/issue_create_idempotency_keys.d.ts +93 -0
  809. package/dist/schema/issue_create_idempotency_keys.d.ts.map +1 -0
  810. package/dist/schema/issue_create_idempotency_keys.js +15 -0
  811. package/dist/schema/issue_create_idempotency_keys.js.map +1 -0
  812. package/dist/schema/issue_documents.d.ts +127 -0
  813. package/dist/schema/issue_documents.d.ts.map +1 -0
  814. package/dist/schema/issue_documents.js +18 -0
  815. package/dist/schema/issue_documents.js.map +1 -0
  816. package/dist/schema/issue_execution_decisions.d.ts +212 -0
  817. package/dist/schema/issue_execution_decisions.d.ts.map +1 -0
  818. package/dist/schema/issue_execution_decisions.js +23 -0
  819. package/dist/schema/issue_execution_decisions.js.map +1 -0
  820. package/dist/schema/issue_inbox_archives.d.ts +180 -0
  821. package/dist/schema/issue_inbox_archives.d.ts.map +1 -0
  822. package/dist/schema/issue_inbox_archives.js +25 -0
  823. package/dist/schema/issue_inbox_archives.js.map +1 -0
  824. package/dist/schema/issue_labels.d.ts +76 -0
  825. package/dist/schema/issue_labels.d.ts.map +1 -0
  826. package/dist/schema/issue_labels.js +16 -0
  827. package/dist/schema/issue_labels.js.map +1 -0
  828. package/dist/schema/issue_plan_decompositions.d.ts +284 -0
  829. package/dist/schema/issue_plan_decompositions.d.ts.map +1 -0
  830. package/dist/schema/issue_plan_decompositions.js +36 -0
  831. package/dist/schema/issue_plan_decompositions.js.map +1 -0
  832. package/dist/schema/issue_question_response_deliveries.d.ts +320 -0
  833. package/dist/schema/issue_question_response_deliveries.d.ts.map +1 -0
  834. package/dist/schema/issue_question_response_deliveries.js +42 -0
  835. package/dist/schema/issue_question_response_deliveries.js.map +1 -0
  836. package/dist/schema/issue_read_states.d.ts +127 -0
  837. package/dist/schema/issue_read_states.d.ts.map +1 -0
  838. package/dist/schema/issue_read_states.js +17 -0
  839. package/dist/schema/issue_read_states.js.map +1 -0
  840. package/dist/schema/issue_recovery_actions.d.ts +456 -0
  841. package/dist/schema/issue_recovery_actions.d.ts.map +1 -0
  842. package/dist/schema/issue_recovery_actions.js +44 -0
  843. package/dist/schema/issue_recovery_actions.js.map +1 -0
  844. package/dist/schema/issue_reference_mentions.d.ts +180 -0
  845. package/dist/schema/issue_reference_mentions.d.ts.map +1 -0
  846. package/dist/schema/issue_reference_mentions.js +23 -0
  847. package/dist/schema/issue_reference_mentions.js.map +1 -0
  848. package/dist/schema/issue_relations.d.ts +163 -0
  849. package/dist/schema/issue_relations.d.ts.map +1 -0
  850. package/dist/schema/issue_relations.js +21 -0
  851. package/dist/schema/issue_relations.js.map +1 -0
  852. package/dist/schema/issue_thread_interactions.d.ts +516 -0
  853. package/dist/schema/issue_thread_interactions.d.ts.map +1 -0
  854. package/dist/schema/issue_thread_interactions.js +61 -0
  855. package/dist/schema/issue_thread_interactions.js.map +1 -0
  856. package/dist/schema/issue_tree_hold_members.d.ts +280 -0
  857. package/dist/schema/issue_tree_hold_members.d.ts.map +1 -0
  858. package/dist/schema/issue_tree_hold_members.js +29 -0
  859. package/dist/schema/issue_tree_hold_members.js.map +1 -0
  860. package/dist/schema/issue_tree_holds.d.ts +352 -0
  861. package/dist/schema/issue_tree_holds.d.ts.map +1 -0
  862. package/dist/schema/issue_tree_holds.js +31 -0
  863. package/dist/schema/issue_tree_holds.js.map +1 -0
  864. package/dist/schema/issue_watchdogs.d.ts +382 -0
  865. package/dist/schema/issue_watchdogs.d.ts.map +1 -0
  866. package/dist/schema/issue_watchdogs.js +38 -0
  867. package/dist/schema/issue_watchdogs.js.map +1 -0
  868. package/dist/schema/issue_work_products.d.ts +370 -0
  869. package/dist/schema/issue_work_products.d.ts.map +1 -0
  870. package/dist/schema/issue_work_products.js +38 -0
  871. package/dist/schema/issue_work_products.js.map +1 -0
  872. package/dist/schema/issues.d.ts +1062 -0
  873. package/dist/schema/issues.d.ts.map +1 -0
  874. package/dist/schema/issues.js +158 -0
  875. package/dist/schema/issues.js.map +1 -0
  876. package/dist/schema/join_requests.d.ts +384 -0
  877. package/dist/schema/join_requests.d.ts.map +1 -0
  878. package/dist/schema/join_requests.js +39 -0
  879. package/dist/schema/join_requests.js.map +1 -0
  880. package/dist/schema/labels.d.ts +110 -0
  881. package/dist/schema/labels.d.ts.map +1 -0
  882. package/dist/schema/labels.js +14 -0
  883. package/dist/schema/labels.js.map +1 -0
  884. package/dist/schema/managed_agent_profiles.d.ts +339 -0
  885. package/dist/schema/managed_agent_profiles.d.ts.map +1 -0
  886. package/dist/schema/managed_agent_profiles.js +44 -0
  887. package/dist/schema/managed_agent_profiles.js.map +1 -0
  888. package/dist/schema/native_run_finalizations.d.ts +403 -0
  889. package/dist/schema/native_run_finalizations.d.ts.map +1 -0
  890. package/dist/schema/native_run_finalizations.js +91 -0
  891. package/dist/schema/native_run_finalizations.js.map +1 -0
  892. package/dist/schema/native_run_results.d.ts +248 -0
  893. package/dist/schema/native_run_results.d.ts.map +1 -0
  894. package/dist/schema/native_run_results.js +56 -0
  895. package/dist/schema/native_run_results.js.map +1 -0
  896. package/dist/schema/pipeline_case_events.d.ts +231 -0
  897. package/dist/schema/pipeline_case_events.d.ts.map +1 -0
  898. package/dist/schema/pipeline_case_events.js +52 -0
  899. package/dist/schema/pipeline_case_events.js.map +1 -0
  900. package/dist/schema/pipeline_cases.d.ts +1388 -0
  901. package/dist/schema/pipeline_cases.d.ts.map +1 -0
  902. package/dist/schema/pipeline_cases.js +138 -0
  903. package/dist/schema/pipeline_cases.js.map +1 -0
  904. package/dist/schema/pipelines.d.ts +500 -0
  905. package/dist/schema/pipelines.d.ts.map +1 -0
  906. package/dist/schema/pipelines.js +52 -0
  907. package/dist/schema/pipelines.js.map +1 -0
  908. package/dist/schema/plugin_company_settings.d.ts +159 -0
  909. package/dist/schema/plugin_company_settings.d.ts.map +1 -0
  910. package/dist/schema/plugin_company_settings.js +35 -0
  911. package/dist/schema/plugin_company_settings.js.map +1 -0
  912. package/dist/schema/plugin_config.d.ts +139 -0
  913. package/dist/schema/plugin_config.d.ts.map +1 -0
  914. package/dist/schema/plugin_config.js +29 -0
  915. package/dist/schema/plugin_config.js.map +1 -0
  916. package/dist/schema/plugin_database.d.ts +357 -0
  917. package/dist/schema/plugin_database.d.ts.map +1 -0
  918. package/dist/schema/plugin_database.js +51 -0
  919. package/dist/schema/plugin_database.js.map +1 -0
  920. package/dist/schema/plugin_entities.d.ts +230 -0
  921. package/dist/schema/plugin_entities.d.ts.map +1 -0
  922. package/dist/schema/plugin_entities.js +52 -0
  923. package/dist/schema/plugin_entities.js.map +1 -0
  924. package/dist/schema/plugin_jobs.d.ts +409 -0
  925. package/dist/schema/plugin_jobs.d.ts.map +1 -0
  926. package/dist/schema/plugin_jobs.js +87 -0
  927. package/dist/schema/plugin_jobs.js.map +1 -0
  928. package/dist/schema/plugin_logs.d.ts +142 -0
  929. package/dist/schema/plugin_logs.d.ts.map +1 -0
  930. package/dist/schema/plugin_logs.js +33 -0
  931. package/dist/schema/plugin_logs.js.map +1 -0
  932. package/dist/schema/plugin_managed_resources.d.ts +180 -0
  933. package/dist/schema/plugin_managed_resources.d.ts.map +1 -0
  934. package/dist/schema/plugin_managed_resources.js +25 -0
  935. package/dist/schema/plugin_managed_resources.js.map +1 -0
  936. package/dist/schema/plugin_state.d.ts +169 -0
  937. package/dist/schema/plugin_state.d.ts.map +1 -0
  938. package/dist/schema/plugin_state.js +68 -0
  939. package/dist/schema/plugin_state.js.map +1 -0
  940. package/dist/schema/plugin_webhooks.d.ts +256 -0
  941. package/dist/schema/plugin_webhooks.d.ts.map +1 -0
  942. package/dist/schema/plugin_webhooks.js +56 -0
  943. package/dist/schema/plugin_webhooks.js.map +1 -0
  944. package/dist/schema/plugins.d.ts +246 -0
  945. package/dist/schema/plugins.d.ts.map +1 -0
  946. package/dist/schema/plugins.js +31 -0
  947. package/dist/schema/plugins.js.map +1 -0
  948. package/dist/schema/principal_permission_grants.d.ts +163 -0
  949. package/dist/schema/principal_permission_grants.d.ts.map +1 -0
  950. package/dist/schema/principal_permission_grants.js +17 -0
  951. package/dist/schema/principal_permission_grants.js.map +1 -0
  952. package/dist/schema/project_goals.d.ts +93 -0
  953. package/dist/schema/project_goals.d.ts.map +1 -0
  954. package/dist/schema/project_goals.js +17 -0
  955. package/dist/schema/project_goals.js.map +1 -0
  956. package/dist/schema/project_memberships.d.ts +144 -0
  957. package/dist/schema/project_memberships.d.ts.map +1 -0
  958. package/dist/schema/project_memberships.js +19 -0
  959. package/dist/schema/project_memberships.js.map +1 -0
  960. package/dist/schema/project_workspaces.d.ts +333 -0
  961. package/dist/schema/project_workspaces.d.ts.map +1 -0
  962. package/dist/schema/project_workspaces.js +32 -0
  963. package/dist/schema/project_workspaces.js.map +1 -0
  964. package/dist/schema/projects.d.ts +302 -0
  965. package/dist/schema/projects.d.ts.map +1 -0
  966. package/dist/schema/projects.js +26 -0
  967. package/dist/schema/projects.js.map +1 -0
  968. package/dist/schema/provider_trace_records.d.ts +264 -0
  969. package/dist/schema/provider_trace_records.d.ts.map +1 -0
  970. package/dist/schema/provider_trace_records.js +34 -0
  971. package/dist/schema/provider_trace_records.js.map +1 -0
  972. package/dist/schema/remote_agent_profiles.d.ts +238 -0
  973. package/dist/schema/remote_agent_profiles.d.ts.map +1 -0
  974. package/dist/schema/remote_agent_profiles.js +31 -0
  975. package/dist/schema/remote_agent_profiles.js.map +1 -0
  976. package/dist/schema/routine_documents.d.ts +127 -0
  977. package/dist/schema/routine_documents.d.ts.map +1 -0
  978. package/dist/schema/routine_documents.js +18 -0
  979. package/dist/schema/routine_documents.js.map +1 -0
  980. package/dist/schema/routines.d.ts +1611 -0
  981. package/dist/schema/routines.d.ts.map +1 -0
  982. package/dist/schema/routines.js +140 -0
  983. package/dist/schema/routines.js.map +1 -0
  984. package/dist/schema/run_identity_contexts.d.ts +248 -0
  985. package/dist/schema/run_identity_contexts.d.ts.map +1 -0
  986. package/dist/schema/run_identity_contexts.js +29 -0
  987. package/dist/schema/run_identity_contexts.js.map +1 -0
  988. package/dist/schema/secret_access_events.d.ts +382 -0
  989. package/dist/schema/secret_access_events.d.ts.map +1 -0
  990. package/dist/schema/secret_access_events.js +39 -0
  991. package/dist/schema/secret_access_events.js.map +1 -0
  992. package/dist/schema/smoke_lab.d.ts +367 -0
  993. package/dist/schema/smoke_lab.d.ts.map +1 -0
  994. package/dist/schema/smoke_lab.js +33 -0
  995. package/dist/schema/smoke_lab.js.map +1 -0
  996. package/dist/schema/status_cards.d.ts +949 -0
  997. package/dist/schema/status_cards.d.ts.map +1 -0
  998. package/dist/schema/status_cards.js +70 -0
  999. package/dist/schema/status_cards.js.map +1 -0
  1000. package/dist/schema/status_decision_effects.d.ts +299 -0
  1001. package/dist/schema/status_decision_effects.d.ts.map +1 -0
  1002. package/dist/schema/status_decision_effects.js +37 -0
  1003. package/dist/schema/status_decision_effects.js.map +1 -0
  1004. package/dist/schema/status_decisions.d.ts +282 -0
  1005. package/dist/schema/status_decisions.d.ts.map +1 -0
  1006. package/dist/schema/status_decisions.js +49 -0
  1007. package/dist/schema/status_decisions.js.map +1 -0
  1008. package/dist/schema/summary_slots.d.ts +252 -0
  1009. package/dist/schema/summary_slots.d.ts.map +1 -0
  1010. package/dist/schema/summary_slots.js +32 -0
  1011. package/dist/schema/summary_slots.js.map +1 -0
  1012. package/dist/schema/tool_access.d.ts +8382 -0
  1013. package/dist/schema/tool_access.d.ts.map +1 -0
  1014. package/dist/schema/tool_access.js +735 -0
  1015. package/dist/schema/tool_access.js.map +1 -0
  1016. package/dist/schema/tool_action_deliveries.d.ts +111 -0
  1017. package/dist/schema/tool_action_deliveries.d.ts.map +1 -0
  1018. package/dist/schema/tool_action_deliveries.js +27 -0
  1019. package/dist/schema/tool_action_deliveries.js.map +1 -0
  1020. package/dist/schema/user_inbox_agent_policies.d.ts +131 -0
  1021. package/dist/schema/user_inbox_agent_policies.d.ts.map +1 -0
  1022. package/dist/schema/user_inbox_agent_policies.js +17 -0
  1023. package/dist/schema/user_inbox_agent_policies.js.map +1 -0
  1024. package/dist/schema/user_secret_declarations.d.ts +229 -0
  1025. package/dist/schema/user_secret_declarations.d.ts.map +1 -0
  1026. package/dist/schema/user_secret_declarations.js +31 -0
  1027. package/dist/schema/user_secret_declarations.js.map +1 -0
  1028. package/dist/schema/user_secret_definitions.d.ts +316 -0
  1029. package/dist/schema/user_secret_definitions.d.ts.map +1 -0
  1030. package/dist/schema/user_secret_definitions.js +33 -0
  1031. package/dist/schema/user_secret_definitions.js.map +1 -0
  1032. package/dist/schema/user_sidebar_preferences.d.ts +95 -0
  1033. package/dist/schema/user_sidebar_preferences.d.ts.map +1 -0
  1034. package/dist/schema/user_sidebar_preferences.js +11 -0
  1035. package/dist/schema/user_sidebar_preferences.js.map +1 -0
  1036. package/dist/schema/work_assessments.d.ts +333 -0
  1037. package/dist/schema/work_assessments.d.ts.map +1 -0
  1038. package/dist/schema/work_assessments.js +67 -0
  1039. package/dist/schema/work_assessments.js.map +1 -0
  1040. package/dist/schema/workspace_operations.d.ts +384 -0
  1041. package/dist/schema/workspace_operations.d.ts.map +1 -0
  1042. package/dist/schema/workspace_operations.js +40 -0
  1043. package/dist/schema/workspace_operations.js.map +1 -0
  1044. package/dist/schema/workspace_runtime_services.d.ts +523 -0
  1045. package/dist/schema/workspace_runtime_services.d.ts.map +1 -0
  1046. package/dist/schema/workspace_runtime_services.js +53 -0
  1047. package/dist/schema/workspace_runtime_services.js.map +1 -0
  1048. package/dist/seed.d.ts +2 -0
  1049. package/dist/seed.d.ts.map +1 -0
  1050. package/dist/seed.js +91 -0
  1051. package/dist/seed.js.map +1 -0
  1052. package/dist/session-goal-migration.test.d.ts +2 -0
  1053. package/dist/session-goal-migration.test.d.ts.map +1 -0
  1054. package/dist/session-goal-migration.test.js +47 -0
  1055. package/dist/session-goal-migration.test.js.map +1 -0
  1056. package/dist/status-card-migrations.test.d.ts +2 -0
  1057. package/dist/status-card-migrations.test.d.ts.map +1 -0
  1058. package/dist/status-card-migrations.test.js +34 -0
  1059. package/dist/status-card-migrations.test.js.map +1 -0
  1060. package/dist/summary-slots-schema.test.d.ts +2 -0
  1061. package/dist/summary-slots-schema.test.d.ts.map +1 -0
  1062. package/dist/summary-slots-schema.test.js +62 -0
  1063. package/dist/summary-slots-schema.test.js.map +1 -0
  1064. package/dist/table-size-estimates.d.ts +366 -0
  1065. package/dist/table-size-estimates.d.ts.map +1 -0
  1066. package/dist/table-size-estimates.js +153 -0
  1067. package/dist/table-size-estimates.js.map +1 -0
  1068. package/dist/test-embedded-postgres.d.ts +37 -0
  1069. package/dist/test-embedded-postgres.d.ts.map +1 -0
  1070. package/dist/test-embedded-postgres.js +240 -0
  1071. package/dist/test-embedded-postgres.js.map +1 -0
  1072. package/dist/test-embedded-postgres.test.d.ts +2 -0
  1073. package/dist/test-embedded-postgres.test.d.ts.map +1 -0
  1074. package/dist/test-embedded-postgres.test.js +76 -0
  1075. package/dist/test-embedded-postgres.test.js.map +1 -0
  1076. package/dist/transient-write-retry.d.ts +4 -0
  1077. package/dist/transient-write-retry.d.ts.map +1 -0
  1078. package/dist/transient-write-retry.js +79 -0
  1079. package/dist/transient-write-retry.js.map +1 -0
  1080. package/dist/transient-write-retry.test.d.ts +2 -0
  1081. package/dist/transient-write-retry.test.d.ts.map +1 -0
  1082. package/dist/transient-write-retry.test.js +166 -0
  1083. package/dist/transient-write-retry.test.js.map +1 -0
  1084. package/dist/vercel-connect-credential-source-migration.test.d.ts +2 -0
  1085. package/dist/vercel-connect-credential-source-migration.test.d.ts.map +1 -0
  1086. package/dist/vercel-connect-credential-source-migration.test.js +71 -0
  1087. package/dist/vercel-connect-credential-source-migration.test.js.map +1 -0
  1088. package/node_modules/async-exit-hook/index.js +171 -0
  1089. package/node_modules/async-exit-hook/license +21 -0
  1090. package/node_modules/async-exit-hook/package.json +66 -0
  1091. package/node_modules/async-exit-hook/readme.md +118 -0
  1092. package/node_modules/embedded-postgres/LICENSE.md +9 -0
  1093. package/node_modules/embedded-postgres/README.md +191 -0
  1094. package/node_modules/embedded-postgres/dist/binary.d.ts +7 -0
  1095. package/node_modules/embedded-postgres/dist/binary.js +41 -0
  1096. package/node_modules/embedded-postgres/dist/index.d.ts +58 -0
  1097. package/node_modules/embedded-postgres/dist/index.js +366 -0
  1098. package/node_modules/embedded-postgres/dist/types.d.ts +54 -0
  1099. package/node_modules/embedded-postgres/dist/types.js +1 -0
  1100. package/node_modules/embedded-postgres/package.json +59 -0
  1101. package/node_modules/pg/LICENSE +21 -0
  1102. package/node_modules/pg/README.md +96 -0
  1103. package/node_modules/pg/esm/index.mjs +20 -0
  1104. package/node_modules/pg/lib/client.js +828 -0
  1105. package/node_modules/pg/lib/connection-parameters.js +184 -0
  1106. package/node_modules/pg/lib/connection.js +243 -0
  1107. package/node_modules/pg/lib/crypto/cert-signatures.js +122 -0
  1108. package/node_modules/pg/lib/crypto/sasl.js +262 -0
  1109. package/node_modules/pg/lib/crypto/utils.js +89 -0
  1110. package/node_modules/pg/lib/defaults.js +94 -0
  1111. package/node_modules/pg/lib/index.js +73 -0
  1112. package/node_modules/pg/lib/native/client.js +420 -0
  1113. package/node_modules/pg/lib/native/index.js +2 -0
  1114. package/node_modules/pg/lib/native/query.js +165 -0
  1115. package/node_modules/pg/lib/query.js +259 -0
  1116. package/node_modules/pg/lib/result.js +109 -0
  1117. package/node_modules/pg/lib/stream.js +83 -0
  1118. package/node_modules/pg/lib/type-overrides.js +35 -0
  1119. package/node_modules/pg/lib/utils.js +207 -0
  1120. package/node_modules/pg/package.json +76 -0
  1121. package/node_modules/pg-cloudflare/LICENSE +21 -0
  1122. package/node_modules/pg-cloudflare/README.md +112 -0
  1123. package/node_modules/pg-cloudflare/dist/empty.d.ts +2 -0
  1124. package/node_modules/pg-cloudflare/dist/empty.js +6 -0
  1125. package/node_modules/pg-cloudflare/dist/empty.js.map +1 -0
  1126. package/node_modules/pg-cloudflare/dist/index.d.ts +31 -0
  1127. package/node_modules/pg-cloudflare/dist/index.js +154 -0
  1128. package/node_modules/pg-cloudflare/dist/index.js.map +1 -0
  1129. package/node_modules/pg-cloudflare/esm/index.mjs +3 -0
  1130. package/node_modules/pg-cloudflare/package.json +39 -0
  1131. package/node_modules/pg-cloudflare/src/empty.ts +3 -0
  1132. package/node_modules/pg-cloudflare/src/index.ts +169 -0
  1133. package/node_modules/pg-cloudflare/src/types.d.ts +25 -0
  1134. package/node_modules/pg-connection-string/LICENSE +21 -0
  1135. package/node_modules/pg-connection-string/README.md +105 -0
  1136. package/node_modules/pg-connection-string/esm/index.mjs +8 -0
  1137. package/node_modules/pg-connection-string/index.d.ts +37 -0
  1138. package/node_modules/pg-connection-string/index.js +237 -0
  1139. package/node_modules/pg-connection-string/package.json +52 -0
  1140. package/node_modules/pg-int8/LICENSE +13 -0
  1141. package/node_modules/pg-int8/README.md +16 -0
  1142. package/node_modules/pg-int8/index.js +100 -0
  1143. package/node_modules/pg-int8/package.json +24 -0
  1144. package/node_modules/pg-pool/LICENSE +21 -0
  1145. package/node_modules/pg-pool/README.md +357 -0
  1146. package/node_modules/pg-pool/esm/index.mjs +5 -0
  1147. package/node_modules/pg-pool/index.js +517 -0
  1148. package/node_modules/pg-pool/package.json +51 -0
  1149. package/node_modules/pg-protocol/LICENSE +21 -0
  1150. package/node_modules/pg-protocol/README.md +3 -0
  1151. package/node_modules/pg-protocol/dist/b.d.ts +1 -0
  1152. package/node_modules/pg-protocol/dist/b.js +23 -0
  1153. package/node_modules/pg-protocol/dist/b.js.map +1 -0
  1154. package/node_modules/pg-protocol/dist/buffer-reader.d.ts +14 -0
  1155. package/node_modules/pg-protocol/dist/buffer-reader.js +55 -0
  1156. package/node_modules/pg-protocol/dist/buffer-reader.js.map +1 -0
  1157. package/node_modules/pg-protocol/dist/buffer-writer.d.ts +17 -0
  1158. package/node_modules/pg-protocol/dist/buffer-writer.js +104 -0
  1159. package/node_modules/pg-protocol/dist/buffer-writer.js.map +1 -0
  1160. package/node_modules/pg-protocol/dist/inbound-parser.test.d.ts +1 -0
  1161. package/node_modules/pg-protocol/dist/inbound-parser.test.js +538 -0
  1162. package/node_modules/pg-protocol/dist/inbound-parser.test.js.map +1 -0
  1163. package/node_modules/pg-protocol/dist/index.d.ts +5 -0
  1164. package/node_modules/pg-protocol/dist/index.js +15 -0
  1165. package/node_modules/pg-protocol/dist/index.js.map +1 -0
  1166. package/node_modules/pg-protocol/dist/messages.d.ts +161 -0
  1167. package/node_modules/pg-protocol/dist/messages.js +160 -0
  1168. package/node_modules/pg-protocol/dist/messages.js.map +1 -0
  1169. package/node_modules/pg-protocol/dist/outbound-serializer.test.d.ts +1 -0
  1170. package/node_modules/pg-protocol/dist/outbound-serializer.test.js +325 -0
  1171. package/node_modules/pg-protocol/dist/outbound-serializer.test.js.map +1 -0
  1172. package/node_modules/pg-protocol/dist/parser.d.ts +22 -0
  1173. package/node_modules/pg-protocol/dist/parser.js +325 -0
  1174. package/node_modules/pg-protocol/dist/parser.js.map +1 -0
  1175. package/node_modules/pg-protocol/dist/serializer.d.ts +42 -0
  1176. package/node_modules/pg-protocol/dist/serializer.js +196 -0
  1177. package/node_modules/pg-protocol/dist/serializer.js.map +1 -0
  1178. package/node_modules/pg-protocol/esm/index.js +11 -0
  1179. package/node_modules/pg-protocol/package.json +44 -0
  1180. package/node_modules/pg-protocol/src/b.ts +25 -0
  1181. package/node_modules/pg-protocol/src/buffer-reader.ts +58 -0
  1182. package/node_modules/pg-protocol/src/buffer-writer.ts +110 -0
  1183. package/node_modules/pg-protocol/src/inbound-parser.test.ts +585 -0
  1184. package/node_modules/pg-protocol/src/index.ts +11 -0
  1185. package/node_modules/pg-protocol/src/messages.ts +262 -0
  1186. package/node_modules/pg-protocol/src/outbound-serializer.test.ts +356 -0
  1187. package/node_modules/pg-protocol/src/parser.ts +414 -0
  1188. package/node_modules/pg-protocol/src/serializer.ts +280 -0
  1189. package/node_modules/pg-protocol/src/testing/buffer-list.ts +67 -0
  1190. package/node_modules/pg-protocol/src/testing/test-buffers.ts +166 -0
  1191. package/node_modules/pg-types/.travis.yml +7 -0
  1192. package/node_modules/pg-types/Makefile +14 -0
  1193. package/node_modules/pg-types/README.md +75 -0
  1194. package/node_modules/pg-types/index.d.ts +137 -0
  1195. package/node_modules/pg-types/index.js +47 -0
  1196. package/node_modules/pg-types/index.test-d.ts +21 -0
  1197. package/node_modules/pg-types/lib/arrayParser.js +11 -0
  1198. package/node_modules/pg-types/lib/binaryParsers.js +257 -0
  1199. package/node_modules/pg-types/lib/builtins.js +73 -0
  1200. package/node_modules/pg-types/lib/textParsers.js +215 -0
  1201. package/node_modules/pg-types/package.json +42 -0
  1202. package/node_modules/pg-types/test/index.js +24 -0
  1203. package/node_modules/pg-types/test/types.js +597 -0
  1204. package/node_modules/pgpass/README.md +74 -0
  1205. package/node_modules/pgpass/lib/helper.js +233 -0
  1206. package/node_modules/pgpass/lib/index.js +23 -0
  1207. package/node_modules/pgpass/package.json +41 -0
  1208. package/node_modules/postgres-array/index.d.ts +4 -0
  1209. package/node_modules/postgres-array/index.js +97 -0
  1210. package/node_modules/postgres-array/license +21 -0
  1211. package/node_modules/postgres-array/package.json +35 -0
  1212. package/node_modules/postgres-array/readme.md +43 -0
  1213. package/node_modules/postgres-bytea/index.js +33 -0
  1214. package/node_modules/postgres-bytea/license +21 -0
  1215. package/node_modules/postgres-bytea/package.json +34 -0
  1216. package/node_modules/postgres-bytea/readme.md +34 -0
  1217. package/node_modules/postgres-date/index.js +116 -0
  1218. package/node_modules/postgres-date/license +21 -0
  1219. package/node_modules/postgres-date/package.json +33 -0
  1220. package/node_modules/postgres-date/readme.md +49 -0
  1221. package/node_modules/postgres-interval/index.d.ts +20 -0
  1222. package/node_modules/postgres-interval/index.js +125 -0
  1223. package/node_modules/postgres-interval/license +21 -0
  1224. package/node_modules/postgres-interval/package.json +36 -0
  1225. package/node_modules/postgres-interval/readme.md +48 -0
  1226. package/node_modules/split2/LICENSE +13 -0
  1227. package/node_modules/split2/README.md +85 -0
  1228. package/node_modules/split2/bench.js +27 -0
  1229. package/node_modules/split2/index.js +141 -0
  1230. package/node_modules/split2/package.json +39 -0
  1231. package/node_modules/split2/test.js +409 -0
  1232. package/node_modules/xtend/.jshintrc +30 -0
  1233. package/node_modules/xtend/LICENSE +20 -0
  1234. package/node_modules/xtend/README.md +32 -0
  1235. package/node_modules/xtend/immutable.js +19 -0
  1236. package/node_modules/xtend/mutable.js +17 -0
  1237. package/node_modules/xtend/package.json +55 -0
  1238. package/node_modules/xtend/test.js +103 -0
  1239. package/package.json +69 -0
package/dist/client.js ADDED
@@ -0,0 +1,883 @@
1
+ import { createHash } from "node:crypto";
2
+ import { drizzle as drizzlePg } from "drizzle-orm/postgres-js";
3
+ import { migrate as migratePg } from "drizzle-orm/postgres-js/migrator";
4
+ import { readFile, readdir } from "node:fs/promises";
5
+ import { fileURLToPath } from "node:url";
6
+ import postgres from "postgres";
7
+ import * as schema from "./schema/index.js";
8
+ import { withTransientWriteRetry } from "./transient-write-retry.js";
9
+ const MIGRATIONS_FOLDER = fileURLToPath(new URL("./migrations", import.meta.url));
10
+ const DRIZZLE_MIGRATIONS_TABLE = "__drizzle_migrations";
11
+ const MIGRATIONS_JOURNAL_JSON = fileURLToPath(new URL("./migrations/meta/_journal.json", import.meta.url));
12
+ function createUtilitySql(url) {
13
+ return postgres(url, { max: 1, onnotice: () => { } });
14
+ }
15
+ /**
16
+ * Derives a registry key from a connection URL's host and port only. We must
17
+ * not retain or log the full URL, because it carries credentials.
18
+ */
19
+ function hostPortKey(url) {
20
+ const parsed = new URL(url);
21
+ return `${parsed.hostname}:${parsed.port || "5432"}`;
22
+ }
23
+ /**
24
+ * Same as `hostPortKey`, but returns `null` instead of throwing when the URL
25
+ * does not parse. `postgres(url)` tolerates a value `new URL()` rejects (an
26
+ * empty string falls back to the `PG*` environment variables), so `createDb`
27
+ * must tolerate it too: skip the registry entry and let the driver decide
28
+ * the outcome, instead of throwing an error the driver itself would not.
29
+ */
30
+ function hostPortKeyOrNull(url) {
31
+ try {
32
+ return hostPortKey(url);
33
+ }
34
+ catch (error) {
35
+ if (error instanceof TypeError && error.code === "ERR_INVALID_URL")
36
+ return null;
37
+ throw error;
38
+ }
39
+ }
40
+ // Tracks every client `createDb` hands out, keyed by host and port, so a test
41
+ // fixture can end them before it stops the Postgres cluster they point at. A
42
+ // `WeakRef` plus `FinalizationRegistry` means a long-lived process (a real
43
+ // server) retains nothing extra: an unreferenced client is pruned on its own.
44
+ const clientsByHostPort = new Map();
45
+ const clientFinalizer = new FinalizationRegistry(({ hostPortKey, ref }) => {
46
+ const refs = clientsByHostPort.get(hostPortKey);
47
+ if (!refs)
48
+ return;
49
+ refs.delete(ref);
50
+ if (refs.size === 0)
51
+ clientsByHostPort.delete(hostPortKey);
52
+ });
53
+ function registerClient(key, client) {
54
+ const ref = new WeakRef(client);
55
+ let refs = clientsByHostPort.get(key);
56
+ if (!refs) {
57
+ refs = new Set();
58
+ clientsByHostPort.set(key, refs);
59
+ }
60
+ refs.add(ref);
61
+ clientFinalizer.register(client, { hostPortKey: key, ref }, ref);
62
+ }
63
+ /**
64
+ * Ends every live client `createDb` handed out for the given URL's host and
65
+ * port, then forgets them. Call this before stopping a Postgres cluster: a
66
+ * client that outlives the cluster it points at can crash the process (a
67
+ * reserved connection's deferred write firing after the socket is gone).
68
+ * Swallows individual `end()` errors so one bad client cannot block the rest.
69
+ */
70
+ export async function closeRegisteredClients(url) {
71
+ const key = hostPortKey(url);
72
+ const refs = clientsByHostPort.get(key);
73
+ if (!refs)
74
+ return;
75
+ clientsByHostPort.delete(key);
76
+ const clients = [];
77
+ for (const ref of refs) {
78
+ clientFinalizer.unregister(ref);
79
+ const client = ref.deref();
80
+ if (client)
81
+ clients.push(client);
82
+ }
83
+ await Promise.all(clients.map((client) => client.end({ timeout: 1 }).catch(() => { })));
84
+ }
85
+ function isSafeIdentifier(value) {
86
+ return /^[A-Za-z_][A-Za-z0-9_]*$/.test(value);
87
+ }
88
+ function quoteIdentifier(value) {
89
+ if (!isSafeIdentifier(value))
90
+ throw new Error(`Unsafe SQL identifier: ${value}`);
91
+ return `"${value.replaceAll("\"", "\"\"")}"`;
92
+ }
93
+ function quoteLiteral(value) {
94
+ return `'${value.replaceAll("'", "''")}'`;
95
+ }
96
+ function splitMigrationStatements(content) {
97
+ return content
98
+ .split("--> statement-breakpoint")
99
+ .map((statement) => statement.trim())
100
+ .filter((statement) => statement.length > 0);
101
+ }
102
+ /**
103
+ * Idle pooled connections close after this many seconds unless
104
+ * `DATABASE_IDLE_TIMEOUT_SECONDS` says otherwise. The driver default keeps an
105
+ * idle connection open forever, so a process that stops issuing queries still
106
+ * holds every backend it ever opened. Set `DATABASE_IDLE_TIMEOUT_SECONDS=0`
107
+ * to restore the driver default.
108
+ */
109
+ export const DEFAULT_DATABASE_IDLE_TIMEOUT_SECONDS = 60;
110
+ /** `application_name` reported to PostgreSQL unless `DATABASE_APPLICATION_NAME` overrides it. */
111
+ export const DEFAULT_DATABASE_APPLICATION_NAME = "paperclip";
112
+ function envBoolean(env, name) {
113
+ const value = env[name]?.trim().toLowerCase();
114
+ if (value === undefined || value === "")
115
+ return undefined;
116
+ if (value === "true" || value === "1")
117
+ return true;
118
+ if (value === "false" || value === "0")
119
+ return false;
120
+ throw new Error(`${name} must be "true" or "false", got: ${env[name]}`);
121
+ }
122
+ function envPositiveInteger(env, name) {
123
+ const value = env[name]?.trim();
124
+ if (value === undefined || value === "")
125
+ return undefined;
126
+ if (!/^[1-9]\d*$/.test(value)) {
127
+ throw new Error(`${name} must be a positive integer, got: ${env[name]}`);
128
+ }
129
+ return Number.parseInt(value, 10);
130
+ }
131
+ function envNonNegativeInteger(env, name) {
132
+ const value = env[name]?.trim();
133
+ if (value === undefined || value === "")
134
+ return undefined;
135
+ if (!/^(?:0|[1-9]\d*)$/.test(value)) {
136
+ throw new Error(`${name} must be a non-negative integer, got: ${env[name]}`);
137
+ }
138
+ return Number.parseInt(value, 10);
139
+ }
140
+ function envNonEmptyString(env, name) {
141
+ const value = env[name]?.trim();
142
+ if (value === undefined || value === "")
143
+ return undefined;
144
+ return value;
145
+ }
146
+ /**
147
+ * Database client tuning from the environment, so hosted deployments can
148
+ * adapt to their connection topology (pooled endpoints, network latency)
149
+ * without editing source. Every variable is optional. This function returns
150
+ * only the values the environment sets; `resolveDatabaseClientOptions` adds
151
+ * Paperclip's own defaults on top, and the driver defaults apply to the rest
152
+ * — self-hosted setups need none of these.
153
+ */
154
+ export function databaseClientOptionsFromEnv(env = process.env) {
155
+ const options = {};
156
+ const prepare = envBoolean(env, "DATABASE_PREPARED_STATEMENTS");
157
+ if (prepare !== undefined)
158
+ options.prepare = prepare;
159
+ const maxConnections = envPositiveInteger(env, "DATABASE_POOL_MAX");
160
+ if (maxConnections !== undefined)
161
+ options.maxConnections = maxConnections;
162
+ // `0` is allowed here: it disables idle reaping (the driver default).
163
+ const idleTimeoutSeconds = envNonNegativeInteger(env, "DATABASE_IDLE_TIMEOUT_SECONDS");
164
+ if (idleTimeoutSeconds !== undefined)
165
+ options.idleTimeoutSeconds = idleTimeoutSeconds;
166
+ const connectTimeoutSeconds = envPositiveInteger(env, "DATABASE_CONNECT_TIMEOUT_SECONDS");
167
+ if (connectTimeoutSeconds !== undefined)
168
+ options.connectTimeoutSeconds = connectTimeoutSeconds;
169
+ const maxLifetimeSeconds = envPositiveInteger(env, "DATABASE_MAX_LIFETIME_SECONDS");
170
+ if (maxLifetimeSeconds !== undefined)
171
+ options.maxLifetimeSeconds = maxLifetimeSeconds;
172
+ const applicationName = envNonEmptyString(env, "DATABASE_APPLICATION_NAME");
173
+ if (applicationName !== undefined)
174
+ options.applicationName = applicationName;
175
+ return options;
176
+ }
177
+ /**
178
+ * Fills in Paperclip's defaults for the options the caller left unset: idle
179
+ * connections are reaped after `DEFAULT_DATABASE_IDLE_TIMEOUT_SECONDS`, and the
180
+ * pool identifies itself as `DEFAULT_DATABASE_APPLICATION_NAME`. Everything
181
+ * else stays at the driver default. An explicit value (including
182
+ * `idleTimeoutSeconds: 0`) always wins over the default.
183
+ */
184
+ export function resolveDatabaseClientOptions(options) {
185
+ return {
186
+ ...options,
187
+ idleTimeoutSeconds: options.idleTimeoutSeconds ?? DEFAULT_DATABASE_IDLE_TIMEOUT_SECONDS,
188
+ applicationName: options.applicationName ?? DEFAULT_DATABASE_APPLICATION_NAME,
189
+ };
190
+ }
191
+ export function postgresJsOptions(options) {
192
+ const driverOptions = {};
193
+ if (options.prepare !== undefined)
194
+ driverOptions.prepare = options.prepare;
195
+ if (options.maxConnections !== undefined)
196
+ driverOptions.max = options.maxConnections;
197
+ if (options.idleTimeoutSeconds !== undefined)
198
+ driverOptions.idle_timeout = options.idleTimeoutSeconds;
199
+ if (options.connectTimeoutSeconds !== undefined)
200
+ driverOptions.connect_timeout = options.connectTimeoutSeconds;
201
+ if (options.maxLifetimeSeconds !== undefined)
202
+ driverOptions.max_lifetime = options.maxLifetimeSeconds;
203
+ if (options.applicationName !== undefined) {
204
+ driverOptions.connection = { application_name: options.applicationName };
205
+ }
206
+ return driverOptions;
207
+ }
208
+ export function createDb(url, options) {
209
+ const resolved = resolveDatabaseClientOptions(options ?? databaseClientOptionsFromEnv());
210
+ const sql = postgres(url, postgresJsOptions(resolved));
211
+ const key = hostPortKeyOrNull(url);
212
+ if (key)
213
+ registerClient(key, sql);
214
+ // The registry keeps the real client (teardown must end the actual pool);
215
+ // drizzle gets the retrying face so a pooler-recycled socket replays the
216
+ // query instead of failing the request that happened to draw it.
217
+ return drizzlePg(withTransientWriteRetry(sql), { schema });
218
+ }
219
+ export async function getPostgresDataDirectory(url) {
220
+ const sql = createUtilitySql(url);
221
+ try {
222
+ const rows = await sql `
223
+ SELECT current_setting('data_directory', true) AS data_directory
224
+ `;
225
+ const actual = rows[0]?.data_directory;
226
+ return typeof actual === "string" && actual.length > 0 ? actual : null;
227
+ }
228
+ catch {
229
+ return null;
230
+ }
231
+ finally {
232
+ await sql.end();
233
+ }
234
+ }
235
+ async function listMigrationFiles() {
236
+ const entries = await readdir(MIGRATIONS_FOLDER, { withFileTypes: true });
237
+ return entries
238
+ .filter((entry) => entry.isFile() && entry.name.endsWith(".sql"))
239
+ .map((entry) => entry.name)
240
+ .sort((a, b) => a.localeCompare(b));
241
+ }
242
+ async function listJournalMigrationEntries() {
243
+ try {
244
+ const raw = await readFile(MIGRATIONS_JOURNAL_JSON, "utf8");
245
+ const parsed = JSON.parse(raw);
246
+ if (!Array.isArray(parsed.entries))
247
+ return [];
248
+ return parsed.entries
249
+ .map((entry, entryIndex) => {
250
+ if (typeof entry?.tag !== "string")
251
+ return null;
252
+ if (typeof entry?.when !== "number" || !Number.isFinite(entry.when))
253
+ return null;
254
+ const order = Number.isInteger(entry.idx) ? Number(entry.idx) : entryIndex;
255
+ return { fileName: `${entry.tag}.sql`, folderMillis: entry.when, order };
256
+ })
257
+ .filter((entry) => entry !== null);
258
+ }
259
+ catch {
260
+ return [];
261
+ }
262
+ }
263
+ async function listJournalMigrationFiles() {
264
+ const entries = await listJournalMigrationEntries();
265
+ return entries.map((entry) => entry.fileName);
266
+ }
267
+ async function readMigrationFileContent(migrationFile) {
268
+ return readFile(new URL(`./migrations/${migrationFile}`, import.meta.url), "utf8");
269
+ }
270
+ async function orderMigrationsByJournal(migrationFiles) {
271
+ const journalEntries = await listJournalMigrationEntries();
272
+ const orderByFileName = new Map(journalEntries.map((entry) => [entry.fileName, entry.order]));
273
+ return [...migrationFiles].sort((left, right) => {
274
+ const leftOrder = orderByFileName.get(left);
275
+ const rightOrder = orderByFileName.get(right);
276
+ if (leftOrder === undefined && rightOrder === undefined)
277
+ return left.localeCompare(right);
278
+ if (leftOrder === undefined)
279
+ return 1;
280
+ if (rightOrder === undefined)
281
+ return -1;
282
+ if (leftOrder === rightOrder)
283
+ return left.localeCompare(right);
284
+ return leftOrder - rightOrder;
285
+ });
286
+ }
287
+ async function runInTransaction(sql, action) {
288
+ await sql.unsafe("BEGIN");
289
+ try {
290
+ await action();
291
+ await sql.unsafe("COMMIT");
292
+ }
293
+ catch (error) {
294
+ try {
295
+ await sql.unsafe("ROLLBACK");
296
+ }
297
+ catch {
298
+ // Ignore rollback failures and surface the original error.
299
+ }
300
+ throw error;
301
+ }
302
+ }
303
+ async function latestMigrationCreatedAt(sql, qualifiedTable) {
304
+ const rows = await sql.unsafe(`SELECT created_at FROM ${qualifiedTable} ORDER BY created_at DESC NULLS LAST LIMIT 1`);
305
+ const value = Number(rows[0]?.created_at ?? Number.NaN);
306
+ return Number.isFinite(value) ? value : null;
307
+ }
308
+ function normalizeFolderMillis(value) {
309
+ if (typeof value === "number" && Number.isFinite(value) && value >= 0) {
310
+ return Math.trunc(value);
311
+ }
312
+ return Date.now();
313
+ }
314
+ async function ensureMigrationJournalTable(sql) {
315
+ let migrationTableSchema = await discoverMigrationTableSchema(sql);
316
+ if (!migrationTableSchema) {
317
+ const drizzleSchema = quoteIdentifier("drizzle");
318
+ const migrationTable = quoteIdentifier(DRIZZLE_MIGRATIONS_TABLE);
319
+ await sql.unsafe(`CREATE SCHEMA IF NOT EXISTS ${drizzleSchema}`);
320
+ await sql.unsafe(`CREATE TABLE IF NOT EXISTS ${drizzleSchema}.${migrationTable} (id SERIAL PRIMARY KEY, hash text NOT NULL, created_at bigint)`);
321
+ migrationTableSchema = (await discoverMigrationTableSchema(sql)) ?? "drizzle";
322
+ }
323
+ const columnNames = await getMigrationTableColumnNames(sql, migrationTableSchema);
324
+ return { migrationTableSchema, columnNames };
325
+ }
326
+ async function migrationHistoryEntryExists(sql, qualifiedTable, columnNames, migrationFile, hash) {
327
+ const predicates = [];
328
+ if (columnNames.has("hash"))
329
+ predicates.push(`hash = ${quoteLiteral(hash)}`);
330
+ if (columnNames.has("name"))
331
+ predicates.push(`name = ${quoteLiteral(migrationFile)}`);
332
+ if (predicates.length === 0)
333
+ return false;
334
+ const rows = await sql.unsafe(`SELECT 1 AS one FROM ${qualifiedTable} WHERE ${predicates.join(" OR ")} LIMIT 1`);
335
+ return rows.length > 0;
336
+ }
337
+ async function recordMigrationHistoryEntry(sql, qualifiedTable, columnNames, migrationFile, hash, folderMillis) {
338
+ const insertColumns = [];
339
+ const insertValues = [];
340
+ if (columnNames.has("hash")) {
341
+ insertColumns.push(quoteIdentifier("hash"));
342
+ insertValues.push(quoteLiteral(hash));
343
+ }
344
+ if (columnNames.has("name")) {
345
+ insertColumns.push(quoteIdentifier("name"));
346
+ insertValues.push(quoteLiteral(migrationFile));
347
+ }
348
+ if (columnNames.has("created_at")) {
349
+ const latestCreatedAt = await latestMigrationCreatedAt(sql, qualifiedTable);
350
+ const createdAt = latestCreatedAt === null
351
+ ? normalizeFolderMillis(folderMillis)
352
+ : Math.max(latestCreatedAt + 1, normalizeFolderMillis(folderMillis));
353
+ insertColumns.push(quoteIdentifier("created_at"));
354
+ insertValues.push(quoteLiteral(String(createdAt)));
355
+ }
356
+ if (insertColumns.length === 0)
357
+ return;
358
+ await sql.unsafe(`INSERT INTO ${qualifiedTable} (${insertColumns.join(", ")}) VALUES (${insertValues.join(", ")})`);
359
+ }
360
+ async function applyPendingMigrationsManually(url, pendingMigrations) {
361
+ if (pendingMigrations.length === 0)
362
+ return;
363
+ const orderedPendingMigrations = await orderMigrationsByJournal(pendingMigrations);
364
+ const journalEntries = await listJournalMigrationEntries();
365
+ const folderMillisByFileName = new Map(journalEntries.map((entry) => [entry.fileName, normalizeFolderMillis(entry.folderMillis)]));
366
+ const sql = createUtilitySql(url);
367
+ try {
368
+ const { migrationTableSchema, columnNames } = await ensureMigrationJournalTable(sql);
369
+ const qualifiedTable = `${quoteIdentifier(migrationTableSchema)}.${quoteIdentifier(DRIZZLE_MIGRATIONS_TABLE)}`;
370
+ for (const migrationFile of orderedPendingMigrations) {
371
+ const migrationContent = await readMigrationFileContent(migrationFile);
372
+ const hash = createHash("sha256").update(migrationContent).digest("hex");
373
+ const existingEntry = await migrationHistoryEntryExists(sql, qualifiedTable, columnNames, migrationFile, hash);
374
+ if (existingEntry)
375
+ continue;
376
+ await runInTransaction(sql, async () => {
377
+ for (const statement of splitMigrationStatements(migrationContent)) {
378
+ await sql.unsafe(statement);
379
+ }
380
+ await recordMigrationHistoryEntry(sql, qualifiedTable, columnNames, migrationFile, hash, folderMillisByFileName.get(migrationFile) ?? Date.now());
381
+ });
382
+ }
383
+ }
384
+ finally {
385
+ await sql.end();
386
+ }
387
+ }
388
+ async function mapHashesToMigrationFiles(migrationFiles) {
389
+ const mapped = new Map();
390
+ await Promise.all(migrationFiles.map(async (migrationFile) => {
391
+ const content = await readMigrationFileContent(migrationFile);
392
+ const hash = createHash("sha256").update(content).digest("hex");
393
+ mapped.set(hash, migrationFile);
394
+ }));
395
+ return mapped;
396
+ }
397
+ async function getMigrationTableColumnNames(sql, migrationTableSchema) {
398
+ const columns = await sql.unsafe(`
399
+ SELECT column_name
400
+ FROM information_schema.columns
401
+ WHERE table_schema = ${quoteLiteral(migrationTableSchema)}
402
+ AND table_name = ${quoteLiteral(DRIZZLE_MIGRATIONS_TABLE)}
403
+ `);
404
+ return new Set(columns.map((column) => column.column_name));
405
+ }
406
+ async function tableExists(sql, tableName) {
407
+ const rows = await sql `
408
+ SELECT EXISTS (
409
+ SELECT 1
410
+ FROM information_schema.tables
411
+ WHERE table_schema = 'public'
412
+ AND table_name = ${tableName}
413
+ ) AS exists
414
+ `;
415
+ return rows[0]?.exists ?? false;
416
+ }
417
+ async function columnExists(sql, tableName, columnName) {
418
+ const rows = await sql `
419
+ SELECT EXISTS (
420
+ SELECT 1
421
+ FROM information_schema.columns
422
+ WHERE table_schema = 'public'
423
+ AND table_name = ${tableName}
424
+ AND column_name = ${columnName}
425
+ ) AS exists
426
+ `;
427
+ return rows[0]?.exists ?? false;
428
+ }
429
+ async function columnHasDataType(sql, tableName, columnName, dataType) {
430
+ const rows = await sql `
431
+ SELECT data_type AS "dataType", udt_name AS "udtName"
432
+ FROM information_schema.columns
433
+ WHERE table_schema = 'public'
434
+ AND table_name = ${tableName}
435
+ AND column_name = ${columnName}
436
+ `;
437
+ const expected = dataType.toLowerCase();
438
+ return rows.some((row) => (row.dataType.toLowerCase() === expected || row.udtName.toLowerCase() === expected));
439
+ }
440
+ async function indexExists(sql, indexName) {
441
+ const rows = await sql `
442
+ SELECT EXISTS (
443
+ SELECT 1
444
+ FROM pg_class c
445
+ JOIN pg_namespace n ON n.oid = c.relnamespace
446
+ WHERE n.nspname = 'public'
447
+ AND c.relkind = 'i'
448
+ AND c.relname = ${indexName}
449
+ ) AS exists
450
+ `;
451
+ return rows[0]?.exists ?? false;
452
+ }
453
+ async function constraintExists(sql, constraintName) {
454
+ const rows = await sql `
455
+ SELECT EXISTS (
456
+ SELECT 1
457
+ FROM pg_constraint c
458
+ JOIN pg_namespace n ON n.oid = c.connamespace
459
+ WHERE n.nspname = 'public'
460
+ AND c.conname = ${constraintName}
461
+ ) AS exists
462
+ `;
463
+ return rows[0]?.exists ?? false;
464
+ }
465
+ async function functionExists(sql, functionName) {
466
+ const rows = await sql `
467
+ SELECT EXISTS (
468
+ SELECT 1
469
+ FROM pg_proc p
470
+ JOIN pg_namespace n ON n.oid = p.pronamespace
471
+ WHERE n.nspname = 'public'
472
+ AND p.proname = ${functionName}
473
+ ) AS exists
474
+ `;
475
+ return rows[0]?.exists ?? false;
476
+ }
477
+ async function triggerExists(sql, triggerName) {
478
+ const rows = await sql `
479
+ SELECT EXISTS (
480
+ SELECT 1
481
+ FROM pg_trigger t
482
+ JOIN pg_class c ON c.oid = t.tgrelid
483
+ JOIN pg_namespace n ON n.oid = c.relnamespace
484
+ WHERE n.nspname = 'public'
485
+ AND t.tgname = ${triggerName}
486
+ AND NOT t.tgisinternal
487
+ ) AS exists
488
+ `;
489
+ return rows[0]?.exists ?? false;
490
+ }
491
+ async function heartbeatEventSequencesAreUnique(sql) {
492
+ const rows = await sql `
493
+ SELECT NOT EXISTS (
494
+ SELECT 1
495
+ FROM heartbeat_run_events
496
+ GROUP BY run_id, seq
497
+ HAVING count(*) > 1
498
+ ) AS unique
499
+ `;
500
+ return rows[0]?.unique ?? false;
501
+ }
502
+ async function heartbeatNextEventSequencesAreCurrent(sql) {
503
+ const rows = await sql `
504
+ SELECT NOT EXISTS (
505
+ SELECT 1
506
+ FROM heartbeat_runs run
507
+ WHERE run.next_event_seq IS DISTINCT FROM COALESCE((
508
+ SELECT max(event.seq) + 1
509
+ FROM heartbeat_run_events event
510
+ WHERE event.run_id = run.id
511
+ ), 1)
512
+ ) AS current
513
+ `;
514
+ return rows[0]?.current ?? false;
515
+ }
516
+ async function migrationStatementAlreadyApplied(sql, statement) {
517
+ const normalized = statement
518
+ .replace(/^\s*--.*$/gm, "")
519
+ .replace(/\s+/g, " ")
520
+ .trim();
521
+ const createTableMatch = normalized.match(/^CREATE TABLE(?: IF NOT EXISTS)? "([^"]+)"/i);
522
+ if (createTableMatch) {
523
+ return tableExists(sql, createTableMatch[1]);
524
+ }
525
+ const addColumnMatch = normalized.match(/^ALTER TABLE "([^"]+)" ADD COLUMN(?: IF NOT EXISTS)? "([^"]+)"/i);
526
+ if (addColumnMatch) {
527
+ return columnExists(sql, addColumnMatch[1], addColumnMatch[2]);
528
+ }
529
+ const alterColumnTypeMatch = normalized.match(/^ALTER TABLE "([^"]+)" ALTER COLUMN "([^"]+)" SET DATA TYPE ([A-Za-z0-9_]+)/i);
530
+ if (alterColumnTypeMatch) {
531
+ return columnHasDataType(sql, alterColumnTypeMatch[1], alterColumnTypeMatch[2], alterColumnTypeMatch[3]);
532
+ }
533
+ const createIndexMatch = normalized.match(/^CREATE (?:UNIQUE )?INDEX(?: IF NOT EXISTS)? "([^"]+)"/i);
534
+ if (createIndexMatch) {
535
+ return indexExists(sql, createIndexMatch[1]);
536
+ }
537
+ const addConstraintMatch = normalized.match(/^ALTER TABLE "([^"]+)" ADD CONSTRAINT "([^"]+)"/i);
538
+ if (addConstraintMatch) {
539
+ return constraintExists(sql, addConstraintMatch[2]);
540
+ }
541
+ const createFunctionMatch = normalized.match(/^CREATE OR REPLACE FUNCTION "?([A-Za-z_][A-Za-z0-9_]*)"?\s*\(/i);
542
+ if (createFunctionMatch) {
543
+ return functionExists(sql, createFunctionMatch[1]);
544
+ }
545
+ const createTriggerMatch = normalized.match(/^CREATE TRIGGER "?([A-Za-z_][A-Za-z0-9_]*)"?/i);
546
+ if (createTriggerMatch) {
547
+ return triggerExists(sql, createTriggerMatch[1]);
548
+ }
549
+ // These native-runner repairs have persistent postconditions. Verify them
550
+ // instead of replaying them when a restored database is missing only the
551
+ // migration-history row.
552
+ if (normalized.startsWith("WITH ranked AS (")
553
+ && normalized.includes('UPDATE "heartbeat_run_events" AS event')) {
554
+ return heartbeatEventSequencesAreUnique(sql);
555
+ }
556
+ if (normalized.startsWith('UPDATE "heartbeat_runs" AS run')
557
+ && normalized.includes('SET "next_event_seq" = COALESCE')) {
558
+ return heartbeatNextEventSequencesAreCurrent(sql);
559
+ }
560
+ // If we cannot reason about a statement safely, require manual migration.
561
+ return false;
562
+ }
563
+ async function migrationContentAlreadyApplied(sql, migrationContent) {
564
+ const statements = splitMigrationStatements(migrationContent);
565
+ if (statements.length === 0)
566
+ return false;
567
+ for (const statement of statements) {
568
+ const applied = await migrationStatementAlreadyApplied(sql, statement);
569
+ if (!applied)
570
+ return false;
571
+ }
572
+ return true;
573
+ }
574
+ async function loadAppliedMigrations(sql, migrationTableSchema, availableMigrations) {
575
+ const quotedSchema = quoteIdentifier(migrationTableSchema);
576
+ const qualifiedTable = `${quotedSchema}.${quoteIdentifier(DRIZZLE_MIGRATIONS_TABLE)}`;
577
+ const columnNames = await getMigrationTableColumnNames(sql, migrationTableSchema);
578
+ if (columnNames.has("name")) {
579
+ const rows = await sql.unsafe(`SELECT name FROM ${qualifiedTable} ORDER BY id`);
580
+ return rows.map((row) => row.name).filter((name) => Boolean(name));
581
+ }
582
+ if (columnNames.has("hash")) {
583
+ const rows = await sql.unsafe(`SELECT hash FROM ${qualifiedTable} ORDER BY id`);
584
+ const hashesToMigrationFiles = await mapHashesToMigrationFiles(availableMigrations);
585
+ const appliedFromHashes = rows
586
+ .map((row) => hashesToMigrationFiles.get(row.hash))
587
+ .filter((name) => Boolean(name));
588
+ if (appliedFromHashes.length > 0) {
589
+ // Best-effort: when all hashes resolve, this is authoritative.
590
+ if (appliedFromHashes.length === rows.length)
591
+ return appliedFromHashes;
592
+ // Partial hash resolution can happen when files have changed; return what we can trust.
593
+ return appliedFromHashes;
594
+ }
595
+ // Fallback only when hashes are unavailable/unresolved.
596
+ if (columnNames.has("created_at")) {
597
+ const journalEntries = await listJournalMigrationEntries();
598
+ if (journalEntries.length > 0) {
599
+ const lastDbRows = await sql.unsafe(`SELECT created_at FROM ${qualifiedTable} ORDER BY created_at DESC LIMIT 1`);
600
+ const lastCreatedAt = Number(lastDbRows[0]?.created_at ?? -1);
601
+ if (Number.isFinite(lastCreatedAt) && lastCreatedAt >= 0) {
602
+ return journalEntries
603
+ .filter((entry) => availableMigrations.includes(entry.fileName))
604
+ .filter((entry) => entry.folderMillis <= lastCreatedAt)
605
+ .map((entry) => entry.fileName)
606
+ .slice(0, rows.length);
607
+ }
608
+ }
609
+ }
610
+ }
611
+ const rows = await sql.unsafe(`SELECT id FROM ${qualifiedTable} ORDER BY id`);
612
+ const journalMigrationFiles = await listJournalMigrationFiles();
613
+ const appliedFromIds = rows
614
+ .map((row) => journalMigrationFiles[row.id - 1])
615
+ .filter((name) => Boolean(name));
616
+ if (appliedFromIds.length > 0)
617
+ return appliedFromIds;
618
+ return availableMigrations.slice(0, Math.max(0, rows.length));
619
+ }
620
+ export async function reconcilePendingMigrationHistory(url) {
621
+ const state = await inspectMigrations(url);
622
+ if (state.status !== "needsMigrations" || state.reason !== "pending-migrations") {
623
+ return { repairedMigrations: [], remainingMigrations: [] };
624
+ }
625
+ const sql = createUtilitySql(url);
626
+ const repairedMigrations = [];
627
+ try {
628
+ const journalEntries = await listJournalMigrationEntries();
629
+ const folderMillisByFile = new Map(journalEntries.map((entry) => [entry.fileName, entry.folderMillis]));
630
+ const migrationTableSchema = await discoverMigrationTableSchema(sql);
631
+ if (!migrationTableSchema) {
632
+ return { repairedMigrations, remainingMigrations: state.pendingMigrations };
633
+ }
634
+ const columnNames = await getMigrationTableColumnNames(sql, migrationTableSchema);
635
+ const qualifiedTable = `${quoteIdentifier(migrationTableSchema)}.${quoteIdentifier(DRIZZLE_MIGRATIONS_TABLE)}`;
636
+ for (const migrationFile of state.pendingMigrations) {
637
+ const migrationContent = await readMigrationFileContent(migrationFile);
638
+ const alreadyApplied = await migrationContentAlreadyApplied(sql, migrationContent);
639
+ if (!alreadyApplied)
640
+ break;
641
+ const hash = createHash("sha256").update(migrationContent).digest("hex");
642
+ const folderMillis = folderMillisByFile.get(migrationFile) ?? Date.now();
643
+ const existingByHash = columnNames.has("hash")
644
+ ? await sql.unsafe(`SELECT created_at FROM ${qualifiedTable} WHERE hash = ${quoteLiteral(hash)} ORDER BY created_at DESC LIMIT 1`)
645
+ : [];
646
+ const existingByName = columnNames.has("name")
647
+ ? await sql.unsafe(`SELECT created_at FROM ${qualifiedTable} WHERE name = ${quoteLiteral(migrationFile)} ORDER BY created_at DESC LIMIT 1`)
648
+ : [];
649
+ if (existingByHash.length > 0 || existingByName.length > 0) {
650
+ if (columnNames.has("created_at")) {
651
+ const existingHashCreatedAt = Number(existingByHash[0]?.created_at ?? -1);
652
+ if (existingByHash.length > 0 && Number.isFinite(existingHashCreatedAt) && existingHashCreatedAt < folderMillis) {
653
+ await sql.unsafe(`UPDATE ${qualifiedTable} SET created_at = ${quoteLiteral(String(folderMillis))} WHERE hash = ${quoteLiteral(hash)} AND created_at < ${quoteLiteral(String(folderMillis))}`);
654
+ }
655
+ const existingNameCreatedAt = Number(existingByName[0]?.created_at ?? -1);
656
+ if (existingByName.length > 0 && Number.isFinite(existingNameCreatedAt) && existingNameCreatedAt < folderMillis) {
657
+ await sql.unsafe(`UPDATE ${qualifiedTable} SET created_at = ${quoteLiteral(String(folderMillis))} WHERE name = ${quoteLiteral(migrationFile)} AND created_at < ${quoteLiteral(String(folderMillis))}`);
658
+ }
659
+ }
660
+ repairedMigrations.push(migrationFile);
661
+ continue;
662
+ }
663
+ const insertColumns = [];
664
+ const insertValues = [];
665
+ if (columnNames.has("hash")) {
666
+ insertColumns.push(quoteIdentifier("hash"));
667
+ insertValues.push(quoteLiteral(hash));
668
+ }
669
+ if (columnNames.has("name")) {
670
+ insertColumns.push(quoteIdentifier("name"));
671
+ insertValues.push(quoteLiteral(migrationFile));
672
+ }
673
+ if (columnNames.has("created_at")) {
674
+ insertColumns.push(quoteIdentifier("created_at"));
675
+ insertValues.push(quoteLiteral(String(folderMillis)));
676
+ }
677
+ if (insertColumns.length === 0)
678
+ break;
679
+ await sql.unsafe(`INSERT INTO ${qualifiedTable} (${insertColumns.join(", ")}) VALUES (${insertValues.join(", ")})`);
680
+ repairedMigrations.push(migrationFile);
681
+ }
682
+ }
683
+ finally {
684
+ await sql.end();
685
+ }
686
+ const refreshed = await inspectMigrations(url);
687
+ return {
688
+ repairedMigrations,
689
+ remainingMigrations: refreshed.status === "needsMigrations" ? refreshed.pendingMigrations : [],
690
+ };
691
+ }
692
+ async function discoverMigrationTableSchema(sql) {
693
+ const rows = await sql `
694
+ SELECT n.nspname AS "schemaName"
695
+ FROM pg_class c
696
+ JOIN pg_namespace n ON n.oid = c.relnamespace
697
+ WHERE c.relname = ${DRIZZLE_MIGRATIONS_TABLE} AND c.relkind = 'r'
698
+ `;
699
+ if (rows.length === 0)
700
+ return null;
701
+ const drizzleSchema = rows.find(({ schemaName }) => schemaName === "drizzle");
702
+ if (drizzleSchema)
703
+ return drizzleSchema.schemaName;
704
+ const publicSchema = rows.find(({ schemaName }) => schemaName === "public");
705
+ if (publicSchema)
706
+ return publicSchema.schemaName;
707
+ return rows[0]?.schemaName ?? null;
708
+ }
709
+ export async function inspectMigrations(url) {
710
+ const sql = createUtilitySql(url);
711
+ try {
712
+ const availableMigrations = await listMigrationFiles();
713
+ const tableCountResult = await sql `
714
+ select count(*)::int as count
715
+ from information_schema.tables
716
+ where table_schema = 'public'
717
+ and table_type = 'BASE TABLE'
718
+ `;
719
+ const tableCount = tableCountResult[0]?.count ?? 0;
720
+ const migrationTableSchema = await discoverMigrationTableSchema(sql);
721
+ if (!migrationTableSchema) {
722
+ if (tableCount > 0) {
723
+ return {
724
+ status: "needsMigrations",
725
+ tableCount,
726
+ availableMigrations,
727
+ appliedMigrations: [],
728
+ pendingMigrations: availableMigrations,
729
+ journalEntryCount: 0,
730
+ reason: "no-migration-journal-non-empty-db",
731
+ };
732
+ }
733
+ return {
734
+ status: "needsMigrations",
735
+ tableCount,
736
+ availableMigrations,
737
+ appliedMigrations: [],
738
+ pendingMigrations: availableMigrations,
739
+ journalEntryCount: 0,
740
+ reason: "no-migration-journal-empty-db",
741
+ };
742
+ }
743
+ const qualifiedMigrationTable = `${quoteIdentifier(migrationTableSchema)}.${quoteIdentifier(DRIZZLE_MIGRATIONS_TABLE)}`;
744
+ const journalCountRows = await sql.unsafe(`SELECT count(*)::int AS count FROM ${qualifiedMigrationTable}`);
745
+ const journalEntryCount = journalCountRows[0]?.count ?? 0;
746
+ const appliedMigrations = await loadAppliedMigrations(sql, migrationTableSchema, availableMigrations);
747
+ const pendingMigrations = availableMigrations.filter((name) => !appliedMigrations.includes(name));
748
+ if (pendingMigrations.length === 0) {
749
+ return {
750
+ status: "upToDate",
751
+ tableCount,
752
+ availableMigrations,
753
+ appliedMigrations,
754
+ journalEntryCount,
755
+ };
756
+ }
757
+ return {
758
+ status: "needsMigrations",
759
+ tableCount,
760
+ availableMigrations,
761
+ appliedMigrations,
762
+ pendingMigrations,
763
+ journalEntryCount,
764
+ reason: "pending-migrations",
765
+ };
766
+ }
767
+ finally {
768
+ await sql.end();
769
+ }
770
+ }
771
+ export async function applyPendingMigrations(url) {
772
+ const initialState = await inspectMigrations(url);
773
+ if (initialState.status === "upToDate")
774
+ return;
775
+ if (initialState.reason === "no-migration-journal-empty-db") {
776
+ const sql = createUtilitySql(url);
777
+ try {
778
+ const db = drizzlePg(sql);
779
+ await migratePg(db, { migrationsFolder: MIGRATIONS_FOLDER });
780
+ }
781
+ finally {
782
+ await sql.end();
783
+ }
784
+ let bootstrappedState = await inspectMigrations(url);
785
+ if (bootstrappedState.status === "upToDate")
786
+ return;
787
+ if (bootstrappedState.reason === "pending-migrations") {
788
+ const repair = await reconcilePendingMigrationHistory(url);
789
+ if (repair.repairedMigrations.length > 0) {
790
+ bootstrappedState = await inspectMigrations(url);
791
+ }
792
+ if (bootstrappedState.status === "needsMigrations" && bootstrappedState.reason === "pending-migrations") {
793
+ await applyPendingMigrationsManually(url, bootstrappedState.pendingMigrations);
794
+ bootstrappedState = await inspectMigrations(url);
795
+ }
796
+ }
797
+ if (bootstrappedState.status === "upToDate")
798
+ return;
799
+ throw new Error(`Failed to bootstrap migrations: ${bootstrappedState.pendingMigrations.join(", ")}`);
800
+ }
801
+ if (initialState.reason === "no-migration-journal-non-empty-db") {
802
+ throw new Error("Database has tables but no migration journal; automatic migration is unsafe. Initialize migration history manually.");
803
+ }
804
+ let state = await inspectMigrations(url);
805
+ if (state.status === "upToDate")
806
+ return;
807
+ const repair = await reconcilePendingMigrationHistory(url);
808
+ if (repair.repairedMigrations.length > 0) {
809
+ state = await inspectMigrations(url);
810
+ if (state.status === "upToDate")
811
+ return;
812
+ }
813
+ if (state.status !== "needsMigrations" || state.reason !== "pending-migrations") {
814
+ throw new Error("Migrations are still pending after migration-history reconciliation; run inspectMigrations for details.");
815
+ }
816
+ await applyPendingMigrationsManually(url, state.pendingMigrations);
817
+ const finalState = await inspectMigrations(url);
818
+ if (finalState.status !== "upToDate") {
819
+ throw new Error(`Failed to apply pending migrations: ${finalState.pendingMigrations.join(", ")}`);
820
+ }
821
+ }
822
+ export async function migratePostgresIfEmpty(url) {
823
+ const sql = createUtilitySql(url);
824
+ try {
825
+ const migrationTableSchema = await discoverMigrationTableSchema(sql);
826
+ const tableCountResult = await sql `
827
+ select count(*)::int as count
828
+ from information_schema.tables
829
+ where table_schema = 'public'
830
+ and table_type = 'BASE TABLE'
831
+ `;
832
+ const tableCount = tableCountResult[0]?.count ?? 0;
833
+ if (migrationTableSchema) {
834
+ return { migrated: false, reason: "already-migrated", tableCount };
835
+ }
836
+ if (tableCount > 0) {
837
+ return { migrated: false, reason: "not-empty-no-migration-journal", tableCount };
838
+ }
839
+ const db = drizzlePg(sql);
840
+ await migratePg(db, { migrationsFolder: MIGRATIONS_FOLDER });
841
+ return { migrated: true, reason: "migrated-empty-db", tableCount: 0 };
842
+ }
843
+ finally {
844
+ await sql.end();
845
+ }
846
+ }
847
+ export async function ensurePostgresDatabase(url, databaseName) {
848
+ if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(databaseName)) {
849
+ throw new Error(`Unsafe database name: ${databaseName}`);
850
+ }
851
+ const sql = createUtilitySql(url);
852
+ try {
853
+ const existing = await sql `
854
+ select 1 as one from pg_database where datname = ${databaseName} limit 1
855
+ `;
856
+ if (existing.length > 0)
857
+ return "exists";
858
+ await sql.unsafe(`create database "${databaseName}" encoding 'UTF8' lc_collate 'C' lc_ctype 'C' template template0`);
859
+ return "created";
860
+ }
861
+ finally {
862
+ await sql.end();
863
+ }
864
+ }
865
+ export async function resetPostgresDatabase(url, databaseName) {
866
+ const quotedDatabaseName = quoteIdentifier(databaseName);
867
+ const sql = createUtilitySql(url);
868
+ try {
869
+ await sql `
870
+ select pg_terminate_backend(pid)
871
+ from pg_stat_activity
872
+ where datname = ${databaseName}
873
+ and pid <> pg_backend_pid()
874
+ `;
875
+ await sql.unsafe(`drop database if exists ${quotedDatabaseName}`);
876
+ await sql.unsafe(`create database ${quotedDatabaseName} encoding 'UTF8' lc_collate 'C' lc_ctype 'C' template template0`);
877
+ return "reset";
878
+ }
879
+ finally {
880
+ await sql.end();
881
+ }
882
+ }
883
+ //# sourceMappingURL=client.js.map