@cortexkit/opencode-magic-context 0.47.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/dist/agents/magic-context-prompt.d.ts +1 -1
  2. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  3. package/dist/{announcement-y35wzg2r.js → announcement-fp14dw0n.js} +3 -2
  4. package/dist/auto-search-worker.js +27 -30
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/mural-model-deprecation.d.ts +15 -0
  7. package/dist/config/mural-model-deprecation.d.ts.map +1 -0
  8. package/dist/config/project-security.d.ts +0 -3
  9. package/dist/config/project-security.d.ts.map +1 -1
  10. package/dist/config/schema/magic-context.d.ts +10 -6
  11. package/dist/config/schema/magic-context.d.ts.map +1 -1
  12. package/dist/{conflict-warning-hook-z44ynfz7.js → conflict-warning-hook-w8cykrnf.js} +12 -10
  13. package/dist/{context-wq4ffwyb.js → context-m0cy262m.js} +2690 -1903
  14. package/dist/{derive-budgets-ke12jnnh.js → derive-budgets-sg0xsq7s.js} +4 -3
  15. package/dist/embedding-activity-g1dhes6g.js +10 -0
  16. package/dist/embedding-backfill-9rcm1mfy.js +21 -0
  17. package/dist/embedding-cache-mgyr73ef.js +16 -0
  18. package/dist/embedding-worker.js +11 -9
  19. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts +1 -0
  21. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/task-config.d.ts +3 -3
  23. package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
  24. package/dist/features/magic-context/dreamer/task-executor.d.ts +1 -1
  25. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  26. package/dist/features/magic-context/dreamer/task-registry.d.ts +1 -0
  27. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  28. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  29. package/dist/features/magic-context/message-index-async.d.ts +16 -3
  30. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  31. package/dist/features/magic-context/message-index-bounded.d.ts +17 -0
  32. package/dist/features/magic-context/message-index-bounded.d.ts.map +1 -0
  33. package/dist/features/magic-context/message-index.d.ts +7 -1
  34. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  35. package/dist/features/magic-context/mural/render-trigger.d.ts +7 -4
  36. package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
  37. package/dist/features/magic-context/pi-content-decisions.d.ts +7 -1
  38. package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
  39. package/dist/features/magic-context/search.d.ts +29 -0
  40. package/dist/features/magic-context/search.d.ts.map +1 -1
  41. package/dist/features/magic-context/session-activity.d.ts.map +1 -1
  42. package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
  43. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  44. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  45. package/dist/features/magic-context/storage-meta-session.d.ts +6 -0
  46. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  47. package/dist/features/magic-context/storage-tag-identity-revision.d.ts +30 -0
  48. package/dist/features/magic-context/storage-tag-identity-revision.d.ts.map +1 -0
  49. package/dist/features/magic-context/storage-tags.d.ts +144 -4
  50. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  51. package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
  52. package/dist/features/magic-context/transform-decision-log.d.ts +1 -1
  53. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  54. package/dist/harness-e4avh192.js +10 -0
  55. package/dist/hooks/magic-context/active-anthropic-turn.d.ts +2 -0
  56. package/dist/hooks/magic-context/active-anthropic-turn.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/auto-search-worker-client.d.ts +32 -3
  58. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  59. package/dist/hooks/magic-context/command-handler.d.ts +1 -0
  60. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  61. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  62. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  64. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  65. package/dist/hooks/magic-context/hook.d.ts +1 -1
  66. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  67. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/lkg-persist.d.ts +4 -3
  69. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  70. package/dist/hooks/magic-context/lkg-replay.d.ts +13 -8
  71. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  72. package/dist/hooks/magic-context/lkg-slot.d.ts +139 -2
  73. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  74. package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts +2 -0
  75. package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts.map +1 -0
  76. package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts +2 -0
  77. package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts.map +1 -0
  78. package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts +2 -0
  79. package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts.map +1 -0
  80. package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts +63 -0
  81. package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts.map +1 -0
  82. package/dist/hooks/magic-context/provider-visible-parts.d.ts +45 -0
  83. package/dist/hooks/magic-context/provider-visible-parts.d.ts.map +1 -0
  84. package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts +2 -0
  85. package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts.map +1 -0
  86. package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts +2 -0
  87. package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts.map +1 -0
  88. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +87 -0
  89. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -0
  90. package/dist/hooks/magic-context/read-session-chunk.d.ts +12 -0
  91. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  92. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/read-session-formatting.d.ts +5 -0
  94. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/read-session-raw.d.ts +83 -1
  96. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  98. package/dist/hooks/magic-context/reasoning-budget.d.ts.map +1 -1
  99. package/dist/hooks/magic-context/sentinel.d.ts +41 -1
  100. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  101. package/dist/hooks/magic-context/strip-content.d.ts +14 -2
  102. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  103. package/dist/hooks/magic-context/system-prompt-hash.d.ts +1 -0
  104. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  105. package/dist/hooks/magic-context/tag-messages.d.ts +8 -0
  106. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  107. package/dist/hooks/magic-context/tag-owner-warmup.d.ts +6 -0
  108. package/dist/hooks/magic-context/tag-owner-warmup.d.ts.map +1 -0
  109. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  110. package/dist/hooks/magic-context/token-count-exact.d.ts +35 -0
  111. package/dist/hooks/magic-context/token-count-exact.d.ts.map +1 -0
  112. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  113. package/dist/hooks/magic-context/transform.d.ts +8 -2
  114. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  115. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  116. package/dist/{index-w2t4ah5j.js → index-0an7742d.js} +14072 -14286
  117. package/dist/index-0qhce371.js +120 -0
  118. package/dist/{index-q6hef7fh.js → index-0sahzkwr.js} +6 -19
  119. package/dist/{index-k5bdx1bx.js → index-0w56v4fm.js} +3 -5
  120. package/dist/index-14cjxt20.js +819 -0
  121. package/dist/{v2/server-51dv1pr5.js → index-1qb0z7wa.js} +301 -27
  122. package/dist/index-2bvekkfy.js +11 -0
  123. package/dist/{index-sj29b3z2.js → index-2y0s2hep.js} +3 -3
  124. package/dist/index-4dhv7mqz.js +131 -0
  125. package/dist/{index-b35pxds2.js → index-58e3y90n.js} +1 -18
  126. package/dist/index-5zygecde.js +152 -0
  127. package/dist/{index-6d9e1m08.js → index-692jzy0p.js} +17775 -17450
  128. package/dist/index-72nhv486.js +2307 -0
  129. package/dist/index-7jzrrxap.js +931 -0
  130. package/dist/{v2/server-njt3np1k.js → index-7mx8v0pw.js} +220 -961
  131. package/dist/index-8ajstryz.js +18 -0
  132. package/dist/{index-sfpzqvdz.js → index-8cd2j99z.js} +2 -3
  133. package/dist/{index-hybnrwq0.js → index-8j7gqj40.js} +131 -128
  134. package/dist/index-bdckkfw6.js +3261 -0
  135. package/dist/{index-m5fe6jch.js → index-bhvjj0ys.js} +152 -2453
  136. package/dist/index-c43kr12f.js +3030 -0
  137. package/dist/index-cb7emxgj.js +984 -0
  138. package/dist/index-d9vfe7xq.js +16 -0
  139. package/dist/{index-5gq3b2ya.js → index-db7zwa3v.js} +147 -209
  140. package/dist/index-dhwzyd54.js +1142 -0
  141. package/dist/{index-8da2zjhz.js → index-eeezr5zz.js} +9 -7
  142. package/dist/{index-cwf6s3ay.js → index-f0h6xwqm.js} +2828 -2618
  143. package/dist/index-fb3zxn06.js +13 -0
  144. package/dist/index-fbv1dn35.js +171 -0
  145. package/dist/index-fr0wbhdn.js +43 -0
  146. package/dist/{index-mc22ayvf.js → index-ghc9f0n7.js} +11 -9
  147. package/dist/{index-fzbvakh0.js → index-jcbd3znx.js} +3 -3
  148. package/dist/{index-5a2r0p9f.js → index-k1xb52kd.js} +20 -13
  149. package/dist/index-k9nnwad5.js +3532 -0
  150. package/dist/{index-wx8a6bw3.js → index-kb9nn0a0.js} +270 -53
  151. package/dist/index-knh4y330.js +566 -0
  152. package/dist/{v2/server-fq7kq32k.js → index-mfkzp7qj.js} +1 -16
  153. package/dist/{index-gg8j07zz.js → index-mmyh6d8f.js} +4 -4
  154. package/dist/index-pavzsdc6.js +17 -0
  155. package/dist/{index-0c82743p.js → index-pdecwzrd.js} +17 -15
  156. package/dist/index-pg50n748.js +1060 -0
  157. package/dist/{index-92bp57hg.js → index-q2tqeqde.js} +123 -80
  158. package/dist/{index-rrrsepyw.js → index-q7h7csab.js} +90 -85
  159. package/dist/{v2/server-yr3zj7e7.js → index-qt1qqasc.js} +6 -7
  160. package/dist/{index-6wkcswft.js → index-ty64eqcn.js} +28 -18
  161. package/dist/{index-adwfkpex.js → index-yq8n9qcb.js} +23 -23
  162. package/dist/{index-9pk9exrb.js → index-z8e0psj8.js} +18 -18
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +586 -344
  165. package/dist/logger-d3wex3dz.js +20 -0
  166. package/dist/message-index-bounded-7ezbgddp.js +124 -0
  167. package/dist/{v2/message-time-backfill-1f9tzvcs.js → message-time-backfill-brbd63hv.js} +8 -6
  168. package/dist/migration-worker.js +25 -18
  169. package/dist/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
  170. package/dist/plugin/dream-timer.d.ts +1 -1
  171. package/dist/plugin/dream-timer.d.ts.map +1 -1
  172. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -0
  173. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  174. package/dist/plugin/host-stall-profiler-report.d.ts +1 -66
  175. package/dist/plugin/host-stall-profiler-report.d.ts.map +1 -1
  176. package/dist/plugin/host-stall-profiler.d.ts +2 -95
  177. package/dist/plugin/host-stall-profiler.d.ts.map +1 -1
  178. package/dist/plugin/messages-transform.d.ts +0 -13
  179. package/dist/plugin/messages-transform.d.ts.map +1 -1
  180. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  181. package/dist/plugin/tool-registry.d.ts.map +1 -1
  182. package/dist/project-embedding-registry-7qzptcw7.js +88 -0
  183. package/dist/raw-ordinal-warmup-worker.js +60 -0
  184. package/dist/{read-session-chunk-4jey7hpt.js → read-session-chunk-6k83m4fj.js} +15 -9
  185. package/dist/read-session-raw-3g9qy1xa.js +58 -0
  186. package/dist/recomp-orchestrator-d3fp1cy0.js +57 -0
  187. package/dist/{v2/safe-notification-target-eb1n1vfb.js → safe-notification-target-5ffqq32m.js} +4 -2
  188. package/dist/search-epax1ecv.js +45 -0
  189. package/dist/{v2/send-session-notification-c0wtscea.js → send-session-notification-erecz4y4.js} +10 -7
  190. package/dist/shared/conflict-detector.d.ts.map +1 -1
  191. package/dist/shared/host-stall-profiler-bun.d.ts +46 -0
  192. package/dist/shared/host-stall-profiler-bun.d.ts.map +1 -0
  193. package/dist/shared/host-stall-profiler-common.d.ts +58 -0
  194. package/dist/shared/host-stall-profiler-common.d.ts.map +1 -0
  195. package/dist/shared/host-stall-profiler-node.d.ts +36 -0
  196. package/dist/shared/host-stall-profiler-node.d.ts.map +1 -0
  197. package/dist/shared/host-stall-profiler-report.d.ts +68 -0
  198. package/dist/shared/host-stall-profiler-report.d.ts.map +1 -0
  199. package/dist/shared/host-stall-profiler.d.ts +5 -0
  200. package/dist/shared/host-stall-profiler.d.ts.map +1 -0
  201. package/dist/shared/model-resolution.d.ts +2 -3
  202. package/dist/shared/model-resolution.d.ts.map +1 -1
  203. package/dist/shared/sqlite.d.ts +30 -0
  204. package/dist/shared/sqlite.d.ts.map +1 -1
  205. package/dist/shared/stable-json.d.ts.map +1 -1
  206. package/dist/shared/user-facing-codes.d.ts +0 -5
  207. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  208. package/dist/sqlite-context-pragmas-mv9jqwjh.js +6 -0
  209. package/dist/sqlite-mhjkerzq.js +46 -0
  210. package/dist/storage-memory-07fx57k6.js +71 -0
  211. package/dist/storage-tags-d3b0v2ss.js +131 -0
  212. package/dist/{task-config-v81k8jvk.js → task-config-cgpg0nvh.js} +2 -2
  213. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  214. package/dist/tools/ctx-note/constants.d.ts +4 -0
  215. package/dist/tools/ctx-note/constants.d.ts.map +1 -1
  216. package/dist/tools/ctx-note/tools.d.ts +1 -0
  217. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  218. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  219. package/dist/tools/parameter-descriptions.d.ts +2 -2
  220. package/dist/tools/parameter-descriptions.d.ts.map +1 -1
  221. package/dist/{transform-postprocess-phase-z5hzpsxv.js → transform-postprocess-phase-spcy2qre.js} +35 -20
  222. package/dist/transformers-node-wasm.js +18415 -18415
  223. package/dist/v2/auto-search-worker.js +27 -30
  224. package/dist/v2/{context-14v1hr8b.js → context-sf98kstd.js} +3737 -3004
  225. package/dist/v2/{derive-budgets-nc9avxz8.js → derive-budgets-3vc0y84t.js} +4 -3
  226. package/dist/v2/embedding-activity-g1dhes6g.js +10 -0
  227. package/dist/v2/embedding-backfill-vn8g1nh1.js +21 -0
  228. package/dist/v2/embedding-cache-mgyr73ef.js +16 -0
  229. package/dist/v2/embedding-worker.js +12 -9
  230. package/dist/v2/fold/host-media.d.ts +4 -0
  231. package/dist/v2/fold/host-media.d.ts.map +1 -1
  232. package/dist/v2/fold/memory-cache.d.ts +70 -0
  233. package/dist/v2/fold/memory-cache.d.ts.map +1 -0
  234. package/dist/v2/fold/native-codec.d.ts +10 -0
  235. package/dist/v2/fold/native-codec.d.ts.map +1 -0
  236. package/dist/v2/fold/native-replay.d.ts +58 -0
  237. package/dist/v2/fold/native-replay.d.ts.map +1 -0
  238. package/dist/v2/fold/policy.d.ts +24 -0
  239. package/dist/v2/fold/policy.d.ts.map +1 -0
  240. package/dist/v2/harness-e4avh192.js +10 -0
  241. package/dist/v2/hooks/context.d.ts +2 -2
  242. package/dist/v2/hooks/context.d.ts.map +1 -1
  243. package/dist/v2/hooks/dream-manual.d.ts +1 -1
  244. package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
  245. package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
  246. package/dist/v2/hooks/dream-trigger.d.ts +1 -2
  247. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  248. package/dist/v2/hooks/payload.d.ts.map +1 -1
  249. package/dist/v2/hooks/tools.d.ts.map +1 -1
  250. package/dist/v2/hooks/types.d.ts +6 -0
  251. package/dist/v2/hooks/types.d.ts.map +1 -1
  252. package/dist/v2/logger-mxd0ym09.js +19 -0
  253. package/dist/v2/message-index-bounded-dy3s2k1e.js +123 -0
  254. package/dist/{message-time-backfill-r5epkzj3.js → v2/message-time-backfill-gtx1pwk1.js} +7 -7
  255. package/dist/v2/migration-worker.js +24 -17
  256. package/dist/v2/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
  257. package/dist/v2/project-embedding-registry-1tgba5dv.js +86 -0
  258. package/dist/v2/raw-ordinal-warmup-worker.js +60 -0
  259. package/dist/v2/{read-session-chunk-gyyv7w2r.js → read-session-chunk-rh4khdkv.js} +14 -8
  260. package/dist/v2/read-session-raw-bsbmf0vj.js +57 -0
  261. package/dist/v2/recomp-orchestrator-az61rfcg.js +57 -0
  262. package/dist/{safe-notification-target-43r8jsxw.js → v2/safe-notification-target-73ax1p5v.js} +3 -3
  263. package/dist/v2/search-nzkwrc6n.js +45 -0
  264. package/dist/{send-session-notification-0m68ms3n.js → v2/send-session-notification-6km439kn.js} +9 -8
  265. package/dist/{index-5eqk6z3s.js → v2/server-1r6pmz4f.js} +301 -27
  266. package/dist/v2/server-2bvekkfy.js +11 -0
  267. package/dist/v2/server-2fbhp79z.js +3205 -0
  268. package/dist/v2/{server-ajzeteqw.js → server-2ra6pwf3.js} +1 -18
  269. package/dist/v2/server-4dhv7mqz.js +131 -0
  270. package/dist/v2/{server-y10vbq6y.js → server-4k748ke6.js} +11 -1053
  271. package/dist/v2/{server-vs5gpnd4.js → server-52awr2mw.js} +81 -145
  272. package/dist/v2/{server-1qbnzc80.js → server-5m3dt5r1.js} +136 -148
  273. package/dist/v2/server-686jg6eb.js +3508 -0
  274. package/dist/v2/server-7jzrrxap.js +931 -0
  275. package/dist/v2/server-7wwc2nga.js +3023 -0
  276. package/dist/v2/server-8ajstryz.js +18 -0
  277. package/dist/v2/{server-sfpzqvdz.js → server-8cd2j99z.js} +2 -3
  278. package/dist/v2/{server-d0sraw7m.js → server-8pyt7hev.js} +291 -286
  279. package/dist/v2/server-8tqanswc.js +984 -0
  280. package/dist/v2/{server-14vq4kpm.js → server-aan4q8mx.js} +3 -3
  281. package/dist/v2/server-d9vfe7xq.js +16 -0
  282. package/dist/{index-x3kwrmqk.js → v2/server-e0vdaae2.js} +35 -792
  283. package/dist/v2/server-ezhze64f.js +1048 -0
  284. package/dist/v2/server-fb3zxn06.js +13 -0
  285. package/dist/v2/server-fr0wbhdn.js +43 -0
  286. package/dist/v2/server-g5r0n3b6.js +1137 -0
  287. package/dist/v2/server-gjcr4w98.js +154 -0
  288. package/dist/v2/server-k228xhjg.js +171 -0
  289. package/dist/v2/{server-nf82q6pt.js → server-k8x2rbxc.js} +5946 -5602
  290. package/dist/v2/{server-wx8a6bw3.js → server-kb9nn0a0.js} +270 -53
  291. package/dist/{index-rrbbspwh.js → v2/server-mfkzp7qj.js} +1 -16
  292. package/dist/v2/server-pavzsdc6.js +17 -0
  293. package/dist/v2/{server-e0c1b7a7.js → server-psqc7e9n.js} +122 -79
  294. package/dist/{index-yr3zj7e7.js → v2/server-qt1qqasc.js} +6 -7
  295. package/dist/v2/server-qye6ykf7.js +120 -0
  296. package/dist/v2/{server-qdjnb2z1.js → server-r5p3b1wy.js} +11 -9
  297. package/dist/v2/server-sggvvzhb.js +759 -0
  298. package/dist/v2/{server-cpepxy2q.js → server-v06jcv0w.js} +14 -12
  299. package/dist/v2/server-vqpf3167.js +1048 -0
  300. package/dist/v2/{server-rz514f14.js → server-x2g40a71.js} +2044 -2060
  301. package/dist/v2/{server-vd4e7174.js → server-xdfwt6kh.js} +20 -16
  302. package/dist/v2/{server-efhwzx05.js → server-xxm59eww.js} +23 -23
  303. package/dist/v2/server-yczc713m.js +564 -0
  304. package/dist/v2/{server-fcdehk1s.js → server-z2037m6z.js} +4 -4
  305. package/dist/v2/{server-50hvkg3v.js → server-zm570tr2.js} +160 -158
  306. package/dist/v2/{server-6r257mf5.js → server-zxhgvsf9.js} +3 -3
  307. package/dist/v2/server.js +16 -14
  308. package/dist/v2/sqlite-context-pragmas-mv9jqwjh.js +6 -0
  309. package/dist/v2/sqlite-mhjkerzq.js +46 -0
  310. package/dist/v2/storage-memory-07fx57k6.js +71 -0
  311. package/dist/v2/storage-tags-w4tv77sn.js +130 -0
  312. package/dist/v2/store-reader.d.ts +16 -0
  313. package/dist/v2/store-reader.d.ts.map +1 -1
  314. package/dist/v2/{task-config-tbndqyny.js → task-config-x0hq3qfd.js} +2 -2
  315. package/dist/v2/transformers-node-wasm.js +18415 -18415
  316. package/dist/v2/tui/index.d.ts.map +1 -1
  317. package/dist/v2/tui/types.d.ts +1 -10
  318. package/dist/v2/tui/types.d.ts.map +1 -1
  319. package/dist/v2/{wrapup-orchestrator-nbz854vc.js → wrapup-orchestrator-mz7efs7w.js} +51 -30
  320. package/dist/wrapup-orchestrator-amzta1t4.js +44 -0
  321. package/package.json +4 -3
  322. package/src/agents/magic-context-prompt.ts +27 -2
  323. package/src/agents/smart-notes-enabled.test.ts +294 -0
  324. package/src/agents/smart-notes-on.golden.json +70 -0
  325. package/src/config/index.test.ts +67 -1
  326. package/src/config/index.ts +2 -0
  327. package/src/config/latch-permanence-guard.test.ts +4 -0
  328. package/src/config/mural-model-deprecation.ts +24 -0
  329. package/src/config/project-security.hostile-matrix.test.ts +4 -44
  330. package/src/config/project-security.test.ts +9 -14
  331. package/src/config/project-security.ts +13 -55
  332. package/src/config/schema/magic-context.test.ts +2 -2
  333. package/src/config/schema/magic-context.ts +16 -10
  334. package/src/features/magic-context/dreamer/task-registry.ts +6 -0
  335. package/src/shared/conflict-detector.test.ts +56 -0
  336. package/src/shared/conflict-detector.ts +16 -5
  337. package/src/shared/host-stall-profiler-bun.ts +358 -0
  338. package/src/shared/host-stall-profiler-common.ts +159 -0
  339. package/src/shared/host-stall-profiler-node.test.ts +234 -0
  340. package/src/shared/host-stall-profiler-node.ts +274 -0
  341. package/src/shared/host-stall-profiler-report.ts +248 -0
  342. package/src/shared/host-stall-profiler.ts +57 -0
  343. package/src/shared/model-resolution.test.ts +54 -17
  344. package/src/shared/model-resolution.ts +6 -17
  345. package/src/shared/sqlite.test.ts +52 -0
  346. package/src/shared/sqlite.ts +339 -23
  347. package/src/shared/stable-json-linear.test.ts +109 -0
  348. package/src/shared/stable-json.ts +37 -7
  349. package/src/shared/user-facing-codes.ts +2 -6
  350. package/src/shared/write-transaction-attribution.test.ts +2 -2
  351. package/src/v2/tui/host-contract.test.ts +41 -67
  352. package/src/v2/tui/index.ts +6 -214
  353. package/src/v2/tui/types.ts +5 -17
  354. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts +0 -45
  355. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts.map +0 -1
  356. package/dist/features/magic-context/checkout-claim.d.ts +0 -155
  357. package/dist/features/magic-context/checkout-claim.d.ts.map +0 -1
  358. package/dist/index-bb36vgr3.js +0 -6608
  359. package/dist/index-fnn5pjtt.js +0 -6554
  360. package/dist/recomp-orchestrator-rervg6q4.js +0 -42
  361. package/dist/v2/recomp-orchestrator-42vjba7p.js +0 -42
  362. package/dist/v2/server-3trjk1hx.js +0 -6360
  363. package/dist/v2/server-nm9n3aqq.js +0 -6461
  364. package/dist/wrapup-orchestrator-b2dztrar.js +0 -29
  365. /package/dist/{index-5prbx026.js → index-2pp04pmg.js} +0 -0
  366. /package/dist/v2/{index-5prbx026.js → index-2pp04pmg.js} +0 -0
