@cortexkit/opencode-magic-context 0.45.0 → 0.46.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 (385) hide show
  1. package/README.md +26 -0
  2. package/dist/{announcement-f75t58v9.js → announcement-y35wzg2r.js} +1 -1
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/live-run-config.d.ts.map +1 -1
  5. package/dist/config/migrate-config-location.d.ts.map +1 -1
  6. package/dist/config/schema/magic-context.d.ts +10 -4
  7. package/dist/config/schema/magic-context.d.ts.map +1 -1
  8. package/dist/{conflict-warning-hook-5yrz2r24.js → conflict-warning-hook-7fj2b9jw.js} +6 -5
  9. package/dist/context-8dkpszy5.js +4483 -0
  10. package/dist/{derive-budgets-a63zsm5c.js → derive-budgets-7nj7r1rv.js} +2 -2
  11. package/dist/embedding-worker.js +4 -4
  12. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts +45 -0
  13. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts.map +1 -0
  14. package/dist/features/magic-context/checkout-claim.d.ts +155 -0
  15. package/dist/features/magic-context/checkout-claim.d.ts.map +1 -0
  16. package/dist/features/magic-context/compaction-marker.d.ts +20 -3
  17. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  18. package/dist/features/magic-context/compartment-storage.d.ts +23 -2
  19. package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  21. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/provider-output-failure.d.ts +6 -2
  23. package/dist/features/magic-context/dreamer/provider-output-failure.d.ts.map +1 -1
  24. package/dist/features/magic-context/dreamer/provider-output-failure.test-support.d.ts +30 -0
  25. package/dist/features/magic-context/dreamer/provider-output-failure.test-support.d.ts.map +1 -0
  26. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
  27. package/dist/features/magic-context/dreamer/task-executor.d.ts +9 -0
  28. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  29. package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
  30. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  31. package/dist/features/magic-context/dreamer/verify-diff.d.ts.map +1 -1
  32. package/dist/features/magic-context/dreamer/verify-gate.d.ts.map +1 -1
  33. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  34. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  35. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  36. package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -1
  37. package/dist/features/magic-context/memory/storage-memory-verifications.d.ts.map +1 -1
  38. package/dist/features/magic-context/memory/storage-memory.d.ts +3 -0
  39. package/dist/features/magic-context/memory/storage-memory.d.ts.map +1 -1
  40. package/dist/features/magic-context/memory/verification-paths.d.ts +2 -2
  41. package/dist/features/magic-context/memory/verification-paths.d.ts.map +1 -1
  42. package/dist/features/magic-context/merged-reasoning-decisions.d.ts.map +1 -1
  43. package/dist/features/magic-context/message-index-async.d.ts +3 -3
  44. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  45. package/dist/features/magic-context/message-index.d.ts +2 -0
  46. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  47. package/dist/features/magic-context/migration-v95-perf-indexes.d.ts +12 -0
  48. package/dist/features/magic-context/migration-v95-perf-indexes.d.ts.map +1 -0
  49. package/dist/features/magic-context/migration-worker-client.d.ts +4 -4
  50. package/dist/features/magic-context/migration-worker-client.d.ts.map +1 -1
  51. package/dist/features/magic-context/migrations.d.ts +1 -0
  52. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  53. package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
  54. package/dist/features/magic-context/mural/resolve-mural.d.ts +15 -4
  55. package/dist/features/magic-context/mural/resolve-mural.d.ts.map +1 -1
  56. package/dist/features/magic-context/mural/source-revision.d.ts +7 -0
  57. package/dist/features/magic-context/mural/source-revision.d.ts.map +1 -0
  58. package/dist/features/magic-context/mural/storage-mural-cues.d.ts.map +1 -1
  59. package/dist/features/magic-context/reclaim-protection.d.ts +15 -10
  60. package/dist/features/magic-context/reclaim-protection.d.ts.map +1 -1
  61. package/dist/features/magic-context/session-cache-ttl.d.ts +4 -2
  62. package/dist/features/magic-context/session-cache-ttl.d.ts.map +1 -1
  63. package/dist/features/magic-context/smart-notes/capabilities.d.ts +3 -0
  64. package/dist/features/magic-context/smart-notes/capabilities.d.ts.map +1 -1
  65. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  66. package/dist/features/magic-context/smart-notes/github-token.d.ts +5 -0
  67. package/dist/features/magic-context/smart-notes/github-token.d.ts.map +1 -0
  68. package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
  69. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  70. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +12 -0
  71. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
  72. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts +6 -0
  73. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts.map +1 -1
  74. package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
  75. package/dist/features/magic-context/smart-notes/types.d.ts +2 -0
  76. package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -1
  77. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  78. package/dist/features/magic-context/storage-db.d.ts +6 -9
  79. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  80. package/dist/features/magic-context/storage-meta-shared.d.ts +1 -1
  81. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  82. package/dist/features/magic-context/storage-ops.d.ts +8 -1
  83. package/dist/features/magic-context/storage-ops.d.ts.map +1 -1
  84. package/dist/features/magic-context/storage-replay-document.d.ts +7 -0
  85. package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -1
  86. package/dist/features/magic-context/storage-schema-helpers.d.ts +2 -0
  87. package/dist/features/magic-context/storage-schema-helpers.d.ts.map +1 -1
  88. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  89. package/dist/features/magic-context/storage-source.d.ts.map +1 -1
  90. package/dist/features/magic-context/storage-tags.d.ts +11 -3
  91. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  92. package/dist/features/magic-context/storage.d.ts +2 -2
  93. package/dist/features/magic-context/storage.d.ts.map +1 -1
  94. package/dist/features/magic-context/temporal-decisions.d.ts +10 -0
  95. package/dist/features/magic-context/temporal-decisions.d.ts.map +1 -0
  96. package/dist/features/magic-context/tool-definition-tokens.d.ts +2 -0
  97. package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -1
  98. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  99. package/dist/features/magic-context/types.d.ts +7 -6
  100. package/dist/features/magic-context/types.d.ts.map +1 -1
  101. package/dist/features/magic-context/window-report-ledger.d.ts.map +1 -1
  102. package/dist/hooks/auto-update-checker/index.d.ts.map +1 -1
  103. package/dist/hooks/magic-context/apply-operations.d.ts +8 -0
  104. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  105. package/dist/hooks/magic-context/cache-busting-signals.d.ts +6 -3
  106. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  107. package/dist/hooks/magic-context/channel2-cycle.d.ts +2 -0
  108. package/dist/hooks/magic-context/channel2-cycle.d.ts.map +1 -1
  109. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +7 -0
  110. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  111. package/dist/hooks/magic-context/compartment-prompt.d.ts +2 -2
  112. package/dist/hooks/magic-context/compartment-prompt.d.ts.map +1 -1
  113. package/dist/hooks/magic-context/compartment-render-epoch.d.ts +8 -0
  114. package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -1
  115. package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts +18 -4
  116. package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts.map +1 -1
  117. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  118. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  119. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  120. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts +12 -0
  121. package/dist/hooks/magic-context/ctx-reduce-availability.d.ts.map +1 -1
  122. package/dist/hooks/magic-context/decision-calibration.d.ts +3 -0
  123. package/dist/hooks/magic-context/decision-calibration.d.ts.map +1 -1
  124. package/dist/hooks/magic-context/default-protection-pressure.test-support.d.ts +37 -0
  125. package/dist/hooks/magic-context/default-protection-pressure.test-support.d.ts.map +1 -0
  126. package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts +4 -0
  127. package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -1
  128. package/dist/hooks/magic-context/edit-marker.d.ts.map +1 -1
  129. package/dist/hooks/magic-context/emergency-drop.d.ts +2 -0
  130. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  131. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +21 -1
  132. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -1
  133. package/dist/hooks/magic-context/event-handler.d.ts +5 -0
  134. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  135. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +30 -1
  136. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  137. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +2 -0
  138. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  139. package/dist/hooks/magic-context/historian-prompt-fit.d.ts +4 -2
  140. package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -1
  141. package/dist/hooks/magic-context/hook.d.ts +2 -1
  142. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  143. package/dist/hooks/magic-context/inject-compartments.d.ts +9 -10
  144. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  145. package/dist/hooks/magic-context/lkg-measured-request.d.ts +69 -0
  146. package/dist/hooks/magic-context/lkg-measured-request.d.ts.map +1 -0
  147. package/dist/hooks/magic-context/lkg-persist.d.ts +2 -0
  148. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  149. package/dist/hooks/magic-context/lkg-replay-fit.d.ts +14 -0
  150. package/dist/hooks/magic-context/lkg-replay-fit.d.ts.map +1 -1
  151. package/dist/hooks/magic-context/lkg-replay.d.ts +10 -1
  152. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  153. package/dist/hooks/magic-context/lkg-slot.d.ts +4 -0
  154. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  155. package/dist/hooks/magic-context/module-state-sync.d.ts +2 -0
  156. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
  157. package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
  158. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  159. package/dist/hooks/magic-context/note-nudger.d.ts +17 -5
  160. package/dist/hooks/magic-context/note-nudger.d.ts.map +1 -1
  161. package/dist/hooks/magic-context/read-session-chunk.d.ts +1 -1
  162. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  163. package/dist/hooks/magic-context/read-session-db.d.ts +1 -0
  164. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  165. package/dist/hooks/magic-context/read-session-formatting.d.ts +7 -0
  166. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  167. package/dist/hooks/magic-context/read-session-raw.d.ts +4 -0
  168. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  169. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  170. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +2 -0
  171. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  172. package/dist/hooks/magic-context/reference-retrieval.d.ts +27 -17
  173. package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -1
  174. package/dist/hooks/magic-context/request-hook-order.d.ts +56 -0
  175. package/dist/hooks/magic-context/request-hook-order.d.ts.map +1 -0
  176. package/dist/hooks/magic-context/rust-mode-transform.d.ts +22 -3
  177. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  178. package/dist/hooks/magic-context/strip-content.d.ts +4 -2
  179. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  180. package/dist/hooks/magic-context/supersession-reclaim.d.ts +4 -0
  181. package/dist/hooks/magic-context/supersession-reclaim.d.ts.map +1 -1
  182. package/dist/hooks/magic-context/system-prompt-hash.d.ts +7 -0
  183. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  184. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +12 -3
  185. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  186. package/dist/hooks/magic-context/temporal-awareness.d.ts +6 -3
  187. package/dist/hooks/magic-context/temporal-awareness.d.ts.map +1 -1
  188. package/dist/hooks/magic-context/temporal-served-projection.d.ts +4 -0
  189. package/dist/hooks/magic-context/temporal-served-projection.d.ts.map +1 -0
  190. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  191. package/dist/hooks/magic-context/tool-reclaim.d.ts +2 -0
  192. package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -1
  193. package/dist/hooks/magic-context/transform-message-helpers.d.ts +5 -0
  194. package/dist/hooks/magic-context/transform-message-helpers.d.ts.map +1 -1
  195. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +41 -17
  196. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  197. package/dist/hooks/magic-context/transform.d.ts +12 -0
  198. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  199. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  200. package/dist/{index-vvtfyw1z.js → index-0d3g3461.js} +5 -13
  201. package/dist/index-1bc61ans.js +154 -0
  202. package/dist/{index-n96ag4rk.js → index-1zx87sdm.js} +5 -1
  203. package/dist/{index-4krbw8z9.js → index-3h0ybwah.js} +608 -102
  204. package/dist/{index-gd5qx1j9.js → index-5eqk6z3s.js} +62 -1
  205. package/dist/index-5gq3b2ya.js +494 -0
  206. package/dist/{index-75zjgwga.js → index-7qw742ev.js} +1 -1
  207. package/dist/{index-f85teqck.js → index-8da2zjhz.js} +3 -256
  208. package/dist/{index-w9jwmntv.js → index-b35pxds2.js} +9 -1
  209. package/dist/{index-8fgkmxmy.js → index-e2dtv0ra.js} +4 -3
  210. package/dist/{v2/server-a4m2b1yv.js → index-fg34g6a5.js} +55 -1
  211. package/dist/{index-xgt9k6c6.js → index-j7fvnjye.js} +2 -1
  212. package/dist/{index-2aq21j41.js → index-k4404na5.js} +418 -127
  213. package/dist/{index-2ntg5sd4.js → index-k5bdx1bx.js} +9 -5
  214. package/dist/{index-bmzf7zxv.js → index-majxda46.js} +23 -5
  215. package/dist/{index-16ny736w.js → index-p821bjdb.js} +14406 -13726
  216. package/dist/{index-remp7e2g.js → index-q4yp4b52.js} +16 -1
  217. package/dist/index-qr6r7akd.js +28505 -0
  218. package/dist/{index-fr2z4qy8.js → index-r5hmbx3t.js} +132 -169
  219. package/dist/index-sfnj6h8h.js +259 -0
  220. package/dist/index-sj29b3z2.js +30 -0
  221. package/dist/{index-q7yesyk9.js → index-yasgb8ej.js} +23 -24
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +1983 -33118
  224. package/dist/{message-time-backfill-an311pmk.js → message-time-backfill-68gj6t3e.js} +2 -2
  225. package/dist/migration-worker.js +12 -7
  226. package/dist/plugin/dream-timer.d.ts +25 -1
  227. package/dist/plugin/dream-timer.d.ts.map +1 -1
  228. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
  229. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  230. package/dist/plugin/messages-transform.d.ts +13 -0
  231. package/dist/plugin/messages-transform.d.ts.map +1 -1
  232. package/dist/plugin/rpc-handlers.d.ts +4 -0
  233. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  234. package/dist/plugin/subagent-tool-policy.d.ts +14 -0
  235. package/dist/plugin/subagent-tool-policy.d.ts.map +1 -0
  236. package/dist/plugin/tool-registry.d.ts +1 -0
  237. package/dist/plugin/tool-registry.d.ts.map +1 -1
  238. package/dist/{read-session-chunk-8rxs0tc9.js → read-session-chunk-egz7r68d.js} +8 -8
  239. package/dist/{recomp-orchestrator-nzamtw29.js → recomp-orchestrator-ejq7ex5d.js} +15 -15
  240. package/dist/{send-session-notification-nqpv7cne.js → send-session-notification-dyw42dtr.js} +4 -4
  241. package/dist/shared/announcement.d.ts.map +1 -1
  242. package/dist/shared/cache-ttl-display.d.ts +6 -4
  243. package/dist/shared/cache-ttl-display.d.ts.map +1 -1
  244. package/dist/shared/model-cache-ttl.d.ts +1 -1
  245. package/dist/shared/model-cache-ttl.d.ts.map +1 -1
  246. package/dist/shared/model-suggestion-retry.d.ts +2 -0
  247. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  248. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  249. package/dist/shared/protected-tools-policy.d.ts +6 -0
  250. package/dist/shared/protected-tools-policy.d.ts.map +1 -0
  251. package/dist/shared/quota-diagnostic.d.ts +4 -0
  252. package/dist/shared/quota-diagnostic.d.ts.map +1 -0
  253. package/dist/shared/rpc-server.d.ts.map +1 -1
  254. package/dist/shared/sqlite-context-pragmas.d.ts +12 -0
  255. package/dist/shared/sqlite-context-pragmas.d.ts.map +1 -0
  256. package/dist/shared/sqlite-helpers.d.ts +9 -0
  257. package/dist/shared/sqlite-helpers.d.ts.map +1 -1
  258. package/dist/shared/sqlite.d.ts +10 -0
  259. package/dist/shared/sqlite.d.ts.map +1 -1
  260. package/dist/shared/status-summary.d.ts +1 -0
  261. package/dist/shared/status-summary.d.ts.map +1 -1
  262. package/dist/shared/status-view-check.d.ts.map +1 -1
  263. package/dist/shared/status-view.d.ts +4 -0
  264. package/dist/shared/status-view.d.ts.map +1 -1
  265. package/dist/shared/storage-permissions.d.ts +24 -0
  266. package/dist/shared/storage-permissions.d.ts.map +1 -1
  267. package/dist/shared/temporal-upgrade-fixture.d.ts +19 -0
  268. package/dist/shared/temporal-upgrade-fixture.d.ts.map +1 -0
  269. package/dist/shared/user-facing-codes.d.ts +5 -0
  270. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  271. package/dist/shared/write-transaction-timing.d.ts +8 -1
  272. package/dist/shared/write-transaction-timing.d.ts.map +1 -1
  273. package/dist/tools/ctx-expand/render.d.ts.map +1 -1
  274. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  275. package/dist/tools/ctx-reduce/constants.d.ts +2 -0
  276. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  277. package/dist/tools/ctx-reduce/tools.d.ts +4 -4
  278. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  279. package/dist/{transform-postprocess-phase-414phndq.js → transform-postprocess-phase-tz3pat2p.js} +15 -15
  280. package/dist/v2/context-8vgtb6sz.js +52166 -0
  281. package/dist/v2/{derive-budgets-v0krf3t7.js → derive-budgets-kdgp4s3r.js} +4 -3
  282. package/dist/v2/embedding-worker.js +6 -5
  283. package/dist/v2/fold/boundary.d.ts +2 -0
  284. package/dist/v2/fold/boundary.d.ts.map +1 -1
  285. package/dist/v2/fold/owner.d.ts.map +1 -1
  286. package/dist/v2/hooks/channel2.d.ts +2 -0
  287. package/dist/v2/hooks/channel2.d.ts.map +1 -1
  288. package/dist/v2/hooks/context.d.ts +2 -2
  289. package/dist/v2/hooks/context.d.ts.map +1 -1
  290. package/dist/v2/hooks/dream-timer.d.ts +39 -0
  291. package/dist/v2/hooks/dream-timer.d.ts.map +1 -0
  292. package/dist/v2/hooks/payload.d.ts.map +1 -1
  293. package/dist/v2/hooks/store.d.ts.map +1 -1
  294. package/dist/v2/hooks/tools.d.ts +1 -1
  295. package/dist/v2/hooks/tools.d.ts.map +1 -1
  296. package/dist/v2/hooks/update-check.d.ts.map +1 -1
  297. package/dist/v2/{message-time-backfill-0n93vrd7.js → message-time-backfill-r6qkem1x.js} +3 -3
  298. package/dist/v2/migration-worker.js +13 -8
  299. package/dist/v2/{read-session-chunk-hjza38hr.js → read-session-chunk-8vjp6581.js} +9 -9
  300. package/dist/v2/recomp-orchestrator-5xj0yzyk.js +39 -0
  301. package/dist/v2/{safe-notification-target-wtj0bbc2.js → safe-notification-target-eb1n1vfb.js} +2 -2
  302. package/dist/v2/{send-session-notification-mq9frrtm.js → send-session-notification-qs0j78v6.js} +6 -6
  303. package/dist/v2/server-14vq4kpm.js +30 -0
  304. package/dist/v2/server-1bc61ans.js +154 -0
  305. package/dist/v2/{server-n96ag4rk.js → server-1zx87sdm.js} +5 -1
  306. package/dist/v2/server-3n4q9xme.js +79 -0
  307. package/dist/v2/server-4663ejam.js +3351 -0
  308. package/dist/v2/{server-rhdgxp1t.js → server-51dv1pr5.js} +63 -2
  309. package/dist/v2/{server-5317ykaf.js → server-6r257mf5.js} +1 -1
  310. package/dist/v2/server-84w6rvvf.js +14 -0
  311. package/dist/v2/{server-qpg6wf72.js → server-ajzeteqw.js} +9 -1
  312. package/dist/{index-a4m2b1yv.js → v2/server-fg34g6a5.js} +55 -1
  313. package/dist/v2/{server-e36nf2p1.js → server-frbm99q5.js} +1595 -1599
  314. package/dist/v2/{server-remp7e2g.js → server-g0fjrkta.js} +16 -1
  315. package/dist/v2/{server-z19x7eqz.js → server-mcfawjgc.js} +4 -4
  316. package/dist/v2/server-p2en78c8.js +3892 -0
  317. package/dist/v2/{server-hfjfbg59.js → server-qp5hx1ad.js} +608 -105
  318. package/dist/v2/{server-c4g2y1z8.js → server-vnh7r35f.js} +2778 -5383
  319. package/dist/v2/server-vs5gpnd4.js +493 -0
  320. package/dist/v2/{server-w99cyt6a.js → server-wvjvfhck.js} +14 -6
  321. package/dist/v2/{server-v5xgft5v.js → server-xtp687da.js} +186 -3533
  322. package/dist/v2/{server-0jqw05sa.js → server-y8maxeft.js} +6 -84
  323. package/dist/v2/server.d.ts.map +1 -1
  324. package/dist/v2/server.js +104 -49288
  325. package/dist/v2/store-reader.d.ts +39 -1
  326. package/dist/v2/store-reader.d.ts.map +1 -1
  327. package/dist/v2/tool-result.d.ts +8 -0
  328. package/dist/v2/tool-result.d.ts.map +1 -0
  329. package/dist/v2/tui/index.d.ts.map +1 -1
  330. package/dist/v2/{wrapup-orchestrator-tbyx78dz.js → wrapup-orchestrator-r5t1pyj8.js} +20 -16
  331. package/dist/wrapup-orchestrator-kw3x3myw.js +26 -0
  332. package/package.json +22 -7
  333. package/src/config/index.ts +21 -4
  334. package/src/config/latch-permanence-guard.test.ts +6 -1
  335. package/src/config/live-run-config.ts +1 -0
  336. package/src/config/migrate-config-location.test.ts +31 -1
  337. package/src/config/migrate-config-location.ts +8 -41
  338. package/src/config/protected-tools.test.ts +70 -0
  339. package/src/config/raw-loader.test.ts +15 -0
  340. package/src/config/raw-loader.ts +1 -1
  341. package/src/config/removed-agent-source-fence.test.ts +10 -1
  342. package/src/config/schema/magic-context.test.ts +20 -1
  343. package/src/config/schema/magic-context.ts +21 -7
  344. package/src/shared/announcement.ts +6 -5
  345. package/src/shared/cache-ttl-display.test.ts +1 -1
  346. package/src/shared/cache-ttl-display.ts +17 -16
  347. package/src/shared/fold-render-lock-fence.test.ts +84 -0
  348. package/src/shared/fold-render-lock-fixtures.test.ts +276 -0
  349. package/src/shared/model-cache-ttl.test.ts +2 -2
  350. package/src/shared/model-cache-ttl.ts +8 -4
  351. package/src/shared/model-suggestion-retry.test.ts +104 -1
  352. package/src/shared/model-suggestion-retry.ts +63 -6
  353. package/src/shared/models-dev-cache.ts +3 -11
  354. package/src/shared/protected-tools-policy.ts +23 -0
  355. package/src/shared/quota-diagnostic.ts +9 -0
  356. package/src/shared/rpc-server.ts +6 -54
  357. package/src/shared/sqlite-context-pragmas.test.ts +105 -0
  358. package/src/shared/sqlite-context-pragmas.ts +24 -0
  359. package/src/shared/sqlite-helpers.ts +17 -0
  360. package/src/shared/sqlite.ts +75 -0
  361. package/src/shared/status-detail-text.test.ts +18 -1
  362. package/src/shared/status-summary.ts +11 -0
  363. package/src/shared/status-view-check.ts +5 -0
  364. package/src/shared/status-view.test.ts +11 -2
  365. package/src/shared/status-view.ts +12 -1
  366. package/src/shared/storage-permissions.test.ts +204 -0
  367. package/src/shared/storage-permissions.ts +192 -0
  368. package/src/shared/temporal-upgrade-fixture.ts +50 -0
  369. package/src/shared/user-facing-codes.ts +6 -0
  370. package/src/shared/write-transaction-timing.test.ts +39 -0
  371. package/src/shared/write-transaction-timing.ts +25 -1
  372. package/src/tui/dialogs/status-dialog-render.test.ts +1 -1
  373. package/src/tui/index.tsx +3 -1
  374. package/src/tui/startup-order.test.ts +16 -0
  375. package/src/tui-compiled/index.tsx +3 -1
  376. package/src/v2/tui/index.ts +9 -2
  377. package/dist/index-anq4nn6f.js +0 -131
  378. package/dist/index-e44zzy84.js +0 -10
  379. package/dist/index-x23gah8c.js +0 -16
  380. package/dist/v2/recomp-orchestrator-1aq7h44c.js +0 -36
  381. package/dist/v2/server-e44zzy84.js +0 -10
  382. package/dist/v2/server-fgmxwrgy.js +0 -16
  383. package/dist/v2/server-r7cmye3k.js +0 -131
  384. package/dist/wrapup-orchestrator-h28bqsy6.js +0 -26
  385. package/dist/v2/{server-ckpc8pxy.js → server-1qbnzc80.js} +8 -8
