@cortexkit/opencode-magic-context 0.48.0 → 0.49.1

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 (304) hide show
  1. package/dist/{announcement-fp14dw0n.js → announcement-hdbkt8v5.js} +1 -1
  2. package/dist/auto-search-worker.js +3 -3
  3. package/dist/config/{mural-model-deprecation.d.ts → deprecated-config.d.ts} +4 -1
  4. package/dist/config/deprecated-config.d.ts.map +1 -0
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/project-security.d.ts +2 -2
  7. package/dist/config/schema/magic-context.d.ts +4 -4
  8. package/dist/config/schema/magic-context.d.ts.map +1 -1
  9. package/dist/{conflict-warning-hook-w8cykrnf.js → conflict-warning-hook-asnt6hfc.js} +7 -7
  10. package/dist/{context-m0cy262m.js → context-tfyhtdcs.js} +187 -68
  11. package/dist/{derive-budgets-sg0xsq7s.js → derive-budgets-j4ry8j8n.js} +2 -2
  12. package/dist/embedding-backfill-wyc3ykyf.js +21 -0
  13. package/dist/embedding-worker-process.js +30 -0
  14. package/dist/embedding-worker.js +6 -6
  15. package/dist/features/magic-context/dreamer/task-registry.d.ts +2 -3
  16. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  17. package/dist/features/magic-context/git-commits/search-git-commits.d.ts +2 -0
  18. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  19. package/dist/features/magic-context/memory/embedding-worker-client.d.ts +8 -1
  20. package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -1
  21. package/dist/features/magic-context/memory/embedding-worker-process.d.ts +2 -0
  22. package/dist/features/magic-context/memory/embedding-worker-process.d.ts.map +1 -0
  23. package/dist/features/magic-context/memory/onnx-telemetry.d.ts +3 -0
  24. package/dist/features/magic-context/memory/onnx-telemetry.d.ts.map +1 -0
  25. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  26. package/dist/features/magic-context/overflow-detection.d.ts +1 -2
  27. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  28. package/dist/features/magic-context/pi-content-decisions.d.ts +1 -1
  29. package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
  30. package/dist/features/magic-context/search-rerank.d.ts +35 -0
  31. package/dist/features/magic-context/search-rerank.d.ts.map +1 -0
  32. package/dist/features/magic-context/search.d.ts +11 -0
  33. package/dist/features/magic-context/search.d.ts.map +1 -1
  34. package/dist/features/magic-context/storage-meta-persisted.d.ts +13 -2
  35. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  36. package/dist/features/magic-context/storage-meta-session.d.ts +1 -1
  37. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  38. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  39. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  40. package/dist/features/magic-context/storage-session-tables.d.ts +2 -0
  41. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  42. package/dist/features/magic-context/storage-tag-identity-revision.d.ts +29 -9
  43. package/dist/features/magic-context/storage-tag-identity-revision.d.ts.map +1 -1
  44. package/dist/features/magic-context/storage-tags.d.ts +9 -0
  45. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  46. package/dist/features/magic-context/storage.d.ts +1 -1
  47. package/dist/features/magic-context/storage.d.ts.map +1 -1
  48. package/dist/features/magic-context/tagger.d.ts +2 -0
  49. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  50. package/dist/features/magic-context/transform-decision-log.d.ts +4 -1
  51. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  52. package/dist/features/magic-context/user-memory/storage-user-memory.d.ts +1 -0
  53. package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
  54. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -1
  55. package/dist/hooks/magic-context/auto-search-replay.fixture.d.ts +24 -0
  56. package/dist/hooks/magic-context/auto-search-replay.fixture.d.ts.map +1 -0
  57. package/dist/hooks/magic-context/auto-search-runner.d.ts +1 -1
  58. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  59. package/dist/hooks/magic-context/auto-search-worker-client.d.ts +2 -0
  60. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  61. package/dist/hooks/magic-context/command-handler.d.ts +2 -0
  62. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +28 -0
  64. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -1
  65. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  66. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +1 -0
  67. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  68. package/dist/hooks/magic-context/historian-host-runner.d.ts +8 -0
  69. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  70. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/hook.d.ts +3 -1
  72. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  74. package/dist/hooks/magic-context/latest-thinking-recovery.d.ts +7 -0
  75. package/dist/hooks/magic-context/latest-thinking-recovery.d.ts.map +1 -1
  76. package/dist/hooks/magic-context/lkg-measured-request.d.ts +3 -1
  77. package/dist/hooks/magic-context/lkg-measured-request.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/lkg-persist.d.ts +8 -14
  79. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts +62 -0
  81. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -0
  82. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts +38 -0
  83. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts.map +1 -0
  84. package/dist/hooks/magic-context/lkg-replay.d.ts +3 -1
  85. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  86. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  87. package/dist/hooks/magic-context/opaque-thinking.d.ts +12 -0
  88. package/dist/hooks/magic-context/opaque-thinking.d.ts.map +1 -0
  89. package/dist/hooks/magic-context/pass-outcome.d.ts +3 -2
  90. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/pending-materialization.d.ts +8 -0
  92. package/dist/hooks/magic-context/pending-materialization.d.ts.map +1 -0
  93. package/dist/hooks/magic-context/read-session-chunk.d.ts +7 -1
  94. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/read-session-db.d.ts +3 -0
  96. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/read-session-raw.d.ts +35 -0
  98. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  99. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  100. package/dist/hooks/magic-context/rust-mode-transform.d.ts +37 -0
  101. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  102. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts +8 -1
  103. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts.map +1 -1
  104. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts +8 -0
  105. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts.map +1 -0
  106. package/dist/hooks/magic-context/strip-content.d.ts +5 -2
  107. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  108. package/dist/hooks/magic-context/system-date-refresh.d.ts +29 -0
  109. package/dist/hooks/magic-context/system-date-refresh.d.ts.map +1 -0
  110. package/dist/hooks/magic-context/system-prompt-dates.d.ts +6 -0
  111. package/dist/hooks/magic-context/system-prompt-dates.d.ts.map +1 -0
  112. package/dist/hooks/magic-context/system-prompt-delivery.d.ts +47 -0
  113. package/dist/hooks/magic-context/system-prompt-delivery.d.ts.map +1 -0
  114. package/dist/hooks/magic-context/system-prompt-hash.d.ts +4 -0
  115. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  116. package/dist/hooks/magic-context/tag-messages.d.ts +8 -0
  117. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  118. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +15 -0
  119. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  120. package/dist/hooks/magic-context/transform.d.ts +7 -0
  121. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  122. package/dist/{index-ty64eqcn.js → index-0pjvpfkf.js} +24 -4
  123. package/dist/{index-db7zwa3v.js → index-1bt88epp.js} +93 -9
  124. package/dist/{index-2y0s2hep.js → index-4mjhqadz.js} +1 -1
  125. package/dist/index-6m7rdv7y.js +733 -0
  126. package/dist/{index-k1xb52kd.js → index-6tfxmc4n.js} +11 -11
  127. package/dist/{index-fbv1dn35.js → index-7w18gg78.js} +26 -2
  128. package/dist/{index-7mx8v0pw.js → index-att4bfan.js} +4 -4
  129. package/dist/{index-mmyh6d8f.js → index-eypn4ba6.js} +11 -6
  130. package/dist/{index-q2tqeqde.js → index-fdtkt5r1.js} +1229 -78
  131. package/dist/{index-c43kr12f.js → index-fg00p1cg.js} +42 -40
  132. package/dist/{v2/server-1bc61ans.js → index-fvnzcnww.js} +44 -1
  133. package/dist/index-gbmqa9x9.js +1170 -0
  134. package/dist/{index-knh4y330.js → index-gzky5rva.js} +31 -49
  135. package/dist/{index-0qhce371.js → index-h2wc01qk.js} +2 -2
  136. package/dist/{index-dhwzyd54.js → index-h5zfkjyk.js} +160 -25
  137. package/dist/{index-bhvjj0ys.js → index-k6xvbj2e.js} +255 -1075
  138. package/dist/{index-0w56v4fm.js → index-mw7c950g.js} +1 -1
  139. package/dist/{index-8j7gqj40.js → index-nsjyysj0.js} +6 -2
  140. package/dist/{index-k9nnwad5.js → index-nydv6g8r.js} +44 -7
  141. package/dist/{index-f0h6xwqm.js → index-p0n5ryq8.js} +304 -960
  142. package/dist/{index-pg50n748.js → index-p1hnwfd8.js} +4 -4
  143. package/dist/{index-1qb0z7wa.js → index-qx53vezw.js} +1 -1
  144. package/dist/{index-5zygecde.js → index-r2zcs71c.js} +8 -6
  145. package/dist/{index-cb7emxgj.js → index-rafsaxac.js} +336 -6
  146. package/dist/{index-z8e0psj8.js → index-s7fc0fkn.js} +3 -3
  147. package/dist/{index-14cjxt20.js → index-sfhndpcb.js} +505 -11
  148. package/dist/index-sv0bb7vg.js +6972 -0
  149. package/dist/{index-jcbd3znx.js → index-tqf7yg27.js} +1 -1
  150. package/dist/{index-72nhv486.js → index-vkbqdnkj.js} +2 -2
  151. package/dist/{index-pdecwzrd.js → index-w23dh319.js} +18 -259
  152. package/dist/{index-yq8n9qcb.js → index-xgrwmj82.js} +4 -4
  153. package/dist/{index-0an7742d.js → index-xnanvj3w.js} +1364 -2278
  154. package/dist/{index-eeezr5zz.js → index-z1tjp257.js} +1 -1
  155. package/dist/{index-692jzy0p.js → index-zfzdpeq2.js} +2279 -4061
  156. package/dist/{index-q7h7csab.js → index-zg8yq4ya.js} +34 -749
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +241 -76
  159. package/dist/{logger-d3wex3dz.js → logger-ewak5q1s.js} +1 -1
  160. package/dist/{message-index-bounded-7ezbgddp.js → message-index-bounded-hqktkhdy.js} +15 -14
  161. package/dist/{message-time-backfill-brbd63hv.js → message-time-backfill-8x06r9kx.js} +2 -2
  162. package/dist/migration-worker.js +11 -10
  163. package/dist/plugin/hooks/create-session-hooks.d.ts +5 -1
  164. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  165. package/dist/plugin/messages-transform.d.ts.map +1 -1
  166. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  167. package/dist/plugin/tool-registry.d.ts.map +1 -1
  168. package/dist/{project-embedding-registry-7qzptcw7.js → project-embedding-registry-0gv3h6y8.js} +10 -10
  169. package/dist/raw-ordinal-warmup-worker.js +4 -4
  170. package/dist/{read-session-chunk-6k83m4fj.js → read-session-chunk-5mh0bh8y.js} +12 -9
  171. package/dist/{read-session-raw-3g9qy1xa.js → read-session-raw-8sjbc9h0.js} +5 -3
  172. package/dist/{recomp-orchestrator-d3fp1cy0.js → recomp-orchestrator-kpkhkjhq.js} +28 -27
  173. package/dist/{safe-notification-target-5ffqq32m.js → safe-notification-target-q0cyrx3x.js} +2 -2
  174. package/dist/{search-epax1ecv.js → search-p9w39qv4.js} +22 -21
  175. package/dist/{send-session-notification-erecz4y4.js → send-session-notification-xffh3bbe.js} +5 -5
  176. package/dist/shared/auto-search-lifecycle.d.ts +14 -0
  177. package/dist/shared/auto-search-lifecycle.d.ts.map +1 -1
  178. package/dist/shared/logger.d.ts.map +1 -1
  179. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  180. package/dist/shared/models-dev-temperature.d.ts +18 -0
  181. package/dist/shared/models-dev-temperature.d.ts.map +1 -0
  182. package/dist/shared/project-directory-key.d.ts +16 -0
  183. package/dist/shared/project-directory-key.d.ts.map +1 -1
  184. package/dist/shared/storage-file-mutex.d.ts +9 -0
  185. package/dist/shared/storage-file-mutex.d.ts.map +1 -0
  186. package/dist/shared/storage-permissions.d.ts +6 -0
  187. package/dist/shared/storage-permissions.d.ts.map +1 -1
  188. package/dist/shared/subagent-temperature.d.ts +46 -0
  189. package/dist/shared/subagent-temperature.d.ts.map +1 -0
  190. package/dist/shared/window-geometry.d.ts +9 -66
  191. package/dist/shared/window-geometry.d.ts.map +1 -1
  192. package/dist/standalone-plugin-marker.d.ts +8 -0
  193. package/dist/standalone-plugin-marker.d.ts.map +1 -0
  194. package/dist/{storage-tags-d3b0v2ss.js → storage-tags-k0pda32s.js} +6 -4
  195. package/dist/tools/ctx-reduce/constants.d.ts +1 -2
  196. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  197. package/dist/tools/ctx-reduce/tools.d.ts +1 -1
  198. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  199. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  200. package/dist/tools/ctx-search/types.d.ts +1 -0
  201. package/dist/tools/ctx-search/types.d.ts.map +1 -1
  202. package/dist/{transform-postprocess-phase-spcy2qre.js → transform-postprocess-phase-481j5a7z.js} +28 -27
  203. package/dist/v2/auto-search-worker.js +3 -3
  204. package/dist/v2/{context-sf98kstd.js → context-gsdtha5v.js} +1619 -3111
  205. package/dist/v2/{derive-budgets-3vc0y84t.js → derive-budgets-enckmg7y.js} +3 -3
  206. package/dist/v2/embedding-backfill-dbvjbcmm.js +20 -0
  207. package/dist/v2/embedding-worker-process.js +29 -0
  208. package/dist/v2/embedding-worker.js +6 -7
  209. package/dist/v2/hidden-child-native.d.ts.map +1 -1
  210. package/dist/v2/hidden-completion.d.ts +7 -0
  211. package/dist/v2/hidden-completion.d.ts.map +1 -1
  212. package/dist/v2/hooks/context.d.ts.map +1 -1
  213. package/dist/v2/hooks/copied-tag-notation.d.ts +19 -0
  214. package/dist/v2/hooks/copied-tag-notation.d.ts.map +1 -0
  215. package/dist/v2/hooks/dream-trigger.d.ts +4 -1
  216. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  217. package/dist/v2/hooks/generate.d.ts +9 -2
  218. package/dist/v2/hooks/generate.d.ts.map +1 -1
  219. package/dist/v2/hooks/payload.d.ts.map +1 -1
  220. package/dist/v2/hooks/system-prompt-response.d.ts +5 -0
  221. package/dist/v2/hooks/system-prompt-response.d.ts.map +1 -0
  222. package/dist/v2/{logger-mxd0ym09.js → logger-pj02s7sr.js} +1 -1
  223. package/dist/v2/{message-index-bounded-dy3s2k1e.js → message-index-bounded-p6v0n8qh.js} +15 -14
  224. package/dist/v2/{message-time-backfill-gtx1pwk1.js → message-time-backfill-cje68egj.js} +2 -2
  225. package/dist/v2/migration-worker.js +11 -10
  226. package/dist/v2/{project-embedding-registry-1tgba5dv.js → project-embedding-registry-nyq7z8y6.js} +11 -12
  227. package/dist/v2/raw-ordinal-warmup-worker.js +4 -4
  228. package/dist/v2/{read-session-chunk-rh4khdkv.js → read-session-chunk-fhyfe4qa.js} +12 -9
  229. package/dist/v2/{read-session-raw-bsbmf0vj.js → read-session-raw-j8dvp7f4.js} +5 -3
  230. package/dist/v2/recomp-orchestrator-5xy7w136.js +57 -0
  231. package/dist/v2/{safe-notification-target-73ax1p5v.js → safe-notification-target-y3p1hce9.js} +2 -2
  232. package/dist/v2/{search-nzkwrc6n.js → search-j7bakcwa.js} +23 -23
  233. package/dist/v2/{send-session-notification-6km439kn.js → send-session-notification-f6v698r5.js} +5 -5
  234. package/dist/v2/{server-7wwc2nga.js → server-1fszbabv.js} +32 -32
  235. package/dist/v2/{server-k228xhjg.js → server-2htmbqbv.js} +26 -2
  236. package/dist/v2/{server-aan4q8mx.js → server-3t0q2cqx.js} +1 -1
  237. package/dist/v2/{server-686jg6eb.js → server-4c7jt8gq.js} +68 -7
  238. package/dist/v2/{server-xxm59eww.js → server-4enr7s6x.js} +4 -4
  239. package/dist/v2/{server-zxhgvsf9.js → server-676xw7at.js} +1 -1
  240. package/dist/v2/{server-52awr2mw.js → server-6byqfbqf.js} +93 -9
  241. package/dist/v2/{server-e0vdaae2.js → server-6tcrjfw8.js} +4 -4
  242. package/dist/v2/{server-qye6ykf7.js → server-7ekna9zs.js} +2 -2
  243. package/dist/v2/{server-g5r0n3b6.js → server-7h861yms.js} +160 -25
  244. package/dist/v2/{server-k8x2rbxc.js → server-7spkq1y6.js} +3457 -5192
  245. package/dist/v2/{server-8pyt7hev.js → server-7vkj6zhb.js} +34 -749
  246. package/dist/v2/{server-yczc713m.js → server-8xmq9h3f.js} +31 -49
  247. package/dist/v2/{server-sggvvzhb.js → server-bgzy0phk.js} +505 -11
  248. package/dist/v2/server-c7n2ftng.js +6860 -0
  249. package/dist/v2/server-cvgn49tr.js +733 -0
  250. package/dist/v2/{server-zm570tr2.js → server-cw6521wn.js} +232 -7
  251. package/dist/v2/{server-xdfwt6kh.js → server-czb2rkpk.js} +23 -3
  252. package/dist/v2/{server-x2g40a71.js → server-d6g4whc2.js} +21 -15
  253. package/dist/{index-1bc61ans.js → v2/server-fvnzcnww.js} +44 -1
  254. package/dist/v2/{server-4k748ke6.js → server-hb6xhh9q.js} +2 -2
  255. package/dist/v2/{server-gjcr4w98.js → server-kh958yj8.js} +5 -5
  256. package/dist/v2/{server-1r6pmz4f.js → server-kzns2hbz.js} +1 -1
  257. package/dist/v2/{server-psqc7e9n.js → server-mqvtz7wz.js} +1227 -78
  258. package/dist/v2/{server-vqpf3167.js → server-ras2sxnc.js} +135 -15
  259. package/dist/v2/{server-ezhze64f.js → server-s2st631p.js} +4 -4
  260. package/dist/v2/{server-5m3dt5r1.js → server-t4k4qexw.js} +6 -2
  261. package/dist/v2/{server-z2037m6z.js → server-t528t8qm.js} +2 -2
  262. package/dist/v2/{server-v06jcv0w.js → server-vb7pbd9p.js} +18 -259
  263. package/dist/v2/{server-8tqanswc.js → server-zbxjj2mz.js} +331 -4
  264. package/dist/v2/server.d.ts.map +1 -1
  265. package/dist/v2/server.js +150 -6
  266. package/dist/v2/{storage-tags-w4tv77sn.js → storage-tags-5yxrvkaf.js} +6 -4
  267. package/dist/v2/store-reader.d.ts +8 -2
  268. package/dist/v2/store-reader.d.ts.map +1 -1
  269. package/dist/v2/{wrapup-orchestrator-mz7efs7w.js → wrapup-orchestrator-yem5422s.js} +36 -36
  270. package/dist/wrapup-orchestrator-xvrr27ws.js +45 -0
  271. package/package.json +4 -4
  272. package/src/config/{mural-model-deprecation.ts → deprecated-config.ts} +19 -0
  273. package/src/config/index.test.ts +15 -37
  274. package/src/config/index.ts +2 -3
  275. package/src/config/project-security.ts +3 -3
  276. package/src/config/schema/magic-context.ts +11 -7
  277. package/src/features/magic-context/dreamer/task-registry.ts +2 -3
  278. package/src/shared/auto-search-lifecycle.ts +43 -0
  279. package/src/shared/logger.test.ts +38 -0
  280. package/src/shared/logger.ts +10 -2
  281. package/src/shared/models-dev-cache.ts +1 -7
  282. package/src/shared/models-dev-temperature.ts +107 -0
  283. package/src/shared/project-directory-key.test.ts +59 -0
  284. package/src/shared/project-directory-key.ts +20 -0
  285. package/src/shared/sqlite-640-review.test.ts +5 -1
  286. package/src/shared/storage-file-mutex-review.test.ts +162 -0
  287. package/src/shared/storage-file-mutex.ts +130 -0
  288. package/src/shared/storage-permissions.ts +46 -0
  289. package/src/shared/subagent-temperature.test.ts +270 -0
  290. package/src/shared/subagent-temperature.ts +110 -0
  291. package/src/shared/window-geometry.test.ts +102 -236
  292. package/src/shared/window-geometry.ts +23 -413
  293. package/dist/config/mural-model-deprecation.d.ts.map +0 -1
  294. package/dist/embedding-backfill-9rcm1mfy.js +0 -21
  295. package/dist/index-bdckkfw6.js +0 -3261
  296. package/dist/index-mfkzp7qj.js +0 -229
  297. package/dist/v2/embedding-backfill-vn8g1nh1.js +0 -21
  298. package/dist/v2/recomp-orchestrator-az61rfcg.js +0 -57
  299. package/dist/v2/server-2fbhp79z.js +0 -3205
  300. package/dist/v2/server-mfkzp7qj.js +0 -229
  301. package/dist/wrapup-orchestrator-amzta1t4.js +0 -44
  302. package/src/shared/__fixtures__/window-overlay.v1.json +0 -337
  303. /package/dist/{index-2pp04pmg.js → index-69vas84q.js} +0 -0
  304. /package/dist/v2/{index-2pp04pmg.js → index-69vas84q.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  log2
3
- } from "./index-8j7gqj40.js";
3
+ } from "./index-nsjyysj0.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$/;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  estimateTokens
3
- } from "./index-1qb0z7wa.js";
3
+ } from "./index-qx53vezw.js";
4
4
  import {
5
5
  getHarness2
6
6
  } from "./index-pavzsdc6.js";