@@ -1,20 +1,11 @@
1
1
  import {
2
- log
3
- } from "./index-hybnrwq0.js";
2
+ log2
3
+ } from "./index-8j7gqj40.js";
4
4
  import {
5
- resolveWorkspaceShareCategories,
6
- resolveWorkspaceIdentitySet,
7
- expandWorkspaceIdentitySetWithAliases,
8
- resolveStoredPathWorkspaceIdentity,
9
- sourceNameForMemory
10
- } from "./index-x3kwrmqk.js";
5
+ loadCompartmentChunkEmbeddingsForSearch
6
+ } from "./index-pg50n748.js";
11
7
  import {
12
- loadCompartmentChunkEmbeddingsForSearch,
13
- getIndexedMessageCorpusSize,
14
8
  recordEmbeddingMeasurement,
15
- getNotes,
16
- getActivePrimers,
17
- cosineSimilarity,
18
9
  saveCommitEmbedding,
19
10
  loadProjectCommitEmbeddings,
20
11
  loadUnembeddedCommits,
@@ -22,29 +13,50 @@ import {
22
13
  upsertCommits,
23
14
  getLatestIndexedCommitSha,
24
15
  enforceProjectCap,
25
- getProjectEmbeddings,
26
- contentSha256,
27
- getShadowEmbeddingMeasurementCohort,
28
- getPrimaryEmbeddingMeasurementCohort,
29
- embedShadowTextForProject,
30
- enqueueShadowEmbeddingItems,
31
- getProjectEmbeddingSnapshot,
32
- embedItemsForProject,
16
+ contentSha2562,
17
+ getShadowEmbeddingMeasurementCohort2,
18
+ getPrimaryEmbeddingMeasurementCohort2,
19
+ embedShadowTextForProject2,
20
+ enqueueShadowEmbeddingItems2,
21
+ getProjectEmbeddingSnapshot2,
22
+ embedItemsForProject2
23
+ } from "./index-c43kr12f.js";
24
+ import {
25
+ getProjectEmbeddings2
26
+ } from "./index-4dhv7mqz.js";
27
+ import {
28
+ cosineSimilarity,
33
29
  isEmbeddingEnabled,
34
30
  embedText,
35
- ensureMemoryEmbeddings,
36
- ModuleMemoryAuthorityError,
37
- getMemoriesByProject,
38
- getMemoriesByProjects,
39
- updateMemoryRetrievalCount,
31
+ ensureMemoryEmbeddings2
32
+ } from "./index-5zygecde.js";
33
+ import {
34
+ ModuleMemoryAuthorityError2,
35
+ getMemoriesByProject2,
36
+ getMemoriesByProjects2,
37
+ updateMemoryRetrievalCount2
38
+ } from "./index-7jzrrxap.js";
39
+ import {
40
+ getNotes,
41
+ getActivePrimers,
40
42
  relaxedFtsQuery,
41
43
  sanitizeFtsQuery,
42
44
  searchMemoriesFTS,
43
45
  searchMemoriesFTSUnion
44
- } from "./index-fnn5pjtt.js";
46
+ } from "./index-cb7emxgj.js";
47
+ import {
48
+ getIndexedMessageCorpusSize
49
+ } from "./index-14cjxt20.js";
50
+ import {
51
+ resolveWorkspaceShareCategories,
52
+ resolveWorkspaceIdentitySet,
53
+ expandWorkspaceIdentitySetWithAliases,
54
+ resolveStoredPathWorkspaceIdentity,
55
+ sourceNameForMemory
56
+ } from "./index-7mx8v0pw.js";
45
57
  import {
46
58
  isKnownAutocommit
47
- } from "./index-b35pxds2.js";
59
+ } from "./index-8ajstryz.js";
48
60
 