@@ -5,9 +5,10 @@ import {
5
5
  resolveHistorianProducerLimits2,
6
6
  resolveHistorianContextLimit2,
7
7
  producerSourceLocalBudget2
8
- } from "./server-0jqw05sa.js";
9
- import"./server-n96ag4rk.js";
10
- import"./server-ckpc8pxy.js";
8
+ } from "./server-3n4q9xme.js";
9
+ import"./server-y8maxeft.js";
10
+ import"./server-1zx87sdm.js";
11
+ import"./server-1qbnzc80.js";
11
12
  export {
12
13
  deriveHistorianChunkTokens2 as deriveHistorianChunkTokens,
13
14
  deriveTriggerBudget2 as deriveTriggerBudget,
@@ -1,17 +1,18 @@
1
1
  import {
2
2
  setHarness,
3
3
  log
4
- } from "./server-ckpc8pxy.js";
4
+ } from "./server-1qbnzc80.js";
5
+ import"./server-xtp687da.js";
6
+ import"./server-g0fjrkta.js";
5
7
  import {
6
8
  resolveLocalEmbeddingWorkerRuntime,
7
9
  getLocalEmbeddingNativeMemoryStats,
8
10
  LocalEmbeddingProvider
9
- } from "./server-v5xgft5v.js";
10
- import"./server-remp7e2g.js";
11
- import"./server-rhdgxp1t.js";
11
+ } from "./server-4663ejam.js";
12
+ import"./server-51dv1pr5.js";
12
13
  import {
13
14
  setStoragePrivatePermissionEnforcement
14
- } from "./server-e44zzy84.js";
15
+ } from "./server-1bc61ans.js";
15
16
 
