@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,165 +1,14 @@
1
1
  import {
2
- toolTemplateError,
2
+ toolTemplateError
3
+ } from "./server-mfkzp7qj.js";
4
+ import {
3
5
  DEFAULT_PROTECTED_TOOLS,
4
6
  mergeProtectedTools
5
- } from "./server-fq7kq32k.js";
7
+ } from "./server-d9vfe7xq.js";
6
8
  import {
7
9
  modelRefLookupOrder
8
10
  } from "./server-avwt563y.js";
9
11
 
10
- // src/agents/language-directive.ts
11
- var ENGLISH_LANGUAGE_NAMES = new Intl.DisplayNames(["en"], {
12
- type: "language",
13
- fallback: "none"
14
- });
15
- function resolveLanguageName(language) {
16
- const code = typeof language === "string" ? language.trim().toLowerCase() : "";
17
- if (!/^[a-z]{2}$/.test(code))
18
- return "";
19
- let english;
20
- try {
21
- english = ENGLISH_LANGUAGE_NAMES.of(code) ?? undefined;
22
- } catch {
23
- return "";
24
- }
25
- if (!english)
26
- return "";
27
- let endonym;
28
- try {
29
- endonym = new Intl.DisplayNames([code], { type: "language", fallback: "none" }).of(code) ?? undefined;
30
- } catch {
31
- endonym = undefined;
32
- }
33
- return endonym && endonym !== english ? `${english} (${endonym})` : english;
34
- }
35
- function isValidLanguageCode(language) {
36
- return resolveLanguageName(language) !== "";
37
- }
38
- function buildContentLanguageDirective(language, options = {}) {
39
- const target = resolveLanguageName(language);
40
- if (!target)
41
- return "";
42
- const lines = [
43
- "## Output language",
44
- "",
45
- `Write human-readable prose you author in: ${target}.`,
46
- "",
47
- "Do not translate or rename structural tokens. Copy required output schemas exactly:",
48
- "- XML tag names, XML attribute names, JSON keys, tool names, tool-call argument keys, enum values, booleans/null, and required sentinel strings stay in English exactly as shown.",
49
- "- Keep code identifiers, file paths, commands, config keys, CLI flags, URLs, commit hashes, model/provider IDs, stack traces, diagnostics, and transcript role markers such as U:, A:, and TC: verbatim.",
50
- "- Localize only free-text prose values/content: summaries, memory text, explanations, titles, observations, and answers — unless the prompt says to preserve original wording.",
51
- "",
52
- "These literal values must remain English when used:",
53
- "PROJECT_RULES, ARCHITECTURE, CONSTRAINTS, CONFIG_VALUES, NAMING;",
54
- "causal_incident, trajectory_correction;",
55
- "feature, design, docs, release, investigation, bug, refactor, infra;",
56
- "memory, observation; true, false; No relevant memories found.",
57
- "",
58
- "Preserve the required output shape. Do not add commentary outside the requested XML/JSON/tool output."
59
- ];
60
- if (options.preserveUserQuotes) {
61
- lines.push("", `Preserve U: lines and directly quoted user text in their original source language; write the surrounding summary prose in ${target}.`);
62
- }
63
- if (options.retrospective) {
64
- lines.push("", `Write the lesson text in ${target}; paraphrase source text and never quote the user.`);
65
- }
66
- return lines.join(`
67
- `);
68
- }
69
- function withContentLanguageDirective(systemPrompt, language, options = {}) {
70
- const directive = buildContentLanguageDirective(language, options);
71
- return directive ? `${systemPrompt}
72
-
73
- ${directive}` : systemPrompt;
74
- }
75
- function buildPrimaryLanguageDirective(language) {
76
- const target = resolveLanguageName(language);
77
- if (!target)
78
- return "";
79
- return `Use ${target} for your natural-language replies to the user unless the user explicitly asks for another language. Keep code, identifiers, file paths, commands, logs, and quoted text verbatim.`;
80
- }
81
-
82
- // src/shared/prompt-surface.ts
83
- function promptSurfaceConfigIdentity(config) {
84
- return JSON.stringify({
85
- default: config?.default ?? "full",
86
- models: Object.entries(config?.models ?? {}).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0),
87
- guidanceOverridePath: config?.guidance_override_path ?? null,
88
- toolDescriptions: Object.entries(config?.tool_descriptions ?? {}).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0)
89
- });
90
- }
91
- function isValidPromptSurfaceModelKey(key) {
92
- if (key.length === 0 || key.trim() !== key)
93
- return false;
94
- const slash = key.indexOf("/");
95
- if (slash < 0)
96
- return !key.includes("*");
97
- if (slash === 0 || slash === key.length - 1)
98
- return false;
99
- const provider = key.slice(0, slash);
100
- const modelID = key.slice(slash + 1);
101
- if (provider.trim() !== provider || modelID.trim() !== modelID || provider.includes("*") || modelID.includes("*") && modelID !== "*") {
102
- return false;
103
- }
104
- if (modelID === "*")
105
- return true;
106
- return modelID.length > 0 && !modelID.startsWith("/") && !modelID.endsWith("/") && !modelID.includes("//");
107
- }
108
- function modelKeyLookupOrder(modelKey) {
109
- if (!modelKey)
110
- return [];
111
- const slash = modelKey.indexOf("/");
112
- if (slash <= 0 || slash === modelKey.length - 1)
113
- return [];
114
- const provider = modelKey.slice(0, slash);
115
- let modelID = modelKey.slice(slash + 1);
116
- const providerRefs = modelRefLookupOrder(`${provider}/${modelID}`);
117
- const candidates = [];
118
- while (modelID.length > 0) {
119
- for (const providerRef of providerRefs) {
120
- const providerSlash = providerRef.indexOf("/");
121
- const providerPrefix = providerRef.slice(0, providerSlash);
122
- candidates.push({ key: `${providerPrefix}/${modelID}`, source: "exact" });
123
- }
124
- candidates.push({ key: modelID, source: "bare" });
125
- const lastDash = modelID.lastIndexOf("-");
126
- if (lastDash <= 0)
127
- break;
128
- modelID = modelID.slice(0, lastDash);
129
- }
130
- for (const providerRef of providerRefs) {
131
- const providerSlash = providerRef.indexOf("/");
132
- const providerPrefix = providerRef.slice(0, providerSlash);
133
- candidates.push({ key: `${providerPrefix}/*`, source: "wildcard" });
134
- }
135
- const seen = new Set;
136
- return candidates.filter((candidate) => {
137
- if (seen.has(candidate.key))
138
- return false;
139
- seen.add(candidate.key);
140
- return true;
141
- });
142
- }
143
- function resolveModelConfigValue(values, modelKey) {
144
- if (!values)
145
- return;
146
- for (const candidate of modelKeyLookupOrder(modelKey)) {
147
- const value = values[candidate.key];
148
- if (value !== undefined) {
149
- return { value, source: candidate.source };
150
- }
151
- }
152
- return;
153
- }
154
- function resolvePromptSurface(config, modelKey) {
155
- const fallback = config?.default ?? "full";
156
- const match = resolveModelConfigValue(config?.models, modelKey);
157
- if (match) {
158
- return { preset: match.value, source: match.source };
159
- }
160
- return { preset: fallback, source: "default" };
161
- }
162
-
163
12
  // src/config/schema/magic-context.ts