49
61
  // src/features/magic-context/git-commits/git-log-reader.ts
50
62
  import { execFile } from "node:child_process";
@@ -96,19 +108,19 @@ async function readGitCommitsResult(directory, options = {}) {
96
108
  } catch (error) {
97
109
  const message = error instanceof Error ? error.message : String(error);
98
110
  if (exclusion && message.includes("bad object")) {
99
- log(`[git-commits] indexed tip ${exclusion.slice(0, 7)} is missing for ${projectLabel}; reading the full window`);
111
+ log2(`[git-commits] indexed tip ${exclusion.slice(0, 7)} is missing for ${projectLabel}; reading the full window`);
100
112
  return readGitCommitsResult(directory, { ...options, excludeReachableFrom: undefined });
101
113
  }
102
114
  const failure = classifyGitLogFailure(message);
103
115
  if (failure === "transient") {
104
- log(`[git-commits] readGitCommits failed for ${projectLabel}: ${message.slice(0, 500)}`);
116
+ log2(`[git-commits] readGitCommits failed for ${projectLabel}: ${message.slice(0, 500)}`);
105
117
  } else {
106
- log(`[git-commits] ${projectLabel} is not indexable (${failure})`);
118
+ log2(`[git-commits] ${projectLabel} is not indexable (${failure})`);
107
119
  }
108
120
  return { commits: [], failure };
109
121
  }