16
17
  // src/features/magic-context/memory/embedding-worker.ts
17
18
  import { parentPort, workerData } from "node:worker_threads";
@@ -57,5 +57,7 @@ findBoundaryUserMessage: (sessionId: string, endMessageId: string) => RawMessage
57
57
  */
58
58
  export declare function trimToRecordedBoundary(db: ContextDatabase, sessionId: string, messages: Array<{
59
59
  id?: string;
60
+ role?: string;
61
+ ordinal?: number;
60
62
  }>): number;
61
63
  //# sourceMappingURL=boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../../src/v2/fold/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAItG;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,YAAY,EAAE,MAAM,GACrB,UAAU,GAAG,IAAI,CAQnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oCAAoC;AAChD;;;;GAIG;AACH,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,GACxF,wBAAwB,CAgE1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,KAAK,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACjC,MAAM,CAoCR"}
1
+ {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../../src/v2/fold/boundary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAY5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAItG;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,YAAY,EAAE,MAAM,GACrB,UAAU,GAAG,IAAI,CAQnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oCAAoC;AAChD;;;;GAIG;AACH,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,GACxF,wBAAwB,CAkE1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,KAAK,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAClE,MAAM,CAqGR"}
@@ -1 +1 @@
1
- {"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../../src/v2/fold/owner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,WAAqD,CAAC;AAC9F,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,GAAG,2BAA2B,GAAG,eAAe,CAAC;CAC5E;AAED;;;;GAIG;AACH,qBAAa,SAAS;IAEN,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;gBAClC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;YAC5C,MAAM;IAUpB,OAAO,CAAC,GAAG;IAGL,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAG1D,MAAM,CAAC,IAAI,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBnB,OAAO,CAAC,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC;KACjE,GAAG,OAAO,CAAC,YAAY,CAAC;CAsC5B"}
1
+ {"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../../src/v2/fold/owner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,WAAqD,CAAC;AAC9F,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,GAAG,2BAA2B,GAAG,eAAe,CAAC;CAC5E;AAED;;;;GAIG;AACH,qBAAa,SAAS;IAEN,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;gBAClC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;YAC5C,MAAM;IAUpB,OAAO,CAAC,GAAG;IAGL,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAG1D,MAAM,CAAC,IAAI,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBnB,OAAO,CAAC,IAAI,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC;KACjE,GAAG,OAAO,CAAC,YAAY,CAAC;CA2C5B"}
@@ -1,6 +1,8 @@
1
1
  import type { ContextDatabase } from "../../features/magic-context/storage";
2
2
  import { type Channel1State } from "../../hooks/magic-context/ctx-reduce-nudge";
3
3
  import type { V2Context } from "./types";
4
+ export declare function syntheticCandidates(context: Pick<V2Context, "storage">, sessionID: string, stored: Set<string>): Set<string>;
5
+ export declare function clearSyntheticCandidates(context: Pick<V2Context, "storage">): void;
4
6
  /** Record the admitted identity before sending; recognition never relies on its prefix. */
5
7
  export declare function deliverSynthetic(context: Pick<V2Context, "session" | "storage">, sessionID: string, text: string): Promise<string>;
6
8
  export declare function isAdmittedSynthetic(context: Pick<V2Context, "storage">, sessionID: string, id: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"channel2.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/channel2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAM5E,OAAO,EAEH,KAAK,aAAa,EAGrB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,2FAA2F;AAC3F,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,EAC/C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GAAG,SAAS,GACpC,OAAO,CAAC,IAAI,CAAC,CAoBf"}
1
+ {"version":3,"file":"channel2.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/channel2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAM5E,OAAO,EAEH,KAAK,aAAa,EAGrB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMzC,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,GAAG,CAAC,MAAM,CAAC,CAQb;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAElF;AAED,2FAA2F;AAC3F,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,EAC/C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GAAG,SAAS,GACpC,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -5,7 +5,7 @@ import { type TransformDeps } from "../../hooks/magic-context/transform";
5
5
  import type { PromptSurfaceConfig } from "../../shared/prompt-surface";
6
6
  import { type PromptSurfaceRuntime } from "../../shared/prompt-surface-runtime";
7
7
  import { type Database } from "../../shared/sqlite";
8
- import { V2StoreReader } from "../store-reader";
8
+ import { type V2StoreReader } from "../store-reader";
9
9
  import type { SessionContext, V2Context } from "./types";
10
10
  export declare function isBlockingV2TransformError(error: unknown): boolean;
11
11
  /**
@@ -29,7 +29,7 @@ export declare function checkHistoryBoundary(db: Database, reader: Pick<V2StoreR
29
29
  * session's lifetime; a failed lookup is retried on the next pass.
30
30
  */
31
31
  export declare function cacheV2SessionDirectory(session: Pick<V2Context["session"], "get">, sessionID: string, directories: Map<string, string>): Promise<void>;
32
- export declare function createHostSeams(context: V2Context, readAllForConversion: TransformDeps["hostRawMessages"] & {}, reconciliationSource: NonNullable<TransformDeps["hostMessageReconciliationSource"]>, liveModels: NonNullable<TransformDeps["liveModelBySession"]>): Required<Pick<TransformDeps, "hostRawMessages" | "hostMessageReconciliationSource" | "hostProtectedTailBoundary" | "hostModelFallback" | "hostRefusalNotice" | "hostRefuse">>;
32
+ export declare function createHostSeams(context: V2Context, readAllForConversion: TransformDeps["hostRawMessages"] & {}, reconciliationSource: NonNullable<TransformDeps["hostMessageReconciliationSource"]>, liveModels: NonNullable<TransformDeps["liveModelBySession"]>): Required<Pick<TransformDeps, "hostRawMessages" | "hostMessageReconciliationSource" | "hostProtectedTailBoundary" | "hostModelFallback" | "getModelKey" | "hostRefusalNotice" | "hostRefuse">>;
33
33
  type V2ThresholdConfig = Pick<ReturnType<typeof loadPluginConfigDetailed>["config"], "execute_threshold_percentage" | "execute_threshold_tokens">;
34
34
  /**
35
35
  * The execute thresholds the shared transform and its scheduler read, built the way the
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { MagicContextPluginConfig } from "../../config";
2
+ import type { DreamerConfig } from "../../config/schema/magic-context";
3
+ import type { HiddenCompletionExecutor } from "../../hooks/magic-context/compartment-runner-types";
4
+ import type { V2StoreReader } from "../store-reader";
5
+ /**
6
+ * Find the session a timer-started dream run's child sessions hang under.
7
+ *
8
+ * A run started by the schedule timer has no triggering session. OpenCode 2
9
+ * shows a hidden child created without a parent as a separate top-level
10
+ * session, so the run borrows the most recently updated user session in this
11
+ * location. Returns undefined when the location has none (or its store cannot
12
+ * be read); the executor then skips the tasks that need a child session.
13
+ */
14
+ export declare function findV2DreamParentSession(openReader: () => Pick<V2StoreReader, "latestRootSessionInDirectory" | "close">, directory: string): string | undefined;
15
+ /**
16
+ * Register one OpenCode 2 plugin context's project with the process-wide dream
17
+ * schedule timer, so due dream tasks run on their cron schedule and not only
18
+ * after a session turn ends.
19
+ *
20
+ * OpenCode 1 registers from its `server` lane, which OpenCode 2 never calls.
21
+ * The timer is shared by every context in the process and keyed by directory;
22
+ * `dispose` removes only this context's registration, and the timer stops once
23
+ * no project is left. OpenCode 2 runs a context's cleanup when its location
24
+ * shuts down or is rebuilt, so disposal is tied to the context, not to an
25
+ * event.
26
+ */
27
+ export declare function registerV2DreamScheduleTimer(args: {
28
+ directory: string;
29
+ projectIdentity: string;
30
+ config: MagicContextPluginConfig;
31
+ dreamer: DreamerConfig;
32
+ /** The live configuration, re-read before each timer pass. */
33
+ liveConfig: () => MagicContextPluginConfig;
34
+ executor: HiddenCompletionExecutor;
35
+ openReader: () => Pick<V2StoreReader, "latestRootSessionInDirectory" | "close">;
36
+ }): {
37
+ dispose(): Promise<void>;
38
+ };
39
+ //# sourceMappingURL=dream-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream-timer.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/dream-timer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAKnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,8BAA8B,GAAG,OAAO,CAAC,EAC/E,SAAS,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAiBpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,wBAAwB,CAAC;IAC3C,QAAQ,EAAE,wBAAwB,CAAC;IACnC,UAAU,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,8BAA8B,GAAG,OAAO,CAAC,CAAC;CACnF,GAAG;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAmD/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,QAAQ,iEAAkE,CAAC;AA+CxF;iFACiF;AACjF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAUvD;AAqGD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa;;;EAyT/F"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AAEzD,eAAO,MAAM,QAAQ,iEAAkE,CAAC;AA+CxF;iFACiF;AACjF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAUvD;AAoFD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,GAAE,WAAW,CAAC,MAAM,CAAa;;;EAmU/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/store.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import type { V2Context } from "./types";
11
11
  * mode would let an agent's note or memory land in `context.db` alone, where the
12
12
  * module — the authority for both — would never see it.
13
13
  */
14
- export declare function registerTools(context: V2Context, db: Database, config: MagicContextPluginConfig, rustToolBackends?: RustToolBackends): Promise<{
14
+ export declare function registerTools(context: V2Context, db: Database, config: MagicContextPluginConfig, rustToolBackends?: RustToolBackends, isInternalChild?: (sessionId: string) => boolean): Promise<{
15
15
  dispose: () => void;
16
16
  }>;
17
17
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,qBAAqB,CAAC;AAM/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,wBAAwB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB;;GA2FtC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,qBAAqB,CAAC;AAM/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,wBAAwB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO;;GAgGnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/update-check.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAyBzC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,EAC7C,KAAK,GAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAKpD;;;EAgCJ"}
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/update-check.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA4BzC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,EAC7C,KAAK,GAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAKpD;;;EA6CJ"}
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  withSqliteBackgroundWriter,
3
3
  withoutSqliteTransformPass
4
- } from "./server-a4m2b1yv.js";
5
- import"./server-ckpc8pxy.js";
4
+ } from "./server-fg34g6a5.js";
5
+ import"./server-1qbnzc80.js";
6
6
  import {
7
7
  logSlowWriteTransaction
8
- } from "./server-fgmxwrgy.js";
8
+ } from "./server-14vq4kpm.js";
9
9
 