164
13
  import { homedir } from "node:os";
165
14
 
@@ -5019,6 +4868,78 @@ function superRefine(fn, params) {
5019
4868
  }
5020
4869
  // ../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/classic/external.js
5021
4870
  config(en_default());
4871
+ // src/agents/language-directive.ts
4872
+ var ENGLISH_LANGUAGE_NAMES = new Intl.DisplayNames(["en"], {
4873
+ type: "language",
4874
+ fallback: "none"
4875
+ });
4876
+ function resolveLanguageName(language) {
4877
+ const code = typeof language === "string" ? language.trim().toLowerCase() : "";
4878
+ if (!/^[a-z]{2}$/.test(code))
4879
+ return "";
4880
+ let english;
4881
+ try {
4882
+ english = ENGLISH_LANGUAGE_NAMES.of(code) ?? undefined;
4883
+ } catch {
4884
+ return "";
4885
+ }
4886
+ if (!english)
4887
+ return "";
4888
+ let endonym;
4889
+ try {
4890
+ endonym = new Intl.DisplayNames([code], { type: "language", fallback: "none" }).of(code) ?? undefined;
4891
+ } catch {
4892
+ endonym = undefined;
4893
+ }
4894
+ return endonym && endonym !== english ? `${english} (${endonym})` : english;
4895
+ }
4896
+ function isValidLanguageCode(language) {
4897
+ return resolveLanguageName(language) !== "";
4898
+ }
4899
+ function buildContentLanguageDirective(language, options = {}) {
4900
+ const target = resolveLanguageName(language);
4901
+ if (!target)
4902
+ return "";
4903
+ const lines = [
4904
+ "## Output language",
4905
+ "",
4906
+ `Write human-readable prose you author in: ${target}.`,
4907
+ "",
4908
+ "Do not translate or rename structural tokens. Copy required output schemas exactly:",
4909
+ "- XML tag names, XML attribute names, JSON keys, tool names, tool-call argument keys, enum values, booleans/null, and required sentinel strings stay in English exactly as shown.",
4910
+ "- Keep code identifiers, file paths, commands, config keys, CLI flags, URLs, commit hashes, model/provider IDs, stack traces, diagnostics, and transcript role markers such as U:, A:, and TC: verbatim.",
4911
+ "- Localize only free-text prose values/content: summaries, memory text, explanations, titles, observations, and answers — unless the prompt says to preserve original wording.",
4912
+ "",
4913
+ "These literal values must remain English when used:",
4914
+ "PROJECT_RULES, ARCHITECTURE, CONSTRAINTS, CONFIG_VALUES, NAMING;",
4915
+ "causal_incident, trajectory_correction;",
4916
+ "feature, design, docs, release, investigation, bug, refactor, infra;",
4917
+ "memory, observation; true, false; No relevant memories found.",
4918
+ "",
4919
+ "Preserve the required output shape. Do not add commentary outside the requested XML/JSON/tool output."
4920
+ ];
4921
+ if (options.preserveUserQuotes) {
4922
+ lines.push("", `Preserve U: lines and directly quoted user text in their original source language; write the surrounding summary prose in ${target}.`);
4923
+ }
4924
+ if (options.retrospective) {
4925
+ lines.push("", `Write the lesson text in ${target}; paraphrase source text and never quote the user.`);
4926
+ }
4927
+ return lines.join(`
4928
+ `);
4929
+ }
4930
+ function withContentLanguageDirective(systemPrompt, language, options = {}) {
4931
+ const directive = buildContentLanguageDirective(language, options);
4932
+ return directive ? `${systemPrompt}
4933
+
4934
+ ${directive}` : systemPrompt;
4935
+ }
4936
+ function buildPrimaryLanguageDirective(language) {
4937
+ const target = resolveLanguageName(language);
4938
+ if (!target)
4939
+ return "";
4940
+ return `Use ${target} for your natural-language replies to the user unless the user explicitly asks for another language. Keep code, identifiers, file paths, commands, logs, and quoted text verbatim.`;
4941
+ }
4942
+
5022
4943
  // src/features/magic-context/dreamer/cron.ts
