@cortexkit/opencode-magic-context 0.49.19 → 0.49.21

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 (323) hide show
  1. package/dist/auto-search-worker.js +48 -9
  2. package/dist/chunk-embedding-write-worker.js +30 -23
  3. package/dist/{compaction-marker-candidates-n4krhat4.js → compaction-marker-candidates-31h86ph0.js} +3 -3
  4. package/dist/compaction-marker-candidates-worker.js +2 -2
  5. package/dist/compartment-chunk-embedding-he60aaa2.js +65 -0
  6. package/dist/config/project-security.d.ts.map +1 -1
  7. package/dist/config/schema/magic-context.d.ts +43 -9
  8. package/dist/config/schema/magic-context.d.ts.map +1 -1
  9. package/dist/{conflict-warning-hook-4pmz879v.js → conflict-warning-hook-2r32hyx6.js} +9 -8
  10. package/dist/{context-j31m2dv7.js → context-j7hp43a0.js} +576 -185
  11. package/dist/{derive-budgets-zn7yzd2d.js → derive-budgets-pqybnx09.js} +2 -2
  12. package/dist/embedding-backfill-dtke6tck.js +25 -0
  13. package/dist/embedding-worker-process.js +2 -2
  14. package/dist/embedding-worker.js +6 -6
  15. package/dist/features/magic-context/chunk-embedding-writer.d.ts.map +1 -1
  16. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +44 -1
  17. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  18. package/dist/features/magic-context/dreamer/docs-proposals.d.ts +1 -0
  19. package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -1
  21. package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  23. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +2 -0
  24. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  25. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  26. package/dist/features/magic-context/memory/embedding-local.d.ts +1 -0
  27. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  28. package/dist/features/magic-context/memory/embedding-synapse.d.ts.map +1 -1
  29. package/dist/features/magic-context/memory/embedding-worker-client.d.ts +7 -1
  30. package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -1
  31. package/dist/features/magic-context/memory/local-embedding-pooling.d.ts +22 -0
  32. package/dist/features/magic-context/memory/local-embedding-pooling.d.ts.map +1 -0
  33. package/dist/features/magic-context/message-index-async.d.ts +7 -2
  34. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  35. package/dist/features/magic-context/message-index.d.ts +2 -0
  36. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  37. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  38. package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
  39. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  40. package/dist/features/magic-context/search-rerank.d.ts +9 -2
  41. package/dist/features/magic-context/search-rerank.d.ts.map +1 -1
  42. package/dist/features/magic-context/search.d.ts +29 -0
  43. package/dist/features/magic-context/search.d.ts.map +1 -1
  44. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  45. package/dist/features/magic-context/storage-db.d.ts +2 -0
  46. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  47. package/dist/features/magic-context/storage-meta-persisted.d.ts +2 -0
  48. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  49. package/dist/features/magic-context/subagent-token-capture.d.ts +20 -0
  50. package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
  51. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  52. package/dist/{history-owner-xp3pngv7.js → history-owner-36wp3mkb.js} +2 -2
  53. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  54. package/dist/hooks/magic-context/auto-embed-session.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/auto-search-hint.d.ts +7 -1
  56. package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  58. package/dist/hooks/magic-context/auto-search-worker-client.d.ts +33 -6
  59. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  60. package/dist/hooks/magic-context/cache-busting-signals.d.ts +6 -2
  61. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  62. package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  64. package/dist/hooks/magic-context/compartment-runner-types.d.ts +5 -0
  65. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  66. package/dist/hooks/magic-context/compartment-trigger.d.ts +1 -1
  67. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/diagnostic-log-state.d.ts +4 -0
  69. package/dist/hooks/magic-context/diagnostic-log-state.d.ts.map +1 -0
  70. package/dist/hooks/magic-context/execute-reclaim.d.ts +35 -0
  71. package/dist/hooks/magic-context/execute-reclaim.d.ts.map +1 -0
  72. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/hook.d.ts +1 -3
  74. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/latest-assistant-turn.d.ts +8 -0
  76. package/dist/hooks/magic-context/latest-assistant-turn.d.ts.map +1 -1
  77. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts +5 -0
  78. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -1
  79. package/dist/hooks/magic-context/nudge-evaluation-log.d.ts +3 -0
  80. package/dist/hooks/magic-context/nudge-evaluation-log.d.ts.map +1 -0
  81. package/dist/hooks/magic-context/pending-drop-eligibility.d.ts.map +1 -1
  82. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +4 -0
  83. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  84. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/served-shape-repair.d.ts +19 -0
  86. package/dist/hooks/magic-context/served-shape-repair.d.ts.map +1 -0
  87. package/dist/hooks/magic-context/strip-content.d.ts +4 -2
  88. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  89. package/dist/hooks/magic-context/system-date-refresh.d.ts +5 -5
  90. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/system-prompt-sticky-date.d.ts +10 -0
  92. package/dist/hooks/magic-context/system-prompt-sticky-date.d.ts.map +1 -0
  93. package/dist/hooks/magic-context/tag-content-primitives.d.ts +1 -1
  94. package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/tag-messages.d.ts +4 -1
  96. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/text-complete.d.ts +1 -1
  98. package/dist/hooks/magic-context/text-complete.d.ts.map +1 -1
  99. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  100. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +21 -6
  101. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  102. package/dist/hooks/magic-context/transform.d.ts +2 -2
  103. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  104. package/dist/{index-3esx8tkf.js → index-11gzxvf4.js} +394 -125
  105. package/dist/{index-jn12fvvh.js → index-1gtfne2c.js} +3 -3
  106. package/dist/{index-jhghdnsm.js → index-1kbznkft.js} +521 -214
  107. package/dist/{index-3h4dp9wb.js → index-3svaejkh.js} +5 -5
  108. package/dist/{index-kee4kn5j.js → index-4pnsgvfk.js} +1 -1
  109. package/dist/{index-bjcnntmz.js → index-51rdvtkz.js} +501 -20
  110. package/dist/{v2/server-8cd2j99z.js → index-5kym00ag.js} +32 -13
  111. package/dist/{index-s74zqahq.js → index-66eby7hx.js} +4 -4
  112. package/dist/{index-63k48rv9.js → index-9q1g3c5q.js} +5 -5
  113. package/dist/{index-jrr131e0.js → index-a9zvn5fe.js} +29 -15
  114. package/dist/{index-c5pytzne.js → index-b88dwwrh.js} +1 -1
  115. package/dist/{index-nj7yykkx.js → index-c7phnbvk.js} +1 -1
  116. package/dist/index-cpjk5jd2.js +82 -0
  117. package/dist/{index-c1p88z1y.js → index-ffzhwfzy.js} +4 -4
  118. package/dist/{v2/server-beht37jy.js → index-gzy5w8ya.js} +194 -5
  119. package/dist/{index-j75v2476.js → index-h7tgn49j.js} +12 -15
  120. package/dist/{index-edmpdxcw.js → index-j32jj2t8.js} +5 -5
  121. package/dist/{index-ke416mdc.js → index-j76ah6d7.js} +2 -2
  122. package/dist/{index-s734jcsr.js → index-jfem3dgz.js} +9 -3
  123. package/dist/{index-n37sebck.js → index-jjvbk92s.js} +1 -1
  124. package/dist/{index-4911rn0b.js → index-jmq8kfe7.js} +6 -6
  125. package/dist/{index-rr2bb45z.js → index-kfyb3k6n.js} +2 -2
  126. package/dist/{index-2vxtcb95.js → index-kq5w68dp.js} +2 -2
  127. package/dist/{index-kq82mtg0.js → index-ksq50rg0.js} +3 -3
  128. package/dist/{index-b5vqckbw.js → index-m32esgmj.js} +314 -127
  129. package/dist/{index-9zcsy3hh.js → index-mnhcdfxg.js} +161 -13
  130. package/dist/{index-se4m2g6w.js → index-mnnkgq0q.js} +111 -19
  131. package/dist/{index-p5y3k4g7.js → index-nda0zgna.js} +2 -1
  132. package/dist/{index-wgypt3cs.js → index-nxrsns5x.js} +2466 -1290
  133. package/dist/{index-4s3t0nd0.js → index-qgh1qwjj.js} +2 -2
  134. package/dist/{index-y9f76s3f.js → index-rrv26qjz.js} +1 -1
  135. package/dist/{index-24fezq97.js → index-rxqr723x.js} +5 -5
  136. package/dist/{index-v10f1rjv.js → index-spwjbkc7.js} +1 -1
  137. package/dist/{index-dxmq29t1.js → index-syaazvy2.js} +182 -47
  138. package/dist/{index-k29z4aqh.js → index-t5pck3ss.js} +1 -1
  139. package/dist/{index-6x57ar45.js → index-wfybj1dw.js} +4 -6
  140. package/dist/{index-cf74k5ak.js → index-whcgcfrv.js} +9 -6
  141. package/dist/{index-a6mc0v4d.js → index-x6cbrv9h.js} +3 -3
  142. package/dist/{index-bp5083x2.js → index-x9k3mqrf.js} +1 -1
  143. package/dist/{index-rpxdjkm0.js → index-y76rhsnr.js} +319 -61
  144. package/dist/{index-ze7mvk54.js → index-zy67whjr.js} +95 -59
  145. package/dist/index.js +58 -54
  146. package/dist/{logger-jm3sqqzr.js → logger-94kew5wm.js} +1 -1
  147. package/dist/{message-fts-rowid-map-17s0dfn4.js → message-fts-rowid-map-e79b7b6x.js} +6 -5
  148. package/dist/{message-index-gtpqnj8w.js → message-index-4q8ek2fc.js} +17 -16
  149. package/dist/{message-index-bounded-zyc8h32y.js → message-index-bounded-rydsg9r5.js} +17 -16
  150. package/dist/{message-time-backfill-73mmm76q.js → message-time-backfill-4qva0b4f.js} +3 -3
  151. package/dist/migration-worker.js +13 -12
  152. package/dist/{model-resolution-nx97z3x7.js → model-resolution-280gmqvd.js} +1 -1
  153. package/dist/plugin/embedding-bootstrap.d.ts +4 -1
  154. package/dist/plugin/embedding-bootstrap.d.ts.map +1 -1
  155. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -0
  156. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  157. package/dist/plugin/rpc-handlers.d.ts +8 -0
  158. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  159. package/dist/plugin/subagent-tool-policy.d.ts +9 -0
  160. package/dist/plugin/subagent-tool-policy.d.ts.map +1 -1
  161. package/dist/plugin/tool-registry.d.ts.map +1 -1
  162. package/dist/{project-embedding-registry-z74mhqkf.js → project-embedding-registry-hn529988.js} +16 -13
  163. package/dist/raw-ordinal-warmup-worker.js +136 -101
  164. package/dist/{read-session-chunk-jjb48bt9.js → read-session-chunk-t039f0m5.js} +12 -11
  165. package/dist/{read-session-raw-rsc8c7qy.js → read-session-raw-aw6jgvwg.js} +4 -3
  166. package/dist/recomp-orchestrator-hbm53jj5.js +62 -0
  167. package/dist/{safe-notification-target-1szv1k5k.js → safe-notification-target-mkr9yzvr.js} +2 -2
  168. package/dist/search-archive-weh164mh.js +26 -0
  169. package/dist/search-hea079d7.js +50 -0
  170. package/dist/{send-session-notification-6ve0e8p4.js → send-session-notification-gqzkz7da.js} +7 -6
  171. package/dist/shared/logger.d.ts.map +1 -1
  172. package/dist/shared/model-resolution.d.ts +2 -0
  173. package/dist/shared/model-resolution.d.ts.map +1 -1
  174. package/dist/shared/prompt-async-transport.d.ts +3 -0
  175. package/dist/shared/prompt-async-transport.d.ts.map +1 -1
  176. package/dist/shared/rpc-types.d.ts +7 -0
  177. package/dist/shared/rpc-types.d.ts.map +1 -1
  178. package/dist/shared/sqlite.d.ts +6 -1
  179. package/dist/shared/sqlite.d.ts.map +1 -1
  180. package/dist/shared/subagent-runner.d.ts +2 -0
  181. package/dist/shared/subagent-runner.d.ts.map +1 -1
  182. package/dist/shared/tag-transcript.d.ts +2 -0
  183. package/dist/shared/tag-transcript.d.ts.map +1 -1
  184. package/dist/shared/worker-shutdown.d.ts +68 -0
  185. package/dist/shared/worker-shutdown.d.ts.map +1 -0
  186. package/dist/shared/worker-shutdown.fixture.d.ts +2 -0
  187. package/dist/shared/worker-shutdown.fixture.d.ts.map +1 -0
  188. package/dist/{sqlite-zf72c52d.js → sqlite-zdgm52sv.js} +5 -1
  189. package/dist/{storage-memory-y3qmy00r.js → storage-memory-e6a7mb0k.js} +2 -2
  190. package/dist/{storage-tags-r7k9tjcv.js → storage-tags-a77q4v77.js} +5 -5
  191. package/dist/{task-config-x3qmayd2.js → task-config-t6bpyka7.js} +2 -2
  192. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  193. package/dist/tools/ctx-search/types.d.ts +1 -0
  194. package/dist/tools/ctx-search/types.d.ts.map +1 -1
  195. package/dist/{transform-postprocess-phase-jj99r7z2.js → transform-postprocess-phase-0b04tm1p.js} +35 -32
  196. package/dist/v2/auto-search-worker.js +48 -9
  197. package/dist/v2/chunk-embedding-write-worker.js +30 -23
  198. package/dist/v2/{compaction-marker-candidates-ebx3388k.js → compaction-marker-candidates-m4vmye3w.js} +3 -3
  199. package/dist/v2/compaction-marker-candidates-worker.js +2 -2
  200. package/dist/v2/compartment-chunk-embedding-8jjmcgeg.js +64 -0
  201. package/dist/v2/{context-y5yamxak.js → context-ea3x7smm.js} +1797 -810
  202. package/dist/v2/{derive-budgets-2zh4gm2c.js → derive-budgets-knf763tt.js} +3 -3
  203. package/dist/v2/embedding-backfill-5e74ae0m.js +24 -0
  204. package/dist/v2/embedding-worker-process.js +2 -2
  205. package/dist/v2/embedding-worker.js +6 -6
  206. package/dist/v2/hidden-child-record.d.ts +2 -0
  207. package/dist/v2/hidden-child-record.d.ts.map +1 -1
  208. package/dist/v2/hidden-completion.d.ts +2 -0
  209. package/dist/v2/hidden-completion.d.ts.map +1 -1
  210. package/dist/v2/hidden-model-activity.d.ts +7 -0
  211. package/dist/v2/hidden-model-activity.d.ts.map +1 -0
  212. package/dist/v2/{history-owner-42e16w0n.js → history-owner-ad0crnrn.js} +2 -2
  213. package/dist/v2/hooks/context.d.ts.map +1 -1
  214. package/dist/v2/hooks/copied-tag-notation.d.ts +1 -1
  215. package/dist/v2/hooks/copied-tag-notation.d.ts.map +1 -1
  216. package/dist/v2/hooks/dream-timer.d.ts +2 -0
  217. package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
  218. package/dist/v2/hooks/embedding-lifecycle.d.ts +7 -0
  219. package/dist/v2/hooks/embedding-lifecycle.d.ts.map +1 -0
  220. package/dist/v2/hooks/generate.d.ts +36 -1
  221. package/dist/v2/hooks/generate.d.ts.map +1 -1
  222. package/dist/v2/hooks/lkg-system.d.ts +35 -4
  223. package/dist/v2/hooks/lkg-system.d.ts.map +1 -1
  224. package/dist/v2/hooks/payload.d.ts +16 -1
  225. package/dist/v2/hooks/payload.d.ts.map +1 -1
  226. package/dist/v2/hooks/store.d.ts +2 -0
  227. package/dist/v2/hooks/store.d.ts.map +1 -1
  228. package/dist/v2/hooks/tools.d.ts +2 -1
  229. package/dist/v2/hooks/tools.d.ts.map +1 -1
  230. package/dist/v2/hooks/transform-features.d.ts +2 -2
  231. package/dist/v2/hooks/transform-features.d.ts.map +1 -1
  232. package/dist/v2/{logger-7qt02bnb.js → logger-p34mjtja.js} +1 -1
  233. package/dist/v2/{message-fts-rowid-map-wfx67gfd.js → message-fts-rowid-map-n8fdg2ja.js} +6 -5
  234. package/dist/v2/{message-index-bounded-spd8r7pj.js → message-index-bounded-8rcd7qq9.js} +17 -16
  235. package/dist/v2/{message-index-8vz2pq76.js → message-index-qz9wdp82.js} +17 -16
  236. package/dist/v2/{message-time-backfill-04t0km1z.js → message-time-backfill-zvthw6xb.js} +3 -3
  237. package/dist/v2/migration-worker.js +13 -12
  238. package/dist/v2/{model-resolution-nx97z3x7.js → model-resolution-280gmqvd.js} +1 -1
  239. package/dist/v2/{project-embedding-registry-gnkj56xp.js → project-embedding-registry-v38q4xd5.js} +16 -13
  240. package/dist/v2/raw-ordinal-warmup-worker.js +136 -101
  241. package/dist/v2/{read-session-chunk-cwkxrmns.js → read-session-chunk-wazfyxcg.js} +12 -11
  242. package/dist/v2/{read-session-raw-yaegtjzh.js → read-session-raw-b70cpwzj.js} +4 -3
  243. package/dist/v2/recomp-orchestrator-b12zaptj.js +61 -0
  244. package/dist/v2/{safe-notification-target-qg7n2s77.js → safe-notification-target-khnzg57c.js} +2 -2
  245. package/dist/v2/search-archive-x64rtz1z.js +25 -0
  246. package/dist/v2/search-hza9x72a.js +49 -0
  247. package/dist/v2/{send-session-notification-3pxn658x.js → send-session-notification-8eqe259v.js} +7 -6
  248. package/dist/v2/{server-45q69hkq.js → server-132h8twc.js} +5 -5
  249. package/dist/v2/{server-h0410h0v.js → server-1bw1wcbp.js} +1 -1
  250. package/dist/v2/{server-271qxsf5.js → server-24g8r2d0.js} +2466 -1290
  251. package/dist/v2/{server-tbe1femw.js → server-29qp8nz4.js} +1 -1
  252. package/dist/v2/{server-gsxjv2q2.js → server-33nqbqkw.js} +182 -47
  253. package/dist/v2/{server-tgnbmwah.js → server-3mz2qh5a.js} +1 -1
  254. package/dist/v2/{server-n1prf1g6.js → server-3vhxy2k5.js} +2 -2
  255. package/dist/v2/{server-xj136kt8.js → server-4kjmrjn4.js} +9 -3
  256. package/dist/v2/{server-34kwfsr4.js → server-53eh1r8r.js} +2 -2
  257. package/dist/{index-8cd2j99z.js → v2/server-5kym00ag.js} +32 -13
  258. package/dist/v2/{server-46neh5fa.js → server-62g58aaz.js} +314 -127
  259. package/dist/v2/{server-f2xf5gcb.js → server-6495nmn9.js} +12 -15
  260. package/dist/v2/{server-a9xqj88f.js → server-6v3cdzsx.js} +4 -4
  261. package/dist/v2/{server-d04vrx0j.js → server-806rzhs6.js} +2 -2
  262. package/dist/v2/{server-qd11g795.js → server-92g7d776.js} +2 -1
  263. package/dist/v2/{server-nj659894.js → server-94wk1ey3.js} +14 -3
  264. package/dist/v2/{server-6tmj0s7j.js → server-ab1g0wn9.js} +4 -6
  265. package/dist/v2/{server-8by8qfec.js → server-ad18djzs.js} +95 -59
  266. package/dist/v2/{server-hy3d3vsx.js → server-bsgd4dk1.js} +2 -2
  267. package/dist/v2/server-cpjk5jd2.js +82 -0
  268. package/dist/v2/{server-g3qma5c0.js → server-d1dzgvwd.js} +2 -2
  269. package/dist/v2/{server-hm38q7r0.js → server-d48x3m4x.js} +5 -5
  270. package/dist/v2/{server-1wy7b9de.js → server-dtp8hcjh.js} +3 -3
  271. package/dist/v2/{server-27gq4mfz.js → server-fa7vtp40.js} +9 -6
  272. package/dist/v2/{server-6pmqg9m4.js → server-gyy4k6mf.js} +1 -1
  273. package/dist/{index-beht37jy.js → v2/server-gzy5w8ya.js} +194 -5
  274. package/dist/v2/{server-bmymkx73.js → server-j8h7bsca.js} +29 -15
  275. package/dist/v2/{server-n37sebck.js → server-jjvbk92s.js} +1 -1
  276. package/dist/v2/{server-da07v4xp.js → server-k3t06fxr.js} +1 -1
  277. package/dist/v2/{server-9hx7g5jp.js → server-m4bfaevz.js} +1197 -1049
  278. package/dist/v2/{server-2ar62dyx.js → server-ppcd1qxh.js} +191 -99
  279. package/dist/v2/{server-rmygf5pn.js → server-qjvk4a9t.js} +2 -2
  280. package/dist/v2/{server-zzkj2fch.js → server-qteg2kt9.js} +5 -5
  281. package/dist/v2/{server-pwv4ezb0.js → server-rqebawx1.js} +2 -2
  282. package/dist/v2/{server-h1v0pyxb.js → server-vr4szghm.js} +501 -20
  283. package/dist/v2/{server-xq7dfjke.js → server-wwaw5npa.js} +5 -5
  284. package/dist/v2/{server-6vdzn1td.js → server-zg5y109h.js} +323 -76
  285. package/dist/v2/server.js +8 -8
  286. package/dist/v2/{sqlite-zf72c52d.js → sqlite-zdgm52sv.js} +5 -1
  287. package/dist/v2/{storage-memory-y3qmy00r.js → storage-memory-e6a7mb0k.js} +2 -2
  288. package/dist/v2/{storage-tags-3wdb8zph.js → storage-tags-q71rnr9f.js} +5 -5
  289. package/dist/v2/store-reader.d.ts +10 -0
  290. package/dist/v2/store-reader.d.ts.map +1 -1
  291. package/dist/v2/{task-config-nvz8mapa.js → task-config-7md27rx8.js} +2 -2
  292. package/dist/v2/{wrapup-orchestrator-embdz8gj.js → wrapup-orchestrator-3ssd5yy1.js} +33 -32
  293. package/dist/wrapup-orchestrator-5vpcd1zx.js +49 -0
  294. package/package.json +2 -2
  295. package/src/config/index.test.ts +72 -6
  296. package/src/config/project-security.ts +15 -0
  297. package/src/config/rerank.test.ts +60 -0
  298. package/src/config/schema/magic-context.ts +57 -0
  299. package/src/shared/logger.test.ts +42 -1
  300. package/src/shared/logger.ts +11 -13
  301. package/src/shared/model-resolution.test.ts +67 -12
  302. package/src/shared/model-resolution.ts +43 -16
  303. package/src/shared/model-suggestion-retry.ts +2 -2
  304. package/src/shared/prompt-async-transport.ts +47 -3
  305. package/src/shared/rpc-types.ts +7 -0
  306. package/src/shared/sqlite-busy-budget-review.test.ts +6 -1
  307. package/src/shared/sqlite-turn-deadline.test.ts +270 -0
  308. package/src/shared/sqlite.ts +239 -9
  309. package/src/shared/subagent-runner.ts +2 -0
  310. package/src/shared/tag-transcript.ts +9 -1
  311. package/src/shared/worker-shutdown-fence.test.ts +87 -0
  312. package/src/shared/worker-shutdown.fixture.ts +25 -0
  313. package/src/shared/worker-shutdown.test.ts +127 -0
  314. package/src/shared/worker-shutdown.ts +160 -0
  315. package/dist/embedding-backfill-fmz50tsy.js +0 -24
  316. package/dist/recomp-orchestrator-999jj4bc.js +0 -61
  317. package/dist/search-archive-6vm0e2f5.js +0 -25
  318. package/dist/search-xsqk1bj4.js +0 -49
  319. package/dist/v2/embedding-backfill-7c7yr69y.js +0 -23
  320. package/dist/v2/recomp-orchestrator-f6m9jr7p.js +0 -60
  321. package/dist/v2/search-archive-wve3tq1k.js +0 -24
  322. package/dist/v2/search-hwg7jfbj.js +0 -48
  323. package/dist/wrapup-orchestrator-whhbjmaz.js +0 -48