10
10
  // src/features/magic-context/message-time-backfill.ts
11
11
  var MESSAGE_TIME_BACKFILL_BATCH_SIZE = 500;
@@ -1,20 +1,21 @@
1
1
  import {
2
- setLogLineForwarder
3
- } from "./server-ckpc8pxy.js";
2
+ setLogLineForwarder,
3
+ log
4
+ } from "./server-1qbnzc80.js";
4
5
  import {
5
6
  Database
6
- } from "./server-a4m2b1yv.js";
7
+ } from "./server-fg34g6a5.js";
7
8
  import {
8
9
  runMigrationsWithRetry,
9
10
  setSqlitePragmaConfig,
10
11
  initializeDatabase
11
- } from "./server-e36nf2p1.js";
12
+ } from "./server-frbm99q5.js";
13
+ import"./server-vs5gpnd4.js";
12
14
  import {
13
15
  closeQuietly
14
- } from "./server-qpg6wf72.js";
15
- import"./server-rhdgxp1t.js";
16
- import"./server-r7cmye3k.js";
17
- import"./server-fgmxwrgy.js";
16
+ } from "./server-ajzeteqw.js";
17
+ import"./server-51dv1pr5.js";
18
+ import"./server-14vq4kpm.js";
18
19
 
19
20
  // src/features/magic-context/migration-worker.ts