5023
4944
  var FIELDS = [
5024
4945
  { name: "minute", min: 0, max: 59 },
@@ -5169,6 +5090,87 @@ function nextDueAtMs(expression, afterMs, consumedScheduledAtMs, maxSearchMs = M
5169
5090
  return next ? next.getTime() : null;
5170
5091
  }
5171
5092
 
5093
+ // src/shared/prompt-surface.ts
5094
+ function promptSurfaceConfigIdentity(config) {
5095
+ return JSON.stringify({
5096
+ default: config?.default ?? "full",
5097
+ models: Object.entries(config?.models ?? {}).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0),
5098
+ guidanceOverridePath: config?.guidance_override_path ?? null,
5099
+ toolDescriptions: Object.entries(config?.tool_descriptions ?? {}).sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0)
5100
+ });
5101
+ }
5102
+ function isValidPromptSurfaceModelKey(key) {
5103
+ if (key.length === 0 || key.trim() !== key)
5104
+ return false;
5105
+ const slash = key.indexOf("/");
5106
+ if (slash < 0)
5107
+ return !key.includes("*");
5108
+ if (slash === 0 || slash === key.length - 1)
5109
+ return false;
5110
+ const provider = key.slice(0, slash);
5111
+ const modelID = key.slice(slash + 1);
5112
+ if (provider.trim() !== provider || modelID.trim() !== modelID || provider.includes("*") || modelID.includes("*") && modelID !== "*") {
5113
+ return false;
5114
+ }
5115
+ if (modelID === "*")
5116
+ return true;
5117
+ return modelID.length > 0 && !modelID.startsWith("/") && !modelID.endsWith("/") && !modelID.includes("//");
5118
+ }
5119
+ function modelKeyLookupOrder(modelKey) {
5120
+ if (!modelKey)
5121
+ return [];
5122
+ const slash = modelKey.indexOf("/");
5123
+ if (slash <= 0 || slash === modelKey.length - 1)
5124
+ return [];
5125
+ const provider = modelKey.slice(0, slash);
5126
+ let modelID = modelKey.slice(slash + 1);
5127
+ const providerRefs = modelRefLookupOrder(`${provider}/${modelID}`);
5128
+ const candidates = [];
5129
+ while (modelID.length > 0) {
5130
+ for (const providerRef of providerRefs) {
5131
+ const providerSlash = providerRef.indexOf("/");
5132
+ const providerPrefix = providerRef.slice(0, providerSlash);
5133
+ candidates.push({ key: `${providerPrefix}/${modelID}`, source: "exact" });
5134
+ }
5135
+ candidates.push({ key: modelID, source: "bare" });
5136
+ const lastDash = modelID.lastIndexOf("-");
5137
+ if (lastDash <= 0)
5138
+ break;
5139
+ modelID = modelID.slice(0, lastDash);
5140
+ }
5141
+ for (const providerRef of providerRefs) {
5142
+ const providerSlash = providerRef.indexOf("/");
5143
+ const providerPrefix = providerRef.slice(0, providerSlash);
5144
+ candidates.push({ key: `${providerPrefix}/*`, source: "wildcard" });
5145
+ }
5146
+ const seen = new Set;
5147
+ return candidates.filter((candidate) => {
5148
+ if (seen.has(candidate.key))
5149
+ return false;
5150
+ seen.add(candidate.key);
5151
+ return true;
5152
+ });
5153
+ }
5154
+ function resolveModelConfigValue(values, modelKey) {
5155
+ if (!values)
5156
+ return;
5157
+ for (const candidate of modelKeyLookupOrder(modelKey)) {
5158
+ const value = values[candidate.key];
5159
+ if (value !== undefined) {
5160
+ return { value, source: candidate.source };
5161
+ }
5162
+ }
5163
+ return;
5164
+ }
5165
+ function resolvePromptSurface(config, modelKey) {
5166
+ const fallback = config?.default ?? "full";
5167
+ const match = resolveModelConfigValue(config?.models, modelKey);
5168
+ if (match) {
5169
+ return { preset: match.value, source: match.source };
5170
+ }
5171
+ return { preset: fallback, source: "default" };
5172
+ }
5173
+
5172
5174
  // src/config/schema/agent-overrides.ts