@@ -0,0 +1,82 @@
1
+ // src/shared/worker-shutdown.ts
2
+ var WORKER_CLOSE_MESSAGE = { kind: "close" };
3
+ function isWorkerCloseMessage(message) {
4
+ return typeof message === "object" && message !== null && message.kind === WORKER_CLOSE_MESSAGE.kind;
5
+ }
6
+ function exitOnWorkerClose(port, closeConnections) {
7
+ const listener = (message) => {
8
+ if (!isWorkerCloseMessage(message))
9
+ return;
10
+ try {
11
+ closeConnections();
12
+ } finally {
13
+ process.exit(0);
14
+ }
15
+ };
16
+ if (!port)
17
+ return { closePort() {} };
18
+ port.on("message", listener);
19
+ let closed = false;
20
+ return {
21
+ closePort() {
22
+ if (closed)
23
+ return;
24
+ closed = true;
25
+ setTimeout(() => {
26
+ port.off("message", listener);
27
+ port.close();
28
+ });
29
+ }
30
+ };
31
+ }
32
+ var outcomes = new Map;
33
+ function createWorkerShutdown(worker, site, deadlineMs) {
34
+ let exited = false;
35
+ let forced = false;
36
+ let closing;
37
+ const exit = new Promise((resolve) => {
38
+ worker.once("exit", () => {
39
+ exited = true;
40
+ resolve();
41
+ });
42
+ });
43
+ const record = () => {
44
+ const counts = outcomes.get(site) ?? { graceful: 0, forced: 0 };
45
+ if (forced)
46
+ counts.forced += 1;
47
+ else
48
+ counts.graceful += 1;
49
+ outcomes.set(site, counts);
50
+ };
51
+ const terminate = () => {
52
+ forced = true;
53
+ worker.terminate().catch(() => {});
54
+ };
55
+ return {
56
+ close() {
57
+ if (closing)
58
+ return closing;
59
+ if (exited) {
60
+ closing = Promise.resolve();
61
+ return closing;
62
+ }
63
+ try {
64
+ worker.postMessage(WORKER_CLOSE_MESSAGE);
65
+ } catch {
66
+ terminate();
67
+ }
68
+ const fallback = setTimeout(() => {
69
+ if (!exited)
70
+ terminate();
71
+ }, deadlineMs);
72
+ fallback.unref?.();
73
+ closing = exit.then(() => {
74
+ clearTimeout(fallback);
75
+ record();
76
+ });
77
+ return closing;
78
+ }
79
+ };
80
+ }
81
+
82
+ export { isWorkerCloseMessage, exitOnWorkerClose, createWorkerShutdown };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  estimateTokens
3
- } from "./server-tgnbmwah.js";
3
+ } from "./server-3mz2qh5a.js";
4
4
  import {
5
5
  stableStringify
6
- } from "./server-pwv4ezb0.js";
6
+ } from "./server-rqebawx1.js";
7
7
 