110
122
  if (stdout.trim().length === 0) {
111
- log(`[git-commits] readGitCommits returned empty stdout for ${projectLabel} (sinceMs=${options.sinceMs ?? "none"} args=${args.slice(0, 4).join(" ")})`);
123
+ log2(`[git-commits] readGitCommits returned empty stdout for ${projectLabel} (sinceMs=${options.sinceMs ?? "none"} args=${args.slice(0, 4).join(" ")})`);
112
124
  }
113
125
  return { commits: parseGitLogOutput(stdout), failure: null };
114
126
  }
@@ -169,7 +181,7 @@ async function indexCommitsForProject(db, projectPath, directory, options) {
169
181
  nonIndexable: false
170
182
  };
171
183
  if (indexInProgress.has(projectPath)) {
172
- log(`[git-commits] index already in progress for ${projectPath}, skipping`);
184
+ log2(`[git-commits] index already in progress for ${projectPath}, skipping`);
173
185
  return result;
174
186
  }
175
187
  indexInProgress.add(projectPath);
@@ -190,21 +202,21 @@ async function indexCommitsForProject(db, projectPath, directory, options) {
190
202
  }
191
203
  if (commits.length === 0) {
192
204
  result.evicted = enforceProjectCap(db, projectPath, options.maxCommits);
193
- log(`[git-commits] no new commits for ${projectPath} (sinceMs=${sinceMs} latestIndexed=${latestIndexed?.slice(0, 7) ?? "none"} evicted=${result.evicted})`);
205
+ log2(`[git-commits] no new commits for ${projectPath} (sinceMs=${sinceMs} latestIndexed=${latestIndexed?.slice(0, 7) ?? "none"} evicted=${result.evicted})`);
194
206
  return result;
195
207
  }