5173
5175
  var PermissionValueSchema = _enum(["ask", "allow", "deny"]);
5174
5176
  var PermissionSchema = object({
@@ -5585,7 +5587,7 @@ var MagicContextConfigSchema = object({
5585
5587
  allow_home_project: boolean2().default(false).describe("Allow Magic Context sessions launched from the exact canonical home directory. A non-git home uses its deterministic dir: identity; a home repository uses its git: identity. USER-LEVEL ONLY: project config is ignored. The home identity is excluded from registry seed exports, never resolves descendants by containment, and cannot join a workspace."),
5586
5588
  mural: object({
5587
5589
  enabled: boolean2().default(false),
5588
- model: string().trim().min(1).optional().describe("Model for the compress-cues task that compresses each memory into a mural cue. The mural image itself is rendered deterministically (no author model).")
5590
+ model: unknown().optional().describe("Deprecated: ignored. compress-cues now uses the dreamer model for each harness, like every other dreamer task; override it with dreamer.opencode.tasks.compress-cues.model (or the pi/omp equivalent). Remove this key; it no longer does anything.").meta({ deprecated: true })
5589
5591
  }).default({ enabled: false }).describe("Experimental mural: a single deterministically-rendered image of project memories that did not fit the context budget. Cues are compressed per-memory by the compress-cues dreamer task."),
5590
5592
  transform_mode: _enum(["ts", "rust"]).default("ts").describe('Experimental: routes the entire Magic Context runtime for the project through the ck-mc Rust module over subc (requires user-level `subc` config); "ts" is the current TypeScript pipeline.'),
5591
5593
  auto_update: boolean2().optional().describe("Enable automatic npm self-update checks for the OpenCode plugin. Security: USER-only in config loader, so hostile project configs cannot suppress updates."),
@@ -5595,8 +5597,9 @@ var MagicContextConfigSchema = object({
5595
5597
  historian: HistorianConfigSchema.describe("Historian metadata plus independent strict OpenCode, Pi, and OMP execution blocks. Retained metadata stays at historian; model, fallback_models, variant, and thinking_level belong only in historian.opencode, historian.pi, or historian.omp."),
5596
5598
  dreamer: DreamerConfigSchema.optional().describe("Dreamer metadata and scheduling plus independent strict OpenCode, Pi, and OMP execution blocks. schedule and promotion_threshold stay at dreamer.tasks; model, fallback_models, variant, thinking_level, and timeout_minutes belong only in the matching harness block."),
5597
5599
  smart_notes: object({
5600
+ enabled: boolean2().default(true).describe("Enable smart-note authoring and condition evaluation. User-level only: tool definitions are process-wide. Changes require a host restart and rebuild each session's cached prompt once. Pending notes remain stored and unchecked; already-ready notes still surface."),
5598
5601
  retina_handoff: boolean2().default(false).describe("When true, dreamer skips smart notes whose surface conditions compiled to retina provider configs at authoring time. Default false keeps both paths active until the retina consumer is deployed.")
5599
- }).default({ retina_handoff: false }).describe("Smart-note ownership transition controls."),
5602
+ }).default({ enabled: true, retina_handoff: false }).describe("Smart-note ownership transition controls."),
5600
5603
  cache_ttl: union([string(), object({ default: string() }).catchall(string())]).default("5m").describe(`How long Magic Context assumes the provider's cached prefix stays valid. This is MC's own deferral gate — it does not change the provider's actual cache lifetime. String (e.g. "5m", "1h", "30s") or per-model object ({ default: "5m", "provider/model": "1h", "provider/*": "never" }); keys resolve most-specific first (exact provider/model, bare model ID, shorter dash-prefixes, then the provider/* wildcard, then default). User and project settings, including an explicit "5m" or object default, apply on the next pass. Only built-in defaults are frozen per session, including across restarts: when unset, GPT-5.6 and later (including gpt-6*, through any provider prefix) use 30m, other models use 5m. /ctx-status shows the effective TTL and whether it comes from your config or a frozen built-in default. Editing the TTL does not itself rewrite prompt bytes; a lowered TTL rebuilds only after normal idle expiry. OpenAI documents at least 30 minutes since the latest write or reuse: https://developers.openai.com/api/docs/guides/prompt-caching (Cache lifetime and Summary of model differences). Set to "never" to mean MC never assumes expiry (for lanes kept warm externally by a cache-keep tool) — disables the idle-TTL heuristic so MC never initiates a rebuild based on elapsed time. Provider-side extended TTL is a separate request-level concern (cache_control: { ttl } in the request body).`),
5601
5604
  prompt_surface: PromptSurfaceConfigSchema.default({ default: "full" }).describe("Prompt-surface presets: default is full; models use bare model IDs, provider/model, or provider/* routing keys. Guidance and tool-description overrides are user-level only. OpenCode 1.x, Pi, and OMP register tool descriptions once per process (they follow the default preset). OpenCode 2 rewrites the five ctx_* descriptions per request from the draft model."),
5602
5605
  output_reserve: union([
@@ -5701,7 +5704,6 @@ var MagicContextConfigSchema = object({
5701
5704
  });
5702
5705
  var LIVE_RELOAD_CONFIG_PATHS = [
5703
5706
  "cache_ttl",
5704
- "mural.model",
5705
5707
  "toast_duration_ms",
5706
5708
  "historian.opencode.model",
5707
5709
  "historian.opencode.fallback_models",
@@ -1,6 +1,6 @@
1
1
  import {
2
- log
3
- } from "./server-1qbnzc80.js";
2
+ log2
3
+ } from "./server-5m3dt5r1.js";
4
4
 
5
5
  // src/shared/safe-notification-target.ts
6
6
  var DEFAULT_TITLE_RE = /^(New session - |Child session - )\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
@@ -33,7 +33,7 @@ async function waitForSafeNotificationTarget2(client, sessionId, options) {
33
33
  await new Promise((resolve) => setTimeout(resolve, delayMs));
34
34
  }
35
35
  }
36
- log(`[magic-context] notification skipped: session ${sessionId} still has its default title (would suppress title generation); will retry on a later startup`);
36
+ log2(`[magic-context] notification skipped: session ${sessionId} still has its default title (would suppress title generation); will retry on a later startup`);
37
37
  return "skip";
38
38
  }
39
39
 
package/dist/v2/server.js CHANGED
@@ -1,13 +1,15 @@
1
1
  import {
2
2
  loadPluginConfigDetailed
3
- } from "./server-rz514f14.js";
3
+ } from "./server-x2g40a71.js";
4
+ import {
5
+ setHarness2
6
+ } from "./server-pavzsdc6.js";
4
7
  import {
5
- setHarness,
6
8
  registerStalePluginBuildHost,
7
- log,
8
- flushLogger
9
- } from "./server-1qbnzc80.js";
10
- import"./server-cpepxy2q.js";
9
+ log2,
10
+ flushLogger2
11
+ } from "./server-5m3dt5r1.js";
12
+ import"./server-v06jcv0w.js";
11
13
  import {
12
14
  string,
13
15
  unknown,
@@ -16,8 +18,8 @@ import {
16
18
  union,
17
19
  tuple,
18
20
  record
19
- } from "./server-50hvkg3v.js";
20
- import"./server-fq7kq32k.js";
21
+ } from "./server-zm570tr2.js";
22
+ import"./server-mfkzp7qj.js";
21
23
  import {
22
24
  pushNotification2
23
25
  } from "./server-x8a7jmkh.js";
@@ -8016,7 +8018,7 @@ function startUpdateChecks(context, check = (signal) => {
8016
8018
  }
8017
8019
  } catch (error) {
8018
8020
  if (!controller.signal.aborted)
8019
- log("[magic-context] v2 update check unavailable", error);
8021
+ log2("[magic-context] v2 update check unavailable", error);
8020
8022
  }
8021
8023
  })();