8
8
  // src/features/magic-context/tool-definition-tokens.ts
9
9
  import { createHash } from "node:crypto";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./server-pavzsdc6.js";
4
4
  import {
5
5
  isTransientSqliteError2
6
- } from "./server-beht37jy.js";
6
+ } from "./server-gzy5w8ya.js";
7
7
  import {
8
8
  PROMOTABLE_CATEGORIES,
9
9
  CATEGORY_DEFAULT_TTL
@@ -11,13 +11,13 @@ import {
11
11
  import {
12
12
  sanitizeDiagnosticText,
13
13
  sessionLog2
14
- } from "./server-f2xf5gcb.js";
14
+ } from "./server-6495nmn9.js";
15
15
  import {
16
16
  managedAuthorityNoteRow
17
- } from "./server-xq7dfjke.js";
17
+ } from "./server-wwaw5npa.js";
18
18
  import {
19
19
  embedTextForProject2
20
- } from "./server-8by8qfec.js";
20
+ } from "./server-ad18djzs.js";
21
21
  import {
22
22
  saveEmbeddingIfHashMatches
23
23
  } from "./server-4dhv7mqz.js";
@@ -30,7 +30,7 @@ import {
30
30
  buildWorkspaceMemorySqlFilter2,
31
31
  getMemoryById2,
32
32
  updateMemorySeenCount2
33
- } from "./server-n37sebck.js";
33
+ } from "./server-jjvbk92s.js";
34
34
  import {
35
35
  computeNormalizedHash
36
36
  } from "./server-2bvekkfy.js";
