@retaw106/mmc-oc 2.2.1 → 2.4.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 (285) hide show
  1. package/dist/cli.js +14 -3
  2. package/dist/config/deprecated-config.d.ts +4 -0
  3. package/dist/config/deprecated-config.d.ts.map +1 -0
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/project-security.d.ts +2 -2
  6. package/dist/config/schema/magic-context.d.ts +36 -3
  7. package/dist/config/schema/magic-context.d.ts.map +1 -1
  8. package/dist/config-init.js +14 -3
  9. package/dist/{context-mrvm92n8.js → context-c72brxe5.js} +2410 -1801
  10. package/dist/{derive-budgets-rjjz5f7y.js → derive-budgets-s1p37t2g.js} +2 -2
  11. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  12. package/dist/features/magic-context/historian-failure-reason.d.ts +7 -0
  13. package/dist/features/magic-context/historian-failure-reason.d.ts.map +1 -0
  14. package/dist/features/magic-context/memory-maintainer/launcher.d.ts +13 -4
  15. package/dist/features/magic-context/memory-maintainer/launcher.d.ts.map +1 -1
  16. package/dist/features/magic-context/memory-maintainer/manual-commands.d.ts.map +1 -1
  17. package/dist/features/magic-context/memory-maintainer/model-chain.d.ts +47 -0
  18. package/dist/features/magic-context/memory-maintainer/model-chain.d.ts.map +1 -0
  19. package/dist/features/magic-context/memory-maintainer/oc2-adapter.d.ts +17 -4
  20. package/dist/features/magic-context/memory-maintainer/oc2-adapter.d.ts.map +1 -1
  21. package/dist/features/magic-context/memory-maintainer/pipeline.d.ts +6 -0
  22. package/dist/features/magic-context/memory-maintainer/pipeline.d.ts.map +1 -1
  23. package/dist/features/magic-context/message-index-async.d.ts +21 -3
  24. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  25. package/dist/features/magic-context/message-index.d.ts +7 -1
  26. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  27. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  28. package/dist/features/magic-context/pi-content-decisions.d.ts +7 -1
  29. package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
  30. package/dist/features/magic-context/search.d.ts +29 -0
  31. package/dist/features/magic-context/search.d.ts.map +1 -1
  32. package/dist/features/magic-context/storage-clone.d.ts +2 -0
  33. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  34. package/dist/features/magic-context/storage-compartment-history-version.d.ts +4 -0
  35. package/dist/features/magic-context/storage-compartment-history-version.d.ts.map +1 -0
  36. package/dist/features/magic-context/storage-db.d.ts +1 -1
  37. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  38. package/dist/features/magic-context/storage-historian-runs.d.ts.map +1 -1
  39. package/dist/features/magic-context/storage-meta-persisted.d.ts +23 -5
  40. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  41. package/dist/features/magic-context/storage-meta-session.d.ts +7 -1
  42. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  43. package/dist/features/magic-context/storage-session-tables.d.ts +5 -1
  44. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  45. package/dist/features/magic-context/storage-tag-identity-revision.d.ts +50 -0
  46. package/dist/features/magic-context/storage-tag-identity-revision.d.ts.map +1 -0
  47. package/dist/features/magic-context/storage-tags.d.ts +159 -5
  48. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  49. package/dist/features/magic-context/tagger.d.ts +2 -0
  50. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  51. package/dist/features/magic-context/transform-decision-log.d.ts +60 -2
  52. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  53. package/dist/hooks/magic-context/__fixtures__/tail-hygiene-refresh.d.ts +34 -0
  54. package/dist/hooks/magic-context/__fixtures__/tail-hygiene-refresh.d.ts.map +1 -0
  55. package/dist/hooks/magic-context/active-anthropic-turn.d.ts +2 -0
  56. package/dist/hooks/magic-context/active-anthropic-turn.d.ts.map +1 -1
  57. package/dist/hooks/magic-context/apply-operations.d.ts +10 -1
  58. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  59. package/dist/hooks/magic-context/auto-search-runner.d.ts +2 -2
  60. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  61. package/dist/hooks/magic-context/compartment-runner-types.d.ts +2 -2
  62. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  63. package/dist/hooks/magic-context/compartment-runner.d.ts +4 -0
  64. package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
  65. package/dist/hooks/magic-context/compartment-trigger-error.d.ts +11 -0
  66. package/dist/hooks/magic-context/compartment-trigger-error.d.ts.map +1 -0
  67. package/dist/hooks/magic-context/compartment-trigger.d.ts +1 -1
  68. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  69. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +1 -0
  70. package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts +2 -0
  72. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts.map +1 -1
  73. package/dist/hooks/magic-context/edit-marker.d.ts +2 -0
  74. package/dist/hooks/magic-context/edit-marker.d.ts.map +1 -1
  75. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +2 -0
  76. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  77. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/history-boundary-repair.d.ts +11 -2
  79. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/lkg-measured-request.d.ts +3 -1
  82. package/dist/hooks/magic-context/lkg-measured-request.d.ts.map +1 -1
  83. package/dist/hooks/magic-context/lkg-persist.d.ts +10 -13
  84. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts +62 -0
  86. package/dist/hooks/magic-context/lkg-recovery-fence.d.ts.map +1 -0
  87. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts +38 -0
  88. package/dist/hooks/magic-context/lkg-recovery-prefix.d.ts.map +1 -0
  89. package/dist/hooks/magic-context/lkg-replay.d.ts +16 -9
  90. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/lkg-slot.d.ts +141 -2
  92. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/opaque-thinking.d.ts +12 -0
  94. package/dist/hooks/magic-context/opaque-thinking.d.ts.map +1 -0
  95. package/dist/hooks/magic-context/pass-outcome.d.ts +1 -0
  96. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/pending-drop-eligibility.d.ts +14 -0
  98. package/dist/hooks/magic-context/pending-drop-eligibility.d.ts.map +1 -0
  99. package/dist/hooks/magic-context/pending-materialization.d.ts +10 -0
  100. package/dist/hooks/magic-context/pending-materialization.d.ts.map +1 -0
  101. package/dist/hooks/magic-context/postprocess-read-cache.d.ts.map +1 -1
  102. package/dist/hooks/magic-context/provider-visible-parts.d.ts +51 -0
  103. package/dist/hooks/magic-context/provider-visible-parts.d.ts.map +1 -0
  104. package/dist/hooks/magic-context/read-session-chunk.d.ts +22 -1
  105. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  106. package/dist/hooks/magic-context/read-session-db.d.ts +3 -0
  107. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  108. package/dist/hooks/magic-context/read-session-formatting.d.ts +5 -0
  109. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  110. package/dist/hooks/magic-context/read-session-raw.d.ts +123 -1
  111. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  112. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  113. package/dist/hooks/magic-context/reasoning-budget.d.ts.map +1 -1
  114. package/dist/hooks/magic-context/render-options.d.ts +19 -0
  115. package/dist/hooks/magic-context/render-options.d.ts.map +1 -0
  116. package/dist/hooks/magic-context/sentinel.d.ts +41 -1
  117. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  118. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts +8 -0
  119. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts.map +1 -0
  120. package/dist/hooks/magic-context/strip-content.d.ts +38 -24
  121. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  122. package/dist/hooks/magic-context/supersession-reclaim.d.ts +5 -3
  123. package/dist/hooks/magic-context/supersession-reclaim.d.ts.map +1 -1
  124. package/dist/hooks/magic-context/system-date-refresh.d.ts +29 -0
  125. package/dist/hooks/magic-context/system-date-refresh.d.ts.map +1 -0
  126. package/dist/hooks/magic-context/system-prompt-dates.d.ts +6 -0
  127. package/dist/hooks/magic-context/system-prompt-dates.d.ts.map +1 -0
  128. package/dist/hooks/magic-context/system-prompt-delivery.d.ts +47 -0
  129. package/dist/hooks/magic-context/system-prompt-delivery.d.ts.map +1 -0
  130. package/dist/hooks/magic-context/system-prompt-hash.d.ts +18 -5
  131. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  132. package/dist/hooks/magic-context/tag-messages.d.ts +19 -0
  133. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  134. package/dist/hooks/magic-context/tag-owner-warmup.d.ts +14 -0
  135. package/dist/hooks/magic-context/tag-owner-warmup.d.ts.map +1 -0
  136. package/dist/hooks/magic-context/tail-hygiene-output-count.d.ts +18 -0
  137. package/dist/hooks/magic-context/tail-hygiene-output-count.d.ts.map +1 -0
  138. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +8 -4
  139. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  140. package/dist/hooks/magic-context/token-count-exact.d.ts +35 -0
  141. package/dist/hooks/magic-context/token-count-exact.d.ts.map +1 -0
  142. package/dist/hooks/magic-context/tool-drop-target.d.ts +2 -0
  143. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  144. package/dist/hooks/magic-context/tool-reclaim.d.ts +5 -2
  145. package/dist/hooks/magic-context/tool-reclaim.d.ts.map +1 -1
  146. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  147. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +9 -0
  148. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  149. package/dist/hooks/magic-context/transform.d.ts +21 -11
  150. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  151. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts +5 -1
  152. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts.map +1 -1
  153. package/dist/{index-g2z2k5m4.js → index-27ddyx39.js} +2 -2
  154. package/dist/{index-btp5tdc8.js → index-48e9znrc.js} +1248 -570
  155. package/dist/{index-5cep2r9n.js → index-5ty9rnbx.js} +60 -258
  156. package/dist/{index-z2g20msd.js → index-azbmnekv.js} +4 -4
  157. package/dist/{index-1j34a56j.js → index-dwh99z66.js} +293 -36
  158. package/dist/{index-qbkzdkk0.js → index-k59af64t.js} +6 -2
  159. package/dist/{index-5b7x80ec.js → index-kahkxcqw.js} +12532 -10348
  160. package/dist/{index-53g38ggt.js → index-kmbme1v1.js} +1 -1
  161. package/dist/{index-amycb7b1.js → index-r7s7d350.js} +3 -3
  162. package/dist/{index-33gprt9g.js → index-yjv8dpht.js} +1 -1
  163. package/dist/index-ykq24x1n.js +1477 -0
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +114 -2
  166. package/dist/{message-time-backfill-phrwp2fz.js → message-time-backfill-j96x1sab.js} +3 -3
  167. package/dist/model-resolution-cvyrrcjw.js +8 -0
  168. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  169. package/dist/{read-session-chunk-2xm4sc4y.js → read-session-chunk-t8bg6wkz.js} +6 -4
  170. package/dist/recomp-orchestrator-k760qy1n.js +21 -0
  171. package/dist/{safe-notification-target-ph3xd1ve.js → safe-notification-target-1jkf0m82.js} +2 -2
  172. package/dist/{send-session-notification-rnc4nrsr.js → send-session-notification-njjf3b4s.js} +5 -5
  173. package/dist/shared/auto-search-lifecycle.d.ts +14 -0
  174. package/dist/shared/auto-search-lifecycle.d.ts.map +1 -1
  175. package/dist/shared/logger.d.ts.map +1 -1
  176. package/dist/shared/model-suggestion-retry.d.ts +21 -0
  177. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  178. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  179. package/dist/shared/models-dev-temperature.d.ts +18 -0
  180. package/dist/shared/models-dev-temperature.d.ts.map +1 -0
  181. package/dist/shared/processed-image-eligibility.d.ts +22 -0
  182. package/dist/shared/processed-image-eligibility.d.ts.map +1 -0
  183. package/dist/shared/project-directory-key.d.ts +16 -0
  184. package/dist/shared/project-directory-key.d.ts.map +1 -1
  185. package/dist/shared/prompt-surface-runtime.d.ts +5 -0
  186. package/dist/shared/prompt-surface-runtime.d.ts.map +1 -1
  187. package/dist/shared/reclaim-distance.d.ts +33 -0
  188. package/dist/shared/reclaim-distance.d.ts.map +1 -0
  189. package/dist/shared/recovery-reasoning-prefix.d.ts +9 -0
  190. package/dist/shared/recovery-reasoning-prefix.d.ts.map +1 -0
  191. package/dist/shared/sqlite.d.ts +35 -1
  192. package/dist/shared/sqlite.d.ts.map +1 -1
  193. package/dist/shared/stable-json.d.ts +7 -0
  194. package/dist/shared/stable-json.d.ts.map +1 -1
  195. package/dist/shared/storage-file-mutex.d.ts +9 -0
  196. package/dist/shared/storage-file-mutex.d.ts.map +1 -0
  197. package/dist/shared/storage-permissions.d.ts +6 -0
  198. package/dist/shared/storage-permissions.d.ts.map +1 -1
  199. package/dist/shared/subagent-temperature.d.ts +46 -0
  200. package/dist/shared/subagent-temperature.d.ts.map +1 -0
  201. package/dist/shared/tag-owner-id.d.ts +1 -0
  202. package/dist/shared/tag-owner-id.d.ts.map +1 -1
  203. package/dist/shared/tag-transcript.d.ts +9 -0
  204. package/dist/shared/tag-transcript.d.ts.map +1 -1
  205. package/dist/shared/tail-hygiene-json.d.ts +22 -0
  206. package/dist/shared/tail-hygiene-json.d.ts.map +1 -0
  207. package/dist/shared/user-facing-codes.d.ts +2 -2
  208. package/dist/shared/window-geometry.d.ts +9 -66
  209. package/dist/shared/window-geometry.d.ts.map +1 -1
  210. package/dist/standalone-plugin-marker.d.ts +8 -0
  211. package/dist/standalone-plugin-marker.d.ts.map +1 -0
  212. package/dist/tools/ctx-expand/search-archive.d.ts +4 -0
  213. package/dist/tools/ctx-expand/search-archive.d.ts.map +1 -0
  214. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  215. package/dist/tools/ctx-reduce/constants.d.ts +1 -2
  216. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  217. package/dist/tools/ctx-reduce/tools.d.ts +1 -1
  218. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  219. package/dist/v2/hidden-completion.d.ts +20 -1
  220. package/dist/v2/hidden-completion.d.ts.map +1 -1
  221. package/dist/v2/hooks/context.d.ts +1 -1
  222. package/dist/v2/hooks/context.d.ts.map +1 -1
  223. package/dist/v2/hooks/copied-tag-notation.d.ts +19 -0
  224. package/dist/v2/hooks/copied-tag-notation.d.ts.map +1 -0
  225. package/dist/v2/hooks/generate.d.ts +9 -2
  226. package/dist/v2/hooks/generate.d.ts.map +1 -1
  227. package/dist/v2/hooks/hidden-child.d.ts +22 -1
  228. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  229. package/dist/v2/hooks/payload.d.ts.map +1 -1
  230. package/dist/v2/hooks/system-prompt-response.d.ts +5 -0
  231. package/dist/v2/hooks/system-prompt-response.d.ts.map +1 -0
  232. package/dist/v2/server.d.ts.map +1 -1
  233. package/dist/v2/server.js +26593 -21940
  234. package/dist/v2/store-reader.d.ts +27 -1
  235. package/dist/v2/store-reader.d.ts.map +1 -1
  236. package/dist/web/main.js +401 -23
  237. package/dist/{wrapup-orchestrator-yknks3ad.js → wrapup-orchestrator-b2gswatj.js} +10 -10
  238. package/package.json +1 -1
  239. package/src/config/deprecated-config.ts +18 -0
  240. package/src/config/index.test.ts +13 -37
  241. package/src/config/index.ts +2 -2
  242. package/src/config/latch-permanence-guard.test.ts +4 -0
  243. package/src/config/project-security.test.ts +17 -0
  244. package/src/config/project-security.ts +3 -3
  245. package/src/config/schema/magic-context.test.ts +50 -0
  246. package/src/config/schema/magic-context.ts +44 -7
  247. package/src/shared/auto-search-lifecycle.ts +43 -0
  248. package/src/shared/logger.ts +10 -2
  249. package/src/shared/model-suggestion-retry.ts +5 -1
  250. package/src/shared/models-dev-cache.ts +1 -7
  251. package/src/shared/models-dev-temperature.ts +107 -0
  252. package/src/shared/processed-image-eligibility.test.ts +68 -0
  253. package/src/shared/processed-image-eligibility.ts +41 -0
  254. package/src/shared/processed-image-position-review.json +20 -0
  255. package/src/shared/processed-image-position-review.test.ts +19 -0
  256. package/src/shared/project-directory-key.ts +20 -0
  257. package/src/shared/prompt-surface-runtime.ts +12 -0
  258. package/src/shared/reclaim-distance.test.ts +111 -0
  259. package/src/shared/reclaim-distance.ts +91 -0
  260. package/src/shared/recovery-reasoning-prefix.test.ts +34 -0
  261. package/src/shared/recovery-reasoning-prefix.ts +35 -0
  262. package/src/shared/root-async-context.probe.mjs +36 -0
  263. package/src/shared/root-async-context.test.ts +49 -0
  264. package/src/shared/sqlite-acquisition-routing.test.ts +4 -3
  265. package/src/shared/sqlite-busy-budget-review.test.ts +291 -0
  266. package/src/shared/sqlite-foreground-wait.test.ts +304 -0
  267. package/src/shared/sqlite-pass-scope.test.ts +4 -4
  268. package/src/shared/sqlite-writer-diagnostics.test.ts +52 -12
  269. package/src/shared/sqlite.ts +428 -46
  270. package/src/shared/stable-json.ts +79 -7
  271. package/src/shared/storage-file-mutex.test.ts +50 -0
  272. package/src/shared/storage-file-mutex.ts +130 -0
  273. package/src/shared/storage-permissions.ts +46 -0
  274. package/src/shared/subagent-temperature.ts +110 -0
  275. package/src/shared/tag-owner-id.ts +13 -0
  276. package/src/shared/tag-transcript.ts +118 -0
  277. package/src/shared/tail-hygiene-json.test.ts +117 -0
  278. package/src/shared/tail-hygiene-json.ts +217 -0
  279. package/src/shared/user-facing-codes.ts +2 -2
  280. package/src/shared/window-geometry.test.ts +102 -236
  281. package/src/shared/window-geometry.ts +23 -413
  282. package/dist/index-ramz5kkm.js +0 -514
  283. package/dist/model-resolution-wazv26n0.js +0 -6
  284. package/dist/recomp-orchestrator-frmwj9hz.js +0 -21
  285. package/src/shared/__fixtures__/window-overlay.v1.json +0 -337
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQpC,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -2,9 +2,120 @@ import {
2
2
  setHarness,
3
3
  log,
4
4
  flushLogger
5
- } from "./index-qbkzdkk0.js";
5
+ } from "./index-k59af64t.js";
6
+ // package.json
7
+ var package_default = {
8
+ name: "@retaw106/mmc-oc",
9
+ version: "2.4.0",
10
+ type: "module",
11
+ description: "OpenCode plugin for Magic Context — cross-session memory and context management",
12
+ main: "dist/index.js",
13
+ types: "dist/index.d.ts",
14
+ bin: {
15
+ "mmc-oc": "./dist/cli.js"
16
+ },
17
+ author: "ualtinok",
18
+ license: "MIT",
19
+ repository: {
20
+ type: "git",
21
+ url: "git+https://github.com/retaw106/moon-magic-context.git",
22
+ directory: "packages/plugin"
23
+ },
24
+ publishConfig: {
25
+ access: "public"
26
+ },
27
+ keywords: [
28
+ "opencode",
29
+ "plugin",
30
+ "context",
31
+ "memory",
32
+ "ai",
33
+ "llm",
34
+ "prompt-caching",
35
+ "session-history"
36
+ ],
37
+ files: [
38
+ "dist",
39
+ "index.js",
40
+ "src/shared",
41
+ "src/config",
42
+ "src/agents",
43
+ "README.md"
44
+ ],
45
+ scripts: {
46
+ build: "bun ../../scripts/check-bun.mjs && bun ../../scripts/clean-dist-chunks.mjs dist index.js config-init.js cli.js && rm -rf dist/web && bun build src/index.ts --outdir dist --target node --format esm --splitting --external @opencode-ai/plugin --external bun:sqlite --external node:sqlite && bun run build:v2 && bun run build:web && bun run build:config-init && bun run build:cli && tsc --emitDeclarationOnly",
47
+ "build:v2": "bun build src/v2/server.ts --outfile dist/v2/server.js --target node --format esm --external @opencode/plugin && bun test src/v2/server.test.ts",
48
+ "build:web": "bun build src/web/main.ts --outfile dist/web/main.js --target node --format esm --external bun:sqlite --external node:sqlite && mkdir -p dist/web/ui && cp src/web/ui/* dist/web/ui/",
49
+ "build:config-init": "bun build scripts/config-init-entry.ts --outfile dist/config-init.js --target node --format esm",
50
+ "build:cli": "bun build scripts/cli.ts --outfile dist/cli.js --target node --format esm",
51
+ typecheck: "tsc --noEmit && tsc -p tsconfig.scripts.json",
52
+ test: "bun ../../scripts/check-bun.mjs && bun install --frozen-lockfile && bun test --parallel=4 --timeout 30000",
53
+ "test:serial": "bun install --frozen-lockfile && bun test --timeout 30000",
54
+ "test:parallel:probe": "bun scripts/verify-parallel-db-isolation.ts",
55
+ lint: "bun ../../scripts/check-bun.mjs && biome check .",
56
+ "lint:fix": "biome check --write .",
57
+ format: "biome format --write .",
58
+ "format:check": "biome format .",
59
+ clean: "rm -rf dist",
60
+ prepublishOnly: "bun run build"
61
+ },
62
+ dependencies: {
63
+ "@opencode-ai/plugin": "^1.17.11",
64
+ "@opencode-ai/sdk": "^1.17.11",
65
+ "ai-tokenizer": "^1.0.6",
66
+ "comment-json": "^5.0.0",
67
+ "jsonc-parser": "^3.3.1",
68
+ zod: "^4.1.8"
69
+ },
70
+ devDependencies: {
71
+ "@opencode/plugin": "2.0.22",
72
+ "@opencode/ai": "2.0.22",
73
+ "@opencode/cli": "2.0.22",
74
+ "@opencode/client": "2.0.22",
75
+ effect: "4.0.0-rc.112",
76
+ "@ai-sdk/anthropic": "3.0.82",
77
+ "@ai-sdk/openai-compatible": "2.0.41",
78
+ "@biomejs/biome": "^2.5.1",
79
+ "@types/better-sqlite3": "^7.6.13",
80
+ "@types/bun": "^1.3.10",
81
+ "@types/node": "^22.20.0",
82
+ "bun-types": "^1.3.10",
83
+ typescript: "^5.8.0"
84
+ },
85
+ exports: {
86
+ ".": {
87
+ types: "./dist/index.d.ts",
88
+ import: "./dist/index.js"
89
+ }
90
+ },
91
+ "oc-plugin": [
92
+ "server"
93
+ ],
94
+ peerDependencies: {
95
+ "@opencode-ai/plugin": ">=1.15.0"
96
+ }
97
+ };
98
+
99
+ // src/standalone-plugin-marker.ts
100
+ var markerSymbol = Symbol.for("cortexkit.standalone-plugins");
101
+ function registerStandalonePluginMarker(version) {
102
+ try {
103
+ const globals = globalThis;
104
+ let registry = globals[markerSymbol];
105
+ if (registry === undefined) {
106
+ registry = new Map;
107
+ globals[markerSymbol] = registry;
108
+ }
109
+ registry.set("magic-context", { version });
110
+ } catch (error) {
111
+ try {
112
+ log("could not register the standalone plugin marker", error);
113
+ } catch {}
114
+ }
115
+ }
6
116
 