7
7
  import {
8
8
  log2
9
- } from "./index-8j7gqj40.js";
9
+ } from "./index-nsjyysj0.js";
10
10
 
11
11
  // ../../node_modules/.bun/@cortexkit+subc-client@0.11.1/node_modules/@cortexkit/subc-client/dist/client.js
12
12
  import { promises as fs2 } from "node:fs";
@@ -2,32 +2,28 @@ import {
2
2
  getHarness2
3
3
  } from "./index-pavzsdc6.js";
4
4
  import {
5
- getDataDir,
6
5
  getMagicContextStorageDir
7
6
  } from "./index-0sahzkwr.js";
8
7
  import {
9
8
  log2,
10
9
  sessionLog2
11
- } from "./index-8j7gqj40.js";
10
+ } from "./index-nsjyysj0.js";
12
11
  import {
13
12
  localBudget,
14
13
  calibrationForModelKey
15
14
  } from "./index-1zx87sdm.js";
16
15
  import {
17
16
  writeStorageFileAtomicSync
18
- } from "./index-1bc61ans.js";
17
+ } from "./index-fvnzcnww.js";
19
18
  import {
20
19
  modelRefLookupOrder
21
20
  } from "./index-avwt563y.js";
22
21
 
23
22
  // src/shared/models-dev-cache.ts
