@cortexkit/opencode-magic-context 0.47.0 → 0.49.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 (425) 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-kzx4dmk1.js} +12 -10
  13. package/dist/{context-wq4ffwyb.js → context-nj5f293n.js} +2765 -1925
  14. package/dist/{derive-budgets-ke12jnnh.js → derive-budgets-qz5rrr08.js} +4 -3
  15. package/dist/embedding-activity-g1dhes6g.js +10 -0
  16. package/dist/embedding-backfill-aetxv1vt.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/git-commits/search-git-commits.d.ts +2 -0
  30. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  31. package/dist/features/magic-context/message-index-async.d.ts +16 -3
  32. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  33. package/dist/features/magic-context/message-index-bounded.d.ts +17 -0
  34. package/dist/features/magic-context/message-index-bounded.d.ts.map +1 -0
  35. package/dist/features/magic-context/message-index.d.ts +7 -1
  36. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  37. package/dist/features/magic-context/mural/render-trigger.d.ts +7 -4
  38. package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
  39. package/dist/features/magic-context/pi-content-decisions.d.ts +7 -1
  40. package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
  41. package/dist/features/magic-context/search-rerank.d.ts +35 -0
  42. package/dist/features/magic-context/search-rerank.d.ts.map +1 -0
  43. package/dist/features/magic-context/search.d.ts +40 -0
  44. package/dist/features/magic-context/search.d.ts.map +1 -1
  45. package/dist/features/magic-context/session-activity.d.ts.map +1 -1
  46. package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
  47. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  48. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  49. package/dist/features/magic-context/storage-meta-persisted.d.ts +13 -2
  50. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  51. package/dist/features/magic-context/storage-meta-session.d.ts +7 -1
  52. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  53. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  54. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  55. package/dist/features/magic-context/storage-session-tables.d.ts +2 -0
  56. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  57. package/dist/features/magic-context/storage-tag-identity-revision.d.ts +50 -0
  58. package/dist/features/magic-context/storage-tag-identity-revision.d.ts.map +1 -0
  59. package/dist/features/magic-context/storage-tags.d.ts +153 -4
  60. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  61. package/dist/features/magic-context/storage.d.ts +1 -1
  62. package/dist/features/magic-context/storage.d.ts.map +1 -1
  63. package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
  64. package/dist/features/magic-context/tagger.d.ts +2 -0
  65. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  66. package/dist/features/magic-context/transform-decision-log.d.ts +4 -1
  67. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  68. package/dist/harness-e4avh192.js +10 -0
  69. package/dist/hooks/magic-context/active-anthropic-turn.d.ts +2 -0
  70. package/dist/hooks/magic-context/active-anthropic-turn.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -1
  72. package/dist/hooks/magic-context/auto-search-replay.fixture.d.ts +24 -0
  73. package/dist/hooks/magic-context/auto-search-replay.fixture.d.ts.map +1 -0
  74. package/dist/hooks/magic-context/auto-search-runner.d.ts +1 -1
  75. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  76. package/dist/hooks/magic-context/auto-search-worker-client.d.ts +34 -3
  77. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/command-handler.d.ts +3 -0
  79. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  82. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  83. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +28 -0
  84. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  86. package/dist/hooks/magic-context/historian-host-runner.d.ts +8 -0
  87. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  88. package/dist/hooks/magic-context/hook.d.ts +3 -2
  89. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  90. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/latest-thinking-recovery.d.ts +7 -0
  92. package/dist/hooks/magic-context/latest-thinking-recovery.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/lkg-persist.d.ts +4 -3
  94. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/lkg-replay.d.ts +13 -8
  96. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/lkg-slot.d.ts +139 -2
  98. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  99. package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts +2 -0
  100. package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts.map +1 -0
  101. package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts +2 -0
  102. package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts.map +1 -0
  103. package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts +2 -0
  104. package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts.map +1 -0
  105. package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts +63 -0
  106. package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts.map +1 -0
  107. package/dist/hooks/magic-context/pass-outcome.d.ts +1 -0
  108. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
  109. package/dist/hooks/magic-context/provider-visible-parts.d.ts +45 -0
  110. package/dist/hooks/magic-context/provider-visible-parts.d.ts.map +1 -0
  111. package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts +2 -0
  112. package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts.map +1 -0
  113. package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts +2 -0
  114. package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts.map +1 -0
  115. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +87 -0
  116. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -0
  117. package/dist/hooks/magic-context/read-session-chunk.d.ts +19 -1
  118. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  119. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  120. package/dist/hooks/magic-context/read-session-formatting.d.ts +5 -0
  121. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  122. package/dist/hooks/magic-context/read-session-raw.d.ts +118 -1
  123. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  124. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  125. package/dist/hooks/magic-context/reasoning-budget.d.ts.map +1 -1
  126. package/dist/hooks/magic-context/rust-mode-transform.d.ts +36 -0
  127. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  128. package/dist/hooks/magic-context/sentinel.d.ts +41 -1
  129. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  130. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts +8 -1
  131. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts.map +1 -1
  132. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts +8 -0
  133. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts.map +1 -0
  134. package/dist/hooks/magic-context/strip-content.d.ts +14 -2
  135. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  136. package/dist/hooks/magic-context/system-prompt-hash.d.ts +1 -0
  137. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  138. package/dist/hooks/magic-context/tag-messages.d.ts +8 -0
  139. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  140. package/dist/hooks/magic-context/tag-owner-warmup.d.ts +6 -0
  141. package/dist/hooks/magic-context/tag-owner-warmup.d.ts.map +1 -0
  142. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  143. package/dist/hooks/magic-context/token-count-exact.d.ts +35 -0
  144. package/dist/hooks/magic-context/token-count-exact.d.ts.map +1 -0
  145. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +13 -0
  146. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  147. package/dist/hooks/magic-context/transform.d.ts +9 -2
  148. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  149. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  150. package/dist/{index-q6hef7fh.js → index-0sahzkwr.js} +6 -19
  151. package/dist/{index-k5bdx1bx.js → index-0w56v4fm.js} +3 -5
  152. package/dist/{index-5gq3b2ya.js → index-1bt88epp.js} +227 -205
  153. package/dist/{index-cwf6s3ay.js → index-1g30axtz.js} +3279 -2907
  154. package/dist/{index-5a2r0p9f.js → index-1r0k9js3.js} +20 -13
  155. package/dist/index-2bvekkfy.js +11 -0
  156. package/dist/{index-6d9e1m08.js → index-2jcbj7r1.js} +13301 -13225
  157. package/dist/index-2jgwttpt.js +3269 -0
  158. package/dist/index-4dhv7mqz.js +131 -0
  159. package/dist/{index-sj29b3z2.js → index-4mjhqadz.js} +3 -3
  160. package/dist/{index-0c82743p.js → index-57mrqed8.js} +17 -15
  161. package/dist/{index-b35pxds2.js → index-58e3y90n.js} +1 -18
  162. package/dist/index-7jzrrxap.js +931 -0
  163. package/dist/index-8ajstryz.js +18 -0
  164. package/dist/{index-sfpzqvdz.js → index-8cd2j99z.js} +2 -3
  165. package/dist/{index-6wkcswft.js → index-9qjqq45k.js} +29 -19
  166. package/dist/{index-adwfkpex.js → index-9rt53q79.js} +23 -23
  167. package/dist/index-b7mv1jx3.js +1060 -0
  168. package/dist/index-d9vfe7xq.js +16 -0
  169. package/dist/{index-gg8j07zz.js → index-ezmszwbd.js} +8 -6
  170. package/dist/index-fb3zxn06.js +13 -0
  171. package/dist/index-fr0wbhdn.js +43 -0
  172. package/dist/{index-mc22ayvf.js → index-ghc9f0n7.js} +11 -9
  173. package/dist/index-gzcmtmar.js +171 -0
  174. package/dist/{index-w2t4ah5j.js → index-h2py7207.js} +6762 -7400
  175. package/dist/index-h2wc01qk.js +120 -0
  176. package/dist/index-h5zfkjyk.js +1277 -0
  177. package/dist/{index-92bp57hg.js → index-ha87j7a8.js} +1343 -149
  178. package/dist/index-hj2q50k0.js +856 -0
  179. package/dist/{index-wx8a6bw3.js → index-kb9nn0a0.js} +270 -53
  180. package/dist/index-kmpvemph.js +1314 -0
  181. package/dist/index-kp5qe690.js +3030 -0
  182. package/dist/{index-m5fe6jch.js → index-kq57tdf0.js} +152 -2453
  183. package/dist/{v2/server-fq7kq32k.js → index-mfkzp7qj.js} +1 -16
  184. package/dist/{v2/server-njt3np1k.js → index-nm6a8xpd.js} +220 -961
  185. package/dist/{index-hybnrwq0.js → index-nsjyysj0.js} +137 -130
  186. package/dist/index-nydv6g8r.js +3569 -0
  187. package/dist/index-pavzsdc6.js +17 -0
  188. package/dist/index-peshmj6h.js +152 -0
  189. package/dist/index-pxwp2hjk.js +571 -0
  190. package/dist/{v2/server-yr3zj7e7.js → index-qt1qqasc.js} +6 -7
  191. package/dist/{v2/server-51dv1pr5.js → index-qx53vezw.js} +301 -27
  192. package/dist/{index-rrrsepyw.js → index-s4j7t92z.js} +90 -85
  193. package/dist/{index-9pk9exrb.js → index-stbr4ce6.js} +18 -18
  194. package/dist/{index-fzbvakh0.js → index-tqf7yg27.js} +3 -3
  195. package/dist/index-vkbqdnkj.js +2307 -0
  196. package/dist/{index-8da2zjhz.js → index-z1tjp257.js} +9 -7
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +608 -349
  199. package/dist/logger-ewak5q1s.js +20 -0
  200. package/dist/message-index-bounded-h0mrd4pr.js +124 -0
  201. package/dist/{v2/message-time-backfill-1f9tzvcs.js → message-time-backfill-8x06r9kx.js} +8 -6
  202. package/dist/migration-worker.js +25 -18
  203. package/dist/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
  204. package/dist/plugin/dream-timer.d.ts +1 -1
  205. package/dist/plugin/dream-timer.d.ts.map +1 -1
  206. package/dist/plugin/hooks/create-session-hooks.d.ts +3 -0
  207. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  208. package/dist/plugin/host-stall-profiler-report.d.ts +1 -66
  209. package/dist/plugin/host-stall-profiler-report.d.ts.map +1 -1
  210. package/dist/plugin/host-stall-profiler.d.ts +2 -95
  211. package/dist/plugin/host-stall-profiler.d.ts.map +1 -1
  212. package/dist/plugin/messages-transform.d.ts +0 -13
  213. package/dist/plugin/messages-transform.d.ts.map +1 -1
  214. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  215. package/dist/plugin/tool-registry.d.ts.map +1 -1
  216. package/dist/project-embedding-registry-rtt0djyb.js +88 -0
  217. package/dist/raw-ordinal-warmup-worker.js +60 -0
  218. package/dist/{read-session-chunk-4jey7hpt.js → read-session-chunk-ty89v75e.js} +17 -9
  219. package/dist/read-session-raw-8sjbc9h0.js +60 -0
  220. package/dist/recomp-orchestrator-4f1yyd1q.js +57 -0
  221. package/dist/{v2/safe-notification-target-eb1n1vfb.js → safe-notification-target-q0cyrx3x.js} +4 -2
  222. package/dist/search-pz4f4wge.js +45 -0
  223. package/dist/{v2/send-session-notification-c0wtscea.js → send-session-notification-38cd5dqt.js} +10 -7
  224. package/dist/shared/auto-search-lifecycle.d.ts +14 -0
  225. package/dist/shared/auto-search-lifecycle.d.ts.map +1 -1
  226. package/dist/shared/conflict-detector.d.ts.map +1 -1
  227. package/dist/shared/host-stall-profiler-bun.d.ts +46 -0
  228. package/dist/shared/host-stall-profiler-bun.d.ts.map +1 -0
  229. package/dist/shared/host-stall-profiler-common.d.ts +58 -0
  230. package/dist/shared/host-stall-profiler-common.d.ts.map +1 -0
  231. package/dist/shared/host-stall-profiler-node.d.ts +36 -0
  232. package/dist/shared/host-stall-profiler-node.d.ts.map +1 -0
  233. package/dist/shared/host-stall-profiler-report.d.ts +68 -0
  234. package/dist/shared/host-stall-profiler-report.d.ts.map +1 -0
  235. package/dist/shared/host-stall-profiler.d.ts +5 -0
  236. package/dist/shared/host-stall-profiler.d.ts.map +1 -0
  237. package/dist/shared/logger.d.ts.map +1 -1
  238. package/dist/shared/model-resolution.d.ts +2 -3
  239. package/dist/shared/model-resolution.d.ts.map +1 -1
  240. package/dist/shared/models-dev-temperature.d.ts +18 -0
  241. package/dist/shared/models-dev-temperature.d.ts.map +1 -0
  242. package/dist/shared/project-directory-key.d.ts +16 -0
  243. package/dist/shared/project-directory-key.d.ts.map +1 -1
  244. package/dist/shared/sqlite.d.ts +30 -0
  245. package/dist/shared/sqlite.d.ts.map +1 -1
  246. package/dist/shared/stable-json.d.ts.map +1 -1
  247. package/dist/shared/subagent-temperature.d.ts +46 -0
  248. package/dist/shared/subagent-temperature.d.ts.map +1 -0
  249. package/dist/shared/user-facing-codes.d.ts +0 -5
  250. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  251. package/dist/sqlite-context-pragmas-mv9jqwjh.js +6 -0
  252. package/dist/sqlite-mhjkerzq.js +46 -0
  253. package/dist/storage-memory-07fx57k6.js +71 -0
  254. package/dist/storage-tags-k0pda32s.js +133 -0
  255. package/dist/{task-config-v81k8jvk.js → task-config-cgpg0nvh.js} +2 -2
  256. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  257. package/dist/tools/ctx-note/constants.d.ts +4 -0
  258. package/dist/tools/ctx-note/constants.d.ts.map +1 -1
  259. package/dist/tools/ctx-note/tools.d.ts +1 -0
  260. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  261. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  262. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  263. package/dist/tools/ctx-search/types.d.ts +1 -0
  264. package/dist/tools/ctx-search/types.d.ts.map +1 -1
  265. package/dist/tools/parameter-descriptions.d.ts +2 -2
  266. package/dist/tools/parameter-descriptions.d.ts.map +1 -1
  267. package/dist/{transform-postprocess-phase-z5hzpsxv.js → transform-postprocess-phase-tck4g20s.js} +35 -20
  268. package/dist/transformers-node-wasm.js +18415 -18415
  269. package/dist/v2/auto-search-worker.js +27 -30
  270. package/dist/v2/{context-14v1hr8b.js → context-crbt6p1y.js} +4708 -4218
  271. package/dist/v2/{derive-budgets-nc9avxz8.js → derive-budgets-fgej9j46.js} +4 -3
  272. package/dist/v2/embedding-activity-g1dhes6g.js +10 -0
  273. package/dist/v2/embedding-backfill-ph1qfyn3.js +21 -0
  274. package/dist/v2/embedding-cache-mgyr73ef.js +16 -0
  275. package/dist/v2/embedding-worker.js +12 -9
  276. package/dist/v2/fold/host-media.d.ts +4 -0
  277. package/dist/v2/fold/host-media.d.ts.map +1 -1
  278. package/dist/v2/fold/memory-cache.d.ts +70 -0
  279. package/dist/v2/fold/memory-cache.d.ts.map +1 -0
  280. package/dist/v2/fold/native-codec.d.ts +10 -0
  281. package/dist/v2/fold/native-codec.d.ts.map +1 -0
  282. package/dist/v2/fold/native-replay.d.ts +58 -0
  283. package/dist/v2/fold/native-replay.d.ts.map +1 -0
  284. package/dist/v2/fold/policy.d.ts +24 -0
  285. package/dist/v2/fold/policy.d.ts.map +1 -0
  286. package/dist/v2/harness-e4avh192.js +10 -0
  287. package/dist/v2/hidden-child-native.d.ts.map +1 -1
  288. package/dist/v2/hidden-completion.d.ts +7 -0
  289. package/dist/v2/hidden-completion.d.ts.map +1 -1
  290. package/dist/v2/hooks/context.d.ts +2 -2
  291. package/dist/v2/hooks/context.d.ts.map +1 -1
  292. package/dist/v2/hooks/dream-manual.d.ts +1 -1
  293. package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
  294. package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
  295. package/dist/v2/hooks/dream-trigger.d.ts +5 -3
  296. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  297. package/dist/v2/hooks/generate.d.ts +9 -2
  298. package/dist/v2/hooks/generate.d.ts.map +1 -1
  299. package/dist/v2/hooks/payload.d.ts.map +1 -1
  300. package/dist/v2/hooks/tools.d.ts.map +1 -1
  301. package/dist/v2/hooks/types.d.ts +6 -0
  302. package/dist/v2/hooks/types.d.ts.map +1 -1
  303. package/dist/v2/logger-pj02s7sr.js +19 -0
  304. package/dist/v2/message-index-bounded-xwqdywxg.js +123 -0
  305. package/dist/{message-time-backfill-r5epkzj3.js → v2/message-time-backfill-cje68egj.js} +7 -7
  306. package/dist/v2/migration-worker.js +24 -17
  307. package/dist/v2/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
  308. package/dist/v2/project-embedding-registry-d6m7tyxr.js +86 -0
  309. package/dist/v2/raw-ordinal-warmup-worker.js +60 -0
  310. package/dist/v2/{read-session-chunk-gyyv7w2r.js → read-session-chunk-8p5mdryx.js} +16 -8
  311. package/dist/v2/read-session-raw-j8dvp7f4.js +59 -0
  312. package/dist/v2/recomp-orchestrator-ckfgt6wq.js +57 -0
  313. package/dist/{safe-notification-target-43r8jsxw.js → v2/safe-notification-target-y3p1hce9.js} +3 -3
  314. package/dist/v2/search-ym8rehhz.js +45 -0
  315. package/dist/{send-session-notification-0m68ms3n.js → v2/send-session-notification-5m0yapqx.js} +9 -8
  316. package/dist/v2/{server-rz514f14.js → server-19zjmn02.js} +2044 -2060
  317. package/dist/v2/server-1tk82krw.js +796 -0
  318. package/dist/v2/server-2bvekkfy.js +11 -0
  319. package/dist/v2/{server-ajzeteqw.js → server-2ra6pwf3.js} +1 -18
  320. package/dist/v2/server-2s6ayq3t.js +1048 -0
  321. package/dist/v2/{server-fcdehk1s.js → server-2s9qz6n7.js} +4 -4
  322. package/dist/v2/server-3j4d00kf.js +171 -0
  323. package/dist/v2/{server-14vq4kpm.js → server-3t0q2cqx.js} +3 -3
  324. package/dist/v2/server-4dhv7mqz.js +131 -0
  325. package/dist/v2/server-4ez8mntn.js +3213 -0
  326. package/dist/v2/{server-6r257mf5.js → server-676xw7at.js} +3 -3
  327. package/dist/v2/{server-vs5gpnd4.js → server-6byqfbqf.js} +165 -145
  328. package/dist/v2/server-7ekna9zs.js +120 -0
  329. package/dist/v2/server-7h861yms.js +1272 -0
  330. package/dist/v2/server-7jzrrxap.js +931 -0
  331. package/dist/v2/server-8ajstryz.js +18 -0
  332. package/dist/v2/{server-sfpzqvdz.js → server-8cd2j99z.js} +2 -3
  333. package/dist/v2/{server-cpepxy2q.js → server-8k2agx29.js} +14 -12
  334. package/dist/v2/server-c5rrgrcd.js +3545 -0
  335. package/dist/v2/server-d9vfe7xq.js +16 -0
  336. package/dist/v2/server-fb3zxn06.js +13 -0
  337. package/dist/v2/server-fr0wbhdn.js +43 -0
  338. package/dist/v2/{server-y10vbq6y.js → server-hb6xhh9q.js} +11 -1053
  339. package/dist/v2/server-jvxzm1jy.js +3023 -0
  340. package/dist/v2/{server-wx8a6bw3.js → server-kb9nn0a0.js} +270 -53
  341. package/dist/{index-5eqk6z3s.js → v2/server-kzns2hbz.js} +301 -27
  342. package/dist/{index-rrbbspwh.js → v2/server-mfkzp7qj.js} +1 -16
  343. package/dist/v2/server-pavzsdc6.js +17 -0
  344. package/dist/v2/{server-vd4e7174.js → server-pj4pjv02.js} +21 -17
  345. package/dist/v2/{server-e0c1b7a7.js → server-q4ph9bwn.js} +1340 -148
  346. package/dist/{index-yr3zj7e7.js → v2/server-qt1qqasc.js} +6 -7
  347. package/dist/v2/{server-qdjnb2z1.js → server-r5p3b1wy.js} +11 -9
  348. package/dist/v2/{server-d0sraw7m.js → server-sa8jvrfc.js} +291 -286
  349. package/dist/v2/server-ss95ky04.js +1048 -0
  350. package/dist/v2/{server-1qbnzc80.js → server-t4k4qexw.js} +142 -150
  351. package/dist/{index-x3kwrmqk.js → v2/server-v4mewb78.js} +35 -792
  352. package/dist/v2/server-w32kmdez.js +154 -0
  353. package/dist/v2/{server-nf82q6pt.js → server-x4hscabv.js} +5547 -5449
  354. package/dist/v2/server-xwz4dqh9.js +569 -0
  355. package/dist/v2/{server-efhwzx05.js → server-ycw9qqcy.js} +23 -23
  356. package/dist/v2/{server-50hvkg3v.js → server-zm570tr2.js} +160 -158
  357. package/dist/v2/server-zp53y8js.js +1311 -0
  358. package/dist/v2/server.js +16 -14
  359. package/dist/v2/sqlite-context-pragmas-mv9jqwjh.js +6 -0
  360. package/dist/v2/sqlite-mhjkerzq.js +46 -0
  361. package/dist/v2/storage-memory-07fx57k6.js +71 -0
  362. package/dist/v2/storage-tags-8vw924zn.js +132 -0
  363. package/dist/v2/store-reader.d.ts +24 -2
  364. package/dist/v2/store-reader.d.ts.map +1 -1
  365. package/dist/v2/{task-config-tbndqyny.js → task-config-x0hq3qfd.js} +2 -2
  366. package/dist/v2/transformers-node-wasm.js +18415 -18415
  367. package/dist/v2/tui/index.d.ts.map +1 -1
  368. package/dist/v2/tui/types.d.ts +1 -10
  369. package/dist/v2/tui/types.d.ts.map +1 -1
  370. package/dist/v2/{wrapup-orchestrator-nbz854vc.js → wrapup-orchestrator-a7efxaax.js} +51 -30
  371. package/dist/wrapup-orchestrator-barbc6h9.js +44 -0
  372. package/package.json +4 -3
  373. package/src/agents/magic-context-prompt.ts +27 -2
  374. package/src/agents/smart-notes-enabled.test.ts +294 -0
  375. package/src/agents/smart-notes-on.golden.json +70 -0
  376. package/src/config/index.test.ts +67 -1
  377. package/src/config/index.ts +2 -0
  378. package/src/config/latch-permanence-guard.test.ts +4 -0
  379. package/src/config/mural-model-deprecation.ts +24 -0
  380. package/src/config/project-security.hostile-matrix.test.ts +4 -44
  381. package/src/config/project-security.test.ts +9 -14
  382. package/src/config/project-security.ts +13 -55
  383. package/src/config/schema/magic-context.test.ts +2 -2
  384. package/src/config/schema/magic-context.ts +16 -10
  385. package/src/features/magic-context/dreamer/task-registry.ts +6 -0
  386. package/src/shared/auto-search-lifecycle.ts +43 -0
  387. package/src/shared/conflict-detector.test.ts +56 -0
  388. package/src/shared/conflict-detector.ts +16 -5
  389. package/src/shared/host-stall-profiler-bun.ts +358 -0
  390. package/src/shared/host-stall-profiler-common.ts +159 -0
  391. package/src/shared/host-stall-profiler-node.test.ts +234 -0
  392. package/src/shared/host-stall-profiler-node.ts +274 -0
  393. package/src/shared/host-stall-profiler-report.ts +248 -0
  394. package/src/shared/host-stall-profiler.ts +57 -0
  395. package/src/shared/logger.test.ts +38 -0
  396. package/src/shared/logger.ts +10 -2
  397. package/src/shared/model-resolution.test.ts +54 -17
  398. package/src/shared/model-resolution.ts +6 -17
  399. package/src/shared/models-dev-temperature.ts +107 -0
  400. package/src/shared/project-directory-key.test.ts +59 -0
  401. package/src/shared/project-directory-key.ts +20 -0
  402. package/src/shared/sqlite.test.ts +52 -0
  403. package/src/shared/sqlite.ts +339 -23
  404. package/src/shared/stable-json-linear.test.ts +109 -0
  405. package/src/shared/stable-json.ts +37 -7
  406. package/src/shared/subagent-temperature.test.ts +270 -0
  407. package/src/shared/subagent-temperature.ts +110 -0
  408. package/src/shared/user-facing-codes.ts +2 -6
  409. package/src/shared/write-transaction-attribution.test.ts +2 -2
  410. package/src/v2/tui/host-contract.test.ts +41 -67
  411. package/src/v2/tui/index.ts +6 -214
  412. package/src/v2/tui/types.ts +5 -17
  413. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts +0 -45
  414. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts.map +0 -1
  415. package/dist/features/magic-context/checkout-claim.d.ts +0 -155
  416. package/dist/features/magic-context/checkout-claim.d.ts.map +0 -1
  417. package/dist/index-bb36vgr3.js +0 -6608
  418. package/dist/index-fnn5pjtt.js +0 -6554
  419. package/dist/recomp-orchestrator-rervg6q4.js +0 -42
  420. package/dist/v2/recomp-orchestrator-42vjba7p.js +0 -42
  421. package/dist/v2/server-3trjk1hx.js +0 -6360
  422. package/dist/v2/server-nm9n3aqq.js +0 -6461
  423. package/dist/wrapup-orchestrator-b2dztrar.js +0 -29
  424. /package/dist/{index-5prbx026.js → index-2pp04pmg.js} +0 -0
  425. /package/dist/v2/{index-5prbx026.js → index-2pp04pmg.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { type LkgEntryNote, type LkgSlot } from "./lkg-slot";
1
+ import { type LkgEntryDigestStats, type LkgEntryNote, type LkgSlot } from "./lkg-slot";
2
2
  import type { MessageLike } from "./transform-operations";
3
3
  export interface LkgModelKeys {
4
4
  modelKey: string | null;
@@ -16,14 +16,17 @@ export interface LkgEntryProjection {
16
16
  contentDigest?: () => string | null;
17
17
  }
18
18
  export declare function projectLkgEntry(messages: MessageLike[]): LkgEntryProjection[];
19
- /** Keep exact pristine tokens in memory: ids or rolling hashes alone cannot prove reuse. */
19
+ /**
20
+ * Project each pass's pristine input with per-message digests reused from the
21
+ * previous pass. Reuse needs the exact retained tokens of a message, not its id
22
+ * or a rolling hash; see {@link LkgEntryDigestCache}. By default the projector
23
+ * shares the cache {@link noteEntry} fills earlier in the same pass, so the
24
+ * messages it already digested are only compared again. An explicit `maxBytes`
25
+ * gives the projector its own cache bounded to that many bytes.
26
+ */
20
27
  export declare function createLkgEntryProjector(options?: {
21
28
  maxBytes?: number;
22
- onReuse?: (stats: {
23
- reused: number;
24
- retained: number;
25
- retainedBytes: number;
26
- }) => void;
29
+ onReuse?: (stats: LkgEntryDigestStats) => void;
27
30
  }): (sessionId: string, messages: MessageLike[]) => LkgEntryProjection[];
28
31
  export interface LkgCaptureInput {
29
32
  sessionId: string;
@@ -40,7 +43,9 @@ export declare function findLkgAnchor(messages: LkgEntryProjection[]): number |
40
43
  /**
41
44
  * Build the replay prefix and serialize it once. The returned `jsonPrefix` is
42
45
  * the exact artifact stored in the last-known-good replay entry; callers must
43
- * use it as-is rather than serialize the prefix again.
46
+ * use it as-is rather than serialize the prefix again. It holds the served
47
+ * messages as the provider receives them: tool-state fields no host sends are
48
+ * left out.
44
49
  */
45
50
  export declare function buildLkgPrefix(input: LkgEntryProjection[] | MessageLike[], output: MessageLike[]): {
46
51
  anchorIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"lkg-replay.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/lkg-replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lkg-replay.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/lkg-replay.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,11 @@ export interface LkgEntryNote {
18
18
  pristineTail: MessageLike[];
19
19
  entryInputIds: string[];
20
20
  entryContentDigests: string[];
21
+ /**
22
+ * Legacy-format digests of the same prefix, present when the slot it was
23
+ * noted against was written before the current digest format.
24
+ */
25
+ entryLegacyContentDigests?: (string | null)[];
21
26
  anchorIndex: number;
22
27
  }
23
28
  /**
@@ -54,6 +59,11 @@ interface MessageContentFieldVisitor {
54
59
  endObject(token: number, entryCount: number): boolean;
55
60
  }
56
61
  export declare function visitMessageContentFields(value: unknown, visitor: MessageContentFieldVisitor): boolean;
62
+ /**
63
+ * The value a content snapshot covers: what the provider receives of a message.
64
+ * Tool-state fields no host sends are left out (see provider-visible-parts.ts),
65
+ * so they are never walked or hashed and a change to them is no change.
66
+ */
57
67
  export declare function contentSnapshotValue(value: unknown): unknown;
58
68
  export declare function messageContentFields(message: MessageLike): LkgContentField[];
59
69
  export declare function signatureForFields(fields: readonly LkgContentField[]): string;
@@ -61,12 +71,59 @@ export declare function signatureForFields(fields: readonly LkgContentField[]):
61
71
  export declare function messageContentSnapshot(message: MessageLike): MessageContentSnapshot;
62
72
  /** Flatten a value into typed tokens while retaining strings without deep copies. */
63
73
  export declare function lkgContentFields(value: unknown): LkgContentField[] | null;
74
+ /**
75
+ * The digest a replay compares to decide whether a message is unchanged, so
76
+ * two different token lists must never encode to the same bytes (or a changed
77
+ * message could replay stale content), and it runs over every new or changed
78
+ * message, so it must be cheap per token.
79
+ *
80
+ * sha256 over an unambiguous binary encoding of the tokens: a one-byte tag per
81
+ * token, then for a string its length in UTF-16 units (uint32) and its UTF-16
82
+ * code units (so lone surrogates stay distinct), for a number its float64
83
+ * bytes, and for a marker symbol nothing more. Tokens are packed into a 64 KiB
84
+ * chunk and hashed one chunk at a time; a string too large for the chunk is
85
+ * hashed on its own. Building a text per token and updating the hash three times
86
+ * per token ran at about 44 MB/s on diagnostics-heavy tool parts with about a
87
+ * million tokens each.
88
+ */
64
89
  export declare function lkgContentDigestFromFields(fields: readonly LkgContentField[]): string;
90
+ /**
91
+ * Marks a digest written by {@link lkgContentDigestFromFields}. Durable slots
92
+ * written before it carry unmarked digests over the whole message in a text
93
+ * encoding (base64url never contains "."), and those are checked with
94
+ * {@link legacyLkgDigestFromFields} instead, so an upgrade does not turn a
95
+ * replayable turn into a refusal. The next healthy capture writes the slot in
96
+ * the current format.
97
+ */
98
+ export declare const LKG_DIGEST_FORMAT_PREFIX = "2.";
99
+ export declare function isLegacyLkgDigest(digest: string): boolean;
100
+ /**
101
+ * The digest durable slots carried before {@link LKG_DIGEST_FORMAT_PREFIX}:
102
+ * sha256 of the text `<type>:<length>:<value>\0` per token. Kept only to verify
103
+ * legacy slots; nothing writes it.
104
+ */
105
+ export declare function legacyLkgDigestFromFields(fields: readonly LkgContentField[]): string;
106
+ /**
107
+ * The legacy digest of a message: over the whole message, tool metadata
108
+ * included, as slots were written before the provider view; only an empty user
109
+ * diff summary is left out, as it was then.
110
+ */
111
+ export declare function legacyLkgContentDigest(message: unknown): string | null;
112
+ /**
113
+ * Whether tokens match a stored digest in either format. Callers whose tokens
114
+ * are the same in both formats (Pi) use this; the OpenCode entry note keeps a
115
+ * separate legacy digest because its legacy tokens covered the whole message.
116
+ */
117
+ export declare function lkgFieldsMatchDigest(fields: readonly LkgContentField[], stored: string | undefined): boolean;
65
118
  export interface LkgInputSnapshot {
66
119
  id: string;
67
120
  fields: readonly LkgContentField[];
68
121
  }
69
- /** Share pristine digests across entry capture and projection after exact typed-field comparison. */
122
+ /**
123
+ * Id-keyed digest memo, bounded to 16 MiB, that reuses a digest only after an
124
+ * exact typed-field comparison. Entry capture and the entry projection now use
125
+ * {@link LkgEntryDigestCache} instead.
126
+ */
70
127
  export declare function memoizedLkgContentDigestFromFields(id: string, fields: readonly LkgContentField[]): string;
71
128
  /** Compare captured tokens before reusing digests: a message can change without changing its id. */
72
129
  export declare function exactReusablePrefix(current: readonly LkgInputSnapshot[], prior: readonly LkgInputSnapshot[] | null): number;
@@ -88,7 +145,11 @@ export declare function incrementalLkgContentDigests(entries: readonly LkgDigest
88
145
  digests: string[];
89
146
  reusedPrefix: number;
90
147
  };
91
- /** Digest the full message tree to detect input drift before an LKG replay. */
148
+ /**
149
+ * Digest what the provider sees of a message to detect input drift before an
150
+ * LKG replay. Fields OpenCode never sends (see provider-visible-parts.ts) are
151
+ * left out, so they cost nothing and a change to them does not block a replay.
152
+ */
92
153
  export declare function lkgContentDigest(message: MessageLike): string | null;
93
154
  /**
94
155
  * Why {@link captureSlot} would refuse `slot` for `sessionId`, or null when it would
@@ -103,6 +164,82 @@ export declare function getSlot(sessionId: string): LkgSlot | undefined;
103
164
  export declare function forgetInMemorySlot(sessionId: string): void;
104
165
  export declare function dropSlot(sessionId: string, _reason?: string): void;
105
166
  export declare function noteEntry(sessionId: string, messages: MessageLike[]): LkgEntryNote | null;
167
+ /**
168
+ * Work the entry digest cache did since the last reset, for tests and the
169
+ * issue 653 benchmark: how many messages were flattened and hashed (and how many
170
+ * string characters that covered), and how many tokens and string characters
171
+ * were compared against retained tokens.
172
+ */
173
+ export interface LkgEntryWork {
174
+ flattenedMessages: number;
175
+ flattenedChars: number;
176
+ hashedMessages: number;
177
+ comparedMessages: number;
178
+ comparedFields: number;
179
+ comparedChars: number;
180
+ }
181
+ /** @internal */
182
+ export declare function getLkgEntryWorkForTest(): LkgEntryWork;
183
+ export interface LkgEntryDigestStats {
184
+ reused: number;
185
+ retained: number;
186
+ retainedBytes: number;
187
+ }
188
+ /**
189
+ * Per-message pristine digests for each session, reused from one pass to the
190
+ * next.
191
+ *
192
+ * Tokens cover only what the provider sees of a message (see
193
+ * provider-visible-parts.ts). Each retained message keeps its exact typed
194
+ * tokens. A message reuses its digest only when it has the same id as a
195
+ * retained entry and its visible content still flattens to that entry's tokens, checked by {@link contentMatchesFields}
196
+ * without building anything; neither the id nor the object alone is trusted.
197
+ * Anything else is flattened and hashed. So an ordinary pass flattens and hashes
198
+ * only new or changed messages, and compares the rest at memory speed.
199
+ *
200
+ * Retention is per session. A session keeps entries in message order up to
201
+ * its share of the total budget (the total divided by the number of sessions
202
+ * retained, never more than the per-session cap); when a session joins,
203
+ * sessions above the new share are trimmed rather than dropped. Two large
204
+ * sessions served alternately therefore both keep their entries, instead of
205
+ * evicting each other on every pass, and the total never exceeds its ceiling.
206
+ * Messages beyond a session's share are hashed on every pass.
207
+ */
208
+ export declare class LkgEntryDigestCache {
209
+ private readonly limits;
210
+ private readonly sessions;
211
+ private totalBytes;
212
+ constructor(limits: {
213
+ sessionMaxBytes: number;
214
+ totalMaxBytes: number;
215
+ maxSessions: number;
216
+ });
217
+ digests(sessionId: string, messages: readonly MessageLike[]): {
218
+ digests: (string | null)[];
219
+ stats: LkgEntryDigestStats;
220
+ };
221
+ private store;
222
+ /** Retained bytes per session and in total, for tests and diagnostics. */
223
+ stats(): {
224
+ totalBytes: number;
225
+ sessions: Array<{
226
+ sessionId: string;
227
+ bytes: number;
228
+ }>;
229
+ };
230
+ clear(): void;
231
+ }
232
+ /**
233
+ * Ceiling for the cache {@link noteEntry} and the transform's entry projection
234
+ * share. One session may use up to half of it, so two large sessions served
235
+ * alternately both stay resident; a 64 MiB total used to make two sessions of
236
+ * over 32 MiB evict each other on every pass.
237
+ */
238
+ export declare const LKG_ENTRY_CACHE_TOTAL_BYTES: number;
239
+ export declare const LKG_ENTRY_CACHE_SESSION_BYTES: number;
240
+ export declare const sharedLkgEntryDigests: LkgEntryDigestCache;
241
+ /** @internal sha256 digests computed since the last reset. */
242
+ export declare function getLkgDigestsComputedForTest(): number;
106
243
  export declare function resetLkgSlotsForTest(): void;
107
244
  export interface LkgSlotHeapStats {
108
245
  count: number;
@@ -1 +1 @@
1
- {"version":3,"file":"lkg-slot.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/lkg-slot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lkg-slot.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/lkg-slot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message-search-accepting-silent-worker.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-search-accepting-silent-worker.fixture.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/message-search-accepting-silent-worker.fixture.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=oc-stall-r2-warmup-worker.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oc-stall-r2-warmup-worker.fixture.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=oc-stall-search-review.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oc-stall-search-review.fixture.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/oc-stall-search-review.fixture.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * OpenCode 1's own conversion of session messages to provider messages, run
3
+ * from a verbatim copy of its source for tests.
4
+ *
5
+ * `__fixtures__/opencode-v1.18.35-to-model-messages.txt` holds, byte for byte,
6
+ * from OpenCode at tag v1.18.35 (commit 53d1eabb61e21162157817bf677da0a4ad3332e3):
7
+ * `packages/opencode/src/util/media.ts` and `packages/opencode/src/util/iife.ts`
8
+ * whole, then lines 46, 49-53 and 125-436 of
9
+ * `packages/opencode/src/session/message-v2.ts`: `SYNTHETIC_ATTACHMENT_PROMPT`,
10
+ * `truncateToolOutput`, `providerMeta`, `toModelMessagesEffect` and
11
+ * `toModelMessages`. {@link OPENCODE1_EXCERPT_SHA256} pins that text; the
12
+ * fidelity test fails if the copy changes, and, when an OpenCode checkout is
13
+ * available, if the copy differs from upstream at the tag.
14
+ *
15
+ * The excerpt runs unchanged: its type annotations are stripped by Bun's
16
+ * transpiler and its imports are supplied here. `convertToModelMessages` is the
17
+ * AI SDK's (`ai` 6.0.168, the version OpenCode 1.18.35 pins) and `Effect` is
18
+ * Effect 4; `MessageID.ascending` and `AbortedError.isInstance` stand in for
19
+ * OpenCode's id generator and named-error check.
20
+ */
21
+ /** An AI SDK model message, as the conversion returns it. */
22
+ export type ModelMessage = {
23
+ role: string;
24
+ content: unknown;
25
+ };
26
+ export declare const OPENCODE1_TAG = "v1.18.35";
27
+ export declare const OPENCODE1_COMMIT = "53d1eabb61e21162157817bf677da0a4ad3332e3";
28
+ /** Upstream files the excerpt is cut from, with their git blob ids at the tag. */
29
+ export declare const OPENCODE1_SOURCES: {
30
+ readonly media: {
31
+ readonly path: "packages/opencode/src/util/media.ts";
32
+ readonly blob: "566ac843a6342925e3e3d53f9b7dedf90c2d4a8e";
33
+ };
34
+ readonly iife: {
35
+ readonly path: "packages/opencode/src/util/iife.ts";
36
+ readonly blob: "ca9ae6c10b44cfcfa5241048196675039ef8f8ec";
37
+ };
38
+ readonly messages: {
39
+ readonly path: "packages/opencode/src/session/message-v2.ts";
40
+ readonly blob: "75f2d89379d79a847d684ad7def5b7215474dec7";
41
+ readonly lines: readonly [readonly [46, 46], readonly [49, 53], readonly [125, 436]];
42
+ };
43
+ };
44
+ export declare const OPENCODE1_EXCERPT_SHA256 = "e530c77ec018d8ed9628e1d416a1ef8fbfbadd72569f562264b4380d782b0ecb";
45
+ export declare const OPENCODE1_EXCERPT_URL: URL;
46
+ /** Assemble the excerpt from upstream file contents, the same way the fixture was cut. */
47
+ export declare function assembleOpencode1Excerpt(read: (path: string) => string): string;
48
+ export declare function readOpencode1Excerpt(): string;
49
+ export interface Opencode1Model {
50
+ providerID: string;
51
+ id: string;
52
+ api: {
53
+ npm: string;
54
+ id: string;
55
+ };
56
+ }
57
+ /** OpenCode 1.18.35's `MessageV2.toModelMessages`, run from the verbatim excerpt. */
58
+ export declare function opencode1ToModelMessages(input: unknown[], model: Opencode1Model, options?: {
59
+ stripMedia?: boolean;
60
+ toolOutputMaxChars?: number;
61
+ }): Promise<ModelMessage[]>;
62
+ export declare function opencode1SyntheticAttachmentPrompt(): string;
63
+ //# sourceMappingURL=opencode1-to-model-messages.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode1-to-model-messages.fixture.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/opencode1-to-model-messages.fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,gBAAgB,6CAA6C,CAAC;AAC3E,kFAAkF;AAClF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAkBpB,CAAC;AACX,eAAO,MAAM,wBAAwB,qEACiC,CAAC;AACvE,eAAO,MAAM,qBAAqB,KAGjC,CAAC;AAEF,0FAA0F;AAC1F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAU/E;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AA8CD,qFAAqF;AACrF,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzB;AAED,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D"}
@@ -41,6 +41,7 @@ export declare const PASS_DEGRADATION_EFFECTS: {
41
41
  readonly "auto-search-timeout": "served";
42
42
  readonly "auto-search-search-failure": "served";
43
43
  readonly "auto-search-cas-exhaustion": "served";
44
+ readonly "auto-search-storage-busy": "served";
44
45
  readonly "auto-search-internal-failure": "served";
45
46
  readonly "thinking-binding-recovery-persistence-failure": "changes-request";
46
47
  readonly "merged-reasoning-strip-persistence-failure": "changes-request";
@@ -1 +1 @@
1
- {"version":3,"file":"pass-outcome.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/pass-outcome.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C4B,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAExE,oHAAoH;AACpH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAE5E;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpE,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,iBAAiB,IAAI,OAAO,CAAC;CAChC;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAmC/C"}
1
+ {"version":3,"file":"pass-outcome.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/pass-outcome.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8C4B,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAExE,oHAAoH;AACpH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAE5E;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpE,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,iBAAiB,IAAI,OAAO,CAAC;CAChC;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAmC/C"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * The part of a host message the provider receives, for comparisons and
3
+ * snapshots that must follow provider bytes and nothing else.
4
+ *
5
+ * Only a tool part's `state` is reduced; every other field of every part, and
6
+ * the message info, is kept as it is. The kept state fields are an explicit
7
+ * allowlist of what the hosts' model conversions read:
8
+ *
9
+ * - OpenCode 1 builds the request from the transformed messages only through
10
+ * `MessageV2.toModelMessagesEffect` (called right after the
11
+ * `experimental.chat.messages.transform` hook in
12
+ * packages/opencode/src/session/prompt.ts at v1.18.35). Its tool branch
13
+ * (packages/opencode/src/session/message-v2.ts) reads `state.status`,
14
+ * `state.input`, `state.output`, `state.error`, `state.attachments`,
15
+ * `state.time.compacted`, and on an `error` state `state.metadata.interrupted`
16
+ * and `state.metadata.output`.
17
+ * - OpenCode 2 receives the transformed messages back through the context
18
+ * hook's commit (src/v2/hooks/payload.ts), which reads `state.input`,
19
+ * `state.status`, `state.output`, `state.error` and `state.content`; its own
20
+ * lowering (packages/core/src/session/runner/to-llm-message.ts at v2.0.24)
21
+ * reads tool `input`, `content` and `error`.
22
+ *
23
+ * Everything else in a tool state is UI data: edit and write tools store
24
+ * workspace-wide LSP diagnostics, diffs and file snapshots in `state.metadata`,
25
+ * often several MiB per part and nearly all of a long coding session's bytes,
26
+ * plus `title`, the start and end times and the raw streamed input. Walking,
27
+ * copying, hashing or storing that on every pass cost tens of seconds, and a
28
+ * change to it, which no provider sees, must not count as a content change.
29
+ *
30
+ * A state field a future host version starts sending must be added to the
31
+ * allowlist; the provider-request test vendors the conversions above to catch
32
+ * a difference.
33
+ */
34
+ /**
35
+ * The part as the provider sees it. Returns the same object when nothing needs
36
+ * removing, otherwise a shallow copy with a reduced `state`; the input is never
37
+ * changed.
38
+ */
39
+ export declare function providerVisiblePart(part: unknown): unknown;
40
+ /**
41
+ * The message with each part reduced by {@link providerVisiblePart}. Returns the
42
+ * same object when no part changes.
43
+ */
44
+ export declare function providerVisibleMessage<T>(message: T): T;
45
+ //# sourceMappingURL=provider-visible-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-visible-parts.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/provider-visible-parts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAgEH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAI1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAcvD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=raw-ordinal-warmup-silent-worker.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-ordinal-warmup-silent-worker.fixture.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=raw-ordinal-warmup-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-ordinal-warmup-worker.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/raw-ordinal-warmup-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ import type { IndexWorkerMeasurements } from "../../features/magic-context/message-index-bounded";
2
+ import type { TagOwnerDelta, TagOwnerSummary, TagOwnerWarmupState } from "../../features/magic-context/storage-tags";
3
+ import type { HarnessId } from "../../shared/harness";
4
+ import { type Database } from "../../shared/sqlite";
5
+ import { type RawMessage, type RawSessionSummaryScan } from "./read-session-raw";
6
+ export interface RawOrdinalWarmupInput {
7
+ path: string;
8
+ sessionId: string;
9
+ tagRatio?: number;
10
+ tagRatios?: number[];
11
+ tagState?: TagOwnerWarmupState;
12
+ indexMessage?: RawMessage;
13
+ previous?: RawSessionSummaryScan;
14
+ harness?: HarnessId;
15
+ indexCancellation?: SharedArrayBuffer;
16
+ indexCoordination?: SharedArrayBuffer;
17
+ indexOwner?: number;
18
+ }
19
+ export type RawOrdinalWarmupReply = {
20
+ kind: "accepted";
21
+ } | {
22
+ kind: "scan";
23
+ scan: RawSessionSummaryScan;
24
+ } | {
25
+ kind: "tag-summary";
26
+ summary: TagOwnerSummary;
27
+ } | {
28
+ kind: "tag-delta";
29
+ delta: TagOwnerDelta;
30
+ } | {
31
+ kind: "indexed";
32
+ inserted: boolean;
33
+ measurements?: IndexWorkerMeasurements;
34
+ } | {
35
+ kind: "error";
36
+ error: string;
37
+ };
38
+ /**
39
+ * "warm": this connection has valid rank checkpoints. "failed": the
40
+ * off-thread scan could not be completed or installed.
41
+ */
42
+ export type RawOrdinalWarmupOutcome = "warm" | "failed";
43
+ export type RawOrdinalWarmupFailureReason = "start-failed" | "not-accepted" | "no-result" | "worker-error" | "exited" | "stopped" | "superseded";
44
+ export interface RawOrdinalWarmupOptions {
45
+ entry?: URL;
46
+ /** @deprecated File stores always scan off-thread; retained for old callers. */
47
+ inThreadMaxRows?: number;
48
+ acceptMs?: number;
49
+ resultMs?: number;
50
+ }
51
+ /** How often each reason left a session without an off-thread scan, in this process. */
52
+ export declare function getRawOrdinalWarmupFailures(): ReadonlyMap<RawOrdinalWarmupFailureReason, number>;
53
+ /** Stop every running warm-up worker; their callers see "failed". */
54
+ export declare function stopRawSessionOrdinalWarmups(): void;
55
+ /** @internal */
56
+ export declare function resetRawSessionOrdinalWarmupsForTest(): void;
57
+ export declare function runSessionWarmupWorker(input: RawOrdinalWarmupInput, options: RawOrdinalWarmupOptions): Promise<WorkerResult>;
58
+ /**
59
+ * Prepare exact message numbers, excluding finished compaction summaries, without
60
+ * scanning the session on the host thread. The worker records prefix counts
61
+ * every 256 stored messages so later lookups need only a bounded suffix read.
62
+ *
63
+ * Already warm: extends those checkpoints and returns. Cold file stores always
64
+ * use the worker, including sessions opened long after process startup. Memory
65
+ * stores use the direct path because another connection cannot see them.
66
+ * Tail deletion from a revert truncates to the last surviving checkpoint.
67
+ * Concurrent requests on the same database handle share one worker; separate
68
+ * handles keep separate caches because session ids can repeat across stores.
69
+ * Explicit cache resets during a scan allow an immediate retry. Worker failures
70
+ * back off to avoid repeatedly spawning a worker that cannot run.
71
+ */
72
+ export declare function prewarmRawSessionOrdinalsForDb(db: Database, sessionId: string, options?: RawOrdinalWarmupOptions): Promise<RawOrdinalWarmupOutcome>;
73
+ type WorkerResult = {
74
+ scan: RawSessionSummaryScan;
75
+ } | {
76
+ summary: TagOwnerSummary;
77
+ } | {
78
+ delta: TagOwnerDelta;
79
+ } | {
80
+ inserted: boolean;
81
+ measurements?: IndexWorkerMeasurements;
82
+ } | {
83
+ failure: RawOrdinalWarmupFailureReason;
84
+ detail: string;
85
+ };
86
+ export {};
87
+ //# sourceMappingURL=raw-ordinal-warmup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-ordinal-warmup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/raw-ordinal-warmup.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ToolExpansionMap } from "../../shared/historian-tool-template";
2
2
  import type { Database } from "../../shared/sqlite";
3
3
  import { type SessionChunkLine } from "./read-session-formatting";
4
- import { type RawMessage, type RawMessageOrdinalAnchor, type RawMessageOrdinalEntry, type RawMessageParts } from "./read-session-raw";
4
+ import { type RawBoundaryEndpoint, type RawMessage, type RawMessageOrdinalAnchor, type RawMessageOrdinalEntry, type RawMessageParts } from "./read-session-raw";
5
5
  export { extractTexts, hasMeaningfulUserText } from "./read-session-formatting";
6
6
  /**
7
7
  * Per-session source override for raw message reading.
@@ -146,6 +146,7 @@ export declare function readRawSessionMessages(sessionId: string): RawMessage[];
146
146
  export declare namespace readRawSessionMessages {
147
147
  var readPage: typeof readRawSessionMessagePage;
148
148
  var getCount: typeof getRawSessionMessageOrdinalCount;
149
+ var prepare: typeof prepareRawSessionOrdinals;
149
150
  }
150
151
  export declare function readRawSessionMessagePage(sessionId: string, afterOrdinal: number, limit: number, finalWatermark: number, after?: RawMessageOrdinalAnchor): RawMessage[];
151
152
  export declare function getRawSessionMessageOrdinalCount(sessionId: string): number;
@@ -167,6 +168,14 @@ export declare function visitRawSessionMessages(sessionId: string, fromOrdinal:
167
168
  }): void;
168
169
  /** Read the requested absolute-ordinal interval from cache and source as needed. */
169
170
  export declare function readRawSessionMessageRange(sessionId: string, fromOrdinal: number, toOrdinal: number): RawMessage[];
171
+ /**
172
+ * Prepare rank checkpoints on a worker for every newly touched file session.
173
+ * The caller waits at most 250 ms asynchronously; the worker continues after
174
+ * that deadline. False means defer or retry: a synchronous count never falls
175
+ * back to an unbounded scan. Registered providers and absent OpenCode stores
176
+ * need no SQLite preparation.
177
+ */
178
+ export declare function prepareRawSessionOrdinals(sessionId: string): Promise<boolean>;
170
179
  /**
171
180
  * Prime the active raw-message cache with a TAIL-ONLY read (only messages
172
181
  * at/after the last compartment boundary), so subsequent bounded reads inside
@@ -225,6 +234,12 @@ export declare function getRawSessionStoredMessageCount(sessionId: string): numb
225
234
  export declare function readRawSessionMessageIdOrdinalsForRange(sessionId: string, fromOrdinal: number, toOrdinal: number): Map<string, number>;
226
235
  export declare function readRawSessionMessageIdOrdinals(sessionId: string): Map<string, number>;
227
236
  export declare function readRawSessionMessagePartsById(sessionId: string, messageId: string, onQuery?: () => void): RawMessageParts | null;
237
+ /**
238
+ * The facts compartment boundary resolution needs about each id (see
239
+ * RawBoundaryEndpoint), read from the OpenCode store in a bounded batch. Returns null when a raw-message provider
240
+ * serves the session; the caller then uses the provider-aware readers above.
241
+ */
242
+ export declare function readRawSessionBoundaryEndpoints(sessionId: string, ids: readonly string[], blockIds: readonly string[]): Map<string, RawBoundaryEndpoint | null> | null;
228
243
  export declare function hasRawSessionMessageById(sessionId: string, messageId: string): boolean;
229
244
  export declare function readRawSessionMessageOrdinalById(sessionId: string, messageId: string): number | null;
230
245
  /**
@@ -240,6 +255,9 @@ export declare function readRawSessionMessageOrdinalById(sessionId: string, mess
240
255
  */
241
256
  export declare function compareRawSessionMessageOrder(sessionId: string, leftId: string, rightId: string): number | null;
242
257
  export declare function readRawSessionMessageById(sessionId: string, messageId: string): RawMessage | null;
258
+ export declare namespace readRawSessionMessageById {
259
+ var prepare: typeof prepareRawSessionOrdinals;
260
+ }
243
261
  export declare function getRawSessionMessageCount(sessionId: string): number;
244
262
  /**
245
263
  * Raw-session keys observed through a compartment boundary. Message and file
@@ -1 +1 @@
1
- {"version":3,"file":"read-session-chunk.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/read-session-chunk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-session-chunk.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/read-session-chunk.ts"],"names":[],"mappings":"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"}