7
117
  // src/v2/server.ts
118
+ registerStandalonePluginMarker(package_default.version);
8
119
  function isOpenCode2HostContext(context) {
9
120
  if (typeof context !== "object" || context === null)
10
121
  return false;
@@ -16,7 +127,7 @@ async function setup(context) {
16
127
  log("v2 setup() called on a host without session.hook; v1 server lane owns this host, v2 lane inert");
17
128
  return async () => {};
18
129
  }
19
- const { registerContext } = await import("./context-mrvm92n8.js");
130
+ const { registerContext } = await import("./context-c72brxe5.js");
20
131
  setHarness("opencode2");
21
132
  const duties = await registerContext(context);
22
133
  log("[magic-context] @retaw106/mmc-oc v2 setup");
@@ -27,6 +138,7 @@ async function setup(context) {
27
138
  }
28
139
 
29
140
  // src/index.ts
141
+ registerStandalonePluginMarker(package_default.version);
30
142
  var plugin = {
31
143
  id: "moon-magic-context",
32
144
  setup
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  withSqliteBackgroundWriter,
3
3
  withoutSqliteTransformPass
4
- } from "./index-1j34a56j.js";
5
- import"./index-qbkzdkk0.js";
4
+ } from "./index-dwh99z66.js";
5
+ import"./index-k59af64t.js";
6
6
  import {
7
7
  logSlowWriteTransaction
8
- } from "./index-33gprt9g.js";
8
+ } from "./index-yjv8dpht.js";
9
9
 
