@zyraxon-ai/core 19.0.5

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 (681) hide show
  1. package/dist/account/sql.js +31 -0
  2. package/dist/account/sql.js.map +1 -0
  3. package/dist/account.js +82 -0
  4. package/dist/account.js.map +1 -0
  5. package/dist/agent.js +77 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/aisdk.js +171 -0
  8. package/dist/aisdk.js.map +1 -0
  9. package/dist/background-job.js +236 -0
  10. package/dist/background-job.js.map +1 -0
  11. package/dist/catalog.js +197 -0
  12. package/dist/catalog.js.map +1 -0
  13. package/dist/command.js +40 -0
  14. package/dist/command.js.map +1 -0
  15. package/dist/config/agent.js +24 -0
  16. package/dist/config/agent.js.map +1 -0
  17. package/dist/config/attachments.js +15 -0
  18. package/dist/config/attachments.js.map +1 -0
  19. package/dist/config/command.js +12 -0
  20. package/dist/config/command.js.map +1 -0
  21. package/dist/config/compaction.js +15 -0
  22. package/dist/config/compaction.js.map +1 -0
  23. package/dist/config/experimental.js +17 -0
  24. package/dist/config/experimental.js.map +1 -0
  25. package/dist/config/formatter.js +11 -0
  26. package/dist/config/formatter.js.map +1 -0
  27. package/dist/config/lsp.js +16 -0
  28. package/dist/config/lsp.js.map +1 -0
  29. package/dist/config/markdown.js +41 -0
  30. package/dist/config/markdown.js.map +1 -0
  31. package/dist/config/mcp.js +47 -0
  32. package/dist/config/mcp.js.map +1 -0
  33. package/dist/config/plugin/agent.js +149 -0
  34. package/dist/config/plugin/agent.js.map +1 -0
  35. package/dist/config/plugin/command.js +71 -0
  36. package/dist/config/plugin/command.js.map +1 -0
  37. package/dist/config/plugin/external.js +82 -0
  38. package/dist/config/plugin/external.js.map +1 -0
  39. package/dist/config/plugin/provider.js +109 -0
  40. package/dist/config/plugin/provider.js.map +1 -0
  41. package/dist/config/plugin/reference.js +59 -0
  42. package/dist/config/plugin/reference.js.map +1 -0
  43. package/dist/config/plugin/skill.js +41 -0
  44. package/dist/config/plugin/skill.js.map +1 -0
  45. package/dist/config/plugin.js +10 -0
  46. package/dist/config/plugin.js.map +1 -0
  47. package/dist/config/provider.js +70 -0
  48. package/dist/config/provider.js.map +1 -0
  49. package/dist/config/reference.js +18 -0
  50. package/dist/config/reference.js.map +1 -0
  51. package/dist/config/tool-output.js +9 -0
  52. package/dist/config/tool-output.js.map +1 -0
  53. package/dist/config/watcher.js +7 -0
  54. package/dist/config/watcher.js.map +1 -0
  55. package/dist/config.js +201 -0
  56. package/dist/config.js.map +1 -0
  57. package/dist/control-plane/move-session.js +111 -0
  58. package/dist/control-plane/move-session.js.map +1 -0
  59. package/dist/control-plane/workspace.sql.js +18 -0
  60. package/dist/control-plane/workspace.sql.js.map +1 -0
  61. package/dist/credential/sql.js +13 -0
  62. package/dist/credential/sql.js.map +1 -0
  63. package/dist/credential.js +105 -0
  64. package/dist/credential.js.map +1 -0
  65. package/dist/cross-spawn-spawner.js +412 -0
  66. package/dist/cross-spawn-spawner.js.map +1 -0
  67. package/dist/data-migration.sql.js +6 -0
  68. package/dist/data-migration.sql.js.map +1 -0
  69. package/dist/database/database.js +67 -0
  70. package/dist/database/database.js.map +1 -0
  71. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +106 -0
  72. package/dist/database/migration/20260127222353_familiar_lady_ursula.js.map +1 -0
  73. package/dist/database/migration/20260211171708_add_project_commands.js +10 -0
  74. package/dist/database/migration/20260211171708_add_project_commands.js.map +1 -0
  75. package/dist/database/migration/20260213144116_wakeful_the_professor.js +22 -0
  76. package/dist/database/migration/20260213144116_wakeful_the_professor.js.map +1 -0
  77. package/dist/database/migration/20260225215848_workspace.js +18 -0
  78. package/dist/database/migration/20260225215848_workspace.js.map +1 -0
  79. package/dist/database/migration/20260227213759_add_session_workspace_id.js +11 -0
  80. package/dist/database/migration/20260227213759_add_session_workspace_id.js.map +1 -0
  81. package/dist/database/migration/20260228203230_blue_harpoon.js +29 -0
  82. package/dist/database/migration/20260228203230_blue_harpoon.js.map +1 -0
  83. package/dist/database/migration/20260303231226_add_workspace_fields.js +14 -0
  84. package/dist/database/migration/20260303231226_add_workspace_fields.js.map +1 -0
  85. package/dist/database/migration/20260309230000_move_org_to_state.js +12 -0
  86. package/dist/database/migration/20260309230000_move_org_to_state.js.map +1 -0
  87. package/dist/database/migration/20260312043431_session_message_cursor.js +13 -0
  88. package/dist/database/migration/20260312043431_session_message_cursor.js.map +1 -0
  89. package/dist/database/migration/20260323234822_events.js +25 -0
  90. package/dist/database/migration/20260323234822_events.js.map +1 -0
  91. package/dist/database/migration/20260410174513_workspace-name.js +26 -0
  92. package/dist/database/migration/20260410174513_workspace-name.js.map +1 -0
  93. package/dist/database/migration/20260413175956_chief_energizer.js +23 -0
  94. package/dist/database/migration/20260413175956_chief_energizer.js.map +1 -0
  95. package/dist/database/migration/20260423070820_add_icon_url_override.js +13 -0
  96. package/dist/database/migration/20260423070820_add_icon_url_override.js.map +1 -0
  97. package/dist/database/migration/20260427172553_slow_nightmare.js +27 -0
  98. package/dist/database/migration/20260427172553_slow_nightmare.js.map +1 -0
  99. package/dist/database/migration/20260428004200_add_session_path.js +10 -0
  100. package/dist/database/migration/20260428004200_add_session_path.js.map +1 -0
  101. package/dist/database/migration/20260501142318_next_venus.js +11 -0
  102. package/dist/database/migration/20260501142318_next_venus.js.map +1 -0
  103. package/dist/database/migration/20260504145000_add_sync_owner.js +10 -0
  104. package/dist/database/migration/20260504145000_add_sync_owner.js.map +1 -0
  105. package/dist/database/migration/20260507164347_add_workspace_time.js +10 -0
  106. package/dist/database/migration/20260507164347_add_workspace_time.js.map +1 -0
  107. package/dist/database/migration/20260510033149_session_usage.js +55 -0
  108. package/dist/database/migration/20260510033149_session_usage.js.map +1 -0
  109. package/dist/database/migration/20260511000411_data_migration_state.js +15 -0
  110. package/dist/database/migration/20260511000411_data_migration_state.js.map +1 -0
  111. package/dist/database/migration/20260511173437_session-metadata.js +13 -0
  112. package/dist/database/migration/20260511173437_session-metadata.js.map +1 -0
  113. package/dist/database/migration/20260601010001_normalize_storage_paths.js +13 -0
  114. package/dist/database/migration/20260601010001_normalize_storage_paths.js.map +1 -0
  115. package/dist/database/migration/20260601202201_amazing_prowler.js +10 -0
  116. package/dist/database/migration/20260601202201_amazing_prowler.js.map +1 -0
  117. package/dist/database/migration/20260602002951_lowly_union_jack.js +21 -0
  118. package/dist/database/migration/20260602002951_lowly_union_jack.js.map +1 -0
  119. package/dist/database/migration/20260602182828_add_project_directories.js +19 -0
  120. package/dist/database/migration/20260602182828_add_project_directories.js.map +1 -0
  121. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +14 -0
  122. package/dist/database/migration/20260603001617_session_message_projection_indexes.js.map +1 -0
  123. package/dist/database/migration/20260603040000_session_message_projection_order.js +16 -0
  124. package/dist/database/migration/20260603040000_session_message_projection_order.js.map +1 -0
  125. package/dist/database/migration/20260603141458_session_input_inbox.js +22 -0
  126. package/dist/database/migration/20260603141458_session_input_inbox.js.map +1 -0
  127. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +13 -0
  128. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js.map +1 -0
  129. package/dist/database/migration/20260604172448_event_sourced_session_input.js +38 -0
  130. package/dist/database/migration/20260604172448_event_sourced_session_input.js.map +1 -0
  131. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +20 -0
  132. package/dist/database/migration/20260605003541_add_session_context_snapshot.js.map +1 -0
  133. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +10 -0
  134. package/dist/database/migration/20260605042240_add_context_epoch_agent.js.map +1 -0
  135. package/dist/database/migration/20260611035744_credential.js +22 -0
  136. package/dist/database/migration/20260611035744_credential.js.map +1 -0
  137. package/dist/database/migration/20260611192811_lush_chimera.js +24 -0
  138. package/dist/database/migration/20260611192811_lush_chimera.js.map +1 -0
  139. package/dist/database/migration/20260612174303_project_dir_strategy.js +26 -0
  140. package/dist/database/migration/20260612174303_project_dir_strategy.js.map +1 -0
  141. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +12 -0
  142. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js.map +1 -0
  143. package/dist/database/migration/20260622170816_reset_v2_session_state.js +16 -0
  144. package/dist/database/migration/20260622170816_reset_v2_session_state.js.map +1 -0
  145. package/dist/database/migration/20260622202450_simplify_session_input.js +16 -0
  146. package/dist/database/migration/20260622202450_simplify_session_input.js.map +1 -0
  147. package/dist/database/migration/20260730000000_eternal_memory_system.js +141 -0
  148. package/dist/database/migration/20260730000000_eternal_memory_system.js.map +1 -0
  149. package/dist/database/migration/20260912000000_db_performance_optimization.js +29 -0
  150. package/dist/database/migration/20260912000000_db_performance_optimization.js.map +1 -0
  151. package/dist/database/migration/20260912000000_performance_indexes.js +35 -0
  152. package/dist/database/migration/20260912000000_performance_indexes.js.map +1 -0
  153. package/dist/database/migration.gen.js +42 -0
  154. package/dist/database/migration.gen.js.map +1 -0
  155. package/dist/database/migration.js +48 -0
  156. package/dist/database/migration.js.map +1 -0
  157. package/dist/database/path.js +70 -0
  158. package/dist/database/path.js.map +1 -0
  159. package/dist/database/schema.gen.js +257 -0
  160. package/dist/database/schema.gen.js.map +1 -0
  161. package/dist/database/schema.sql.js +10 -0
  162. package/dist/database/schema.sql.js.map +1 -0
  163. package/dist/database/sqlite.bun.js +130 -0
  164. package/dist/database/sqlite.bun.js.map +1 -0
  165. package/dist/database/sqlite.js +7 -0
  166. package/dist/database/sqlite.js.map +1 -0
  167. package/dist/database/sqlite.node.js +124 -0
  168. package/dist/database/sqlite.node.js.map +1 -0
  169. package/dist/effect/app-node-builder.js +19 -0
  170. package/dist/effect/app-node-builder.js.map +1 -0
  171. package/dist/effect/app-node-platform.js +17 -0
  172. package/dist/effect/app-node-platform.js.map +1 -0
  173. package/dist/effect/app-node.js +9 -0
  174. package/dist/effect/app-node.js.map +1 -0
  175. package/dist/effect/keyed-mutex.js +31 -0
  176. package/dist/effect/keyed-mutex.js.map +1 -0
  177. package/dist/effect/layer-node.js +182 -0
  178. package/dist/effect/layer-node.js.map +1 -0
  179. package/dist/effect/memo-map.js +3 -0
  180. package/dist/effect/memo-map.js.map +1 -0
  181. package/dist/effect/runtime.js +17 -0
  182. package/dist/effect/runtime.js.map +1 -0
  183. package/dist/effect/service-use.js +28 -0
  184. package/dist/effect/service-use.js.map +1 -0
  185. package/dist/event/sql.js +19 -0
  186. package/dist/event/sql.js.map +1 -0
  187. package/dist/event.js +421 -0
  188. package/dist/event.js.map +1 -0
  189. package/dist/file-mutation.js +102 -0
  190. package/dist/file-mutation.js.map +1 -0
  191. package/dist/file.js +4 -0
  192. package/dist/file.js.map +1 -0
  193. package/dist/filesystem/fff.bun.js +28 -0
  194. package/dist/filesystem/fff.bun.js.map +1 -0
  195. package/dist/filesystem/fff.node.js +8 -0
  196. package/dist/filesystem/fff.node.js.map +1 -0
  197. package/dist/filesystem/ignore.js +63 -0
  198. package/dist/filesystem/ignore.js.map +1 -0
  199. package/dist/filesystem/protected.js +50 -0
  200. package/dist/filesystem/protected.js.map +1 -0
  201. package/dist/filesystem/search.js +198 -0
  202. package/dist/filesystem/search.js.map +1 -0
  203. package/dist/filesystem/watcher.js +109 -0
  204. package/dist/filesystem/watcher.js.map +1 -0
  205. package/dist/filesystem.js +96 -0
  206. package/dist/filesystem.js.map +1 -0
  207. package/dist/flag/flag.js +66 -0
  208. package/dist/flag/flag.js.map +1 -0
  209. package/dist/fs-util.js +222 -0
  210. package/dist/fs-util.js.map +1 -0
  211. package/dist/git.js +558 -0
  212. package/dist/git.js.map +1 -0
  213. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +147 -0
  214. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js.map +1 -0
  215. package/dist/github-copilot/chat/get-response-metadata.js +8 -0
  216. package/dist/github-copilot/chat/get-response-metadata.js.map +1 -0
  217. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +16 -0
  218. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js.map +1 -0
  219. package/dist/github-copilot/chat/openai-compatible-api-types.js +2 -0
  220. package/dist/github-copilot/chat/openai-compatible-api-types.js.map +1 -0
  221. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +618 -0
  222. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js.map +1 -0
  223. package/dist/github-copilot/chat/openai-compatible-chat-options.js +21 -0
  224. package/dist/github-copilot/chat/openai-compatible-chat-options.js.map +1 -0
  225. package/dist/github-copilot/chat/openai-compatible-metadata-extractor.js +2 -0
  226. package/dist/github-copilot/chat/openai-compatible-metadata-extractor.js.map +1 -0
  227. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +51 -0
  228. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js.map +1 -0
  229. package/dist/github-copilot/copilot-provider.js +48 -0
  230. package/dist/github-copilot/copilot-provider.js.map +1 -0
  231. package/dist/github-copilot/openai-compatible-error.js +17 -0
  232. package/dist/github-copilot/openai-compatible-error.js.map +1 -0
  233. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +284 -0
  234. package/dist/github-copilot/responses/convert-to-openai-responses-input.js.map +1 -0
  235. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +14 -0
  236. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js.map +1 -0
  237. package/dist/github-copilot/responses/openai-config.js +2 -0
  238. package/dist/github-copilot/responses/openai-config.js.map +1 -0
  239. package/dist/github-copilot/responses/openai-error.js +18 -0
  240. package/dist/github-copilot/responses/openai-error.js.map +1 -0
  241. package/dist/github-copilot/responses/openai-responses-api-types.js +2 -0
  242. package/dist/github-copilot/responses/openai-responses-api-types.js.map +1 -0
  243. package/dist/github-copilot/responses/openai-responses-language-model.js +1487 -0
  244. package/dist/github-copilot/responses/openai-responses-language-model.js.map +1 -0
  245. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +140 -0
  246. package/dist/github-copilot/responses/openai-responses-prepare-tools.js.map +1 -0
  247. package/dist/github-copilot/responses/openai-responses-settings.js +2 -0
  248. package/dist/github-copilot/responses/openai-responses-settings.js.map +1 -0
  249. package/dist/github-copilot/responses/tool/code-interpreter.js +33 -0
  250. package/dist/github-copilot/responses/tool/code-interpreter.js.map +1 -0
  251. package/dist/github-copilot/responses/tool/file-search.js +40 -0
  252. package/dist/github-copilot/responses/tool/file-search.js.map +1 -0
  253. package/dist/github-copilot/responses/tool/image-generation.js +33 -0
  254. package/dist/github-copilot/responses/tool/image-generation.js.map +1 -0
  255. package/dist/github-copilot/responses/tool/local-shell.js +21 -0
  256. package/dist/github-copilot/responses/tool/local-shell.js.map +1 -0
  257. package/dist/github-copilot/responses/tool/web-search-preview.js +62 -0
  258. package/dist/github-copilot/responses/tool/web-search-preview.js.map +1 -0
  259. package/dist/github-copilot/responses/tool/web-search.js +45 -0
  260. package/dist/github-copilot/responses/tool/web-search.js.map +1 -0
  261. package/dist/global.js +78 -0
  262. package/dist/global.js.map +1 -0
  263. package/dist/id/id.js +40 -0
  264. package/dist/id/id.js.map +1 -0
  265. package/dist/image/photon.js +84 -0
  266. package/dist/image/photon.js.map +1 -0
  267. package/dist/image.js +49 -0
  268. package/dist/image.js.map +1 -0
  269. package/dist/installation/version.js +4 -0
  270. package/dist/installation/version.js.map +1 -0
  271. package/dist/instruction-context.js +69 -0
  272. package/dist/instruction-context.js.map +1 -0
  273. package/dist/integration/connection.js +6 -0
  274. package/dist/integration/connection.js.map +1 -0
  275. package/dist/integration.js +335 -0
  276. package/dist/integration.js.map +1 -0
  277. package/dist/location-mutation.js +104 -0
  278. package/dist/location-mutation.js.map +1 -0
  279. package/dist/location-service-map.js +11 -0
  280. package/dist/location-service-map.js.map +1 -0
  281. package/dist/location-services.js +94 -0
  282. package/dist/location-services.js.map +1 -0
  283. package/dist/location.js +26 -0
  284. package/dist/location.js.map +1 -0
  285. package/dist/model.js +20 -0
  286. package/dist/model.js.map +1 -0
  287. package/dist/models-dev.js +187 -0
  288. package/dist/models-dev.js.map +1 -0
  289. package/dist/npm-config.js +33 -0
  290. package/dist/npm-config.js.map +1 -0
  291. package/dist/npm.js +203 -0
  292. package/dist/npm.js.map +1 -0
  293. package/dist/oauth/page.js +229 -0
  294. package/dist/oauth/page.js.map +1 -0
  295. package/dist/observability/logging.js +62 -0
  296. package/dist/observability/logging.js.map +1 -0
  297. package/dist/observability/otlp.js +69 -0
  298. package/dist/observability/otlp.js.map +1 -0
  299. package/dist/observability/shared.js +2 -0
  300. package/dist/observability/shared.js.map +1 -0
  301. package/dist/observability.js +14 -0
  302. package/dist/observability.js.map +1 -0
  303. package/dist/omni/index.js +36 -0
  304. package/dist/omni/index.js.map +1 -0
  305. package/dist/omni/kernel/01-multi-file-composer.js +57 -0
  306. package/dist/omni/kernel/01-multi-file-composer.js.map +1 -0
  307. package/dist/omni/kernel/02-terminal-autonomy.js +47 -0
  308. package/dist/omni/kernel/02-terminal-autonomy.js.map +1 -0
  309. package/dist/omni/kernel/03-background-loop.js +43 -0
  310. package/dist/omni/kernel/03-background-loop.js.map +1 -0
  311. package/dist/omni/kernel/04-behavior-cascade.js +39 -0
  312. package/dist/omni/kernel/04-behavior-cascade.js.map +1 -0
  313. package/dist/omni/kernel/05-git-pair.js +42 -0
  314. package/dist/omni/kernel/05-git-pair.js.map +1 -0
  315. package/dist/omni/kernel/06-sandbox-runtime.js +34 -0
  316. package/dist/omni/kernel/06-sandbox-runtime.js.map +1 -0
  317. package/dist/omni/kernel/07-idea-to-deploy.js +28 -0
  318. package/dist/omni/kernel/07-idea-to-deploy.js.map +1 -0
  319. package/dist/omni/kernel/08-cost-router.js +26 -0
  320. package/dist/omni/kernel/08-cost-router.js.map +1 -0
  321. package/dist/omni/kernel/09-live-observability.js +40 -0
  322. package/dist/omni/kernel/09-live-observability.js.map +1 -0
  323. package/dist/omni/kernel/10-knowledge-graph.js +39 -0
  324. package/dist/omni/kernel/10-knowledge-graph.js.map +1 -0
  325. package/dist/omni/kernel/11-security-scanner.js +52 -0
  326. package/dist/omni/kernel/11-security-scanner.js.map +1 -0
  327. package/dist/omni/kernel/12-silent-precompile.js +58 -0
  328. package/dist/omni/kernel/12-silent-precompile.js.map +1 -0
  329. package/dist/omni/kernel/13-visual-context-sync.js +59 -0
  330. package/dist/omni/kernel/13-visual-context-sync.js.map +1 -0
  331. package/dist/omni/kernel/14-self-evolving-prompt.js +45 -0
  332. package/dist/omni/kernel/14-self-evolving-prompt.js.map +1 -0
  333. package/dist/omni/kernel/15-zero-trust-token.js +78 -0
  334. package/dist/omni/kernel/15-zero-trust-token.js.map +1 -0
  335. package/dist/omni/kernel/index.js +79 -0
  336. package/dist/omni/kernel/index.js.map +1 -0
  337. package/dist/omni/memory-graph.js +64 -0
  338. package/dist/omni/memory-graph.js.map +1 -0
  339. package/dist/omni/secret-redact.js +81 -0
  340. package/dist/omni/secret-redact.js.map +1 -0
  341. package/dist/omni/shadow-clone.js +54 -0
  342. package/dist/omni/shadow-clone.js.map +1 -0
  343. package/dist/omni/vision-context.js +61 -0
  344. package/dist/omni/vision-context.js.map +1 -0
  345. package/dist/patch.js +179 -0
  346. package/dist/patch.js.map +1 -0
  347. package/dist/permission/saved.js +53 -0
  348. package/dist/permission/saved.js.map +1 -0
  349. package/dist/permission/sql.js +14 -0
  350. package/dist/permission/sql.js.map +1 -0
  351. package/dist/permission.js +222 -0
  352. package/dist/permission.js.map +1 -0
  353. package/dist/plugin/agent.js +180 -0
  354. package/dist/plugin/agent.js.map +1 -0
  355. package/dist/plugin/command.js +24 -0
  356. package/dist/plugin/command.js.map +1 -0
  357. package/dist/plugin/host.js +168 -0
  358. package/dist/plugin/host.js.map +1 -0
  359. package/dist/plugin/internal.js +102 -0
  360. package/dist/plugin/internal.js.map +1 -0
  361. package/dist/plugin/layer-map.example.js +37 -0
  362. package/dist/plugin/layer-map.example.js.map +1 -0
  363. package/dist/plugin/models-dev.js +161 -0
  364. package/dist/plugin/models-dev.js.map +1 -0
  365. package/dist/plugin/promise.js +71 -0
  366. package/dist/plugin/promise.js.map +1 -0
  367. package/dist/plugin/provider/alibaba.js +14 -0
  368. package/dist/plugin/provider/alibaba.js.map +1 -0
  369. package/dist/plugin/provider/amazon-bedrock.js +109 -0
  370. package/dist/plugin/provider/amazon-bedrock.js.map +1 -0
  371. package/dist/plugin/provider/anthropic.js +26 -0
  372. package/dist/plugin/provider/anthropic.js.map +1 -0
  373. package/dist/plugin/provider/azure.js +79 -0
  374. package/dist/plugin/provider/azure.js.map +1 -0
  375. package/dist/plugin/provider/cerebras.js +25 -0
  376. package/dist/plugin/provider/cerebras.js.map +1 -0
  377. package/dist/plugin/provider/cloudflare-ai-gateway.js +68 -0
  378. package/dist/plugin/provider/cloudflare-ai-gateway.js.map +1 -0
  379. package/dist/plugin/provider/cloudflare-workers-ai.js +74 -0
  380. package/dist/plugin/provider/cloudflare-workers-ai.js.map +1 -0
  381. package/dist/plugin/provider/cohere.js +14 -0
  382. package/dist/plugin/provider/cohere.js.map +1 -0
  383. package/dist/plugin/provider/deepinfra.js +14 -0
  384. package/dist/plugin/provider/deepinfra.js.map +1 -0
  385. package/dist/plugin/provider/dynamic.js +27 -0
  386. package/dist/plugin/provider/dynamic.js.map +1 -0
  387. package/dist/plugin/provider/gateway.js +14 -0
  388. package/dist/plugin/provider/gateway.js.map +1 -0
  389. package/dist/plugin/provider/github-copilot.js +48 -0
  390. package/dist/plugin/provider/github-copilot.js.map +1 -0
  391. package/dist/plugin/provider/gitlab.js +57 -0
  392. package/dist/plugin/provider/gitlab.js.map +1 -0
  393. package/dist/plugin/provider/google-vertex.js +153 -0
  394. package/dist/plugin/provider/google-vertex.js.map +1 -0
  395. package/dist/plugin/provider/google.js +14 -0
  396. package/dist/plugin/provider/google.js.map +1 -0
  397. package/dist/plugin/provider/groq.js +14 -0
  398. package/dist/plugin/provider/groq.js.map +1 -0
  399. package/dist/plugin/provider/kilo.js +22 -0
  400. package/dist/plugin/provider/kilo.js.map +1 -0
  401. package/dist/plugin/provider/llmgateway.js +29 -0
  402. package/dist/plugin/provider/llmgateway.js.map +1 -0
  403. package/dist/plugin/provider/mistral.js +14 -0
  404. package/dist/plugin/provider/mistral.js.map +1 -0
  405. package/dist/plugin/provider/nvidia.js +23 -0
  406. package/dist/plugin/provider/nvidia.js.map +1 -0
  407. package/dist/plugin/provider/openai-compatible.js +18 -0
  408. package/dist/plugin/provider/openai-compatible.js.map +1 -0
  409. package/dist/plugin/provider/openai.js +241 -0
  410. package/dist/plugin/provider/openai.js.map +1 -0
  411. package/dist/plugin/provider/openrouter.js +36 -0
  412. package/dist/plugin/provider/openrouter.js.map +1 -0
  413. package/dist/plugin/provider/perplexity.js +14 -0
  414. package/dist/plugin/provider/perplexity.js.map +1 -0
  415. package/dist/plugin/provider/sap-ai-core.js +39 -0
  416. package/dist/plugin/provider/sap-ai-core.js.map +1 -0
  417. package/dist/plugin/provider/snowflake-cortex.js +76 -0
  418. package/dist/plugin/provider/snowflake-cortex.js.map +1 -0
  419. package/dist/plugin/provider/togetherai.js +14 -0
  420. package/dist/plugin/provider/togetherai.js.map +1 -0
  421. package/dist/plugin/provider/venice.js +14 -0
  422. package/dist/plugin/provider/venice.js.map +1 -0
  423. package/dist/plugin/provider/vercel.js +26 -0
  424. package/dist/plugin/provider/vercel.js.map +1 -0
  425. package/dist/plugin/provider/xai.js +20 -0
  426. package/dist/plugin/provider/xai.js.map +1 -0
  427. package/dist/plugin/provider/zenmux.js +22 -0
  428. package/dist/plugin/provider/zenmux.js.map +1 -0
  429. package/dist/plugin/provider/zyraxon.js +260 -0
  430. package/dist/plugin/provider/zyraxon.js.map +1 -0
  431. package/dist/plugin/provider.js +69 -0
  432. package/dist/plugin/provider.js.map +1 -0
  433. package/dist/plugin/skill.js +25 -0
  434. package/dist/plugin/skill.js.map +1 -0
  435. package/dist/plugin/variant.js +38 -0
  436. package/dist/plugin/variant.js.map +1 -0
  437. package/dist/plugin.js +119 -0
  438. package/dist/plugin.js.map +1 -0
  439. package/dist/policy.js +30 -0
  440. package/dist/policy.js.map +1 -0
  441. package/dist/process.js +163 -0
  442. package/dist/process.js.map +1 -0
  443. package/dist/project/copy-strategies.js +28 -0
  444. package/dist/project/copy-strategies.js.map +1 -0
  445. package/dist/project/copy.js +180 -0
  446. package/dist/project/copy.js.map +1 -0
  447. package/dist/project/directories.js +89 -0
  448. package/dist/project/directories.js.map +1 -0
  449. package/dist/project/schema.js +12 -0
  450. package/dist/project/schema.js.map +1 -0
  451. package/dist/project/sql.js +29 -0
  452. package/dist/project/sql.js.map +1 -0
  453. package/dist/project.js +94 -0
  454. package/dist/project.js.map +1 -0
  455. package/dist/provider.js +9 -0
  456. package/dist/provider.js.map +1 -0
  457. package/dist/pty/protocol.js +35 -0
  458. package/dist/pty/protocol.js.map +1 -0
  459. package/dist/pty/pty.bun.js +23 -0
  460. package/dist/pty/pty.bun.js.map +1 -0
  461. package/dist/pty/pty.js +2 -0
  462. package/dist/pty/pty.js.map +1 -0
  463. package/dist/pty/pty.node.js +23 -0
  464. package/dist/pty/pty.node.js.map +1 -0
  465. package/dist/pty/schema.js +2 -0
  466. package/dist/pty/schema.js.map +1 -0
  467. package/dist/pty/ticket.js +33 -0
  468. package/dist/pty/ticket.js.map +1 -0
  469. package/dist/pty.js +253 -0
  470. package/dist/pty.js.map +1 -0
  471. package/dist/public-event-manifest.js +6 -0
  472. package/dist/public-event-manifest.js.map +1 -0
  473. package/dist/question.js +78 -0
  474. package/dist/question.js.map +1 -0
  475. package/dist/reference/guidance.js +55 -0
  476. package/dist/reference/guidance.js.map +1 -0
  477. package/dist/reference.js +90 -0
  478. package/dist/reference.js.map +1 -0
  479. package/dist/repository-cache.js +180 -0
  480. package/dist/repository-cache.js.map +1 -0
  481. package/dist/repository.js +164 -0
  482. package/dist/repository.js.map +1 -0
  483. package/dist/ripgrep/binary.js +107 -0
  484. package/dist/ripgrep/binary.js.map +1 -0
  485. package/dist/ripgrep.js +174 -0
  486. package/dist/ripgrep.js.map +1 -0
  487. package/dist/schema.js +33 -0
  488. package/dist/schema.js.map +1 -0
  489. package/dist/session/compaction.js +197 -0
  490. package/dist/session/compaction.js.map +1 -0
  491. package/dist/session/context-epoch.js +110 -0
  492. package/dist/session/context-epoch.js.map +1 -0
  493. package/dist/session/error.js +20 -0
  494. package/dist/session/error.js.map +1 -0
  495. package/dist/session/event.js +3 -0
  496. package/dist/session/event.js.map +1 -0
  497. package/dist/session/execution/local.js +35 -0
  498. package/dist/session/execution/local.js.map +1 -0
  499. package/dist/session/execution.js +16 -0
  500. package/dist/session/execution.js.map +1 -0
  501. package/dist/session/history.js +58 -0
  502. package/dist/session/history.js.map +1 -0
  503. package/dist/session/info.js +48 -0
  504. package/dist/session/info.js.map +1 -0
  505. package/dist/session/input.js +167 -0
  506. package/dist/session/input.js.map +1 -0
  507. package/dist/session/message-updater.js +340 -0
  508. package/dist/session/message-updater.js.map +1 -0
  509. package/dist/session/message.js +3 -0
  510. package/dist/session/message.js.map +1 -0
  511. package/dist/session/projector.js +385 -0
  512. package/dist/session/projector.js.map +1 -0
  513. package/dist/session/prompt.js +2 -0
  514. package/dist/session/prompt.js.map +1 -0
  515. package/dist/session/revert.js +107 -0
  516. package/dist/session/revert.js.map +1 -0
  517. package/dist/session/run-coordinator.js +65 -0
  518. package/dist/session/run-coordinator.js.map +1 -0
  519. package/dist/session/runner/index.js +5 -0
  520. package/dist/session/runner/index.js.map +1 -0
  521. package/dist/session/runner/llm.js +356 -0
  522. package/dist/session/runner/llm.js.map +1 -0
  523. package/dist/session/runner/max-steps.js +17 -0
  524. package/dist/session/runner/max-steps.js.map +1 -0
  525. package/dist/session/runner/model.js +150 -0
  526. package/dist/session/runner/model.js.map +1 -0
  527. package/dist/session/runner/publish-llm-event.js +387 -0
  528. package/dist/session/runner/publish-llm-event.js.map +1 -0
  529. package/dist/session/runner/to-llm-message.js +152 -0
  530. package/dist/session/runner/to-llm-message.js.map +1 -0
  531. package/dist/session/schema.js +5 -0
  532. package/dist/session/schema.js.map +1 -0
  533. package/dist/session/sql.js +121 -0
  534. package/dist/session/sql.js.map +1 -0
  535. package/dist/session/store.js +44 -0
  536. package/dist/session/store.js.map +1 -0
  537. package/dist/session/todo.js +53 -0
  538. package/dist/session/todo.js.map +1 -0
  539. package/dist/session.js +330 -0
  540. package/dist/session.js.map +1 -0
  541. package/dist/share/sql.js +13 -0
  542. package/dist/share/sql.js.map +1 -0
  543. package/dist/shell.js +227 -0
  544. package/dist/shell.js.map +1 -0
  545. package/dist/skill/discovery.js +163 -0
  546. package/dist/skill/discovery.js.map +1 -0
  547. package/dist/skill/guidance.js +58 -0
  548. package/dist/skill/guidance.js.map +1 -0
  549. package/dist/skill.js +101 -0
  550. package/dist/skill.js.map +1 -0
  551. package/dist/snapshot.js +174 -0
  552. package/dist/snapshot.js.map +1 -0
  553. package/dist/state.js +76 -0
  554. package/dist/state.js.map +1 -0
  555. package/dist/system-context/builtins.js +44 -0
  556. package/dist/system-context/builtins.js.map +1 -0
  557. package/dist/system-context/index.js +208 -0
  558. package/dist/system-context/index.js.map +1 -0
  559. package/dist/system-context/registry.js +24 -0
  560. package/dist/system-context/registry.js.map +1 -0
  561. package/dist/tool/application-tools.js +33 -0
  562. package/dist/tool/application-tools.js.map +1 -0
  563. package/dist/tool/apply-patch.js +177 -0
  564. package/dist/tool/apply-patch.js.map +1 -0
  565. package/dist/tool/bash.js +177 -0
  566. package/dist/tool/bash.js.map +1 -0
  567. package/dist/tool/builtins.js +49 -0
  568. package/dist/tool/builtins.js.map +1 -0
  569. package/dist/tool/edit.js +181 -0
  570. package/dist/tool/edit.js.map +1 -0
  571. package/dist/tool/glob.js +83 -0
  572. package/dist/tool/glob.js.map +1 -0
  573. package/dist/tool/grep.js +110 -0
  574. package/dist/tool/grep.js.map +1 -0
  575. package/dist/tool/http-body.js +26 -0
  576. package/dist/tool/http-body.js.map +1 -0
  577. package/dist/tool/marketplace.js +483 -0
  578. package/dist/tool/marketplace.js.map +1 -0
  579. package/dist/tool/question.js +70 -0
  580. package/dist/tool/question.js.map +1 -0
  581. package/dist/tool/read-filesystem.js +326 -0
  582. package/dist/tool/read-filesystem.js.map +1 -0
  583. package/dist/tool/read.js +107 -0
  584. package/dist/tool/read.js.map +1 -0
  585. package/dist/tool/registry.js +102 -0
  586. package/dist/tool/registry.js.map +1 -0
  587. package/dist/tool/skill.js +97 -0
  588. package/dist/tool/skill.js.map +1 -0
  589. package/dist/tool/todowrite.js +50 -0
  590. package/dist/tool/todowrite.js.map +1 -0
  591. package/dist/tool/tool.js +71 -0
  592. package/dist/tool/tool.js.map +1 -0
  593. package/dist/tool/tools.js +6 -0
  594. package/dist/tool/tools.js.map +1 -0
  595. package/dist/tool/webfetch.js +184 -0
  596. package/dist/tool/webfetch.js.map +1 -0
  597. package/dist/tool/websearch.js +201 -0
  598. package/dist/tool/websearch.js.map +1 -0
  599. package/dist/tool/write.js +83 -0
  600. package/dist/tool/write.js.map +1 -0
  601. package/dist/tool-output-store.js +164 -0
  602. package/dist/tool-output-store.js.map +1 -0
  603. package/dist/util/array.js +9 -0
  604. package/dist/util/array.js.map +1 -0
  605. package/dist/util/binary.js +41 -0
  606. package/dist/util/binary.js.map +1 -0
  607. package/dist/util/effect-flock.js +179 -0
  608. package/dist/util/effect-flock.js.map +1 -0
  609. package/dist/util/encode.js +50 -0
  610. package/dist/util/encode.js.map +1 -0
  611. package/dist/util/error.js +46 -0
  612. package/dist/util/error.js.map +1 -0
  613. package/dist/util/flock.js +274 -0
  614. package/dist/util/flock.js.map +1 -0
  615. package/dist/util/glob.js +27 -0
  616. package/dist/util/glob.js.map +1 -0
  617. package/dist/util/hash.js +13 -0
  618. package/dist/util/hash.js.map +1 -0
  619. package/dist/util/identifier.js +2 -0
  620. package/dist/util/identifier.js.map +1 -0
  621. package/dist/util/iife.js +4 -0
  622. package/dist/util/iife.js.map +1 -0
  623. package/dist/util/lazy.js +12 -0
  624. package/dist/util/lazy.js.map +1 -0
  625. package/dist/util/module.js +13 -0
  626. package/dist/util/module.js.map +1 -0
  627. package/dist/util/path.js +40 -0
  628. package/dist/util/path.js.map +1 -0
  629. package/dist/util/retry.js +35 -0
  630. package/dist/util/retry.js.map +1 -0
  631. package/dist/util/slug.js +75 -0
  632. package/dist/util/slug.js.map +1 -0
  633. package/dist/util/token.js +4 -0
  634. package/dist/util/token.js.map +1 -0
  635. package/dist/util/which.js +14 -0
  636. package/dist/util/which.js.map +1 -0
  637. package/dist/util/wildcard.js +13 -0
  638. package/dist/util/wildcard.js.map +1 -0
  639. package/dist/v1/config/agent.js +77 -0
  640. package/dist/v1/config/agent.js.map +1 -0
  641. package/dist/v1/config/attachment.js +21 -0
  642. package/dist/v1/config/attachment.js.map +1 -0
  643. package/dist/v1/config/command.js +11 -0
  644. package/dist/v1/config/command.js.map +1 -0
  645. package/dist/v1/config/config.js +157 -0
  646. package/dist/v1/config/config.js.map +1 -0
  647. package/dist/v1/config/console-state.js +15 -0
  648. package/dist/v1/config/console-state.js.map +1 -0
  649. package/dist/v1/config/error.js +30 -0
  650. package/dist/v1/config/error.js.map +1 -0
  651. package/dist/v1/config/formatter.js +10 -0
  652. package/dist/v1/config/formatter.js.map +1 -0
  653. package/dist/v1/config/layout.js +4 -0
  654. package/dist/v1/config/layout.js.map +1 -0
  655. package/dist/v1/config/lsp.js +74 -0
  656. package/dist/v1/config/lsp.js.map +1 -0
  657. package/dist/v1/config/mcp.js +54 -0
  658. package/dist/v1/config/mcp.js.map +1 -0
  659. package/dist/v1/config/migrate.js +230 -0
  660. package/dist/v1/config/migrate.js.map +1 -0
  661. package/dist/v1/config/permission.js +32 -0
  662. package/dist/v1/config/permission.js.map +1 -0
  663. package/dist/v1/config/plugin.js +5 -0
  664. package/dist/v1/config/plugin.js.map +1 -0
  665. package/dist/v1/config/provider-options.js +193 -0
  666. package/dist/v1/config/provider-options.js.map +1 -0
  667. package/dist/v1/config/provider.js +83 -0
  668. package/dist/v1/config/provider.js.map +1 -0
  669. package/dist/v1/config/server.js +17 -0
  670. package/dist/v1/config/server.js.map +1 -0
  671. package/dist/v1/config/skills.js +11 -0
  672. package/dist/v1/config/skills.js.map +1 -0
  673. package/dist/v1/permission.js +28 -0
  674. package/dist/v1/permission.js.map +1 -0
  675. package/dist/v1/session.js +26 -0
  676. package/dist/v1/session.js.map +1 -0
  677. package/dist/v2-schema.js +3 -0
  678. package/dist/v2-schema.js.map +1 -0
  679. package/dist/workspace.js +4 -0
  680. package/dist/workspace.js.map +1 -0
  681. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260603141458_session_input_inbox.js","sourceRoot":"","sources":["../../../src/database/migration/20260603141458_session_input_inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,oCAAoC;IACxC,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWb,CAAC,CAAA;YACF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,wHAAwH,CACzH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260603160727_jittery_ezekiel_stane",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`DROP INDEX IF EXISTS \`session_input_session_pending_seq_idx\`;`);