196
- log(`[git-commits] read ${commits.length} commits for ${projectPath} (sinceMs=${sinceMs} latestIndexed=${latestIndexed?.slice(0, 7) ?? "none"})`);
208
+ log2(`[git-commits] read ${commits.length} commits for ${projectPath} (sinceMs=${sinceMs} latestIndexed=${latestIndexed?.slice(0, 7) ?? "none"})`);
197
209
  const upsert = upsertCommits(db, projectPath, commits);
198
210
  result.inserted = upsert.inserted;
199
211
  result.updated = upsert.updated;
200
212
  result.evicted = enforceProjectCap(db, projectPath, options.maxCommits);
201
- const snapshot = getProjectEmbeddingSnapshot(projectPath);
213
+ const snapshot = getProjectEmbeddingSnapshot2(projectPath);
202
214
  if (options.skipEmbed || !snapshot?.gitCommitEnabled) {
203
- log(`[git-commits] indexed ${projectPath}: scanned=${result.scanned} inserted=${result.inserted} updated=${result.updated} evicted=${result.evicted} embedded=0 (embedding skipped: skipEmbed=${options.skipEmbed === true} gitCommitEnabled=${snapshot?.gitCommitEnabled === true})`);
215
+ log2(`[git-commits] indexed ${projectPath}: scanned=${result.scanned} inserted=${result.inserted} updated=${result.updated} evicted=${result.evicted} embedded=0 (embedding skipped: skipEmbed=${options.skipEmbed === true} gitCommitEnabled=${snapshot?.gitCommitEnabled === true})`);
204
216
  return result;
205
217
  }