24
- import { readFileSync as readFileSync2 } from "node:fs";
25
- import { join as join2 } from "node:path";
26
-
27
- // src/shared/window-geometry.ts
28
23
  import { readFileSync } from "node:fs";
29
24
  import { join } from "node:path";
30
- var WINDOW_OVERLAY_SCHEMA = "fusiform-window-overlay/v1";
25
+
26
+ // src/shared/window-geometry.ts
31
27
  var PROMPT_WALL_MARGIN = 4096;
32
28
  var PI_OUTPUT_FLOOR = 4096;
33
29
  var OPENCODE_OUTPUT_CAP = 32000;
@@ -42,241 +38,10 @@ var PROVIDER_GEOMETRY = {
42
38
  google: "separate",
43
39
  "google-antigravity": "separate"
44
40
  };
45
- var GRADES = new Set([
46
- "provider_asserted_runtime",
47
- "measured",
48
- "provider_asserted_doc",
49
- "catalog",
50
- "unknown"
51
- ]);
52
- var UNITS = new Set(["provider", "estimate"]);
53
- var BOUNDARIES = new Set(["Observed", "Asserted", "Corrected"]);
54
- var UNKNOWN_REASONS = new Set([
55
- "placeholder_output_equals_context",
56
- "placeholder_zero",
57
- "never_measured",
58
- "not_single_valued_at_key",
59
- "retracted"
60
- ]);
61
- var NUMERIC_FACT_KEYS = new Set([
62
- "window.advertised",
63
- "window.enforced",
64
- "output.advertised",
65
- "output.enforced",
66
- "output.default"
67
- ]);
68
- var configuredOverlayPath;
69
- var loadedOverlayPath;
70
- var loadedOverlay;
71
41
  var geometryClampLogSeen = new Set;