@@ -2,13 +2,13 @@ import {
2
2
  getSqliteDatabasePath2,
3
3
  withSqliteBackgroundWriter2,
4
4
  withoutSqliteTransformPass2
5
- } from "./server-beht37jy.js";
5
+ } from "./server-gzy5w8ya.js";
6
6
  import {
7
7
  runSessionWarmupWorker
8
- } from "./server-xj136kt8.js";
8
+ } from "./server-4kjmrjn4.js";
9
9
  import {
10
10
  logSlowWriteTransaction
11
- } from "./server-6pmqg9m4.js";
11
+ } from "./server-gyy4k6mf.js";
12
12
 
13
13
  // src/features/magic-context/message-fts-rowid-map.ts
14
14
  import { createHash } from "node:crypto";
@@ -4,23 +4,23 @@ import {
4
4
  } from "./server-1zx87sdm.js";
5
5
  import {
6
6
  estimateTokens
7
- } from "./server-tgnbmwah.js";
7
+ } from "./server-3mz2qh5a.js";
8
8
  import {
9
9
  getHarness2
10
10
  } from "./server-pavzsdc6.js";
11
11
  import {
12
12
  sessionLog2
13
- } from "./server-f2xf5gcb.js";
13
+ } from "./server-6495nmn9.js";
14
14
  import {
15
15
  getTagIdentityWriteGeneration2,
16
16
  getSqliteDatabasePath2
17
- } from "./server-beht37jy.js";
17
+ } from "./server-gzy5w8ya.js";
18
18
  import {
19
19
  stableStringify,
20
20
  stableStringifyHash,
21
21
  tagOrderConstraintIndex,
22
22
  tagIdentityRevisionKey
23
- } from "./server-pwv4ezb0.js";
23
+ } from "./server-rqebawx1.js";
24
24
  import {
25
25
  DEFAULT_PROTECTED_TOOLS,
26
26
  normalizeProtectedToolName,
@@ -83,13 +83,16 @@ function stripDanglingTagNotationGlobally(value) {
83
83
  function stripTagSectionCharacters(value) {
84
84
  return value.replace(STRAY_SECTION_CHAR_REGEX, "");
85
85
  }
86
- function stripPersistedAssistantText(value) {
86
+ function stripPersistedAssistantText(value, acceptsEmpty = true) {
87
+ if (!acceptsEmpty && !value.includes("§") && !value.trim())
88
+ return value;
87
89
  let text = stripWellFormedLeadingTagPrefix(value);
88
90
  text = stripCompleteTagPairsGlobally(text);
89
91
  text = stripMalformedTagNotationGlobally(text);
90
92
  text = stripDanglingTagNotationGlobally(text);
91
93
  text = stripTagSectionCharacters(text);
92
- return text.trim();
94
+ const stripped = text.trim();
95
+ return !acceptsEmpty && value.trim().length > 0 && stripped.length === 0 ? value : stripped;
93
96
  }
94
97
  function byteSize(value) {
95
98
  return encoder.encode(value).length;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  log2
3
- } from "./server-f2xf5gcb.js";
3
+ } from "./server-6495nmn9.js";
4
4
 
5
5
  // src/shared/write-transaction-timing.ts
6
6
  var SLOW_WRITE_TRANSACTION_THRESHOLD_MS = 1000;
@@ -175,6 +175,177 @@ function topLevelCommaSegments(text) {
175
175
  function getTagIdentityWriteGeneration2() {
176
176
  return tagIdentityWriteGeneration;
177
177
  }
178
+ var busyTimeoutStates = new WeakMap;
179
+ var BUSY_TIMEOUT_QUERY = /^\s*PRAGMA\s+(?:(?:\w+|"[^"]+"|`[^`]+`|\[[^\]]+\])\s*\.\s*)?(?:busy_timeout|"busy_timeout"|`busy_timeout`|\[busy_timeout\])\s*;?\s*$/i;
180
+ var BUSY_TIMEOUT_SETTER = /^\s*PRAGMA\s+(?:(?:\w+|"[^"]+"|`[^`]+`|\[[^\]]+\])\s*\.\s*)?(?:busy_timeout|"busy_timeout"|`busy_timeout`|\[busy_timeout\])\s*(?==|\()/i;
181
+ function literalBusyTimeout(sql) {
182
+ const head = BUSY_TIMEOUT_SETTER.exec(sql);
183
+ if (!head)
184
+ return;
185
+ const match = /^(?:=\s*|\(\s*)(?:'(-?\d+)'|"(-?\d+)"|(-?\d+))\s*\)?\s*;?\s*$/.exec(sql.slice(head[0].length));
186
+ if (!match)
187
+ return;
188
+ const value = Number(match[1] ?? match[2] ?? match[3]);
189
+ return value < 0 ? 0 : value <= 2147483647 ? value : undefined;
190
+ }
191
+ function busyTimeoutStatements(sql) {
192
+ const statements = [];
193
+ let statement = "";
194
+ let quote = "";
195
+ for (let i = 0;i < sql.length; i++) {
196
+ const char = sql[i];
197
+ if (quote) {
198
+ statement += char;
199
+ if (char === quote) {
200
+ if (sql[i + 1] === quote)
201
+ statement += sql[++i];
202
+ else
203
+ quote = "";
204
+ }
205
+ } else if (char === "'" || char === '"' || char === "`" || char === "[") {
206
+ quote = char === "[" ? "]" : char;
207
+ statement += char;
208
+ } else if (char === "-" && sql[i + 1] === "-") {
209
+ while (i + 1 < sql.length && sql[i + 1] !== `
210
+ `)
211
+ i++;
212
+ statement += " ";
213
+ } else if (char === "/" && sql[i + 1] === "*") {
214
+ i += 2;
215
+ while (i < sql.length && !(sql[i] === "*" && sql[i + 1] === "/"))
216
+ i++;
217
+ i++;
218
+ statement += " ";
219
+ } else if (char === ";") {
220
+ statements.push(statement);
221
+ statement = "";
222
+ } else
223
+ statement += char;
224
+ }
225
+ statements.push(statement);
226
+ return statements.filter((part) => part.trim().length > 0);
227
+ }
228
+ function installNativeDeadlineRouting(db) {
229
+ const rawExec = db.exec.bind(db);
230
+ const rawPrepare = db.prepare.bind(db);
231
+ const readTimeout = () => {
232
+ const statement = rawPrepare("PRAGMA busy_timeout");
233
+ try {
234
+ return Object.values(statement.get())[0];
235
+ } finally {
236
+ statement.finalize?.();
237
+ }
238
+ };
239
+ const timeoutState = { current: readTimeout() };
240
+ busyTimeoutStates.set(db, timeoutState);
241
+ const setBusyTimeout = (timeout) => {
242
+ rawExec(`PRAGMA busy_timeout=${timeout}`);
243
+ timeoutState.current = timeout;
244
+ };
245
+ const withinDeadline = (operation) => {
246
+ const deadline = nativeWaitScope?.getStore();
247
+ if (!deadline?.active || !deadline.remainingMs)
248
+ return operation();
249
+ const remaining = deadline.remainingMs();
250
+ if (remaining === Infinity)
251
+ return operation();
252
+ const previous = timeoutState.current;
253
+ const timeout = Math.min(previous, Math.max(0, Math.floor(remaining)));
254
+ if (timeout === previous)
255
+ return operation();
256
+ setBusyTimeout(timeout);
257
+ try {
258
+ return operation();
259
+ } finally {
260
+ setBusyTimeout(previous);
261
+ }
262
+ };
263
+ Object.defineProperty(db, "exec", {
264
+ configurable: true,
265
+ writable: true,
266
+ value: (sql) => {
267
+ const parts = /\bbusy_timeout\b/i.test(sql) ? busyTimeoutStatements(sql) : [];
268
+ if (parts.length === 1 && BUSY_TIMEOUT_QUERY.test(parts[0]))
269
+ return rawExec(sql);
270
+ const singleSetter = parts.length === 1 && BUSY_TIMEOUT_SETTER.test(parts[0]);
271
+ const setting = singleSetter ? literalBusyTimeout(parts[0]) : undefined;
272
+ if (singleSetter) {
273
+ const result = rawExec(sql);
274
+ timeoutState.current = setting ?? readTimeout();
275
+ return result;
276
+ }
277
+ if (!/\bbusy_timeout\b/i.test(sql))
278
+ return withinDeadline(() => rawExec(sql));
279
+ const setters = parts.filter((part) => BUSY_TIMEOUT_SETTER.test(part));
280
+ return withinDeadline(() => {
281
+ try {
282
+ const result = rawExec(sql);
283
+ if (setters.length)
284
+ timeoutState.current = literalBusyTimeout(setters[setters.length - 1]) ?? readTimeout();
285
+ return result;
286
+ } catch (error) {
287
+ if (setters.length)
288
+ timeoutState.current = readTimeout();
289
+ throw error;
290
+ }
291
+ });
292
+ }
293
+ });
294
+ const nativePrepare = (sql) => BUSY_TIMEOUT_QUERY.test(sql) || BUSY_TIMEOUT_SETTER.test(sql) ? rawPrepare(sql) : withinDeadline(() => rawPrepare(sql));
295
+ Object.defineProperty(db, "prepare", {
296
+ configurable: true,
297
+ writable: true,
298
+ value: (sql) => {
299
+ const statement = nativePrepare(sql);
300
+ const normalized = /\bbusy_timeout\b/i.test(sql) ? busyTimeoutStatements(sql)[0] ?? sql : sql;
301
+ const setting = literalBusyTimeout(normalized);
302
+ const timeoutSetter = BUSY_TIMEOUT_SETTER.test(normalized);
303
+ const timeoutQuery = BUSY_TIMEOUT_QUERY.test(normalized);
304
+ if (timeoutSetter)
305
+ timeoutState.current = setting ?? readTimeout();
306
+ for (const method of ["run", "get", "all", "values"]) {
307
+ const execute = statement[method]?.bind(statement);
308
+ if (!execute)
309
+ continue;
310
+ Object.defineProperty(statement, method, {
311
+ configurable: true,
312
+ value: (...args) => {
313
+ if (timeoutQuery)
314
+ return execute(...args);
315
+ if (!timeoutSetter)
316
+ return withinDeadline(() => execute(...args));
317
+ const result = execute(...args);
318
+ timeoutState.current = readTimeout();
319
+ return result;
320
+ }
321
+ });
322
+ }
323
+ if (typeof statement.iterate === "function") {
324
+ const iterate = statement.iterate.bind(statement);
325
+ Object.defineProperty(statement, "iterate", {
326
+ configurable: true,
327
+ value: (...args) => {
328
+ const iterator = !timeoutSetter && !timeoutQuery ? withinDeadline(() => iterate(...args)) : iterate(...args);
329
+ const next = iterator.next.bind(iterator);
330
+ if (timeoutSetter)
331
+ timeoutState.current = readTimeout();
332
+ iterator.next = () => {
333
+ if (timeoutQuery)
334
+ return next();
335
+ if (!timeoutSetter)
336
+ return withinDeadline(next);
337
+ const result = next();
338
+ timeoutState.current = readTimeout();
339
+ return result;
340
+ };
341
+ return iterator;
342
+ }
343
+ });
344
+ }
345
+ return statement;
346
+ }
347
+ });
348
+ }
178
349
  function installTransactionRouting(db, readonly) {
179
350
  const nativeExec = db.exec.bind(db);
180
351
  Object.defineProperty(db, "exec", {
@@ -312,7 +483,7 @@ function wrapRemainingTagWriteForms(statement) {
312
483
  });
313
484
  }
314
485
  }
315
- function trackSqliteConnection(db, filename, options) {
486
+ function trackSqliteConnection(db, filename, options, turnDeadlines = false) {
316
487
  const originalClose = db.close.bind(db);
317
488
  const sequence = nextSqliteConnectionSequence++;
318
489
  const metadata = {
@@ -320,6 +491,8 @@ function trackSqliteConnection(db, filename, options) {
320
491
  filename: typeof filename === "string" ? filename : Buffer.isBuffer(filename) ? "<buffer>" : ":memory:",
321
492
  readonly: Boolean(options) && typeof options === "object" && (options.readonly === true || options.readOnly === true)
322
493
  };
494
+ if (turnDeadlines)
495
+ installNativeDeadlineRouting(db);
323
496
  installTransactionRouting(db, metadata.readonly);
324
497
  Object.defineProperty(db, "close", {
325
498
  configurable: true,
@@ -372,6 +545,12 @@ function buildNodeSqliteDatabaseClass(DatabaseSync) {
372
545
  return NodeSqliteDatabase;
373
546
  }
374
547
  var Database2 = TrackedDatabase;
548
+ function createSqliteTurnDatabase2(filename, options) {
549
+ return trackSqliteConnection(new DatabaseImpl(filename, options), filename, options, true);
550
+ }
551
+ function hasSqliteTurnDeadlineRouting2(db) {
552
+ return busyTimeoutStates.has(db);
553
+ }
375
554
  function getSqliteDatabasePath2(db) {
376
555
  for (const connection of trackedSqliteConnections.values()) {
377
556
  if (connection.reference.deref() === db) {
@@ -391,6 +570,11 @@ function pragmaValue(db, name) {
391
570
  return row[name] ?? Object.values(row)[0];
392
571
  }
393
572
  function pragmaNumber(db, name) {
573
+ if (name === "busy_timeout") {
574
+ const state = busyTimeoutStates.get(db);
575
+ if (state)
576
+ return state.current;
577
+ }
394
578
  try {
395
579
  const value = pragmaValue(db, name);
396
580
  return typeof value === "number" && Number.isFinite(value) ? value : null;
@@ -521,11 +705,14 @@ function prepareCachedStatement2(db, sql) {
521
705
  return ownPreparedStatement(db, db.prepare(sql));
522
706
  }
523
707
  var privilegeDepth = new WeakMap;
708
+ var nativeWaitScope;
524
709
  var transformPassScope = new AsyncLocalStorage;
525
710
  var admissionScope = new AsyncLocalStorage;
526
711
  var backgroundWriterScope = new AsyncLocalStorage;
527
712
  function withSqliteBackgroundWriter2(operation) {
528
- return backgroundWriterScope.run(true, operation);
713
+ if (!nativeWaitScope?.getStore())
714
+ return backgroundWriterScope.run(true, operation);
715
+ return nativeWaitScope.run(undefined, () => backgroundWriterScope.run(true, operation));
529
716
  }
530
717
  function withSqliteTransformPass2(operation) {
531
718
  const existing = transformPassScope.getStore();
@@ -556,7 +743,9 @@ function withSqliteTransformPass2(operation) {
556
743
  return typeof reservation === "function" ? run(reservation) : reservation.then(run);
557
744
  }
558
745
  function withoutSqliteTransformPass2(operation) {
559
- return transformPassScope.run(undefined, operation);
746
+ if (!nativeWaitScope?.getStore())
747
+ return transformPassScope.run(undefined, operation);
748
+ return nativeWaitScope.run(undefined, () => transformPassScope.run(undefined, operation));
560
749
  }
561
750
  function assertTransformWrite2() {
562
751
  if (!backgroundWriterScope.getStore())
@@ -752,7 +941,7 @@ async function withAsyncPrivilegedWriter2(db, operation, options = {}) {
752
941
  } catch (error) {
753
942
  if (entered || !(error instanceof SqliteAcquisitionBusyError2))
754
943
  throw error;
755
- options.beforeRetry?.(error);
944
+ await options.beforeRetry?.(error);
756
945
  const elapsed = performance.now() - started;
757
946
  if (elapsed >= budgetMs) {
758
947
  reportSqliteDiagnostic(`sqlite writer site=privileged_writer lane=foreground acquire_ms=${Math.round(elapsed)} attempts=${attempts} outcome=busy`);
@@ -890,4 +1079,4 @@ async function yieldIndexChunk2() {
890
1079
  await yieldIndexTurn();
891
1080
  }
892
1081
 
893
- export { inRootAsyncContext2, registerSlowWriteReporter2, registerSqliteDiagnosticSink2, detectSqliteRuntime2, getTagIdentityWriteGeneration2, Database2, getSqliteDatabasePath2, getSqliteMemoryStats2, prepareCachedStatement2, withSqliteBackgroundWriter2, withSqliteTransformPass2, withoutSqliteTransformPass2, assertTransformWrite2, isTransientSqliteError2, SqliteAcquisitionBusyError2, beginSqliteWriterAsync2, withAsyncPrivilegedWriter2, withPrivilegedWriter2, indexCoordinationInput2, releaseIndexOwner2, withIndexChunk2, yieldIndexChunk2 };
1082
+ export { inRootAsyncContext2, registerSlowWriteReporter2, registerSqliteDiagnosticSink2, detectSqliteRuntime2, getTagIdentityWriteGeneration2, Database2, createSqliteTurnDatabase2, hasSqliteTurnDeadlineRouting2, getSqliteDatabasePath2, getSqliteMemoryStats2, prepareCachedStatement2, withSqliteBackgroundWriter2, withSqliteTransformPass2, withoutSqliteTransformPass2, assertTransformWrite2, isTransientSqliteError2, SqliteAcquisitionBusyError2, beginSqliteWriterAsync2, withAsyncPrivilegedWriter2, withPrivilegedWriter2, indexCoordinationInput2, releaseIndexOwner2, withIndexChunk2, yieldIndexChunk2 };
@@ -4,14 +4,16 @@ import {
4
4
  registerSqliteDiagnosticSink2,
5
5
  detectSqliteRuntime2,
6
6
  Database2,
7
+ createSqliteTurnDatabase2,
8
+ hasSqliteTurnDeadlineRouting2,
7
9
  withSqliteBackgroundWriter2,
8
10
  withoutSqliteTransformPass2,
9
11
  isTransientSqliteError2,
10
12
  withPrivilegedWriter2
11
- } from "./server-beht37jy.js";
13
+ } from "./server-gzy5w8ya.js";
12
14
  import {
13
15
  scheduleAfterBootQuiet
14
- } from "./server-rmygf5pn.js";
16
+ } from "./server-qjvk4a9t.js";
15
17
  import {
16
18
  getHarness2,
17
19
  harnessOwnsOpenCodeStore2
@@ -23,7 +25,7 @@ import {
23
25
  importPluginModule,
24
26
  writeForwardedLogLine2,
25
27
  log2
26
- } from "./server-f2xf5gcb.js";
28
+ } from "./server-6495nmn9.js";
27
29
  import {
28
30
  isOwnRpcServerRecord,
29
31
  isPidAlive,
@@ -34,13 +36,13 @@ import {
34
36
  parseRpcPortFile,
35
37
  inspectProcessesAsync,
36
38
  inspectWindowsProcessesSync
37
- } from "./server-da07v4xp.js";
39
+ } from "./server-k3t06fxr.js";
38
40
  import {
39
41
  configureContextDatabasePragmas2
40
42
  } from "./server-fb3zxn06.js";
41
43
  import {
42
44
  startMessageFtsRowidMapBackfill2
43
- } from "./server-1wy7b9de.js";
45
+ } from "./server-dtp8hcjh.js";
44
46
  import {
45
47
  LKG_SLOT_CHUNKS_DDL,
46
48
  SESSION_REPLAY_DECISIONS_DDL,
@@ -50,12 +52,12 @@ import {
50
52
  hasPendingMigrations,
51
53
  getMainThreadMigrationBodyCount,
52
54
  runMigrations
53
- } from "./server-xq7dfjke.js";
55
+ } from "./server-wwaw5npa.js";
54
56
  import {
55
57
  ensureColumn,
56
58
  installV95PerfSchema,
57
59
  installTagIdentityRevisionTrigger
58
- } from "./server-pwv4ezb0.js";
60
+ } from "./server-rqebawx1.js";
59
61
  import {
60
62
  resolveOpenCodeDbPath,
61
63
  hasV1MessageTables
@@ -63,7 +65,7 @@ import {
63
65
  import {
64
66
  setDatabase,
65
67
  loadToolDefinitionMeasurements
66
- } from "./server-g3qma5c0.js";
68
+ } from "./server-d1dzgvwd.js";
67
69
  import {
68
70
  getErrorMessage
69
71
  } from "./server-y8v6yerm.js";
@@ -72,7 +74,7 @@ import {
72
74
  } from "./server-8ajstryz.js";
73
75
  import {
74
76
  logSlowWriteTransaction
75
- } from "./server-6pmqg9m4.js";
77
+ } from "./server-gyy4k6mf.js";
76
78
  import {
77
79
  shouldEnforcePrivateStoragePermissions,
78
80
  ensureStorageDirectorySync,
@@ -1219,8 +1221,8 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
1219
1221
  state.running = startMessageFtsRowidMapBackfill2(db, signal).then(async () => {
1220
1222
  if (signal.aborted || !readsOpenCodeStore)
1221
1223
  return;
1222
- const { readRawSessionMessagePage, readRawSessionMessages } = await importPluginModule(() => import("./read-session-chunk-cwkxrmns.js"));
1223
- const { startMessageTimeBackfill } = await importPluginModule(() => import("./message-time-backfill-04t0km1z.js"));
1224
+ const { readRawSessionMessagePage, readRawSessionMessages } = await importPluginModule(() => import("./read-session-chunk-wazfyxcg.js"));
1225
+ const { startMessageTimeBackfill } = await importPluginModule(() => import("./message-time-backfill-zvthw6xb.js"));
1224
1226
  if (signal.aborted)
1225
1227
  return;
1226
1228
  await startMessageTimeBackfill(db, Object.assign(readRawSessionMessages, {
@@ -2525,6 +2527,10 @@ function openDatabase(dbPathOrOptions) {
2525
2527
  return null;
2526
2528
  }
2527
2529
  if (existing) {
2530
+ if (options?.nativeTurnDeadlines && !hasSqliteTurnDeadlineRouting2(existing)) {
2531
+ log2("[magic-context] storage unavailable: native turn deadlines must be selected on the first open; restart the host");
2532
+ return null;
2533
+ }
2528
2534
  if (!enforceSchemaFence(existing, dbPath, latestSupportedVersion)) {
2529
2535
  return null;
2530
2536
  }
@@ -2549,7 +2555,7 @@ function openDatabase(dbPathOrOptions) {
2549
2555
  throw error;
2550
2556
  }
2551
2557
  }
2552
- db = new Database2(dbPath);
2558
+ db = options?.nativeTurnDeadlines ? createSqliteTurnDatabase2(dbPath) : new Database2(dbPath);
2553
2559
  installBootBusyTimeout(db, dbPath, busyTimeoutMs, options?.onBootBusyTimeout);
2554
2560
  if (!enforceSchemaFence(db, dbPath, latestSupportedVersion)) {
2555
2561
  closeQuietly(db);
@@ -2596,6 +2602,10 @@ async function openDatabaseAsync(dbPathOrOptions) {
2596
2602
  lastMigrationOnOpenRefusal = null;
2597
2603
  const existing = databases.get(dbPath);
2598
2604
  if (existing) {
2605
+ if (options?.nativeTurnDeadlines && !hasSqliteTurnDeadlineRouting2(existing)) {
2606
+ log2("[magic-context] storage unavailable: native turn deadlines must be selected on the first open; restart the host");
2607
+ return null;
2608
+ }
2599
2609
  const startedAt = performance.now();
2600
2610
  const accepted = enforceSchemaFence(existing, dbPath, latestSupportedVersion);
2601
2611
  if (accepted) {
@@ -2611,8 +2621,12 @@ async function openDatabaseAsync(dbPathOrOptions) {
2611
2621
  return accepted ? existing : null;
2612
2622
  }
2613
2623
  const pending = pendingAsyncOpens.get(dbPath);
2614
- if (pending)
2615
- return pending;
2624
+ if (pending) {
2625
+ if (!options?.nativeTurnDeadlines)
2626
+ return pending;
2627
+ const opened = await pending;
2628
+ return opened && hasSqliteTurnDeadlineRouting2(opened) ? opened : null;
2629
+ }
2616
2630
  if (!isFileBackedPath(dbPath)) {
2617
2631
  throw new Error("async migration requires a file-backed database; use the explicit synchronous opener for in-memory or URI test databases");
2618
2632
  }
@@ -2638,7 +2652,7 @@ async function openDatabaseAsync(dbPathOrOptions) {
2638
2652
  throw error;
2639
2653
  }
2640
2654
  }
2641
- db = new Database2(dbPath);
2655
+ db = options?.nativeTurnDeadlines ? createSqliteTurnDatabase2(dbPath) : new Database2(dbPath);
2642
2656
  installBootBusyTimeout(db, dbPath, busyTimeoutMs, options?.onBootBusyTimeout);
2643
2657
  openMs = performance.now() - openStartedAt;
2644
2658
  guardStartedAt = performance.now();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withPrivilegedWriter2
3
- } from "./server-beht37jy.js";
3
+ } from "./server-gzy5w8ya.js";
4
4
  import {
5
5
  MEMORY_CATEGORY_ORDER_SQL
6
6
  } from "./server-fr0wbhdn.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  log2
3
- } from "./server-f2xf5gcb.js";
3
+ } from "./server-6495nmn9.js";
4
4
  import {
5
5
  canonicalProjectDirectory
6
6
  } from "./server-knvkbfvh.js";