7
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS \`event_aggregate_type_seq_idx\` ON \`event\` (\`aggregate_id\`,\`type\`,\`seq\`);`);
8
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS \`session_input_session_pending_delivery_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`,\`delivery\`,\`seq\`);`);
9
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS \`session_message_session_time_created_id_idx\` ON \`session_message\` (\`session_id\`,\`time_created\`,\`id\`);`);
10
+ });
11
+ },
12
+ };
13
+ //# sourceMappingURL=20260603160727_jittery_ezekiel_stane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260603160727_jittery_ezekiel_stane.js","sourceRoot":"","sources":["../../../src/database/migration/20260603160727_jittery_ezekiel_stane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,sCAAsC;IAC1C,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;YAChF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,+GAA+G,CAChH,CAAA;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,4JAA4J,CAC7J,CAAA;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,6IAA6I,CAC9I,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260604172448_event_sourced_session_input",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`DELETE FROM \`session_input\`;`);
7
+ yield* tx.run(`DELETE FROM \`session_message\`;`);
8
+ yield* tx.run(`DELETE FROM \`event\`;`);
9
+ yield* tx.run(`DELETE FROM \`event_sequence\`;`);
10
+ yield* tx.run(`UPDATE \`session\` SET \`workspace_id\` = NULL;`);
11
+ yield* tx.run(`DELETE FROM \`workspace\`;`);
12
+ yield* tx.run(`DROP INDEX IF EXISTS \`event_aggregate_seq_idx\`;`);
13
+ yield* tx.run(`CREATE UNIQUE INDEX \`event_aggregate_seq_idx\` ON \`event\` (\`aggregate_id\`,\`seq\`);`);
14
+ yield* tx.run(`DROP INDEX IF EXISTS \`session_message_session_seq_idx\`;`);
15
+ yield* tx.run(`CREATE UNIQUE INDEX \`session_message_session_seq_idx\` ON \`session_message\` (\`session_id\`,\`seq\`);`);
16
+ yield* tx.run(`PRAGMA foreign_keys=OFF;`);
17
+ yield* tx.run(`
18
+ CREATE TABLE \`__new_session_input\` (
19
+ \`id\` text PRIMARY KEY,
20
+ \`session_id\` text NOT NULL,
21
+ \`prompt\` text NOT NULL,
22
+ \`delivery\` text NOT NULL,
23
+ \`admitted_seq\` integer NOT NULL,
24
+ \`promoted_seq\` integer,
25
+ \`time_created\` integer NOT NULL,
26
+ CONSTRAINT \`fk_session_input_session_id_session_id_fk\` FOREIGN KEY (\`session_id\`) REFERENCES \`session\`(\`id\`) ON DELETE CASCADE
27
+ );
28
+ `);
29
+ yield* tx.run(`DROP TABLE \`session_input\`;`);
30
+ yield* tx.run(`ALTER TABLE \`__new_session_input\` RENAME TO \`session_input\`;`);
31
+ yield* tx.run(`PRAGMA foreign_keys=ON;`);
32
+ yield* tx.run(`CREATE INDEX \`session_input_session_pending_delivery_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`,\`delivery\`,\`admitted_seq\`);`);
33
+ yield* tx.run(`CREATE UNIQUE INDEX \`session_input_session_admitted_seq_idx\` ON \`session_input\` (\`session_id\`,\`admitted_seq\`);`);
34
+ yield* tx.run(`CREATE UNIQUE INDEX \`session_input_session_promoted_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`);`);
35
+ });
36
+ },
37
+ };
38
+ //# sourceMappingURL=20260604172448_event_sourced_session_input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260604172448_event_sourced_session_input.js","sourceRoot":"","sources":["../../../src/database/migration/20260604172448_event_sourced_session_input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,4CAA4C;IAChD,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YACjD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;YACvC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;YAChD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;YAChE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YAC3C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;YAClE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAA;YACzG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;YAC1E,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,0GAA0G,CAC3G,CAAA;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACzC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWb,CAAC,CAAA;YACF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;YAC9C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;YACjF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YACxC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,uJAAuJ,CACxJ,CAAA;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,wHAAwH,CACzH,CAAA;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,wHAAwH,CACzH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260605003541_add_session_context_snapshot",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`
7
+ CREATE TABLE \`session_context_epoch\` (
8
+ \`session_id\` text PRIMARY KEY,
9
+ \`baseline\` text NOT NULL,
10
+ \`snapshot\` text NOT NULL,
11
+ \`baseline_seq\` integer NOT NULL,
12
+ \`replacement_seq\` integer,
13
+ \`revision\` integer DEFAULT 0 NOT NULL,
14
+ CONSTRAINT \`fk_session_context_epoch_session_id_session_id_fk\` FOREIGN KEY (\`session_id\`) REFERENCES \`session\`(\`id\`) ON DELETE CASCADE
15
+ );
16
+ `);
17
+ });
18
+ },
19
+ };
20
+ //# sourceMappingURL=20260605003541_add_session_context_snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260605003541_add_session_context_snapshot.js","sourceRoot":"","sources":["../../../src/database/migration/20260605003541_add_session_context_snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,6CAA6C;IACjD,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;OAUb,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260605042240_add_context_epoch_agent",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`ALTER TABLE \`session_context_epoch\` ADD \`agent\` text DEFAULT 'build' NOT NULL;`);
7
+ });
8
+ },
9
+ };
10
+ //# sourceMappingURL=20260605042240_add_context_epoch_agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260605042240_add_context_epoch_agent.js","sourceRoot":"","sources":["../../../src/database/migration/20260605042240_add_context_epoch_agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,wCAAwC;IAC5C,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAA;QACrG,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260611035744_credential",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`
7
+ CREATE TABLE \`credential\` (
8
+ \`id\` text PRIMARY KEY,
9
+ \`connector_id\` text NOT NULL,
10
+ \`method_id\` text NOT NULL,
11
+ \`label\` text NOT NULL,
12
+ \`value\` text NOT NULL,
13
+ \`active\` integer DEFAULT false NOT NULL,
14
+ \`time_created\` integer NOT NULL,
15
+ \`time_updated\` integer NOT NULL
16
+ );
17
+ `);
18
+ yield* tx.run(`CREATE UNIQUE INDEX \`credential_connector_active_idx\` ON \`credential\` (\`connector_id\`) WHERE "credential"."active" = 1;`);
19
+ });
20
+ },
21
+ };
22
+ //# sourceMappingURL=20260611035744_credential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260611035744_credential.js","sourceRoot":"","sources":["../../../src/database/migration/20260611035744_credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,2BAA2B;IAC/B,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWb,CAAC,CAAA;YACF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,+HAA+H,CAChI,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260611192811_lush_chimera",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`DROP INDEX IF EXISTS \`credential_connector_active_idx\`;`);
7
+ yield* tx.run(`DROP TABLE \`credential\`;`);
8
+ yield* tx.run(`
9
+ CREATE TABLE \`credential\` (
10
+ \`id\` text PRIMARY KEY,
11
+ \`integration_id\` text,
12
+ \`label\` text NOT NULL,
13
+ \`value\` text NOT NULL,
14
+ \`connector_id\` text,
15
+ \`method_id\` text,
16
+ \`active\` integer,
17
+ \`time_created\` integer NOT NULL,
18
+ \`time_updated\` integer NOT NULL
19
+ );
20
+ `);
21
+ });
22
+ },
23
+ };
24
+ //# sourceMappingURL=20260611192811_lush_chimera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260611192811_lush_chimera.js","sourceRoot":"","sources":["../../../src/database/migration/20260611192811_lush_chimera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,6BAA6B;IACjC,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;YAC1E,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YAC3C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;OAYb,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260612174303_project_dir_strategy",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`ALTER TABLE \`project_directory\` ADD \`strategy\` text;`);
7
+ yield* tx.run(`PRAGMA foreign_keys=OFF;`);
8
+ yield* tx.run(`
9
+ CREATE TABLE \`__new_project_directory\` (
10
+ \`project_id\` text NOT NULL,
11
+ \`directory\` text NOT NULL,
12
+ \`type\` text,
13
+ \`strategy\` text,
14
+ \`time_created\` integer NOT NULL,
15
+ CONSTRAINT \`project_directory_pk\` PRIMARY KEY(\`project_id\`, \`directory\`),
16
+ CONSTRAINT \`fk_project_directory_project_id_project_id_fk\` FOREIGN KEY (\`project_id\`) REFERENCES \`project\`(\`id\`) ON DELETE CASCADE
17
+ );
18
+ `);
19
+ yield* tx.run(`INSERT INTO \`__new_project_directory\`(\`project_id\`, \`directory\`, \`type\`, \`time_created\`) SELECT \`project_id\`, \`directory\`, \`type\`, \`time_created\` FROM \`project_directory\`;`);
20
+ yield* tx.run(`DROP TABLE \`project_directory\`;`);
21
+ yield* tx.run(`ALTER TABLE \`__new_project_directory\` RENAME TO \`project_directory\`;`);
22
+ yield* tx.run(`PRAGMA foreign_keys=ON;`);
23
+ });
24
+ },
25
+ };
26
+ //# sourceMappingURL=20260612174303_project_dir_strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260612174303_project_dir_strategy.js","sourceRoot":"","sources":["../../../src/database/migration/20260612174303_project_dir_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,qCAAqC;IACzC,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;YACzE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACzC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;OAUb,CAAC,CAAA;YACF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,iMAAiM,CAClM,CAAA;YACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAClD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAA;YACzF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260622142730_simplify_session_context_epoch",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`ALTER TABLE \`session_context_epoch\` DROP COLUMN \`agent\`;`);
7
+ yield* tx.run(`ALTER TABLE \`session_context_epoch\` DROP COLUMN \`replacement_seq\`;`);
8
+ yield* tx.run(`ALTER TABLE \`session_context_epoch\` DROP COLUMN \`revision\`;`);
9
+ });
10
+ },
11
+ };
12
+ //# sourceMappingURL=20260622142730_simplify_session_context_epoch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260622142730_simplify_session_context_epoch.js","sourceRoot":"","sources":["../../../src/database/migration/20260622142730_simplify_session_context_epoch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,+CAA+C;IACnD,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAA;YAC7E,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;YACvF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260622170816_reset_v2_session_state",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`DELETE FROM \`session_context_epoch\`;`);
7
+ yield* tx.run(`DELETE FROM \`session_input\`;`);
8
+ yield* tx.run(`DELETE FROM \`session_message\`;`);
9
+ yield* tx.run(`DELETE FROM \`event\`;`);
10
+ yield* tx.run(`DELETE FROM \`event_sequence\`;`);
11
+ yield* tx.run(`UPDATE \`session\` SET \`workspace_id\` = NULL WHERE \`workspace_id\` IS NOT NULL;`);
12
+ yield* tx.run(`DELETE FROM \`workspace\`;`);
13
+ });
14
+ },
15
+ };
16
+ //# sourceMappingURL=20260622170816_reset_v2_session_state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260622170816_reset_v2_session_state.js","sourceRoot":"","sources":["../../../src/database/migration/20260622170816_reset_v2_session_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,uCAAuC;IAC3C,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;YACvD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YACjD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;YACvC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;YAChD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAA;YACnG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260622202450_simplify_session_input",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ yield* tx.run(`DELETE FROM \`session_context_epoch\`;`);
7
+ yield* tx.run(`DELETE FROM \`session_input\`;`);
8
+ yield* tx.run(`DELETE FROM \`session_message\`;`);
9
+ yield* tx.run(`DELETE FROM \`event\`;`);
10
+ yield* tx.run(`DELETE FROM \`event_sequence\`;`);
11
+ yield* tx.run(`UPDATE \`session\` SET \`workspace_id\` = NULL WHERE \`workspace_id\` IS NOT NULL;`);
12
+ yield* tx.run(`DELETE FROM \`workspace\`;`);
13
+ });
14
+ },
15
+ };
16
+ //# sourceMappingURL=20260622202450_simplify_session_input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260622202450_simplify_session_input.js","sourceRoot":"","sources":["../../../src/database/migration/20260622202450_simplify_session_input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,uCAAuC;IAC3C,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;YACvD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YACjD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;YACvC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;YAChD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAA;YACnG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,141 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260730000000_eternal_memory_system",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ // ============================================
7
+ // ETERNAL MEMORY SYSTEM v4 — Zero Forget
8
+ // ============================================
9
+ // 1. Knowledge Graph — AI যা জানে (entities + relationships)
10
+ yield* tx.run(`
11
+ CREATE TABLE IF NOT EXISTS knowledge_entity (
12
+ id TEXT PRIMARY KEY,
13
+ entity_type TEXT NOT NULL,
14
+ name TEXT NOT NULL,
15
+ description TEXT NOT NULL DEFAULT '',
16
+ importance INTEGER NOT NULL DEFAULT 5,
17
+ access_count INTEGER NOT NULL DEFAULT 0,
18
+ metadata TEXT NOT NULL DEFAULT '{}',
19
+ time_created INTEGER NOT NULL,
20
+ time_updated INTEGER NOT NULL,
21
+ time_last_accessed INTEGER NOT NULL
22
+ )
23
+ `);
24
+ // 2. Knowledge Relationships — entities এর মধ্যে সম্পর্ক
25
+ yield* tx.run(`
26
+ CREATE TABLE IF NOT EXISTS knowledge_relation (
27
+ id TEXT PRIMARY KEY,
28
+ from_entity_id TEXT NOT NULL,
29
+ to_entity_id TEXT NOT NULL,
30
+ relation_type TEXT NOT NULL,
31
+ weight REAL NOT NULL DEFAULT 1.0,
32
+ metadata TEXT NOT NULL DEFAULT '{}',
33
+ time_created INTEGER NOT NULL,
34
+ CONSTRAINT fk_from_entity FOREIGN KEY (from_entity_id) REFERENCES knowledge_entity(id) ON DELETE CASCADE,
35
+ CONSTRAINT fk_to_entity FOREIGN KEY (to_entity_id) REFERENCES knowledge_entity(id) ON DELETE CASCADE
36
+ )
37
+ `);
38
+ // 3. Entity Mentions — entities কখন কোথায় উল্লেখ হয়েছে
39
+ yield* tx.run(`
40
+ CREATE TABLE IF NOT EXISTS entity_mention (
41
+ id TEXT PRIMARY KEY,
42
+ entity_id TEXT NOT NULL,
43
+ session_id TEXT NOT NULL,
44
+ message_id TEXT NOT NULL,
45
+ context TEXT NOT NULL DEFAULT '',
46
+ time_created INTEGER NOT NULL,
47
+ CONSTRAINT fk_mention_entity FOREIGN KEY (entity_id) REFERENCES knowledge_entity(id) ON DELETE CASCADE
48
+ )
49
+ `);
50
+ // 4. Decisions — কেন কোনো decision নেওয়া হয়েছে
51
+ yield* tx.run(`
52
+ CREATE TABLE IF NOT EXISTS decision (
53
+ id TEXT PRIMARY KEY,
54
+ decision TEXT NOT NULL,
55
+ reasoning TEXT NOT NULL DEFAULT '',
56
+ alternatives TEXT NOT NULL DEFAULT '[]',
57
+ outcome TEXT NOT NULL DEFAULT 'pending',
58
+ impact_score INTEGER NOT NULL DEFAULT 5,
59
+ session_id TEXT NOT NULL,
60
+ time_created INTEGER NOT NULL,
61
+ time_resolved INTEGER
62
+ )
63
+ `);
64
+ // 5. Errors — প্রতিটি error/bug এর permanent record
65
+ yield* tx.run(`
66
+ CREATE TABLE IF NOT EXISTS error_record (
67
+ id TEXT PRIMARY KEY,
68
+ error_type TEXT NOT NULL,
69
+ error_message TEXT NOT NULL DEFAULT '',
70
+ stack_trace TEXT NOT NULL DEFAULT '',
71
+ fix_applied TEXT NOT NULL DEFAULT '',
72
+ fix_session_id TEXT NOT NULL DEFAULT '',
73
+ occurrence_count INTEGER NOT NULL DEFAULT 1,
74
+ severity TEXT NOT NULL DEFAULT 'medium',
75
+ time_first_seen INTEGER NOT NULL,
76
+ time_last_seen INTEGER NOT NULL
77
+ )
78
+ `);
79
+ // 6. Patterns — Repeated patterns (AI যেভাবে কাজ করে)
80
+ yield* tx.run(`
81
+ CREATE TABLE IF NOT EXISTS learned_pattern (
82
+ id TEXT PRIMARY KEY,
83
+ pattern_type TEXT NOT NULL,
84
+ description TEXT NOT NULL DEFAULT '',
85
+ frequency INTEGER NOT NULL DEFAULT 1,
86
+ confidence_score INTEGER NOT NULL DEFAULT 5,
87
+ example_sessions TEXT NOT NULL DEFAULT '[]',
88
+ time_created INTEGER NOT NULL,
89
+ time_last_seen INTEGER NOT NULL
90
+ )
91
+ `);
92
+ // 7. Summaries — Hierarchical summaries (hourly → daily → weekly → monthly)
93
+ yield* tx.run(`
94
+ CREATE TABLE IF NOT EXISTS memory_summary (
95
+ id TEXT PRIMARY KEY,
96
+ time_range TEXT NOT NULL,
97
+ time_start INTEGER NOT NULL,
98
+ time_end INTEGER NOT NULL,
99
+ content TEXT NOT NULL DEFAULT '',
100
+ message_count INTEGER NOT NULL DEFAULT 0,
101
+ importance_score INTEGER NOT NULL DEFAULT 5,
102
+ time_created INTEGER NOT NULL
103
+ )
104
+ `);
105
+ // 8. Temporal Index — সময় অনুযায়ী memory lookup
106
+ yield* tx.run(`
107
+ CREATE TABLE IF NOT EXISTS temporal_index (
108
+ id TEXT PRIMARY KEY,
109
+ entity_id TEXT NOT NULL,
110
+ entity_type TEXT NOT NULL,
111
+ time_point INTEGER NOT NULL,
112
+ event_type TEXT NOT NULL,
113
+ metadata TEXT NOT NULL DEFAULT '{}',
114
+ CONSTRAINT fk_temporal_entity FOREIGN KEY (entity_id) REFERENCES knowledge_entity(id) ON DELETE CASCADE
115
+ )
116
+ `);
117
+ // ============================================
118
+ // INDEXES — Maximum search performance
119
+ // ============================================
120
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_entity_type ON knowledge_entity(entity_type)`);
121
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_entity_importance ON knowledge_entity(importance DESC)`);
122
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_entity_access ON knowledge_entity(access_count DESC)`);
123
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_entity_time ON knowledge_entity(time_created)`);
124
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_relation_from ON knowledge_relation(from_entity_id)`);
125
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_relation_to ON knowledge_relation(to_entity_id)`);
126
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_relation_type ON knowledge_relation(relation_type)`);
127
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_entity_mention_entity ON entity_mention(entity_id)`);
128
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_entity_mention_session ON entity_mention(session_id)`);
129
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_decision_session ON decision(session_id)`);
130
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_decision_outcome ON decision(outcome)`);
131
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_error_record_type ON error_record(error_type)`);
132
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_error_record_severity ON error_record(severity)`);
133
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_learned_pattern_type ON learned_pattern(pattern_type)`);
134
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_memory_summary_time ON memory_summary(time_start, time_end)`);
135
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_temporal_index_time ON temporal_index(time_point)`);
136
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_temporal_index_entity ON temporal_index(entity_id)`);
137
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_temporal_index_type ON temporal_index(entity_type)`);
138
+ });
139
+ },
140
+ };
141
+ //# sourceMappingURL=20260730000000_eternal_memory_system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260730000000_eternal_memory_system.js","sourceRoot":"","sources":["../../../src/database/migration/20260730000000_eternal_memory_system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,sCAAsC;IAC1C,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,+CAA+C;YAC/C,yCAAyC;YACzC,+CAA+C;YAE/C,6DAA6D;YAC7D,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;OAab,CAAC,CAAA;YAEF,yDAAyD;YACzD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;OAYb,CAAC,CAAA;YAEF,yDAAyD;YACzD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;OAUb,CAAC,CAAA;YAEF,iDAAiD;YACjD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;OAYb,CAAC,CAAA;YAEF,oDAAoD;YACpD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;OAab,CAAC,CAAA;YAEF,sDAAsD;YACtD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWb,CAAC,CAAA;YAEF,4EAA4E;YAC5E,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;OAWb,CAAC,CAAA;YAEF,kDAAkD;YAClD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;OAUb,CAAC,CAAA;YAEF,+CAA+C;YAC/C,uCAAuC;YACvC,+CAA+C;YAE/C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAA;YACtG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAA;YAChH,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAA;YAC9G,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAA;YACvG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAA;YAC7G,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAA;YACzG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAA;YAC5G,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAA;YAClG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAA;YACpG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAA;YACxF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAA;YACrF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAA;YAC7F,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAA;YAC/F,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAA;YACrG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAA;YAC3G,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAA;YACjG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAA;YAClG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAA;QACpG,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260912000000_db_performance_optimization",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ // ============================================
7
+ // DB PERFORMANCE OPTIMIZATION — WAL + Indexes
8
+ // ============================================
9
+ // Compound indexes for faster message/part joins
10
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_message_session_time ON message(session_id, time_created)`);
11
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_part_message ON part(message_id)`);
12
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_part_session_time ON part(session_id, time_created)`);
13
+ // Event table compound indexes
14
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_event_aggregate_time ON event(aggregate_id, seq)`);
15
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_event_type ON event(type)`);
16
+ // Session message compound indexes for timeline queries
17
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_message_session_seq ON session_message(session_id, seq)`);
18
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_message_time ON session_message(time_created)`);
19
+ // Session lookup indexes
20
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_time_updated ON session(time_updated DESC)`);
21
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_project_time ON session(project_id, time_updated DESC)`);
22
+ // Todo compound index
23
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_todo_session_status ON todo(session_id, status)`);
24
+ // Session input pending queries
25
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_input_pending ON session_input(session_id, promoted_seq, admitted_seq)`);
26
+ });
27
+ },
28
+ };
29
+ //# sourceMappingURL=20260912000000_db_performance_optimization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260912000000_db_performance_optimization.js","sourceRoot":"","sources":["../../../src/database/migration/20260912000000_db_performance_optimization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,4CAA4C;IAChD,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,+CAA+C;YAC/C,8CAA8C;YAC9C,+CAA+C;YAE/C,iDAAiD;YACjD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAA;YACzG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;YAChF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAA;YAEnG,+BAA+B;YAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAA;YAChG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;YAEzE,wDAAwD;YACxD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAA;YAC/G,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAA;YAErG,yBAAyB;YACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAA;YAClG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAA;YAE9G,sBAAsB;YACtB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAA;YAE/F,gCAAgC;YAChC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,+GAA+G,CAAC,CAAA;QAChI,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { Effect } from "effect";
2
+ export default {
3
+ id: "20260912000000_performance_indexes",
4
+ up(tx) {
5
+ return Effect.gen(function* () {
6
+ // ============================================
7
+ // PERFORMANCE INDEXES — Beat OpenCode's load time
8
+ // ============================================
9
+ // Session listing: most common query — session by project + updated
10
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_project_updated ON session(project_id, time_updated DESC)`);
11
+ // Session get by ID is PK (already fast), but add coverage for listGlobal
12
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_updated_archived ON session(time_updated DESC, time_archived)`);
13
+ // Message batch loading: the critical hot path
14
+ // Covers: WHERE session_id = ? ORDER BY time_created DESC, id DESC
15
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_message_session_cursor ON message(session_id, time_created DESC, id DESC)`);
16
+ // Part batch loading: hydrate() uses WHERE message_id IN (...)
17
+ // Covers: IN lookup + ordering
18
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_part_message_lookup ON part(message_id, id)`);
19
+ // Part session-level queries (getPart uses session_id + message_id + id)
20
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_part_session_message ON part(session_id, message_id, id)`);
21
+ // Session title search: LIKE %query% can't use B-tree, but index helps
22
+ // for the time_updated sort that follows
23
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_session_title_search ON session(title, time_updated DESC)`);
24
+ // Knowledge entity search: name + type lookups
25
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_entity_name_type ON knowledge_entity(name, entity_type)`);
26
+ // Memory search: key lookups (primary search path)
27
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_memories_key_importance ON memories(key, importance DESC)`);
28
+ // Memory category + timestamp (for filtered recalls)
29
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_memories_category_time ON memories(category, timestamp DESC)`);
30
+ // Conversation turns: session + turn ordering
31
+ yield* tx.run(`CREATE INDEX IF NOT EXISTS idx_conversations_session_turn ON conversations(session_id, turn_index DESC)`);
32
+ });
33
+ },
34
+ };
35
+ //# sourceMappingURL=20260912000000_performance_indexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260912000000_performance_indexes.js","sourceRoot":"","sources":["../../../src/database/migration/20260912000000_performance_indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;IACb,EAAE,EAAE,oCAAoC;IACxC,EAAE,CAAC,EAAE;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,+CAA+C;YAC/C,kDAAkD;YAClD,+CAA+C;YAE/C,oEAAoE;YACpE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,kGAAkG,CACnG,CAAA;YAED,0EAA0E;YAC1E,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,sGAAsG,CACvG,CAAA;YAED,+CAA+C;YAC/C,mEAAmE;YACnE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,0GAA0G,CAC3G,CAAA;YAED,+DAA+D;YAC/D,+BAA+B;YAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,4EAA4E,CAC7E,CAAA;YAED,yEAAyE;YACzE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,yFAAyF,CAC1F,CAAA;YAED,uEAAuE;YACvE,yCAAyC;YACzC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,0FAA0F,CAC3F,CAAA;YAED,+CAA+C;YAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,kGAAkG,CACnG,CAAA;YAED,mDAAmD;YACnD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,0FAA0F,CAC3F,CAAA;YAED,qDAAqD;YACrD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,6FAA6F,CAC9F,CAAA;YAED,8CAA8C;YAC9C,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,yGAAyG,CAC1G,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACoC,CAAA"}
@@ -0,0 +1,42 @@
1
+ export const migrations = (await Promise.all([
2
+ import("./migration/20260127222353_familiar_lady_ursula"),
3
+ import("./migration/20260211171708_add_project_commands"),
4
+ import("./migration/20260213144116_wakeful_the_professor"),
5
+ import("./migration/20260225215848_workspace"),
6
+ import("./migration/20260227213759_add_session_workspace_id"),
7
+ import("./migration/20260228203230_blue_harpoon"),
8
+ import("./migration/20260303231226_add_workspace_fields"),
9
+ import("./migration/20260309230000_move_org_to_state"),
10
+ import("./migration/20260312043431_session_message_cursor"),
11
+ import("./migration/20260323234822_events"),
12
+ import("./migration/20260410174513_workspace-name"),
13
+ import("./migration/20260413175956_chief_energizer"),
14
+ import("./migration/20260423070820_add_icon_url_override"),
15
+ import("./migration/20260427172553_slow_nightmare"),
16
+ import("./migration/20260428004200_add_session_path"),
17
+ import("./migration/20260501142318_next_venus"),
18
+ import("./migration/20260504145000_add_sync_owner"),
19
+ import("./migration/20260507164347_add_workspace_time"),
20
+ import("./migration/20260510033149_session_usage"),
21
+ import("./migration/20260511000411_data_migration_state"),
22
+ import("./migration/20260511173437_session-metadata"),
23
+ import("./migration/20260601010001_normalize_storage_paths"),
24
+ import("./migration/20260601202201_amazing_prowler"),
25
+ import("./migration/20260602002951_lowly_union_jack"),
26
+ import("./migration/20260602182828_add_project_directories"),
27
+ import("./migration/20260603001617_session_message_projection_indexes"),
28
+ import("./migration/20260603040000_session_message_projection_order"),
29
+ import("./migration/20260603141458_session_input_inbox"),
30
+ import("./migration/20260603160727_jittery_ezekiel_stane"),
31
+ import("./migration/20260604172448_event_sourced_session_input"),
32
+ import("./migration/20260605003541_add_session_context_snapshot"),
33
+ import("./migration/20260605042240_add_context_epoch_agent"),
34
+ import("./migration/20260611035744_credential"),
35
+ import("./migration/20260611192811_lush_chimera"),
36
+ import("./migration/20260612174303_project_dir_strategy"),
37
+ import("./migration/20260622142730_simplify_session_context_epoch"),
38
+ import("./migration/20260622170816_reset_v2_session_state"),
39
+ import("./migration/20260622202450_simplify_session_input"),
40
+ import("./migration/20260730000000_eternal_memory_system"),
41
+ ])).map((module) => module.default);
42
+ //# sourceMappingURL=migration.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.gen.js","sourceRoot":"","sources":["../../src/database/migration.gen.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAAM,OAAO,CAAC,GAAG,CAAC;IAChB,MAAM,CAAC,iDAAiD,CAAC;IACzD,MAAM,CAAC,iDAAiD,CAAC;IACzD,MAAM,CAAC,kDAAkD,CAAC;IAC1D,MAAM,CAAC,sCAAsC,CAAC;IAC9C,MAAM,CAAC,qDAAqD,CAAC;IAC7D,MAAM,CAAC,yCAAyC,CAAC;IACjD,MAAM,CAAC,iDAAiD,CAAC;IACzD,MAAM,CAAC,8CAA8C,CAAC;IACtD,MAAM,CAAC,mDAAmD,CAAC;IAC3D,MAAM,CAAC,mCAAmC,CAAC;IAC3C,MAAM,CAAC,2CAA2C,CAAC;IACnD,MAAM,CAAC,4CAA4C,CAAC;IACpD,MAAM,CAAC,kDAAkD,CAAC;IAC1D,MAAM,CAAC,2CAA2C,CAAC;IACnD,MAAM,CAAC,6CAA6C,CAAC;IACrD,MAAM,CAAC,uCAAuC,CAAC;IAC/C,MAAM,CAAC,2CAA2C,CAAC;IACnD,MAAM,CAAC,+CAA+C,CAAC;IACvD,MAAM,CAAC,0CAA0C,CAAC;IAClD,MAAM,CAAC,iDAAiD,CAAC;IACzD,MAAM,CAAC,6CAA6C,CAAC;IACrD,MAAM,CAAC,oDAAoD,CAAC;IAC5D,MAAM,CAAC,4CAA4C,CAAC;IACpD,MAAM,CAAC,6CAA6C,CAAC;IACrD,MAAM,CAAC,oDAAoD,CAAC;IAC5D,MAAM,CAAC,+DAA+D,CAAC;IACvE,MAAM,CAAC,6DAA6D,CAAC;IACrE,MAAM,CAAC,gDAAgD,CAAC;IACxD,MAAM,CAAC,kDAAkD,CAAC;IAC1D,MAAM,CAAC,wDAAwD,CAAC;IAChE,MAAM,CAAC,yDAAyD,CAAC;IACjE,MAAM,CAAC,oDAAoD,CAAC;IAC5D,MAAM,CAAC,uCAAuC,CAAC;IAC/C,MAAM,CAAC,yCAAyC,CAAC;IACjD,MAAM,CAAC,iDAAiD,CAAC;IACzD,MAAM,CAAC,2DAA2D,CAAC;IACnE,MAAM,CAAC,mDAAmD,CAAC;IAC3D,MAAM,CAAC,mDAAmD,CAAC;IAC3D,MAAM,CAAC,kDAAkD,CAAC;CAC3D,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAyC,CAAA"}
@@ -0,0 +1,48 @@
1
+ export * as DatabaseMigration from "./migration";
2
+ import { sql } from "drizzle-orm";
3
+ import { Effect, Semaphore } from "effect";
4
+ import { migrations } from "./migration.gen";
5
+ import schema from "./schema.gen";
6
+ const lock = Semaphore.makeUnsafe(1);
7
+ export function apply(db) {
8
+ return lock.withPermit(Effect.gen(function* () {
9
+ const tables = yield* db.all(sql `SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'`);
10
+ if (tables.some((table) => table.name === "session"))
11
+ return yield* applyOnly(db, migrations);
12
+ if (tables.length > 0)
13
+ return yield* Effect.die("Database is not empty and has no session table");
14
+ yield* db.transaction((tx) => Effect.gen(function* () {
15
+ yield* schema.up(tx);
16
+ yield* tx.run(sql `CREATE TABLE ${sql.identifier("migration")} (id TEXT PRIMARY KEY, time_completed INTEGER NOT NULL)`);
17
+ yield* Effect.forEach(migrations, (migration) => tx.run(sql `INSERT INTO ${sql.identifier("migration")} (id, time_completed) VALUES (${migration.id}, ${Date.now()})`));
18
+ }));
19
+ }));
20
+ }
21
+ export function applyOnly(db, input) {
22
+ return Effect.gen(function* () {
23
+ yield* db.run(sql `CREATE TABLE IF NOT EXISTS ${sql.identifier("migration")} (id TEXT PRIMARY KEY, time_completed INTEGER NOT NULL)`);
24
+ let completed = new Set((yield* db.all(sql `SELECT id FROM ${sql.identifier("migration")}`)).map((row) => row.id));
25
+ if (completed.size === 0) {
26
+ // Existing installs used Drizzle's migration journal. Seed the new
27
+ // journal once so TypeScript migrations don't replay old SQL.
28
+ if (yield* db.get(sql `SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${"__drizzle_migrations"}`)) {
29
+ yield* db.run(sql `
30
+ INSERT OR IGNORE INTO ${sql.identifier("migration")} (id, time_completed)
31
+ SELECT name, ${Date.now()}
32
+ FROM ${sql.identifier("__drizzle_migrations")}
33
+ WHERE name IS NOT NULL
34
+ `);
35
+ completed = new Set((yield* db.all(sql `SELECT id FROM ${sql.identifier("migration")}`)).map((row) => row.id));
36
+ }
37
+ }
38
+ for (const migration of input) {
39
+ if (completed.has(migration.id))
40
+ continue;
41
+ yield* db.transaction((tx) => Effect.gen(function* () {
42
+ yield* migration.up(tx);
43
+ yield* tx.run(sql `INSERT INTO ${sql.identifier("migration")} (id, time_completed) VALUES (${migration.id}, ${Date.now()})`);
44
+ }));
45
+ }
46
+ });
47
+ }
48
+ //# sourceMappingURL=migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/database/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,MAAM,MAAM,cAAc,CAAA;AAIjC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAOpC,MAAM,UAAU,KAAK,CAAC,EAAY;IAChC,OAAO,IAAI,CAAC,UAAU,CACpB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAC1B,GAAG,CAAA,kFAAkF,CACtF,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QAC7F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QACjG,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACpB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,GAAG,CAAA,gBAAgB,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,yDAAyD,CACxG,CAAA;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAC9C,EAAE,CAAC,GAAG,CACJ,GAAG,CAAA,eAAe,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,iCAAiC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,CAC7G,CACF,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAY,EAAE,KAAkB;IACxD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,GAAG,CAAA,8BAA8B,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,yDAAyD,CACtH,CAAA;QACD,IAAI,SAAS,GAAG,IAAI,GAAG,CACrB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAiB,GAAG,CAAA,kBAAkB,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CACzG,CAAA;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzB,mEAAmE;YACnE,8DAA8D;YAC9D,IACE,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,kEAAkE,sBAAsB,EAAE,CAAC,EAC5G,CAAC;gBACD,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA;kCACS,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;yBACpC,IAAI,CAAC,GAAG,EAAE;iBAClB,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC;;SAE9C,CAAC,CAAA;gBACF,SAAS,GAAG,IAAI,GAAG,CACjB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAiB,GAAG,CAAA,kBAAkB,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CACzG,CAAA;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAE,SAAQ;YACzC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBACvB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CACX,GAAG,CAAA,eAAe,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,iCAAiC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,CAC7G,CAAA;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}