20
21
  import { parentPort, workerData } from "node:worker_threads";
@@ -37,6 +38,10 @@ async function main() {
37
38
  post({ type: "lock-wait", waiting: false });
38
39
  }
39
40
  });
41
+ const finished = db;
42
+ db = undefined;
43
+ finished.close();
44
+ log(`[migrations] migration worker connection closed: ${data.dbPath}`);
40
45
  post({ type: "done" });
41
46
  } catch (error) {
42
47
  post({
@@ -32,18 +32,18 @@ import {
32
32
  readSessionChunk2,
33
33
  getRawSessionMessageIdsThrough2,
34
34
  readRawSessionSeedTail2
35
- } from "./server-hfjfbg59.js";
36
- import"./server-w99cyt6a.js";
37
- import"./server-n96ag4rk.js";
38
- import"./server-remp7e2g.js";
39
- import"./server-r7cmye3k.js";
40
- import"./server-qpg6wf72.js";
35
+ } from "./server-qp5hx1ad.js";
36
+ import"./server-wvjvfhck.js";
37
+ import"./server-1zx87sdm.js";
38
+ import"./server-g0fjrkta.js";
39
+ import"./server-vs5gpnd4.js";
40
+ import"./server-ajzeteqw.js";
41
41
  import {
42
42
  hasMeaningfulUserText2,
43
43
  extractTexts2
44
- } from "./server-rhdgxp1t.js";
45
- import"./server-a4m2b1yv.js";
46
- import"./server-ckpc8pxy.js";
44
+ } from "./server-51dv1pr5.js";
45
+ import"./server-fg34g6a5.js";
46
+ import"./server-1qbnzc80.js";
47
47
  export {
48
48
  RAW_MESSAGE_VISIT_PAGE_SIZE2 as RAW_MESSAGE_VISIT_PAGE_SIZE,
49
49
  RAW_SESSION_TAG_KEY_PAGE_SIZE2 as RAW_SESSION_TAG_KEY_PAGE_SIZE,
@@ -0,0 +1,39 @@
1
+ import {
2
+ isRecompFailure2,
3
+ isRecompSkip2,
4
+ extractRecompReason2,
5
+ setRecompStarting2,
6
+ setRecompNote2,
7
+ setRecompTerminal2,
8
+ buildRecompDeps2,
9
+ runManagedRecomp2
10
+ } from "./server-vnh7r35f.js";
11
+ import"./server-mcfawjgc.js";
12
+ import"./server-3n4q9xme.js";
13
+ import"./server-p2en78c8.js";
14
+ import"./server-y8maxeft.js";
15
+ import"./server-4663ejam.js";
16
+ import"./server-xtp687da.js";
17
+ import"./server-frbm99q5.js";
18
+ import"./server-qp5hx1ad.js";
19
+ import"./server-wvjvfhck.js";
20
+ import"./server-1zx87sdm.js";
21
+ import"./server-g0fjrkta.js";
22
+ import"./server-vs5gpnd4.js";
23
+ import"./server-ajzeteqw.js";
24
+ import"./server-51dv1pr5.js";
25
+ import"./server-14vq4kpm.js";
26
+ import"./server-fg34g6a5.js";
27
+ import"./server-x8a7jmkh.js";
28
+ import"./server-6r257mf5.js";
29
+ import"./server-1qbnzc80.js";
30
+ export {
31
+ buildRecompDeps2 as buildRecompDeps,
32
+ extractRecompReason2 as extractRecompReason,
33
+ isRecompFailure2 as isRecompFailure,
34
+ isRecompSkip2 as isRecompSkip,
35
+ runManagedRecomp2 as runManagedRecomp,
36
+ setRecompNote2 as setRecompNote,
37
+ setRecompStarting2 as setRecompStarting,
38
+ setRecompTerminal2 as setRecompTerminal
39
+ };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  isDefaultSessionTitle2,
3
3
  waitForSafeNotificationTarget2
4
- } from "./server-5317ykaf.js";
5
- import"./server-ckpc8pxy.js";
4
+ } from "./server-6r257mf5.js";
5
+ import"./server-1qbnzc80.js";
6
6
  export {
7
7
  isDefaultSessionTitle2 as isDefaultSessionTitle,
8
8
  waitForSafeNotificationTarget2 as waitForSafeNotificationTarget
@@ -8,12 +8,12 @@ import {
8
8
  clearIgnoredMessages2,
9
9
  observeIgnoredNotificationEvent2,
10
10
  sendStatusNotification2
11
- } from "./server-z19x7eqz.js";
12
- import"./server-w99cyt6a.js";
13
- import"./server-qpg6wf72.js";
14
- import"./server-a4m2b1yv.js";
15
- import"./server-5317ykaf.js";
16
- import"./server-ckpc8pxy.js";
11
+ } from "./server-mcfawjgc.js";
12
+ import"./server-wvjvfhck.js";
13
+ import"./server-ajzeteqw.js";
14
+ import"./server-fg34g6a5.js";
15
+ import"./server-6r257mf5.js";
16
+ import"./server-1qbnzc80.js";
17
17
  export {
18
18
  MAX_QUEUED_IGNORED_NOTIFICATIONS2 as MAX_QUEUED_IGNORED_NOTIFICATIONS,
19
19
  __ignoredNotificationTest2 as __ignoredNotificationTest,
@@ -0,0 +1,30 @@
1
+ import {
2
+ log
3
+ } from "./server-1qbnzc80.js";
4
+
5
+ // src/shared/write-transaction-timing.ts
6
+ var SLOW_WRITE_TRANSACTION_THRESHOLD_MS = 1000;
7
+ function logSlowWriteTransaction(site, startedAt, thresholdMs = SLOW_WRITE_TRANSACTION_THRESHOLD_MS, completedAtMs = performance.now(), steps) {
8
+ try {
9
+ const durationMs = completedAtMs - startedAt;
10
+ if (durationMs < thresholdMs)
11
+ return;
12
+ const detail = steps ? Object.entries(steps).map(([name, ms]) => `${name}=${ms.toFixed(1)}ms`).join(" ") : "";
13
+ log(`[magic-context] slow write transaction: site=${site} held=${durationMs.toFixed(1)}ms${detail ? ` ${detail}` : ""}`);
14
+ } catch {}
15
+ }
16
+
17
+ class WriteTransactionSteps {
18
+ durations = {};
19
+ last = performance.now();
20
+ mark(name) {
21
+ const now = performance.now();
22
+ this.durations[name] = now - this.last;
23
+ this.last = now;
24
+ }
25
+ reset() {
26
+ this.last = performance.now();
27
+ }
28
+ }
29
+
30
+ export { logSlowWriteTransaction, WriteTransactionSteps };
@@ -0,0 +1,154 @@
1
+ // src/shared/storage-permissions.ts
2
+ import { randomBytes } from "node:crypto";
3
+ import {
4
+ chmodSync,
5
+ closeSync,
6
+ createWriteStream,
7
+ lstatSync,
8
+ mkdirSync,
9
+ openSync,
10
+ readdirSync,
11
+ readlinkSync,
12
+ readSync,
13
+ renameSync,
14
+ rmSync,
15
+ symlinkSync,
16
+ writeFileSync,
17
+ writeSync
18
+ } from "node:fs";
19
+ import { open as openAsync, writeFile as writeFileAsync } from "node:fs/promises";
20
+ import { dirname, join } from "node:path";
21
+ var enforcePrivateStoragePermissions = true;
22
+ function setStoragePrivatePermissionEnforcement(enforce) {
23
+ enforcePrivateStoragePermissions = enforce;
24
+ }
25
+ function shouldEnforcePrivateStoragePermissions() {
26
+ return enforcePrivateStoragePermissions;
27
+ }
28
+ function ensureStorageDirectorySync(directory, forcePrivate = false, recursive = true) {
29
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
30
+ mkdirSync(directory, {
31
+ recursive,
32
+ ...privateMode ? { mode: 448 } : {}
33
+ });
34
+ }
35
+ function writeStorageFileSync(filePath, content, options = {}) {
36
+ const { forcePrivate = false, ...writeOptions } = options;
37
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
38
+ writeFileSync(filePath, content, {
39
+ ...writeOptions,
40
+ ...privateMode ? { mode: 384 } : {}
41
+ });
42
+ }
43
+ function writeStorageFileAtomicSync(filePath, content, forcePrivate = false) {
44
+ ensureStorageDirectorySync(dirname(filePath), forcePrivate);
45
+ const tempPath = `${filePath}.${process.pid}.${randomBytes(6).toString("hex")}.tmp`;
46
+ try {
47
+ writeStorageFileSync(tempPath, content, { flag: "wx", forcePrivate });
48
+ renameSync(tempPath, filePath);
49
+ } catch (error) {
50
+ rmSync(tempPath, { force: true });
51
+ throw error;
52
+ }
53
+ }
54
+ function copyStorageFileSync(sourcePath, destinationPath, forcePrivate = false) {
55
+ ensureStorageDirectorySync(dirname(destinationPath), forcePrivate);
56
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
57
+ const sourceFd = openSync(sourcePath, "r");
58
+ let destinationFd;
59
+ try {
60
+ destinationFd = openSync(destinationPath, "wx", privateMode ? 384 : 438);
61
+ const buffer = Buffer.allocUnsafe(1024 * 1024);
62
+ for (;; ) {
63
+ const bytesRead = readSync(sourceFd, buffer, 0, buffer.length, null);
64
+ if (bytesRead === 0)
65
+ break;
66
+ let offset = 0;
67
+ while (offset < bytesRead) {
68
+ offset += writeSync(destinationFd, buffer, offset, bytesRead - offset);
69
+ }
70
+ }
71
+ } catch (error) {
72
+ if (destinationFd !== undefined)
73
+ rmSync(destinationPath, { force: true });
74
+ throw error;
75
+ } finally {
76
+ closeSync(sourceFd);
77
+ if (destinationFd !== undefined)
78
+ closeSync(destinationFd);
79
+ }
80
+ }
81
+ function copyStorageTreeSync(sourcePath, destinationPath, forcePrivate = false) {
82
+ const stat = lstatSync(sourcePath);
83
+ if (stat.isSymbolicLink()) {
84
+ ensureStorageDirectorySync(dirname(destinationPath), forcePrivate);
85
+ symlinkSync(readlinkSync(sourcePath), destinationPath);
86
+ return;
87
+ }
88
+ if (!stat.isDirectory()) {
89
+ copyStorageFileSync(sourcePath, destinationPath, forcePrivate);
90
+ return;
91
+ }
92
+ ensureStorageDirectorySync(destinationPath, forcePrivate);
93
+ for (const entry of readdirSync(sourcePath)) {
94
+ copyStorageTreeSync(join(sourcePath, entry), join(destinationPath, entry), forcePrivate);
95
+ }
96
+ }
97
+ async function writeStorageFileAsync(filePath, content, forcePrivate = false) {
98
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
99
+ ensureStorageDirectorySync(dirname(filePath), privateMode);
100
+ await writeFileAsync(filePath, content, privateMode ? { mode: 384 } : undefined);
101
+ }
102
+ async function writeStorageFileHandleAsync(handle, content) {
103
+ await handle.writeFile(content);
104
+ }
105
+ function createStorageWriteStream(filePath, forcePrivate = false) {
106
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
107
+ return createWriteStream(filePath, privateMode ? { mode: 384 } : undefined);
108
+ }
109
+ async function createStorageFileHandleAsync(filePath, flags, forcePrivate = false) {
110
+ const privateMode = forcePrivate || shouldEnforcePrivateStoragePermissions();
111
+ return openAsync(filePath, flags, privateMode ? 384 : undefined);
112
+ }
113
+ function tightenStorageTreeSync(root) {
114
+ if (!shouldEnforcePrivateStoragePermissions() || process.platform === "win32") {
115
+ return { tightened: 0, failures: 0 };
116
+ }
117
+ let tightened = 0;
118
+ let failures = 0;
119
+ const visit = (entryPath) => {
120
+ let stat;
121
+ try {
122
+ stat = lstatSync(entryPath);
123
+ } catch {
124
+ failures++;
125
+ return;
126
+ }
127
+ if (stat.isSymbolicLink())
128
+ return;
129
+ const mode = stat.isDirectory() ? 448 : 384;
130
+ if ((stat.mode & 63) !== 0 || (stat.mode & 511) !== mode) {
131
+ try {
132
+ chmodSync(entryPath, mode);
133
+ tightened++;
134
+ } catch {
135
+ failures++;
136
+ }
137
+ }
138
+ if (!stat.isDirectory())
139
+ return;
140
+ let entries;
141
+ try {
142
+ entries = readdirSync(entryPath);
143
+ } catch {
144
+ failures++;
145
+ return;
146
+ }
147
+ for (const entry of entries)
148
+ visit(join(entryPath, entry));
149
+ };
150
+ visit(root);
151
+ return { tightened, failures };
152
+ }
153
+
154
+ export { setStoragePrivatePermissionEnforcement, shouldEnforcePrivateStoragePermissions, ensureStorageDirectorySync, writeStorageFileSync, writeStorageFileAtomicSync, copyStorageFileSync, copyStorageTreeSync, writeStorageFileAsync, writeStorageFileHandleAsync, createStorageWriteStream, createStorageFileHandleAsync, tightenStorageTreeSync };
@@ -608,6 +608,10 @@ function resolveDecisionCalibration(providerId, modelId) {
608
608
  source: ratios.matchedByModelId ? "model-id" : ratios.derivedFrom ? "family-fallback" : "seed"
609
609
  });