206
218
  result.embedded = await embedUnembeddedCommits(db, projectPath);
207
- log(`[git-commits] indexed ${projectPath}: scanned=${result.scanned} inserted=${result.inserted} updated=${result.updated} evicted=${result.evicted} embedded=${result.embedded}`);
219
+ log2(`[git-commits] indexed ${projectPath}: scanned=${result.scanned} inserted=${result.inserted} updated=${result.updated} evicted=${result.evicted} embedded=${result.embedded}`);
208
220
  return result;
209
221
  } finally {
210
222
  indexInProgress.delete(projectPath);
@@ -214,7 +226,7 @@ async function embedUnembeddedCommits(db, projectPath) {
214
226
  if (embedInProgress.has(projectPath)) {
215
227
  return 0;
216
228
  }
217
- const snapshot = getProjectEmbeddingSnapshot(projectPath);
229
+ const snapshot = getProjectEmbeddingSnapshot2(projectPath);
218
230
  if (!snapshot?.gitCommitEnabled) {
219
231
  return 0;
220
232
  }
@@ -229,10 +241,10 @@ async function embedUnembeddedCommits(db, projectPath) {
229
241
  break;
230
242
  let embeddedThisBatch = 0;
231
243
  try {
232
- const result = await embedItemsForProject(projectPath, rows.map((row) => ({
244
+ const result = await embedItemsForProject2(projectPath, rows.map((row) => ({
233
245
  id: `commit:${row.sha}`,
234
246
  text: row.message,
235
- contentSha256: contentSha256(row.message)
247
+ contentSha256: contentSha2562(row.message)
236
248
  })), undefined, db, projectPath);
237
249
  if (!result)
238
250
  break;
@@ -245,9 +257,9 @@ async function embedUnembeddedCommits(db, projectPath) {
245
257
  embeddedThisBatch += 1;
246
258
  }
247
259
  }).immediate();
248
- enqueueShadowEmbeddingItems(projectPath, "commit", rows.filter((row) => result.vectors.has(`commit:${row.sha}`)).map((row) => row.sha));
260
+ enqueueShadowEmbeddingItems2(projectPath, "commit", rows.filter((row) => result.vectors.has(`commit:${row.sha}`)).map((row) => row.sha));
249
261
  } catch (error) {
250
- log(`[git-commits] embed batch failed for ${projectPath}: ${error instanceof Error ? error.message : String(error)}`);
262
+ log2(`[git-commits] embed batch failed for ${projectPath}: ${error instanceof Error ? error.message : String(error)}`);
251
263
  break;
252
264
  }
253
265
  if (embeddedThisBatch === 0)
@@ -258,7 +270,7 @@ async function embedUnembeddedCommits(db, projectPath) {
258
270
  }
259
271
  if (total > 0) {
260
272
  const totalEmbedded = countEmbeddedCommits(db, projectPath, snapshot.modelId);
261
- log(`[git-commits] embedded ${total} commits for ${projectPath} (total embedded: ${totalEmbedded})`);
273
+ log2(`[git-commits] embedded ${total} commits for ${projectPath} (total embedded: ${totalEmbedded})`);
262
274
  }
263
275
  return total;
264
276
  } finally {
@@ -395,7 +407,7 @@ function searchGitCommitsSync(db, projectPath, query, options) {
395
407
  ftsCandidates.push(rowToCommit(row));
396
408
  }
397
409
  } catch (error) {
398
- log(`[git-commits] FTS query failed for "${trimmed}": ${error instanceof Error ? error.message : String(error)}`);
410
+ log2(`[git-commits] FTS query failed for "${trimmed}": ${error instanceof Error ? error.message : String(error)}`);
399
411
  }
400
412
  }
401
413
  if (ftsCandidates.length === 0) {
@@ -584,15 +596,15 @@ function resultId(result) {
584
596
  }
585
597
  async function recordShadowMeasurement(args) {
586
598
  try {
587
- const shadowCohort = getShadowEmbeddingMeasurementCohort(args.projectPath);
599
+ const shadowCohort = getShadowEmbeddingMeasurementCohort2(args.projectPath);
588
600
  if (!shadowCohort)
589
601
  return;
590
- const primaryCohort = getPrimaryEmbeddingMeasurementCohort(args.projectPath);
602
+ const primaryCohort = getPrimaryEmbeddingMeasurementCohort2(args.projectPath);
591
603
  const shadowStartedAt = Date.now();
592
604
  let shadowFailed = false;
593
605
  let shadowResults = [];
594
606
  try {
595
- const vector = await embedShadowTextForProject(args.projectPath, args.query);
607
+ const vector = await embedShadowTextForProject2(args.projectPath, args.query);
596
608
  if (!vector) {
597
609
  shadowFailed = true;
598
610
  } else {
@@ -648,7 +660,7 @@ async function recordShadowMeasurement(args) {
648
660
  }
649
661
  });
650
662
  } catch (error) {
651
- log("[magic-context] shadow embedding measurement failed:", error);
663
+ log2("[magic-context] shadow embedding measurement failed:", error);
652
664
  }
653
665
  }
654
666
  function sha256(value) {
@@ -677,13 +689,31 @@ var sessionFirstMessageSearchDiagnosticStatements = new WeakMap;
677
689
  var messageSearchDiagnosticStatementsWithDateRange = new WeakMap;
678
690
  var batchedMessageSearchStatements = new WeakMap;
679
691
  var batchedFtsCountStatements = new WeakMap;
680
- function createUnifiedSearchDiagnostics() {
692
+ function createUnifiedSearchDiagnostics2() {
681
693
  return {
682
694
  suppressedVisibleMemoryIds: [],
683
695
  suppressedLiveMessageMatches: 0,
684
696
  gitCommitUnavailable: null
685
697
  };
686
698
  }
699
+ function searchMessageHistory2(db, request) {
700
+ const diagnostics = request.collectDiagnostics ? createUnifiedSearchDiagnostics2() : undefined;
701
+ const results = searchMessages({
702
+ db,
703
+ sessionId: request.sessionId,
704
+ query: request.query,
705
+ limit: request.limit,
706
+ maxOrdinal: request.maxOrdinal,
707
+ probes: request.probes,
708
+ relaxedRecall: request.relaxedRecall,
709
+ diagnostics,
710
+ dateRange: request.dateRange
711
+ });
712
+ return {
713
+ results,
714
+ suppressedLiveMessageMatches: diagnostics?.suppressedLiveMessageMatches ?? 0
715
+ };
716
+ }
687
717
  function normalizeLimit(limit) {
688
718
  if (typeof limit !== "number" || !Number.isFinite(limit)) {
689
719
  return DEFAULT_UNIFIED_SEARCH_LIMIT;
@@ -703,7 +733,7 @@ function timestampIsInRange(timestamp, range) {
703
733
  }
704
734
  var ID_SHAPED_QUERY_MAX_TOKENS = 5;
705
735
  var ID_SHAPED_TOKEN = /^#?\d+$/;
706
- function parseIdShapedQuery(query) {
736
+ function parseIdShapedQuery2(query) {
707
737
  const trimmed = query.trim();
708
738
  if (trimmed.length === 0) {
709
739
  return null;
@@ -978,8 +1008,8 @@ async function getSemanticScores(args) {
978
1008
  return semanticScores;
979
1009
  }
980
1010
  if (!args.workspace?.isWorkspaced) {
981
- const cachedEmbeddings = getProjectEmbeddings(args.db, args.projectPath, args.queryModelId);
982
- const embeddings = args.backfillMemoryEmbeddings === false ? cachedEmbeddings : await ensureMemoryEmbeddings({
1011
+ const cachedEmbeddings = getProjectEmbeddings2(args.db, args.projectPath, args.queryModelId);
1012
+ const embeddings = args.backfillMemoryEmbeddings === false ? cachedEmbeddings : await ensureMemoryEmbeddings2({
983
1013
  db: args.db,
984
1014
  projectIdentity: args.projectPath,
985
1015
  memories: args.memories,
@@ -1006,8 +1036,8 @@ async function getSemanticScores(args) {
1006
1036
  }
1007
1037
  const ownMemories = memoriesByIdentity.get(args.projectPath) ?? [];
1008
1038
  if (ownMemories.length > 0 && args.backfillMemoryEmbeddings !== false) {
1009
- const ownEmbeddings = getProjectEmbeddings(args.db, args.projectPath, args.queryModelId);
1010
- await ensureMemoryEmbeddings({
1039
+ const ownEmbeddings = getProjectEmbeddings2(args.db, args.projectPath, args.queryModelId);
1040
+ await ensureMemoryEmbeddings2({
1011
1041
  db: args.db,
1012
1042
  projectIdentity: args.projectPath,
1013
1043
  memories: ownMemories,
@@ -1018,7 +1048,7 @@ async function getSemanticScores(args) {
1018
1048
  const memberMemories = memoriesByIdentity.get(identity) ?? [];
1019
1049
  if (memberMemories.length === 0)
1020
1050
  continue;
1021
- const cachedEmbeddings = getProjectEmbeddings(args.db, identity, args.queryModelId);
1051
+ const cachedEmbeddings = getProjectEmbeddings2(args.db, identity, args.queryModelId);
1022
1052
  for (const memory of memberMemories) {
1023
1053
  const memoryEmbedding = cachedEmbeddings.get(memory.id);
1024
1054
  if (!memoryEmbedding || memoryEmbedding.modelId !== args.queryModelId)
@@ -1032,7 +1062,7 @@ function getFtsMatches(args) {
1032
1062
  try {
1033
1063
  return args.workspace?.isWorkspaced ? searchMemoriesFTSUnion(args.db, args.workspace.expandedIdentities, args.query, args.limit, args.workspace.ownIdentities, args.workspace.shareCategories, args.dateRange) : searchMemoriesFTS(args.db, args.projectPath, args.query, args.limit, args.dateRange);
1034
1064
  } catch (error) {
1035
- log(`[search] FTS query failed for "${args.query}": ${error instanceof Error ? error.message : String(error)}`);
1065
+ log2(`[search] FTS query failed for "${args.query}": ${error instanceof Error ? error.message : String(error)}`);
1036
1066
  return [];
1037
1067
  }
1038
1068
  }
@@ -1047,7 +1077,7 @@ function selectSemanticCandidates(args) {
1047
1077
  if (args.queryModelId && args.queryModelId !== "off") {
1048
1078
  const embeddingProjects = args.workspace?.isWorkspaced ? args.workspace.identities : [args.projectPath];
1049
1079
  for (const projectPath of embeddingProjects) {
1050
- const storedEmbeddings = getProjectEmbeddings(args.db, projectPath, args.queryModelId);
1080
+ const storedEmbeddings = getProjectEmbeddings2(args.db, projectPath, args.queryModelId);
1051
1081
  for (const memoryId of storedEmbeddings.keys()) {
1052
1082
  candidateIds.add(memoryId);
1053
1083
  }
@@ -1110,7 +1140,7 @@ async function searchMemories(args) {
1110
1140
  if (!args.memoryEnabled) {
1111
1141
  return { results: [], suppressedVisibleIds: [] };
1112
1142
  }
1113
- const unfilteredMemories = args.workspace?.isWorkspaced ? getMemoriesByProjects(args.db, args.workspace.expandedIdentities, ["active", "permanent"], Date.now(), args.workspace.ownIdentities, args.workspace.shareCategories) : getMemoriesByProject(args.db, args.projectPath);
1143
+ const unfilteredMemories = args.workspace?.isWorkspaced ? getMemoriesByProjects2(args.db, args.workspace.expandedIdentities, ["active", "permanent"], Date.now(), args.workspace.ownIdentities, args.workspace.shareCategories) : getMemoriesByProject2(args.db, args.projectPath);
1114
1144
  const memories = unfilteredMemories.filter((memory) => timestampIsInRange(memory.createdAt, args.dateRange));
1115
1145
  if (memories.length === 0) {
1116
1146
  return { results: [], suppressedVisibleIds: [] };
@@ -1737,7 +1767,7 @@ function memoriesToIdLookupResults(args) {
1737
1767
  sourceName: args.sourceNameByMemoryId?.get(memory.id)
1738
1768
  }));
1739
1769
  }
1740
- function resolveMemoriesByIdsForSearch(args) {
1770
+ function resolveMemoriesByIdsForSearch2(args) {
1741
1771
  if (args.diagnostics) {
1742
1772
  args.diagnostics.suppressedVisibleMemoryIds = [];
1743
1773
  }
@@ -1745,7 +1775,7 @@ function resolveMemoriesByIdsForSearch(args) {
1745
1775
  return null;
1746
1776
  }
1747
1777
  const workspace = resolveSearchWorkspaceContext(args.db, args.projectPath);
1748
- const fetched = workspace.isWorkspaced ? getMemoriesByProjects(args.db, workspace.expandedIdentities, ["active", "permanent", "archived"], Date.now(), workspace.ownIdentities, workspace.shareCategories) : getMemoriesByProject(args.db, args.projectPath, ["active", "permanent", "archived"]);
1778
+ const fetched = workspace.isWorkspaced ? getMemoriesByProjects2(args.db, workspace.expandedIdentities, ["active", "permanent", "archived"], Date.now(), workspace.ownIdentities, workspace.shareCategories) : getMemoriesByProject2(args.db, args.projectPath, ["active", "permanent", "archived"]);
1749
1779
  if (fetched.length === 0) {
1750
1780
  return null;
1751
1781
  }
@@ -1781,7 +1811,7 @@ function resolveMemoriesByIdsForSearch(args) {
1781
1811
  })
1782
1812
  });
1783
1813
  }
1784
- async function unifiedSearch(db, sessionId, projectPath, query, options = {}) {
1814
+ async function unifiedSearch2(db, sessionId, projectPath, query, options = {}) {
1785
1815
  const trimmedQuery = query.trim();
1786
1816
  const measurementStartedAt = Date.now();
1787
1817
  if (trimmedQuery.length === 0 || options.signal?.aborted) {
@@ -1812,28 +1842,41 @@ async function unifiedSearch(db, sessionId, projectPath, query, options = {}) {
1812
1842
  const runCompartmentChunks = runMessages && embeddingEnabled;
1813
1843
  const needsEmbedding = (runMemory || runGitCommits || runCompartmentChunks || runPrimers) && embeddingEnabled && isEmbeddingRuntimeEnabled();
1814
1844
  const queryEmbeddingPromise = needsEmbedding ? embedQuery(trimmedQuery, options.signal).catch((error) => {
1815
- log(`[search] query embedding failed: ${error instanceof Error ? error.message : String(error)}`);
1845
+ log2(`[search] query embedding failed: ${error instanceof Error ? error.message : String(error)}`);
1816
1846
  return null;
1817
1847
  }) : Promise.resolve(null);
1818
1848
  await Promise.resolve();
1819
1849
  if (options.signal?.aborted)
1820
1850
  return [];
1821
1851
  const messageProbes = options.explicitSearch ? extractLiteralProbes(trimmedQuery) : [];
1822
- const messageResults = runMessages ? searchMessages({
1823
- db,
1824
- sessionId,
1825
- query: trimmedQuery,
1826
- limit: tierLimit,
1827
- maxOrdinal: options.maxMessageOrdinal,
1828
- probes: messageProbes,
1829
- relaxedRecall: options.explicitSearch,
1830
- diagnostics: options.diagnostics,
1831
- dateRange
1832
- }) : [];
1852
+ let messageResults = [];
1853
+ if (runMessages) {
1854
+ const messageRequest = {
1855
+ sessionId,
1856
+ query: trimmedQuery,
1857
+ limit: tierLimit,
1858
+ maxOrdinal: options.maxMessageOrdinal,
1859
+ probes: messageProbes,
1860
+ relaxedRecall: options.explicitSearch,
1861
+ collectDiagnostics: options.diagnostics !== undefined,
1862
+ dateRange
1863
+ };
1864
+ const delegated = options.searchMessageHistory ? await options.searchMessageHistory(messageRequest).catch((error) => {
1865
+ log2(`[search] off-thread message search failed: ${error instanceof Error ? error.message : String(error)}`);
1866
+ return null;
1867
+ }) : null;
1868
+ if (delegated && options.signal?.aborted)
1869
+ return [];
1870
+ const outcome = delegated ?? searchMessageHistory2(db, messageRequest);
1871
+ if (options.diagnostics) {
1872
+ options.diagnostics.suppressedLiveMessageMatches = outcome.suppressedLiveMessageMatches;
1873
+ }
1874
+ messageResults = outcome.results;
1875
+ }
1833
1876
  const capturedQuery = await queryEmbeddingPromise;
1834
1877
  if (options.signal?.aborted)
1835
1878
  return [];
1836
- const embeddingSnapshot = getProjectEmbeddingSnapshot(projectPath);
1879
+ const embeddingSnapshot = getProjectEmbeddingSnapshot2(projectPath);
1837
1880
  const queryContract = capturedQuery instanceof Float32Array || capturedQuery === null ? null : capturedQuery;
1838
1881
  const generationIsCurrent = queryContract === null || embeddingSnapshot !== null && embeddingSnapshot.generation === queryContract.generation;
1839
1882
  const queryEmbedding = generationIsCurrent ? queryContract?.vector ?? (capturedQuery instanceof Float32Array ? capturedQuery : null) : null;
@@ -1920,7 +1963,7 @@ async function unifiedSearch(db, sessionId, projectPath, query, options = {}) {
1920
1963
  primaryResults: results,
1921
1964
  primaryQuery: queryContract,
1922
1965
  primaryLatencyMs: Date.now() - measurementStartedAt,
1923
- search: unifiedSearch
1966
+ search: unifiedSearch2
1924
1967
  });
1925
1968
  }
1926
1969
  const countRetrievals = options.countRetrievals ?? true;
@@ -1930,9 +1973,9 @@ async function unifiedSearch(db, sessionId, projectPath, query, options = {}) {
1930
1973
  db.transaction(() => {
1931
1974
  for (const memoryId of memoryIds) {
1932
1975
  try {
1933
- updateMemoryRetrievalCount(db, memoryId);
1976
+ updateMemoryRetrievalCount2(db, memoryId);
1934
1977
  } catch (error) {
1935
- if (error instanceof ModuleMemoryAuthorityError)
1978
+ if (error instanceof ModuleMemoryAuthorityError2)
1936
1979
  continue;
1937
1980
  throw error;
1938
1981
  }
@@ -2032,7 +2075,7 @@ function formatSearchDiagnosticLines(results, diagnostics) {
2032
2075
  }
2033
2076
  return lines;
2034
2077
  }
2035
- function formatSearchResults(query, results, currentSessionId, diagnostics) {
2078
+ function formatSearchResults2(query, results, currentSessionId, diagnostics) {
2036
2079
  const diagnosticLines = formatSearchDiagnosticLines(results, diagnostics);
2037
2080
  if (results.length === 0) {
2038
2081
  if (diagnosticLines.length > 0) {
@@ -2060,4 +2103,4 @@ ${bodyParts.join(`
2060
2103
  `)}`;
2061
2104
  }
2062
2105
 
2063
- export { indexCommitsForProject, embedUnembeddedCommits, createUnifiedSearchDiagnostics, parseIdShapedQuery, resolveMemoriesByIdsForSearch, unifiedSearch, formatSearchResults };
2106
+ export { indexCommitsForProject, embedUnembeddedCommits, createUnifiedSearchDiagnostics2, searchMessageHistory2, parseIdShapedQuery2, resolveMemoriesByIdsForSearch2, unifiedSearch2, formatSearchResults2 };