8022
8024
  return {
@@ -8037,16 +8039,16 @@ function isOpenCode2HostContext(context) {
8037
8039
  }
8038
8040
  async function setup(context) {
8039
8041
  if (!isOpenCode2HostContext(context)) {
8040
- log("v2 setup() called on a host without session.hook; v1 server lane owns this host, v2 lane inert");
8042
+ log2("v2 setup() called on a host without session.hook; v1 server lane owns this host, v2 lane inert");
8041
8043
  return async () => {};
8042
8044
  }
8043
- const { registerContext } = await import("./context-14v1hr8b.js");
8044
- setHarness("opencode2");
8045
+ const { registerContext } = await import("./context-sf98kstd.js");
8046
+ setHarness2("opencode2");
8045
8047
  bindStaleBuildNotice({}, import.meta.url, "opencode2");
8046
8048
  const duties = await registerContext(context);
8047
8049
  const checks = loadPluginConfigDetailed(context.location.directory).config.auto_update === false ? undefined : startUpdateChecks(context);
8048
- log("[magic-context] @cortexkit/opencode-magic-context v2 setup");
8049
- flushLogger();
8050
+ log2("[magic-context] @cortexkit/opencode-magic-context v2 setup");
8051
+ flushLogger2();
8050
8052
  return async () => {
8051
8053
  await checks?.dispose();
8052
8054
  await duties?.dispose();
@@ -0,0 +1,6 @@
1
+ import {
2
+ configureContextDatabasePragmas2
3
+ } from "./server-fb3zxn06.js";
4
+ export {
5
+ configureContextDatabasePragmas2 as configureContextDatabasePragmas
6
+ };
@@ -0,0 +1,46 @@
1
+ import {
2
+ registerSlowWriteReporter2,
3
+ registerSqliteDiagnosticSink2,
4
+ detectSqliteRuntime2,
5
+ getTagIdentityWriteGeneration2,
6
+ Database2,
7
+ getSqliteDatabasePath2,
8
+ getSqliteMemoryStats2,
9
+ prepareCachedStatement2,
10
+ withSqliteBackgroundWriter2,
11
+ withSqliteTransformPass2,
12
+ withoutSqliteTransformPass2,
13
+ assertTransformWrite2,
14
+ isTransientSqliteError2,
15
+ SqliteAcquisitionBusyError2,
16
+ beginSqliteWriterAsync2,
17
+ withAsyncPrivilegedWriter2,
18
+ withPrivilegedWriter2,
19
+ indexCoordinationInput2,
20
+ releaseIndexOwner2,
21
+ withIndexChunk2,
22
+ yieldIndexChunk2
23
+ } from "./server-kb9nn0a0.js";
24
+ export {
25
+ Database2 as Database,
26
+ SqliteAcquisitionBusyError2 as SqliteAcquisitionBusyError,
27
+ assertTransformWrite2 as assertTransformWrite,
28
+ beginSqliteWriterAsync2 as beginSqliteWriterAsync,
29
+ detectSqliteRuntime2 as detectSqliteRuntime,
30
+ getSqliteDatabasePath2 as getSqliteDatabasePath,
31
+ getSqliteMemoryStats2 as getSqliteMemoryStats,
32
+ getTagIdentityWriteGeneration2 as getTagIdentityWriteGeneration,
33
+ indexCoordinationInput2 as indexCoordinationInput,
34
+ isTransientSqliteError2 as isTransientSqliteError,
35
+ prepareCachedStatement2 as prepareCachedStatement,
36
+ registerSlowWriteReporter2 as registerSlowWriteReporter,
37
+ registerSqliteDiagnosticSink2 as registerSqliteDiagnosticSink,
38
+ releaseIndexOwner2 as releaseIndexOwner,
39
+ withAsyncPrivilegedWriter2 as withAsyncPrivilegedWriter,
40
+ withIndexChunk2 as withIndexChunk,
41
+ withPrivilegedWriter2 as withPrivilegedWriter,
42
+ withSqliteBackgroundWriter2 as withSqliteBackgroundWriter,
43
+ withSqliteTransformPass2 as withSqliteTransformPass,
44
+ withoutSqliteTransformPass2 as withoutSqliteTransformPass,
45
+ yieldIndexChunk2 as yieldIndexChunk
46
+ };
@@ -0,0 +1,71 @@
1
+ import {
2
+ COLUMN_MAP2,
3
+ hasMemoryShareableColumn2,
4
+ hasMemoryClassifiedAtColumn2,
5
+ getUnclassifiedMemoryIds2,
6
+ getMemorySelectColumns2,
7
+ isMemoryRow2,
8
+ toMemory2,
9
+ ModuleMemoryAuthorityError2,
10
+ insertMemory2,
11
+ insertMemoryIdempotent2,
12
+ getMemoryByHash2,
13
+ getMemoriesByProject2,
14
+ getMemoriesForList2,
15
+ buildWorkspaceMemorySqlFilter2,
16
+ getMemoriesByProjects2,
17
+ getMaxMemoryIdForProjects2,
18
+ readNewMemoriesForM1Union2,
19
+ getAllActiveMemoriesForMigration2,
20
+ getMemoryById2,
21
+ getMemoriesByIds2,
22
+ updateMemorySeenCount2,
23
+ updateMemoryRetrievalCount2,
24
+ updateMemoryStatus2,
25
+ updateMemoryVerification2,
26
+ updateMemoryContent2,
27
+ setMemoryClassification2,
28
+ supersededMemory2,
29
+ mergeMemoryStats2,
30
+ archiveMemory2,
31
+ deleteMemory2,
32
+ getMemoryCount2,
33
+ getMemoryCountsByStatus2
34
+ } from "./server-7jzrrxap.js";
35
+ import"./server-4dhv7mqz.js";
36
+ import"./server-fr0wbhdn.js";
37
+ import"./server-kb9nn0a0.js";
38
+ export {
39
+ COLUMN_MAP2 as COLUMN_MAP,
40
+ ModuleMemoryAuthorityError2 as ModuleMemoryAuthorityError,
41
+ archiveMemory2 as archiveMemory,
42
+ buildWorkspaceMemorySqlFilter2 as buildWorkspaceMemorySqlFilter,
43
+ deleteMemory2 as deleteMemory,
44
+ getAllActiveMemoriesForMigration2 as getAllActiveMemoriesForMigration,
45
+ getMaxMemoryIdForProjects2 as getMaxMemoryIdForProjects,
46
+ getMemoriesByIds2 as getMemoriesByIds,
47
+ getMemoriesByProject2 as getMemoriesByProject,
48
+ getMemoriesByProjects2 as getMemoriesByProjects,
49
+ getMemoriesForList2 as getMemoriesForList,
50
+ getMemoryByHash2 as getMemoryByHash,
51
+ getMemoryById2 as getMemoryById,
52
+ getMemoryCount2 as getMemoryCount,
53
+ getMemoryCountsByStatus2 as getMemoryCountsByStatus,
54
+ getMemorySelectColumns2 as getMemorySelectColumns,
55
+ getUnclassifiedMemoryIds2 as getUnclassifiedMemoryIds,
56
+ hasMemoryClassifiedAtColumn2 as hasMemoryClassifiedAtColumn,
57
+ hasMemoryShareableColumn2 as hasMemoryShareableColumn,
58
+ insertMemory2 as insertMemory,
59
+ insertMemoryIdempotent2 as insertMemoryIdempotent,
60
+ isMemoryRow2 as isMemoryRow,
61
+ mergeMemoryStats2 as mergeMemoryStats,
62
+ readNewMemoriesForM1Union2 as readNewMemoriesForM1Union,
63
+ setMemoryClassification2 as setMemoryClassification,
64
+ supersededMemory2 as supersededMemory,
65
+ toMemory2 as toMemory,
66
+ updateMemoryContent2 as updateMemoryContent,
67
+ updateMemoryRetrievalCount2 as updateMemoryRetrievalCount,
68
+ updateMemorySeenCount2 as updateMemorySeenCount,
69
+ updateMemoryStatus2 as updateMemoryStatus,
70
+ updateMemoryVerification2 as updateMemoryVerification
71
+ };