610
610
  }
611
+ function hasMeasuredDecisionCalibration(seed) {
612
+ const measured = calibrationForModelKey(seed.modelKey);
613
+ return seed.seeded && seed.source === "seed" && measured.seeded && measured.source === "seed";
614
+ }
611
615
  function providerMass(raw, seed, fit = false) {
612
616
  const { system = 0, tools = 0, prose = 0 } = raw;
613
617
  if ([system, tools, prose].some((count) => !Number.isFinite(count) || count < 0) || [seed.systemRatio, seed.toolsRatio, seed.proseRatio].some((ratio) => !Number.isFinite(ratio) || ratio <= 0)) {
@@ -630,4 +634,4 @@ function historyLocalBudget(providerTokens, modelKey) {
630
634
  return ratio === 1 ? providerTokens : localBudget(providerTokens, ratio);
631
635
  }
632
636
 
633
- export { UNKNOWN_FIT_RATIO, resolveModelCalibration, calibrateBuckets, resolveDecisionCalibration, providerMass, localBudget, calibrationForModelKey, historyLocalBudget };
637
+ export { UNKNOWN_FIT_RATIO, resolveModelCalibration, calibrateBuckets, resolveDecisionCalibration, hasMeasuredDecisionCalibration, providerMass, localBudget, calibrationForModelKey, historyLocalBudget };
@@ -0,0 +1,79 @@
1
+ import {
2
+ log
3
+ } from "./server-1qbnzc80.js";
4
+ import {
5
+ getSdkWindowGeometry,
6
+ getSdkContextLimit,
7
+ getSdkInputLimit
8
+ } from "./server-y8maxeft.js";
9
+ import {
10
+ localBudget,
11
+ calibrationForModelKey
12
+ } from "./server-1zx87sdm.js";
13
+
14
+ // src/hooks/magic-context/derive-budgets.ts
15
+ var TRIGGER_BUDGET_PERCENTAGE = 0.05;
16
+ var TRIGGER_BUDGET_MIN = 5000;
17
+ var TRIGGER_BUDGET_MAX = 50000;
18
+ var HISTORIAN_CHUNK_PERCENTAGE = 0.25;
19
+ var HISTORIAN_CHUNK_MIN = 8000;
20
+ var HISTORIAN_CHUNK_MAX = 50000;
21
+ var DEFAULT_HISTORIAN_CONTEXT_FALLBACK = 128000;
22
+ function deriveTriggerBudget2(mainContextLimit, executeThresholdPercentage) {
23
+ if (!Number.isFinite(mainContextLimit) || mainContextLimit <= 0) {
24
+ return TRIGGER_BUDGET_MIN;
25
+ }
26
+ const thresholdFraction = Math.max(0, executeThresholdPercentage) / 100;
27
+ const usable = mainContextLimit * thresholdFraction;
28
+ const derived = Math.round(usable * TRIGGER_BUDGET_PERCENTAGE);
29
+ return Math.max(TRIGGER_BUDGET_MIN, Math.min(TRIGGER_BUDGET_MAX, derived));
30
+ }
31
+ function deriveHistorianChunkTokens2(historianContextLimit) {
32
+ if (!Number.isFinite(historianContextLimit) || historianContextLimit <= 0) {
33
+ return HISTORIAN_CHUNK_MIN;
34
+ }
35
+ const derived = Math.round(historianContextLimit * HISTORIAN_CHUNK_PERCENTAGE);
36
+ return Math.max(HISTORIAN_CHUNK_MIN, Math.min(HISTORIAN_CHUNK_MAX, derived));
37
+ }
38
+ function resolveKnownHistorianContextLimit2(historianModelOverride) {
39
+ if (typeof historianModelOverride !== "string" || !historianModelOverride.includes("/")) {
40
+ return;
41
+ }
42
+ const [providerID, ...rest] = historianModelOverride.split("/");
43
+ const modelID = rest.join("/");
44
+ if (!providerID || !modelID)
45
+ return;
46
+ const limit = getSdkContextLimit(providerID, modelID, undefined, { reservation: "none" });
47
+ return typeof limit === "number" && limit > 0 ? limit : undefined;
48
+ }
49
+ function resolveHistorianProducerLimits2(modelKey) {
50
+ if (!modelKey?.includes("/"))
51
+ return {};
52
+ const [provider, ...parts] = modelKey.split("/");
53
+ const model = parts.join("/");
54
+ if (!provider || !model)
55
+ return {};
56
+ const input = getSdkInputLimit(provider, model);
57
+ const window = getSdkWindowGeometry(provider, model)?.derivation.window;
58
+ const context = window ?? (input === undefined ? resolveKnownHistorianContextLimit2(modelKey) : undefined);
59
+ return {
60
+ ...context !== undefined ? { context } : {},
61
+ ...input !== undefined ? { input } : {}
62
+ };
63
+ }
64
+ function resolveHistorianContextLimit2(historianModelOverride) {
65
+ if (typeof historianModelOverride === "string" && historianModelOverride.includes("/")) {
66
+ return resolveKnownHistorianContextLimit2(historianModelOverride) ?? DEFAULT_HISTORIAN_CONTEXT_FALLBACK;
67
+ }
68
+ if (typeof historianModelOverride === "string" && historianModelOverride.trim() !== "") {
69
+ log(`[magic-context] historian.model "${historianModelOverride}" lacks provider prefix ("provider/model-id"); using the default context limit for chunk-budget derivation.`);
70
+ }
71
+ return DEFAULT_HISTORIAN_CONTEXT_FALLBACK;
72
+ }
73
+ function producerSourceLocalBudget2(providerTokens, modelKey) {
74
+ const seed = calibrationForModelKey(modelKey);
75
+ const ratio = Math.max(seed.proseRatio, seed.toolsRatio);
76
+ return ratio === 1 ? providerTokens : localBudget(providerTokens, ratio);
77
+ }
78
+
79
+ export { deriveTriggerBudget2, deriveHistorianChunkTokens2, resolveKnownHistorianContextLimit2, resolveHistorianProducerLimits2, resolveHistorianContextLimit2, producerSourceLocalBudget2 };