72
- function isRecord(value) {
73
- return typeof value === "object" && value !== null && !Array.isArray(value);
74
- }
75
42
  function isFinitePositive(value) {
76
43
  return typeof value === "number" && Number.isFinite(value) && value > 0;
77
44
  }
78
- function scalarizeFact(value) {
79
- if (value.kind === "stated")
80
- return isFinitePositive(value.value) ? value.value : undefined;
81
- if (value.kind === "bracket") {
82
- return isFinitePositive(value.at_least) ? value.at_least : undefined;
83
- }
84
- return;
85
- }
86
- function parseFactValue(value) {
87
- if (!isRecord(value) || typeof value.kind !== "string")
88
- return;
89
- if (value.kind === "stated") {
90
- if ((typeof value.value !== "number" || !Number.isFinite(value.value)) && typeof value.value !== "string") {
91
- return;
92
- }
93
- return { kind: "stated", value: value.value };
94
- }
95
- if (value.kind === "bracket") {
96
- const atLeast = value.at_least;
97
- const below = value.below;
98
- if (atLeast === undefined && below === undefined)
99
- return { kind: "bracket" };
100
- if (atLeast !== undefined && !isFinitePositive(atLeast))
101
- return;
102
- if (below !== undefined && !isFinitePositive(below))
103
- return;
104
- if (isFinitePositive(atLeast) && isFinitePositive(below) && below <= atLeast) {
105
- return;
106
- }
107
- return {
108
- kind: "bracket",
109
- ...isFinitePositive(atLeast) ? { at_least: atLeast } : {},
110
- ...isFinitePositive(below) ? { below } : {}
111
- };
112
- }
113
- if (value.kind === "unknown" && UNKNOWN_REASONS.has(value.why)) {
114
- return { kind: "unknown", why: value.why };
115
- }
116
- return;
117
- }
118
- function parseFact(key, value) {
119
- if (!isRecord(value))
120
- return;
121
- const parsedValue = parseFactValue(value.value);
122
- if (!parsedValue || !GRADES.has(value.grade) || !UNITS.has(value.units) || !BOUNDARIES.has(value.boundary) || typeof value.source_ref !== "string" || value.source_ref.length === 0 || typeof value.observed_at !== "string" || value.observed_at.length === 0) {
123
- return;
124
- }
125
- if (NUMERIC_FACT_KEYS.has(key) && parsedValue.kind === "stated" && !isFinitePositive(parsedValue.value)) {
126
- return;
127
- }
128
- if (key === "geometry" && parsedValue.kind === "stated" && !["shared_upfront", "shared_truncating", "separate"].includes(String(parsedValue.value))) {
129
- return;
130
- }
131
- return {
132
- ...value,
133
- value: parsedValue,
134
- grade: value.grade,
135
- units: value.units,
136
- boundary: value.boundary,
137
- source_ref: value.source_ref,
138
- observed_at: value.observed_at
139
- };
140
- }
141
- function parseWindowOverlay(value) {
142
- if (!isRecord(value)) {
143
- return { badCells: 0, refusal: "overlay root is not an object" };
144
- }
145
- if (value.schema !== WINDOW_OVERLAY_SCHEMA) {
146
- return {
147
- badCells: 0,
148
- refusal: `unrecognized schema ${JSON.stringify(value.schema)}`
149
- };
150
- }
151
- if (typeof value.generated_at !== "string" || !Array.isArray(value.minted_provider_ids) || !value.minted_provider_ids.every((id) => typeof id === "string" && id.length > 0) || !Array.isArray(value.cells)) {
152
- return { badCells: 0, refusal: "invalid v1 envelope" };
153
- }
154
- const cells = [];
155
- let badCells = 0;
156
- for (const rawCell of value.cells) {
157
- if (!isRecord(rawCell) || typeof rawCell.provider_id !== "string" || rawCell.provider_id.length === 0 || typeof rawCell.model_id !== "string" || rawCell.model_id.length === 0 || !isRecord(rawCell.facts)) {
158
- badCells++;
159
- continue;
160
- }
161
- const facts = {};
162
- let valid = true;
163
- for (const [key, rawFact] of Object.entries(rawCell.facts)) {
164
- const fact = parseFact(key, rawFact);
165
- if (!fact) {
166
- valid = false;
167
- break;
168
- }
169
- facts[key] = fact;
170
- }
171
- if (!valid) {
172
- badCells++;
173
- continue;
174
- }
175
- cells.push({
176
- provider_id: rawCell.provider_id,
177
- model_id: rawCell.model_id,
178
- facts
179
- });
180
- }
181
- return {
182
- overlay: {
183
- schema: WINDOW_OVERLAY_SCHEMA,
184
- generated_at: value.generated_at,
185
- minted_provider_ids: [...value.minted_provider_ids],
186
- cells
187
- },
188
- badCells
189
- };
190
- }
191
- function defaultWindowOverlayPath() {
192
- return join(getDataDir(), "fusiform", "window-overlay.json");
193
- }
194
- function readWindowOverlayFile(path, log = (message) => sessionLog2("global", message)) {
195
- let raw;
196
- try {
197
- raw = readFileSync(path, "utf8");
198
- } catch (error) {
199
- if (error.code === "ENOENT")
200
- return;
201
- log(`window-overlay: unable to read ${path}; overlay ignored`);
202
- return;
203
- }
204
- let decoded;
205
- try {
206
- decoded = JSON.parse(raw);
207
- } catch {
208
- log(`window-overlay: invalid JSON in ${path}; overlay ignored`);
209
- return;
210
- }
211
- const parsed = parseWindowOverlay(decoded);
212
- if (parsed.refusal) {
213
- log(`window-overlay: ${parsed.refusal} in ${path}; entire overlay ignored`);
214
- return;
215
- }
216
- if (parsed.badCells > 0) {
217
- log(`window-overlay: skipped ${parsed.badCells} invalid cell(s) from ${path}`);
218
- }
219
- return parsed.overlay;
220
- }
221
- function setWindowOverlayPath(path) {
222
- if (configuredOverlayPath === path)
223
- return;
224
- reloadWindowOverlay(path);
225
- }
226
- function reloadWindowOverlay(path) {
227
- configuredOverlayPath = path;
228
- loadedOverlayPath = undefined;
229
- loadedOverlay = undefined;
230
- }
231
- function getWindowOverlay() {
232
- const path = configuredOverlayPath ?? defaultWindowOverlayPath();
233
- if (loadedOverlayPath === path && loadedOverlay !== undefined) {
234
- return loadedOverlay ?? undefined;
235
- }
236
- loadedOverlayPath = path;
237
- loadedOverlay = readWindowOverlayFile(path) ?? null;
238
- return loadedOverlay ?? undefined;
239
- }
240
- function resolveWindowOverlayFacts(providerID, modelID, overlay = getWindowOverlay()) {
241
- if (!overlay)
242
- return;
243
- const modelRefs = modelRefLookupOrder(`${providerID}/${modelID}`);
244
- const providerCandidates = new Set(modelRefs.map((ref) => ref.slice(0, ref.indexOf("/"))));
245
- const modelCandidates = new Set([
246
- modelID,
247
- ...modelRefs.map((ref) => ref.slice(ref.indexOf("/") + 1))
248
- ]);
249
- const colon = modelID.lastIndexOf(":");
250
- if (colon > 0)
251
- modelCandidates.add(modelID.slice(0, colon));
252
- const wildcardFacts = {};
253
- const specificFacts = {};
254
- for (const cell of overlay.cells) {
255
- if (!providerCandidates.has(cell.provider_id))
256
- continue;
257
- if (cell.model_id === "*")
258
- Object.assign(wildcardFacts, cell.facts);
259
- else if (modelCandidates.has(cell.model_id))
260
- Object.assign(specificFacts, cell.facts);
261
- }
262
- const facts = { ...wildcardFacts, ...specificFacts };
263
- return Object.keys(facts).length > 0 ? { facts } : undefined;
264
- }
265
- function numericOverlayFact(overlay, key) {
266
- const fact = overlay?.facts[key];
267
- return fact ? scalarizeFact(fact.value) : undefined;
268
- }
269
- function overlayGeometry(overlay) {
270
- const fact = overlay?.facts.geometry;
271
- if (fact === undefined)
272
- return;
273
- if (fact.value.kind === "unknown")
274
- return { kind: "unknown" };
275
- if (fact.value.kind !== "stated")
276
- return;
277
- const value = fact.value.value;
278
- return value === "shared_upfront" || value === "shared_truncating" || value === "separate" ? { kind: "stated", value } : undefined;
279
- }
280
45
  function placeholderFilteredOutput(output, context) {
281
46
  if (!isFinitePositive(output))
282
47
  return;
@@ -284,8 +49,8 @@ function placeholderFilteredOutput(output, context) {
284
49
  return;
285
50
  return output;
286
51
  }
287
- function mergePositive(overlayValue, providerValue) {
288
- return isFinitePositive(providerValue) ? providerValue : overlayValue;
52
+ function mergePositive(catalogValue, providerValue) {
53
+ return isFinitePositive(providerValue) ? providerValue : catalogValue;
289
54
  }
290
55
  function logGeometryClampOnce(key, message, log) {
291
56
  if (geometryClampLogSeen.has(key))
@@ -299,10 +64,8 @@ function deriveWindowGeometry(providerID, modelID, catalogLimit, options = {}) {
299
64
  const providerLimit = options.providerLimit;
300
65
  const catalogContext = isFinitePositive(catalogLimit?.context) ? catalogLimit.context : undefined;
301
66
  const providerContext = isFinitePositive(providerLimit?.context) ? providerLimit.context : undefined;
302
- const advertised = numericOverlayFact(options.overlay, "window.advertised");
303
- const enforced = numericOverlayFact(options.overlay, "window.enforced");
304
- let softContext = mergePositive(enforced ?? advertised ?? catalogContext, providerContext);
305
- let hardContext = mergePositive(enforced ?? softContext, providerContext);
67
+ let softContext = mergePositive(catalogContext, providerContext);
68
+ let hardContext = mergePositive(softContext, providerContext);
306
69
  const contextCap = isFinitePositive(options.contextCap) ? options.contextCap : undefined;
307
70
  const hasContextCap = contextCap !== undefined;
308
71
  if (contextCap !== undefined) {
@@ -312,13 +75,10 @@ function deriveWindowGeometry(providerID, modelID, catalogLimit, options = {}) {
312
75
  const input = mergePositive(isFinitePositive(catalogLimit?.input) ? catalogLimit.input : undefined, providerLimit?.input);
313
76
  if (!isFinitePositive(softContext) && !isFinitePositive(input))
314
77
  return;
315
- const catalogOutput = options.overlay === undefined && options.providerLimit === undefined ? isFinitePositive(catalogLimit?.output) ? catalogLimit.output : undefined : placeholderFilteredOutput(catalogLimit?.output, softContext);
316
- const overlayOutput = placeholderFilteredOutput(numericOverlayFact(options.overlay, "output.enforced") ?? numericOverlayFact(options.overlay, "output.default") ?? numericOverlayFact(options.overlay, "output.advertised"), softContext);
78
+ const catalogOutput = options.providerLimit === undefined ? isFinitePositive(catalogLimit?.output) ? catalogLimit.output : undefined : placeholderFilteredOutput(catalogLimit?.output, softContext);
317
79
  const providerOutput = placeholderFilteredOutput(providerLimit?.output, softContext);
318
- const output = providerOutput ?? overlayOutput ?? catalogOutput;
319
- const geometryFact = overlayGeometry(options.overlay);
320
- const geometry = geometryFact?.kind === "stated" ? geometryFact.value : geometryFact?.kind === "unknown" ? "shared_upfront" : PROVIDER_GEOMETRY[providerID] ?? "shared_upfront";
321
- const geometryOverride = geometryFact?.kind === "stated" ? geometryFact.value : undefined;
80
+ const output = providerOutput ?? catalogOutput;
81
+ const geometry = PROVIDER_GEOMETRY[providerID] ?? "shared_upfront";
322
82
  const preCarvedInput = isFinitePositive(input) && (!isFinitePositive(softContext) || input < softContext);
323
83
  const outputReserveOverride = typeof options.outputReserveOverride === "number" && Number.isFinite(options.outputReserveOverride) && options.outputReserveOverride >= 0 ? options.outputReserveOverride : undefined;
324
84
  let derivationWindow = softContext ?? input;
@@ -346,14 +106,14 @@ function deriveWindowGeometry(providerID, modelID, catalogLimit, options = {}) {
346
106
  reserveSource = "output_catalog";
347
107
  }
348
108
  } else if (isFinitePositive(softContext)) {
349
- if (geometry === "separate" && (options.overlay === undefined || options.harness === "pi" || geometryOverride !== undefined)) {
109
+ if (geometry === "separate") {
350
110
  softReserve = 0;
351
111
  reserveSource = "none";
352
112
  } else {
353
113
  softReserve = output ?? 0;
354
114
  reserveSource = output === undefined ? "none" : "output_catalog";
355
115
  const cap = softContext * OUTPUT_RESERVE_CAP_RATIO;
356
- softReserve = Math.min(softReserve, options.harness === "pi" || options.overlay === undefined ? cap : Math.min(cap, OPENCODE_OUTPUT_CAP));
116
+ softReserve = Math.min(softReserve, cap);
357
117
  }
358
118
  const floor = Math.max(MIN_PLAUSIBLE_CONTEXT_LIMIT, softContext * 0.5);
359
119
  const flooredReserve = Math.min(softReserve, Math.max(0, softContext - floor));
@@ -368,7 +128,7 @@ function deriveWindowGeometry(providerID, modelID, catalogLimit, options = {}) {
368
128
  const hardWindow = hardContext ?? softContext ?? input;
369
129
  if (!isFinitePositive(hardWindow))
370
130
  return;
371
- const windowSource = hasContextCap ? "detected" : providerContext !== undefined ? "provider" : enforced !== undefined || advertised !== undefined ? "overlay" : "catalog";
131
+ const windowSource = hasContextCap ? "detected" : providerContext !== undefined ? "provider" : "catalog";
372
132
  let usableHard;
373
133
  if (geometry === "separate") {
374
134
  usableHard = hardWindow;
@@ -384,7 +144,7 @@ function deriveWindowGeometry(providerID, modelID, catalogLimit, options = {}) {
384
144
  }
385
145
  usableHard = Math.max(MIN_PLAUSIBLE_CONTEXT_LIMIT, Math.floor(usableHard));
386
146
  if (usableHard < usableSoft) {
387
- logGeometryClampOnce(`${providerID}/${modelID}|${usableSoft}|${usableHard}`, `usable hard limit clamped for ${providerID}/${modelID}: ${usableHard} → ${usableSoft} (overlay/provider inversion)`, options.log);
147
+ logGeometryClampOnce(`${providerID}/${modelID}|${usableSoft}|${usableHard}`, `usable hard limit clamped for ${providerID}/${modelID}: ${usableHard} → ${usableSoft} (window limit inversion)`, options.log);
388
148
  usableHard = usableSoft;
389
149
  }
390
150
  const resolvedWindow = derivationWindow ?? usableSoft;
@@ -464,14 +224,14 @@ var apiCache = null;
464
224
  var apiLoadedAt = 0;
465
225
  var persistSeedLoaded = false;
466
226
  function persistFilePath() {
467
- return join2(getMagicContextStorageDir(), `model-context-limits-${getHarness2()}.json`);
227
+ return join(getMagicContextStorageDir(), `model-context-limits-${getHarness2()}.json`);
468
228
  }
469
229
  function loadPersistedApiCacheOnce() {
470
230
  if (persistSeedLoaded || apiCache !== null)
471
231
  return;
472
232
  persistSeedLoaded = true;
473
233
  try {
474
- const raw = readFileSync2(persistFilePath(), "utf-8");
234
+ const raw = readFileSync(persistFilePath(), "utf-8");
475
235
  const obj = JSON.parse(raw);
476
236
  const map = new Map;
477
237
  for (const [key, persisted] of Object.entries(obj)) {
@@ -670,7 +430,6 @@ function getSdkWindowGeometry(providerID, modelID, detectedContextLimit, options
670
430
  input: metadata.inputLimit,
671
431
  output: metadata.outputLimit
672
432
  }, {
673
- overlay: resolveWindowOverlayFacts(providerID, modelID, getWindowOverlay()),
674
433
  outputReserveOverride: resolveOutputReserve(providerID, modelID),
675
434
  harness: options?.harness ?? "opencode",
676
435
  contextCap: promptOnlyDetected === undefined && isFinitePositive2(detectedContextLimit) ? detectedContextLimit : undefined
@@ -819,4 +578,4 @@ function producerSourceLocalBudget2(providerTokens, modelKey) {
819
578
  return ratio === 1 ? providerTokens : localBudget(providerTokens, ratio);
820
579
  }
821
580
 
822
- export { catalogOutputReserve, setWindowOverlayPath, reloadWindowOverlay, hasTrustedAbsoluteWall, applyProvenInputFloor, formatWindowDerivationLine, isSaneLimit, setOutputReserveConfig, resolveLimit, refreshModelLimitsFromApi, refreshModelLimitsAfterAuthOnce, getSdkWindowGeometry, getSdkContextLimit, modelSupportsVision, getSdkOutputLimit, getModelsDevCacheState, deriveTriggerBudget2, deriveHistorianChunkTokens2, resolveKnownHistorianContextLimit2, resolveHistorianProducerLimits2, resolveHistorianContextLimit2, producerSourceLocalBudget2 };
581
+ export { catalogOutputReserve, hasTrustedAbsoluteWall, applyProvenInputFloor, formatWindowDerivationLine, isSaneLimit, setOutputReserveConfig, resolveLimit, refreshModelLimitsFromApi, refreshModelLimitsAfterAuthOnce, getSdkWindowGeometry, getSdkContextLimit, modelSupportsVision, getSdkOutputLimit, getModelsDevCacheState, deriveTriggerBudget2, deriveHistorianChunkTokens2, resolveKnownHistorianContextLimit2, resolveHistorianProducerLimits2, resolveHistorianContextLimit2, producerSourceLocalBudget2 };
@@ -4,13 +4,13 @@ import {
4
4
  import {
5
5
  importPluginModule,
6
6
  sessionLog2
7
- } from "./index-8j7gqj40.js";
7
+ } from "./index-nsjyysj0.js";
8
8
  import {
9
9
  isDefaultSessionTitle2
10
- } from "./index-jcbd3znx.js";
10
+ } from "./index-tqf7yg27.js";
11
11
  import {
12
12
  shouldHoldIgnoredNotification
13
- } from "./index-ty64eqcn.js";
13
+ } from "./index-0pjvpfkf.js";
14
14
  import {
15
15
  getErrorMessage
16
16
  } from "./index-y8v6yerm.js";
@@ -142,7 +142,7 @@ async function sendIgnoredMessageNow(client, sessionId, text, params, forcePersi
142
142
  holdIgnoredNotification({ client, sessionId, text, params, forcePersist }, "during target checks");
143
143
  return "queued";
144
144
  }
145
- const { waitForSafeNotificationTarget } = await importPluginModule(() => import("./safe-notification-target-5ffqq32m.js"));
145
+ const { waitForSafeNotificationTarget } = await importPluginModule(() => import("./safe-notification-target-q0cyrx3x.js"));
146
146
  if (await waitForSafeNotificationTarget(client, sessionId) === "skip") {
147
147
  sessionLog2(sessionId, "notification skipped (session not titled yet)");
148
148
  return "skipped";