10
10
  // src/features/magic-context/message-time-backfill.ts
11
11
  var MESSAGE_TIME_BACKFILL_BATCH_SIZE = 500;
@@ -0,0 +1,8 @@
1
+ import {
2
+ normalizeModelEntry2,
3
+ resolveHistorianModel2
4
+ } from "./index-azbmnekv.js";
5
+ export {
6
+ normalizeModelEntry2 as normalizeModelEntry,
7
+ resolveHistorianModel2 as resolveHistorianModel
8
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import {
11
11
  getRawSessionMessageOrdinalCount2,
12
12
  visitRawSessionMessages2,
13
13
  readRawSessionMessageRange2,
14
+ prepareRawSessionOrdinals2,
14
15
  primeTailRawMessageCache2,
15
16
  getCachedAbsoluteMessageCount2,
16
17
  primeInMemoryTailRawMessageCache2,
@@ -23,11 +24,11 @@ import {
23
24
  getRawSessionTagKeysThrough2,
24
25
  getLegacyProtectedTailStartOrdinal2,
25
26
  readSessionChunk2
26
- } from "./index-btp5tdc8.js";
27
- import"./index-ramz5kkm.js";
28
- import"./index-1j34a56j.js";
27
+ } from "./index-48e9znrc.js";
28
+ import"./index-ykq24x1n.js";
29
+ import"./index-dwh99z66.js";
29
30
  import"./index-x37vg474.js";
30
- import"./index-qbkzdkk0.js";
31
+ import"./index-k59af64t.js";
31
32
  export {
32
33
  cleanUserText2 as cleanUserText,
33
34
  compareRawSessionMessageOrder2 as compareRawSessionMessageOrder,
@@ -40,6 +41,7 @@ export {
40
41
  hasMeaningfulUserText2 as hasMeaningfulUserText,
41
42
  hasRawMessageProvider2 as hasRawMessageProvider,
42
43
  hasRawSessionMessageById2 as hasRawSessionMessageById,
44
+ prepareRawSessionOrdinals2 as prepareRawSessionOrdinals,
43
45
  primeInMemoryTailRawMessageCache2 as primeInMemoryTailRawMessageCache,
44
46
  primeTailRawMessageCache2 as primeTailRawMessageCache,
45
47
  readRawSessionMessageById2 as readRawSessionMessageById,
@@ -0,0 +1,21 @@
1
+ import {
2
+ setRecompStarting2,
3
+ setRecompTerminal2,
4
+ runManagedRecomp2
5
+ } from "./index-27ddyx39.js";
6
+ import"./index-kahkxcqw.js";
7
+ import"./index-r7s7d350.js";
8
+ import"./index-48e9znrc.js";
9
+ import"./index-ykq24x1n.js";
10
+ import"./index-yjv8dpht.js";
11
+ import"./index-dwh99z66.js";
12
+ import"./index-jdxxq8cz.js";
13
+ import"./index-kmbme1v1.js";
14
+ import"./index-5ty9rnbx.js";
15
+ import"./index-x37vg474.js";
16
+ import"./index-k59af64t.js";
17
+ export {
18
+ runManagedRecomp2 as runManagedRecomp,
19
+ setRecompStarting2 as setRecompStarting,
20
+ setRecompTerminal2 as setRecompTerminal
21
+ };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  isDefaultSessionTitle2,
3
3
  waitForSafeNotificationTarget2
4
- } from "./index-53g38ggt.js";
5
- import"./index-qbkzdkk0.js";
4
+ } from "./index-kmbme1v1.js";
5
+ import"./index-k59af64t.js";
6
6
  export {
7
7
  isDefaultSessionTitle2 as isDefaultSessionTitle,
8
8
  waitForSafeNotificationTarget2 as waitForSafeNotificationTarget
@@ -4,11 +4,11 @@ import {
4
4
  clearIgnoredMessages2,
5
5
  observeIgnoredNotificationEvent2,
6
6
  sendStatusNotification2
7
- } from "./index-amycb7b1.js";
8
- import"./index-ramz5kkm.js";
9
- import"./index-1j34a56j.js";
10
- import"./index-53g38ggt.js";
11
- import"./index-qbkzdkk0.js";
7
+ } from "./index-r7s7d350.js";
8
+ import"./index-ykq24x1n.js";
9
+ import"./index-dwh99z66.js";
10
+ import"./index-kmbme1v1.js";
11
+ import"./index-k59af64t.js";
12
12
  export {
13
13
  clearIgnoredMessages2 as clearIgnoredMessages,
14
14
  flushIgnoredMessages2 as flushIgnoredMessages,
@@ -1,3 +1,17 @@
1
+ import type { AutoSearchHintNoHintReason } from "../features/magic-context/storage-meta-persisted";
2
+ /**
3
+ * A failed save can still send the user message without a search hint. Remember
4
+ * that no-hint decision until a later pass saves it to SQLite, including across
5
+ * closing and reopening the database handle. Switching or shutting down a session
6
+ * does not prove deletion and must not discard it. If all compare-and-swap (CAS)
7
+ * save retries fail and the process restarts before repair, this unsaved record
8
+ * is lost: that compound failure is the remaining durability gap.
9
+ */
10
+ export declare function rememberUnpublishedAutoSearchNoHint(sessionId: string, messageId: string, reason: AutoSearchHintNoHintReason): void;
11
+ export declare function getUnpublishedAutoSearchNoHint(sessionId: string, messageId: string): AutoSearchHintNoHintReason | undefined;
12
+ export declare function forgetUnpublishedAutoSearchNoHint(sessionId: string, messageId: string): void;
13
+ /** Deleting a session releases its unsaved no-hint records; switching away does not. */
14
+ export declare function clearUnpublishedAutoSearchNoHints(sessionId?: string): void;
1
15
  /** Cleanup cancels optional searches and backfill, not durable served decisions. */
2
16
  export declare function registerAutoSearchWork(sessionId: string): {
3
17
  signal: AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-search-lifecycle.d.ts","sourceRoot":"","sources":["../../src/shared/auto-search-lifecycle.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IACvD,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,IAAI,CAAC;CACpB,CAYA;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAM7D"}
1
+ {"version":3,"file":"auto-search-lifecycle.d.ts","sourceRoot":"","sources":["../../src/shared/auto-search-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAKnG;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAC/C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,0BAA0B,GACnC,IAAI,CAON;AAED,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,0BAA0B,GAAG,SAAS,CAExC;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAI5F;AAED,wFAAwF;AACxF,wBAAgB,iCAAiC,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1E;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IACvD,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,IAAI,CAAC;CACpB,CAYA;AAED,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAM7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA+JD,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAwBzD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEnF;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED,gGAAgG;AAChG,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAuKD,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAwBzD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEnF;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAMxD;AAED,gGAAgG;AAChG,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -115,6 +115,27 @@ export interface ModelSuggestionInfo {
115
115
  suggestion: string;
116
116
  }
117
117
  export declare function parseModelSuggestion(error: unknown): ModelSuggestionInfo | null;
118
+ /**
119
+ * Returns true if the error indicates a NON-RETRYABLE condition where iterating
120
+ * to a fallback model would be pointless or harmful:
121
+ *
122
+ * - External abort (user cancellation, lease loss, etc.) — caller wants to
123
+ * stop, not retry.
124
+ * - Context overflow — same prompt will overflow on any reasonably-sized
125
+ * model. Caller has its own emergency-recovery path for this.
126
+ * - Timeout — same wall-clock budget on the same prompt is unlikely to
127
+ * succeed on another model. Caller decides whether to retry at a higher
128
+ * level (e.g. historian's MAX_HISTORIAN_RETRIES loop).
129
+ *
130
+ * Everything else (auth errors, ProviderModelNotFoundError without suggestion,
131
+ * rate limits, transient network failures, etc.) is considered retryable on a
132
+ * different model.
133
+ * Exported as the shared fallback-switch classifier (plan 18): the
134
+ * memory-maintenance attempt loop reuses this exact predicate so "which
135
+ * failures may switch models" has ONE definition across historian and
136
+ * maintainer call sites.
137
+ */
138
+ export declare function isNonRetryable(error: unknown, externalSignal?: AbortSignal): boolean;
118
139
  /**
119
140
  * Run an OpenCode subagent prompt with model fallback support.
120
141
  *
@@ -1 +1 @@
1
- {"version":3,"file":"model-suggestion-retry.d.ts","sourceRoot":"","sources":["../../src/shared/model-suggestion-retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-suggestion-retry.d.ts","sourceRoot":"","sources":["../../src/shared/model-suggestion-retry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"models-dev-cache.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models-dev-cache.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface CatalogTemperature {
2
+ temperature: boolean;
3
+ /** The catalog entry that decided, as `provider/model`. */
4
+ entry: string;
5
+ }
6
+ /** OpenCode reads `OPENCODE_MODELS_PATH` instead of its cache when it is set. */
7
+ export declare function modelsDevCatalogPath(env?: NodeJS.ProcessEnv): string;
8
+ /** Spellings to try for a harness `provider/model` reference, most specific first. */
9
+ export declare function catalogCandidates(providerID: string, modelID: string): string[];
10
+ /**
11
+ * Look `provider/model` up in the cached catalogue, trying only the exact spellings from
12
+ * `catalogCandidates`. A malformed reference, a missing catalogue or no entry returns undefined.
13
+ */
14
+ export declare function catalogTemperature(model: string): CatalogTemperature | undefined;
15
+ export declare const __catalogTest: {
16
+ reset(): void;
17
+ };
18
+ //# sourceMappingURL=models-dev-temperature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-dev-temperature.d.ts","sourceRoot":"","sources":["../../src/shared/models-dev-temperature.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;CACjB;AAmBD,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGjF;AAgCD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAUhF;AAED,eAAO,MAAM,aAAa;aACb,IAAI;CAGhB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Shared processed-image age and recency policy for both OpenCode adapters.
3
+ * Use the owning message's positive maximum tag; an untagged image-only message
4
+ * inherits the next positive tagged message after it, never age zero or a tag
5
+ * from an earlier message. Without either tag, retain the image at the live tail.
6
+ * A positive dropped-tag watermark must cover that position. Below 95% usage,
7
+ * retain every position at or beyond the protected newest-window cutoff. At
8
+ * 95% and above only that window yields, exactly as for emergency tool drops;
9
+ * independent per-tool protections still apply. Content before retained provider-signed
10
+ * thinking must stay unchanged unless an existing whole-turn rewrite removes that
11
+ * thinking first. Callers enforce these protections, later-assistant/stable-id checks, durable
12
+ * persistence and rewrite-only discovery. Frozen replay bypasses eligibility.
13
+ */
14
+ export declare function createProcessedImageEligibility<T>(messages: readonly T[], messageTagNumbers: ReadonlyMap<T, number>, options: {
15
+ watermark: number;
16
+ protectedCutoff?: number | null;
17
+ contextPercentage?: number;
18
+ }): {
19
+ ageTags: ReadonlyMap<T, number>;
20
+ mayStrip: (message: T) => boolean;
21
+ };
22
+ //# sourceMappingURL=processed-image-eligibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processed-image-eligibility.d.ts","sourceRoot":"","sources":["../../src/shared/processed-image-eligibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,CAAC,EAC7C,QAAQ,EAAE,SAAS,CAAC,EAAE,EACtB,iBAAiB,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EACzC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAA;CAAE,CAuBxE"}
@@ -7,6 +7,22 @@
7
7
  * path is resolved to an absolute path, which also drops a trailing slash.
8
8
  */
9
9
  export declare function projectDirectoryKey(directory: string): string;
10
+ /**
11
+ * Whether two spellings name the same directory, judged by spelling alone.
12
+ *
13
+ * Hosts and the plugin do not agree on how to write a directory: OpenCode 2 on
14
+ * Windows stores a session's directory as `D:/work/app` while the plugin's own
15
+ * location is `D:\work\app`, and a drive letter can arrive in either case.
16
+ * Both sides go through `projectDirectoryKey`, so separators, Windows case,
17
+ * `\\?\` prefixes, trailing separators and `.`/`..` segments cannot make one
18
+ * directory look like two. POSIX paths keep their case. Symlinks are not
19
+ * resolved here; callers that must follow them use `canonicalProjectDirectory`.
20
+ *
21
+ * An empty spelling never matches anything: `path.resolve("")` is the process's
22
+ * working directory, and a session with no recorded directory must not be
23
+ * taken for one in the directory the process happens to run in.
24
+ */
25
+ export declare function sameProjectDirectory(a: string, b: string): boolean;
10
26
  /**
11
27
  * One spelling for a project directory, shared by everything that has to agree
12
28
  * on it across processes (the RPC server that writes its discovery file and the
@@ -1 +1 @@
1
- {"version":3,"file":"project-directory-key.d.ts","sourceRoot":"","sources":["../../src/shared/project-directory-key.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS7D;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED,6FAA6F;AAC7F,wBAAgB,uCAAuC,CACnD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACzC,IAAI,CAEN"}
1
+ {"version":3,"file":"project-directory-key.d.ts","sourceRoot":"","sources":["../../src/shared/project-directory-key.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAGlE;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQnE;AAED,6FAA6F;AAC7F,wBAAgB,uCAAuC,CACnD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GACzC,IAAI,CAEN"}
@@ -21,6 +21,11 @@ export declare const LIGHT_TOOL_DESCRIPTIONS: {
21
21
  * distinct semantic cache identity, including during any future asset fallback.
22
22
  */
23
23
  export declare function promptSurfaceHashMaterial(systemContent: string, preset?: PromptSurfacePreset): string;
24
+ /**
25
+ * Hash system text after the caller resolves guidance and freezes host date lines.
26
+ * Keep the legacy MD5 hex encoding so existing cached heads retain their identity.
27
+ */
28
+ export declare function systemPromptFingerprint(systemContent: string, preset?: PromptSurfacePreset): string;
24
29
  export interface PromptSurfaceGuidanceSelection {
25
30
  /** The configured built-in preset. */
26
31
  preset: PromptSurfacePreset;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-surface-runtime.d.ts","sourceRoot":"","sources":["../../src/shared/prompt-surface-runtime.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAE3B,MAAM,kBAAkB,CAAC;AAK1B;;;;GAIG;AACH,eAAO,MAAM,eAAe,+EAMlB,CAAC;AAEX,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,+EAAkB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,uBAAuB;;;;;;CAM8B,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,mBAA4B,GACrC,MAAM,CAIR;AAID,MAAM,WAAW,8BAA8B;IAC3C,sCAAsC;IACtC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IAC/C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;CACvE;AAED,MAAM,WAAW,oBAAoB;IACjC,mBAAmB,EAAE,CACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,CAAC,EAAE,MAAM,KAChB,kCAAkC,CAAC;IACxC,eAAe,EAAE,CACb,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAC3B,8BAA8B,CAAC;CACvC;AAED,MAAM,WAAW,iCAAiC;IAC9C,kFAAkF;IAClF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAWD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,iCAAiC,GAC3C,oBAAoB,CAmGtB;AAQD,MAAM,WAAW,+BAA+B;IAC5C,OAAO,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAC3B,8BAA8B,CAAC;IACpC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAOD;;;;GAIG;AACH,wBAAgB,qCAAqC,CACjD,OAAO,EAAE,oBAAoB,GAC9B,+BAA+B,CAuBjC"}
1
+ {"version":3,"file":"prompt-surface-runtime.d.ts","sourceRoot":"","sources":["../../src/shared/prompt-surface-runtime.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAE3B,MAAM,kBAAkB,CAAC;AAK1B;;;;GAIG;AACH,eAAO,MAAM,eAAe,+EAMlB,CAAC;AAEX,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,+EAAkB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,uBAAuB;;;;;;CAM8B,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,mBAA4B,GACrC,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,mBAA4B,GACrC,MAAM,CAER;AAID,MAAM,WAAW,8BAA8B;IAC3C,sCAAsC;IACtC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IAC/C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;CACvE;AAED,MAAM,WAAW,oBAAoB;IACjC,mBAAmB,EAAE,CACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,CAAC,EAAE,MAAM,KAChB,kCAAkC,CAAC;IACxC,eAAe,EAAE,CACb,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAC3B,8BAA8B,CAAC;CACvC;AAED,MAAM,WAAW,iCAAiC;IAC9C,kFAAkF;IAClF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAWD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,iCAAiC,GAC3C,oBAAoB,CAmGtB;AAQD,MAAM,WAAW,+BAA+B;IAC5C,OAAO,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAC3B,8BAA8B,CAAC;IACpC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAOD;;;;GAIG;AACH,wBAAgB,qCAAqC,CACjD,OAAO,EAAE,oBAAoB,GAC9B,+BAA+B,CAuBjC"}
@@ -0,0 +1,33 @@
1
+ export declare const RECLAIM_DISTANCE_USER_TURNS = 3;
2
+ export declare const RECLAIM_DISTANCE_WINDOW_FRACTION = 0.25;
3
+ export interface ReclaimDistanceEntry {
4
+ /** Local content tokens, excluding Magic Context's history and reduction/note reminders. */
5
+ tokens: number;
6
+ /** One event per authored user-role message, after any folded tool results. */
7
+ userTurn?: boolean;
8
+ /** Durable identifier of the tool invocation whose result ends at this entry. */
9
+ toolOutputTag?: number;
10
+ }
11
+ /** Only authored content starts a user turn; host control notices do not. */
12
+ export declare function isReclaimUserTurn(args: {
13
+ role?: string;
14
+ syntheticHead?: boolean;
15
+ synthetic?: boolean;
16
+ ignored?: boolean;
17
+ parts: readonly {
18
+ kind: string;
19
+ text?: string;
20
+ synthetic?: boolean;
21
+ ignored?: boolean;
22
+ }[];
23
+ }): boolean;
24
+ /** Remove Magic Context's reduction/note reminders, not generic host wake notices. */
25
+ export declare function stripReclaimMcText(text: string): string;
26
+ /**
27
+ * A free cache rebuild is not evidence that the model has moved on. An output
28
+ * is far behind only after three newer user turns or a quarter-window of newer
29
+ * content. Return a prefix of qualifying tags; callers drop against the PREVIOUS
30
+ * durable bookmark before advancing it, so distance must survive two rebuilds.
31
+ */
32
+ export declare function farBehindToolBookmark(entries: readonly ReclaimDistanceEntry[], usableWindow: number): number;
33
+ //# sourceMappingURL=reclaim-distance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reclaim-distance.d.ts","sourceRoot":"","sources":["../../src/shared/reclaim-distance.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACjC,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC7F,GAAG,OAAO,CAaV;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,YAAY,EAAE,MAAM,GACrB,MAAM,CAiCR"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Serialize each request prefix ending at a thinking/reasoning part, including
3
+ * earlier messages and earlier parts of that message. Comparing these snapshots
4
+ * detects edits to bytes authenticated by a kept signature, or missing blocks.
5
+ * Include reasoning without a visible signature too: a host may carry its
6
+ * provider signature in fields this helper does not interpret.
7
+ */
8
+ export declare function recoveryReasoningPrefixes(messages: readonly unknown[], partsKey: "parts" | "content"): string[];
9
+ //# sourceMappingURL=recovery-reasoning-prefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery-reasoning-prefix.d.ts","sourceRoot":"","sources":["../../src/shared/recovery-reasoning-prefix.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAC9B,MAAM,EAAE,CAwBV"}
@@ -39,6 +39,8 @@
39
39
  * `run()` → {changes,lastInsertRowid}) is identical and was verified directly.
40
40
  */
41
41
  import type BetterSqlite3 from "better-sqlite3";
42
+ /** Create host-owned resources without inheriting request-local state. */
43
+ export declare function inRootAsyncContext<T>(operation: () => T): T;
42
44
  /**
43
45
  * Slow-write reporting is injected rather than imported: this module is also
44
46
  * executed directly by Node (the `node:sqlite` smoke in CI, Pi, Desktop), and
@@ -57,7 +59,7 @@ export declare function registerSlowWriteReporter(reporter: SlowWriteReporter):
57
59
  * dropped.
58
60
  */
59
61
  type SqliteDiagnosticSink = (message: string) => void;
60
- export declare function registerSqliteDiagnosticSink(sink: SqliteDiagnosticSink): void;
62
+ export declare function registerSqliteDiagnosticSink(sink: SqliteDiagnosticSink, host?: () => string): void;
61
63
  export type SqliteRuntime = "Bun" | "Node.js";
62
64
  type SqliteModule = {
63
65
  Database?: unknown;
@@ -95,7 +97,25 @@ export interface SqliteMemoryStats {
95
97
  sqliteStatusApi: "unavailable";
96
98
  connections: SqliteConnectionMemoryStats[];
97
99
  }
100
+ /**
101
+ * Whether a write statement may change an existing `tags` row's identity
102
+ * (session, number, type, owner message, reasoning token count) or remove a
103
+ * row. Plain appends without an explicit `id`, and updates that assign only
104
+ * columns in {@link TAG_COLUMNS_OUTSIDE_IDENTITY}, cannot; everything else that
105
+ * names the table is treated as if it could, including DDL and multi-statement
106
+ * scripts. Erring towards true only costs a cache rebuild.
107
+ */
108
+ export declare function mayChangeTagIdentity(sql: string): boolean;
109
+ /**
110
+ * Counts executions, on any connection this process opened, of statements for
111
+ * which {@link mayChangeTagIdentity} is true. A cache built from `tags` stays
112
+ * valid for this process's own writes while the count is unchanged; commits by
113
+ * other connections show up in `PRAGMA data_version` instead.
114
+ */
115
+ export declare function getTagIdentityWriteGeneration(): number;
98
116
  export declare const Database: typeof BetterSqlite3;
117
+ /** The constructor path, without querying SQLite on the prompt thread. */
118
+ export declare function getSqliteDatabasePath(db: Database): string | null;
99
119
  /**
100
120
  * Read the SQLite memory bounds that Bun/node:sqlite expose without native FFI.
101
121
  * SQLite's sqlite3_status()/sqlite3_db_status() counters are not surfaced by
@@ -172,5 +192,19 @@ export declare function withAsyncPrivilegedWriter<T>(db: Database, operation: ()
172
192
  * flag, so an inner scope releasing does not drop permission out from under its caller.
173
193
  */
174
194
  export declare function withPrivilegedWriter<T>(db: Database, operation: () => T): T;
195
+ export declare function indexCoordinationInput(): {
196
+ indexCoordination: SharedArrayBuffer;
197
+ indexOwner: number;
198
+ };
199
+ export declare function releaseIndexOwner(input: {
200
+ indexCoordination?: SharedArrayBuffer;
201
+ indexOwner?: number;
202
+ }): void;
203
+ /** One synchronous transaction per permit; release the permit before yielding. */
204
+ export declare function withIndexChunk<T>(input: {
205
+ indexCoordination?: SharedArrayBuffer;
206
+ indexOwner?: number;
207
+ }, operation: () => T): Promise<T>;
208
+ export declare function yieldIndexChunk(): Promise<void>;
175
209
  export {};
176
210
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/shared/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/shared/sqlite.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,11 @@
18
18
  * signing), build a separate utility — do NOT widen this contract.
19
19
  */
20
20
  export declare function stableStringify(value: unknown, seen?: WeakSet<object>): string;
21
+ /** The existing UTF-16 FNV fingerprint, without retaining the serialized JSON. */
22
+ export declare function stableStringifyHash(value: unknown, prefix?: string): string;
23
+ /** Hash the same code units as the content memo, including lone surrogates. */
24
+ export declare function jsonHashSink(prefix?: string): {
25
+ write: (piece: string) => void;
26
+ digest: () => string;
27
+ };
21
28
  //# sourceMappingURL=stable-json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stable-json.d.ts","sourceRoot":"","sources":["../../src/shared/stable-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,kBAAwB,GAAG,MAAM,CAiBpF"}
1
+ {"version":3,"file":"stable-json.d.ts","sourceRoot":"","sources":["../../src/shared/stable-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,kBAAwB,GAAG,MAAM,CAOpF;AA8DD,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,SAAK,GAAG,MAAM,CAIvE;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,MAAM,SAAK,GAAG;IACvC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,MAAM,CAAC;CACxB,CASA"}