@cortexkit/opencode-magic-context 0.47.0 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/dist/agents/magic-context-prompt.d.ts +1 -1
  2. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  3. package/dist/{announcement-y35wzg2r.js → announcement-fp14dw0n.js} +3 -2
  4. package/dist/auto-search-worker.js +27 -30
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/mural-model-deprecation.d.ts +15 -0
  7. package/dist/config/mural-model-deprecation.d.ts.map +1 -0
  8. package/dist/config/project-security.d.ts +0 -3
  9. package/dist/config/project-security.d.ts.map +1 -1
  10. package/dist/config/schema/magic-context.d.ts +10 -6
  11. package/dist/config/schema/magic-context.d.ts.map +1 -1
  12. package/dist/{conflict-warning-hook-z44ynfz7.js → conflict-warning-hook-kzx4dmk1.js} +12 -10
  13. package/dist/{context-wq4ffwyb.js → context-nj5f293n.js} +2765 -1925
  14. package/dist/{derive-budgets-ke12jnnh.js → derive-budgets-qz5rrr08.js} +4 -3
  15. package/dist/embedding-activity-g1dhes6g.js +10 -0
  16. package/dist/embedding-backfill-aetxv1vt.js +21 -0
  17. package/dist/embedding-cache-mgyr73ef.js +16 -0
  18. package/dist/embedding-worker.js +11 -9
  19. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  20. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts +1 -0
  21. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  22. package/dist/features/magic-context/dreamer/task-config.d.ts +3 -3
  23. package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
  24. package/dist/features/magic-context/dreamer/task-executor.d.ts +1 -1
  25. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  26. package/dist/features/magic-context/dreamer/task-registry.d.ts +1 -0
  27. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  28. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  29. package/dist/features/magic-context/git-commits/search-git-commits.d.ts +2 -0
  30. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  31. package/dist/features/magic-context/message-index-async.d.ts +16 -3
  32. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  33. package/dist/features/magic-context/message-index-bounded.d.ts +17 -0
  34. package/dist/features/magic-context/message-index-bounded.d.ts.map +1 -0
  35. package/dist/features/magic-context/message-index.d.ts +7 -1
  36. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  37. package/dist/features/magic-context/mural/render-trigger.d.ts +7 -4
  38. package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
  39. package/dist/features/magic-context/pi-content-decisions.d.ts +7 -1
  40. package/dist/features/magic-context/pi-content-decisions.d.ts.map +1 -1
  41. package/dist/features/magic-context/search-rerank.d.ts +35 -0
  42. package/dist/features/magic-context/search-rerank.d.ts.map +1 -0
  43. package/dist/features/magic-context/search.d.ts +40 -0
  44. package/dist/features/magic-context/search.d.ts.map +1 -1
  45. package/dist/features/magic-context/session-activity.d.ts.map +1 -1
  46. package/dist/features/magic-context/smart-notes/runner.d.ts +1 -0
  47. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  48. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  49. package/dist/features/magic-context/storage-meta-persisted.d.ts +13 -2
  50. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  51. package/dist/features/magic-context/storage-meta-session.d.ts +7 -1
  52. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  53. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  54. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  55. package/dist/features/magic-context/storage-session-tables.d.ts +2 -0
  56. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  57. package/dist/features/magic-context/storage-tag-identity-revision.d.ts +50 -0
  58. package/dist/features/magic-context/storage-tag-identity-revision.d.ts.map +1 -0
  59. package/dist/features/magic-context/storage-tags.d.ts +153 -4
  60. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  61. package/dist/features/magic-context/storage.d.ts +1 -1
  62. package/dist/features/magic-context/storage.d.ts.map +1 -1
  63. package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
  64. package/dist/features/magic-context/tagger.d.ts +2 -0
  65. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  66. package/dist/features/magic-context/transform-decision-log.d.ts +4 -1
  67. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  68. package/dist/harness-e4avh192.js +10 -0
  69. package/dist/hooks/magic-context/active-anthropic-turn.d.ts +2 -0
  70. package/dist/hooks/magic-context/active-anthropic-turn.d.ts.map +1 -1
  71. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -1
  72. package/dist/hooks/magic-context/auto-search-replay.fixture.d.ts +24 -0
  73. package/dist/hooks/magic-context/auto-search-replay.fixture.d.ts.map +1 -0
  74. package/dist/hooks/magic-context/auto-search-runner.d.ts +1 -1
  75. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  76. package/dist/hooks/magic-context/auto-search-worker-client.d.ts +34 -3
  77. package/dist/hooks/magic-context/auto-search-worker-client.d.ts.map +1 -1
  78. package/dist/hooks/magic-context/command-handler.d.ts +3 -0
  79. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  80. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  81. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  82. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  83. package/dist/hooks/magic-context/emergency-fail-closed.d.ts +28 -0
  84. package/dist/hooks/magic-context/emergency-fail-closed.d.ts.map +1 -1
  85. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  86. package/dist/hooks/magic-context/historian-host-runner.d.ts +8 -0
  87. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  88. package/dist/hooks/magic-context/hook.d.ts +3 -2
  89. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  90. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  91. package/dist/hooks/magic-context/latest-thinking-recovery.d.ts +7 -0
  92. package/dist/hooks/magic-context/latest-thinking-recovery.d.ts.map +1 -1
  93. package/dist/hooks/magic-context/lkg-persist.d.ts +4 -3
  94. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  95. package/dist/hooks/magic-context/lkg-replay.d.ts +13 -8
  96. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  97. package/dist/hooks/magic-context/lkg-slot.d.ts +139 -2
  98. package/dist/hooks/magic-context/lkg-slot.d.ts.map +1 -1
  99. package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts +2 -0
  100. package/dist/hooks/magic-context/message-search-accepting-silent-worker.fixture.d.ts.map +1 -0
  101. package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts +2 -0
  102. package/dist/hooks/magic-context/oc-stall-r2-warmup-worker.fixture.d.ts.map +1 -0
  103. package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts +2 -0
  104. package/dist/hooks/magic-context/oc-stall-search-review.fixture.d.ts.map +1 -0
  105. package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts +63 -0
  106. package/dist/hooks/magic-context/opencode1-to-model-messages.fixture.d.ts.map +1 -0
  107. package/dist/hooks/magic-context/pass-outcome.d.ts +1 -0
  108. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
  109. package/dist/hooks/magic-context/provider-visible-parts.d.ts +45 -0
  110. package/dist/hooks/magic-context/provider-visible-parts.d.ts.map +1 -0
  111. package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts +2 -0
  112. package/dist/hooks/magic-context/raw-ordinal-warmup-silent-worker.fixture.d.ts.map +1 -0
  113. package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts +2 -0
  114. package/dist/hooks/magic-context/raw-ordinal-warmup-worker.d.ts.map +1 -0
  115. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts +87 -0
  116. package/dist/hooks/magic-context/raw-ordinal-warmup.d.ts.map +1 -0
  117. package/dist/hooks/magic-context/read-session-chunk.d.ts +19 -1
  118. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  119. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  120. package/dist/hooks/magic-context/read-session-formatting.d.ts +5 -0
  121. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  122. package/dist/hooks/magic-context/read-session-raw.d.ts +118 -1
  123. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  124. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  125. package/dist/hooks/magic-context/reasoning-budget.d.ts.map +1 -1
  126. package/dist/hooks/magic-context/rust-mode-transform.d.ts +36 -0
  127. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  128. package/dist/hooks/magic-context/sentinel.d.ts +41 -1
  129. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  130. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts +8 -1
  131. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts.map +1 -1
  132. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts +8 -0
  133. package/dist/hooks/magic-context/strict-thinking-prefix.d.ts.map +1 -0
  134. package/dist/hooks/magic-context/strip-content.d.ts +14 -2
  135. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  136. package/dist/hooks/magic-context/system-prompt-hash.d.ts +1 -0
  137. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  138. package/dist/hooks/magic-context/tag-messages.d.ts +8 -0
  139. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  140. package/dist/hooks/magic-context/tag-owner-warmup.d.ts +6 -0
  141. package/dist/hooks/magic-context/tag-owner-warmup.d.ts.map +1 -0
  142. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  143. package/dist/hooks/magic-context/token-count-exact.d.ts +35 -0
  144. package/dist/hooks/magic-context/token-count-exact.d.ts.map +1 -0
  145. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +13 -0
  146. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  147. package/dist/hooks/magic-context/transform.d.ts +9 -2
  148. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  149. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  150. package/dist/{index-q6hef7fh.js → index-0sahzkwr.js} +6 -19
  151. package/dist/{index-k5bdx1bx.js → index-0w56v4fm.js} +3 -5
  152. package/dist/{index-5gq3b2ya.js → index-1bt88epp.js} +227 -205
  153. package/dist/{index-cwf6s3ay.js → index-1g30axtz.js} +3279 -2907
  154. package/dist/{index-5a2r0p9f.js → index-1r0k9js3.js} +20 -13
  155. package/dist/index-2bvekkfy.js +11 -0
  156. package/dist/{index-6d9e1m08.js → index-2jcbj7r1.js} +13301 -13225
  157. package/dist/index-2jgwttpt.js +3269 -0
  158. package/dist/index-4dhv7mqz.js +131 -0
  159. package/dist/{index-sj29b3z2.js → index-4mjhqadz.js} +3 -3
  160. package/dist/{index-0c82743p.js → index-57mrqed8.js} +17 -15
  161. package/dist/{index-b35pxds2.js → index-58e3y90n.js} +1 -18
  162. package/dist/index-7jzrrxap.js +931 -0
  163. package/dist/index-8ajstryz.js +18 -0
  164. package/dist/{index-sfpzqvdz.js → index-8cd2j99z.js} +2 -3
  165. package/dist/{index-6wkcswft.js → index-9qjqq45k.js} +29 -19
  166. package/dist/{index-adwfkpex.js → index-9rt53q79.js} +23 -23
  167. package/dist/index-b7mv1jx3.js +1060 -0
  168. package/dist/index-d9vfe7xq.js +16 -0
  169. package/dist/{index-gg8j07zz.js → index-ezmszwbd.js} +8 -6
  170. package/dist/index-fb3zxn06.js +13 -0
  171. package/dist/index-fr0wbhdn.js +43 -0
  172. package/dist/{index-mc22ayvf.js → index-ghc9f0n7.js} +11 -9
  173. package/dist/index-gzcmtmar.js +171 -0
  174. package/dist/{index-w2t4ah5j.js → index-h2py7207.js} +6762 -7400
  175. package/dist/index-h2wc01qk.js +120 -0
  176. package/dist/index-h5zfkjyk.js +1277 -0
  177. package/dist/{index-92bp57hg.js → index-ha87j7a8.js} +1343 -149
  178. package/dist/index-hj2q50k0.js +856 -0
  179. package/dist/{index-wx8a6bw3.js → index-kb9nn0a0.js} +270 -53
  180. package/dist/index-kmpvemph.js +1314 -0
  181. package/dist/index-kp5qe690.js +3030 -0
  182. package/dist/{index-m5fe6jch.js → index-kq57tdf0.js} +152 -2453
  183. package/dist/{v2/server-fq7kq32k.js → index-mfkzp7qj.js} +1 -16
  184. package/dist/{v2/server-njt3np1k.js → index-nm6a8xpd.js} +220 -961
  185. package/dist/{index-hybnrwq0.js → index-nsjyysj0.js} +137 -130
  186. package/dist/index-nydv6g8r.js +3569 -0
  187. package/dist/index-pavzsdc6.js +17 -0
  188. package/dist/index-peshmj6h.js +152 -0
  189. package/dist/index-pxwp2hjk.js +571 -0
  190. package/dist/{v2/server-yr3zj7e7.js → index-qt1qqasc.js} +6 -7
  191. package/dist/{v2/server-51dv1pr5.js → index-qx53vezw.js} +301 -27
  192. package/dist/{index-rrrsepyw.js → index-s4j7t92z.js} +90 -85
  193. package/dist/{index-9pk9exrb.js → index-stbr4ce6.js} +18 -18
  194. package/dist/{index-fzbvakh0.js → index-tqf7yg27.js} +3 -3
  195. package/dist/index-vkbqdnkj.js +2307 -0
  196. package/dist/{index-8da2zjhz.js → index-z1tjp257.js} +9 -7
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +608 -349
  199. package/dist/logger-ewak5q1s.js +20 -0
  200. package/dist/message-index-bounded-h0mrd4pr.js +124 -0
  201. package/dist/{v2/message-time-backfill-1f9tzvcs.js → message-time-backfill-8x06r9kx.js} +8 -6
  202. package/dist/migration-worker.js +25 -18
  203. package/dist/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
  204. package/dist/plugin/dream-timer.d.ts +1 -1
  205. package/dist/plugin/dream-timer.d.ts.map +1 -1
  206. package/dist/plugin/hooks/create-session-hooks.d.ts +3 -0
  207. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  208. package/dist/plugin/host-stall-profiler-report.d.ts +1 -66
  209. package/dist/plugin/host-stall-profiler-report.d.ts.map +1 -1
  210. package/dist/plugin/host-stall-profiler.d.ts +2 -95
  211. package/dist/plugin/host-stall-profiler.d.ts.map +1 -1
  212. package/dist/plugin/messages-transform.d.ts +0 -13
  213. package/dist/plugin/messages-transform.d.ts.map +1 -1
  214. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  215. package/dist/plugin/tool-registry.d.ts.map +1 -1
  216. package/dist/project-embedding-registry-rtt0djyb.js +88 -0
  217. package/dist/raw-ordinal-warmup-worker.js +60 -0
  218. package/dist/{read-session-chunk-4jey7hpt.js → read-session-chunk-ty89v75e.js} +17 -9
  219. package/dist/read-session-raw-8sjbc9h0.js +60 -0
  220. package/dist/recomp-orchestrator-4f1yyd1q.js +57 -0
  221. package/dist/{v2/safe-notification-target-eb1n1vfb.js → safe-notification-target-q0cyrx3x.js} +4 -2
  222. package/dist/search-pz4f4wge.js +45 -0
  223. package/dist/{v2/send-session-notification-c0wtscea.js → send-session-notification-38cd5dqt.js} +10 -7
  224. package/dist/shared/auto-search-lifecycle.d.ts +14 -0
  225. package/dist/shared/auto-search-lifecycle.d.ts.map +1 -1
  226. package/dist/shared/conflict-detector.d.ts.map +1 -1
  227. package/dist/shared/host-stall-profiler-bun.d.ts +46 -0
  228. package/dist/shared/host-stall-profiler-bun.d.ts.map +1 -0
  229. package/dist/shared/host-stall-profiler-common.d.ts +58 -0
  230. package/dist/shared/host-stall-profiler-common.d.ts.map +1 -0
  231. package/dist/shared/host-stall-profiler-node.d.ts +36 -0
  232. package/dist/shared/host-stall-profiler-node.d.ts.map +1 -0
  233. package/dist/shared/host-stall-profiler-report.d.ts +68 -0
  234. package/dist/shared/host-stall-profiler-report.d.ts.map +1 -0
  235. package/dist/shared/host-stall-profiler.d.ts +5 -0
  236. package/dist/shared/host-stall-profiler.d.ts.map +1 -0
  237. package/dist/shared/logger.d.ts.map +1 -1
  238. package/dist/shared/model-resolution.d.ts +2 -3
  239. package/dist/shared/model-resolution.d.ts.map +1 -1
  240. package/dist/shared/models-dev-temperature.d.ts +18 -0
  241. package/dist/shared/models-dev-temperature.d.ts.map +1 -0
  242. package/dist/shared/project-directory-key.d.ts +16 -0
  243. package/dist/shared/project-directory-key.d.ts.map +1 -1
  244. package/dist/shared/sqlite.d.ts +30 -0
  245. package/dist/shared/sqlite.d.ts.map +1 -1
  246. package/dist/shared/stable-json.d.ts.map +1 -1
  247. package/dist/shared/subagent-temperature.d.ts +46 -0
  248. package/dist/shared/subagent-temperature.d.ts.map +1 -0
  249. package/dist/shared/user-facing-codes.d.ts +0 -5
  250. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  251. package/dist/sqlite-context-pragmas-mv9jqwjh.js +6 -0
  252. package/dist/sqlite-mhjkerzq.js +46 -0
  253. package/dist/storage-memory-07fx57k6.js +71 -0
  254. package/dist/storage-tags-k0pda32s.js +133 -0
  255. package/dist/{task-config-v81k8jvk.js → task-config-cgpg0nvh.js} +2 -2
  256. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  257. package/dist/tools/ctx-note/constants.d.ts +4 -0
  258. package/dist/tools/ctx-note/constants.d.ts.map +1 -1
  259. package/dist/tools/ctx-note/tools.d.ts +1 -0
  260. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  261. package/dist/tools/ctx-reduce/tools.d.ts.map +1 -1
  262. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  263. package/dist/tools/ctx-search/types.d.ts +1 -0
  264. package/dist/tools/ctx-search/types.d.ts.map +1 -1
  265. package/dist/tools/parameter-descriptions.d.ts +2 -2
  266. package/dist/tools/parameter-descriptions.d.ts.map +1 -1
  267. package/dist/{transform-postprocess-phase-z5hzpsxv.js → transform-postprocess-phase-tck4g20s.js} +35 -20
  268. package/dist/transformers-node-wasm.js +18415 -18415
  269. package/dist/v2/auto-search-worker.js +27 -30
  270. package/dist/v2/{context-14v1hr8b.js → context-crbt6p1y.js} +4708 -4218
  271. package/dist/v2/{derive-budgets-nc9avxz8.js → derive-budgets-fgej9j46.js} +4 -3
  272. package/dist/v2/embedding-activity-g1dhes6g.js +10 -0
  273. package/dist/v2/embedding-backfill-ph1qfyn3.js +21 -0
  274. package/dist/v2/embedding-cache-mgyr73ef.js +16 -0
  275. package/dist/v2/embedding-worker.js +12 -9
  276. package/dist/v2/fold/host-media.d.ts +4 -0
  277. package/dist/v2/fold/host-media.d.ts.map +1 -1
  278. package/dist/v2/fold/memory-cache.d.ts +70 -0
  279. package/dist/v2/fold/memory-cache.d.ts.map +1 -0
  280. package/dist/v2/fold/native-codec.d.ts +10 -0
  281. package/dist/v2/fold/native-codec.d.ts.map +1 -0
  282. package/dist/v2/fold/native-replay.d.ts +58 -0
  283. package/dist/v2/fold/native-replay.d.ts.map +1 -0
  284. package/dist/v2/fold/policy.d.ts +24 -0
  285. package/dist/v2/fold/policy.d.ts.map +1 -0
  286. package/dist/v2/harness-e4avh192.js +10 -0
  287. package/dist/v2/hidden-child-native.d.ts.map +1 -1
  288. package/dist/v2/hidden-completion.d.ts +7 -0
  289. package/dist/v2/hidden-completion.d.ts.map +1 -1
  290. package/dist/v2/hooks/context.d.ts +2 -2
  291. package/dist/v2/hooks/context.d.ts.map +1 -1
  292. package/dist/v2/hooks/dream-manual.d.ts +1 -1
  293. package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
  294. package/dist/v2/hooks/dream-timer.d.ts.map +1 -1
  295. package/dist/v2/hooks/dream-trigger.d.ts +5 -3
  296. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  297. package/dist/v2/hooks/generate.d.ts +9 -2
  298. package/dist/v2/hooks/generate.d.ts.map +1 -1
  299. package/dist/v2/hooks/payload.d.ts.map +1 -1
  300. package/dist/v2/hooks/tools.d.ts.map +1 -1
  301. package/dist/v2/hooks/types.d.ts +6 -0
  302. package/dist/v2/hooks/types.d.ts.map +1 -1
  303. package/dist/v2/logger-pj02s7sr.js +19 -0
  304. package/dist/v2/message-index-bounded-xwqdywxg.js +123 -0
  305. package/dist/{message-time-backfill-r5epkzj3.js → v2/message-time-backfill-cje68egj.js} +7 -7
  306. package/dist/v2/migration-worker.js +24 -17
  307. package/dist/v2/{model-resolution-xhfmyyvy.js → model-resolution-nx97z3x7.js} +1 -1
  308. package/dist/v2/project-embedding-registry-d6m7tyxr.js +86 -0
  309. package/dist/v2/raw-ordinal-warmup-worker.js +60 -0
  310. package/dist/v2/{read-session-chunk-gyyv7w2r.js → read-session-chunk-8p5mdryx.js} +16 -8
  311. package/dist/v2/read-session-raw-j8dvp7f4.js +59 -0
  312. package/dist/v2/recomp-orchestrator-ckfgt6wq.js +57 -0
  313. package/dist/{safe-notification-target-43r8jsxw.js → v2/safe-notification-target-y3p1hce9.js} +3 -3
  314. package/dist/v2/search-ym8rehhz.js +45 -0
  315. package/dist/{send-session-notification-0m68ms3n.js → v2/send-session-notification-5m0yapqx.js} +9 -8
  316. package/dist/v2/{server-rz514f14.js → server-19zjmn02.js} +2044 -2060
  317. package/dist/v2/server-1tk82krw.js +796 -0
  318. package/dist/v2/server-2bvekkfy.js +11 -0
  319. package/dist/v2/{server-ajzeteqw.js → server-2ra6pwf3.js} +1 -18
  320. package/dist/v2/server-2s6ayq3t.js +1048 -0
  321. package/dist/v2/{server-fcdehk1s.js → server-2s9qz6n7.js} +4 -4
  322. package/dist/v2/server-3j4d00kf.js +171 -0
  323. package/dist/v2/{server-14vq4kpm.js → server-3t0q2cqx.js} +3 -3
  324. package/dist/v2/server-4dhv7mqz.js +131 -0
  325. package/dist/v2/server-4ez8mntn.js +3213 -0
  326. package/dist/v2/{server-6r257mf5.js → server-676xw7at.js} +3 -3
  327. package/dist/v2/{server-vs5gpnd4.js → server-6byqfbqf.js} +165 -145
  328. package/dist/v2/server-7ekna9zs.js +120 -0
  329. package/dist/v2/server-7h861yms.js +1272 -0
  330. package/dist/v2/server-7jzrrxap.js +931 -0
  331. package/dist/v2/server-8ajstryz.js +18 -0
  332. package/dist/v2/{server-sfpzqvdz.js → server-8cd2j99z.js} +2 -3
  333. package/dist/v2/{server-cpepxy2q.js → server-8k2agx29.js} +14 -12
  334. package/dist/v2/server-c5rrgrcd.js +3545 -0
  335. package/dist/v2/server-d9vfe7xq.js +16 -0
  336. package/dist/v2/server-fb3zxn06.js +13 -0
  337. package/dist/v2/server-fr0wbhdn.js +43 -0
  338. package/dist/v2/{server-y10vbq6y.js → server-hb6xhh9q.js} +11 -1053
  339. package/dist/v2/server-jvxzm1jy.js +3023 -0
  340. package/dist/v2/{server-wx8a6bw3.js → server-kb9nn0a0.js} +270 -53
  341. package/dist/{index-5eqk6z3s.js → v2/server-kzns2hbz.js} +301 -27
  342. package/dist/{index-rrbbspwh.js → v2/server-mfkzp7qj.js} +1 -16
  343. package/dist/v2/server-pavzsdc6.js +17 -0
  344. package/dist/v2/{server-vd4e7174.js → server-pj4pjv02.js} +21 -17
  345. package/dist/v2/{server-e0c1b7a7.js → server-q4ph9bwn.js} +1340 -148
  346. package/dist/{index-yr3zj7e7.js → v2/server-qt1qqasc.js} +6 -7
  347. package/dist/v2/{server-qdjnb2z1.js → server-r5p3b1wy.js} +11 -9
  348. package/dist/v2/{server-d0sraw7m.js → server-sa8jvrfc.js} +291 -286
  349. package/dist/v2/server-ss95ky04.js +1048 -0
  350. package/dist/v2/{server-1qbnzc80.js → server-t4k4qexw.js} +142 -150
  351. package/dist/{index-x3kwrmqk.js → v2/server-v4mewb78.js} +35 -792
  352. package/dist/v2/server-w32kmdez.js +154 -0
  353. package/dist/v2/{server-nf82q6pt.js → server-x4hscabv.js} +5547 -5449
  354. package/dist/v2/server-xwz4dqh9.js +569 -0
  355. package/dist/v2/{server-efhwzx05.js → server-ycw9qqcy.js} +23 -23
  356. package/dist/v2/{server-50hvkg3v.js → server-zm570tr2.js} +160 -158
  357. package/dist/v2/server-zp53y8js.js +1311 -0
  358. package/dist/v2/server.js +16 -14
  359. package/dist/v2/sqlite-context-pragmas-mv9jqwjh.js +6 -0
  360. package/dist/v2/sqlite-mhjkerzq.js +46 -0
  361. package/dist/v2/storage-memory-07fx57k6.js +71 -0
  362. package/dist/v2/storage-tags-8vw924zn.js +132 -0
  363. package/dist/v2/store-reader.d.ts +24 -2
  364. package/dist/v2/store-reader.d.ts.map +1 -1
  365. package/dist/v2/{task-config-tbndqyny.js → task-config-x0hq3qfd.js} +2 -2
  366. package/dist/v2/transformers-node-wasm.js +18415 -18415
  367. package/dist/v2/tui/index.d.ts.map +1 -1
  368. package/dist/v2/tui/types.d.ts +1 -10
  369. package/dist/v2/tui/types.d.ts.map +1 -1
  370. package/dist/v2/{wrapup-orchestrator-nbz854vc.js → wrapup-orchestrator-a7efxaax.js} +51 -30
  371. package/dist/wrapup-orchestrator-barbc6h9.js +44 -0
  372. package/package.json +4 -3
  373. package/src/agents/magic-context-prompt.ts +27 -2
  374. package/src/agents/smart-notes-enabled.test.ts +294 -0
  375. package/src/agents/smart-notes-on.golden.json +70 -0
  376. package/src/config/index.test.ts +67 -1
  377. package/src/config/index.ts +2 -0
  378. package/src/config/latch-permanence-guard.test.ts +4 -0
  379. package/src/config/mural-model-deprecation.ts +24 -0
  380. package/src/config/project-security.hostile-matrix.test.ts +4 -44
  381. package/src/config/project-security.test.ts +9 -14
  382. package/src/config/project-security.ts +13 -55
  383. package/src/config/schema/magic-context.test.ts +2 -2
  384. package/src/config/schema/magic-context.ts +16 -10
  385. package/src/features/magic-context/dreamer/task-registry.ts +6 -0
  386. package/src/shared/auto-search-lifecycle.ts +43 -0
  387. package/src/shared/conflict-detector.test.ts +56 -0
  388. package/src/shared/conflict-detector.ts +16 -5
  389. package/src/shared/host-stall-profiler-bun.ts +358 -0
  390. package/src/shared/host-stall-profiler-common.ts +159 -0
  391. package/src/shared/host-stall-profiler-node.test.ts +234 -0
  392. package/src/shared/host-stall-profiler-node.ts +274 -0
  393. package/src/shared/host-stall-profiler-report.ts +248 -0
  394. package/src/shared/host-stall-profiler.ts +57 -0
  395. package/src/shared/logger.test.ts +38 -0
  396. package/src/shared/logger.ts +10 -2
  397. package/src/shared/model-resolution.test.ts +54 -17
  398. package/src/shared/model-resolution.ts +6 -17
  399. package/src/shared/models-dev-temperature.ts +107 -0
  400. package/src/shared/project-directory-key.test.ts +59 -0
  401. package/src/shared/project-directory-key.ts +20 -0
  402. package/src/shared/sqlite.test.ts +52 -0
  403. package/src/shared/sqlite.ts +339 -23
  404. package/src/shared/stable-json-linear.test.ts +109 -0
  405. package/src/shared/stable-json.ts +37 -7
  406. package/src/shared/subagent-temperature.test.ts +270 -0
  407. package/src/shared/subagent-temperature.ts +110 -0
  408. package/src/shared/user-facing-codes.ts +2 -6
  409. package/src/shared/write-transaction-attribution.test.ts +2 -2
  410. package/src/v2/tui/host-contract.test.ts +41 -67
  411. package/src/v2/tui/index.ts +6 -214
  412. package/src/v2/tui/types.ts +5 -17
  413. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts +0 -45
  414. package/dist/features/magic-context/checkout-claim-fake-subc.test-support.d.ts.map +0 -1
  415. package/dist/features/magic-context/checkout-claim.d.ts +0 -155
  416. package/dist/features/magic-context/checkout-claim.d.ts.map +0 -1
  417. package/dist/index-bb36vgr3.js +0 -6608
  418. package/dist/index-fnn5pjtt.js +0 -6554
  419. package/dist/recomp-orchestrator-rervg6q4.js +0 -42
  420. package/dist/v2/recomp-orchestrator-42vjba7p.js +0 -42
  421. package/dist/v2/server-3trjk1hx.js +0 -6360
  422. package/dist/v2/server-nm9n3aqq.js +0 -6461
  423. package/dist/wrapup-orchestrator-b2dztrar.js +0 -29
  424. /package/dist/{index-5prbx026.js → index-2pp04pmg.js} +0 -0
  425. /package/dist/v2/{index-5prbx026.js → index-2pp04pmg.js} +0 -0
@@ -1,29 +1,33 @@
1
1
  import {
2
2
  sanitizeDiagnosticText,
3
3
  importPluginModule,
4
- writeForwardedLogLine,
5
- log
6
- } from "./index-hybnrwq0.js";
4
+ writeForwardedLogLine2,
5
+ log2
6
+ } from "./index-nsjyysj0.js";
7
+ import {
8
+ harnessOwnsOpenCodeStore2
9
+ } from "./index-pavzsdc6.js";
7
10
  import {
8
- harnessOwnsOpenCodeStore,
9
11
  getMagicContextStorageDir,
10
12
  getLegacyOpenCodeMagicContextStorageDir
11
- } from "./index-q6hef7fh.js";
13
+ } from "./index-0sahzkwr.js";
12
14
  import {
13
- registerSlowWriteReporter,
14
- registerSqliteDiagnosticSink,
15
- detectSqliteRuntime,
16
- Database,
17
- withSqliteBackgroundWriter,
18
- withoutSqliteTransformPass,
19
- isTransientSqliteError,
20
- withPrivilegedWriter
21
- } from "./index-wx8a6bw3.js";
15
+ registerSlowWriteReporter2,
16
+ registerSqliteDiagnosticSink2,
17
+ detectSqliteRuntime2,
18
+ Database2,
19
+ withSqliteBackgroundWriter2,
20
+ withoutSqliteTransformPass2,
21
+ isTransientSqliteError2,
22
+ withPrivilegedWriter2
23
+ } from "./index-kb9nn0a0.js";
24
+ import {
25
+ configureContextDatabasePragmas2
26
+ } from "./index-fb3zxn06.js";
27
+ import {
28
+ startMessageFtsRowidMapBackfill
29
+ } from "./index-gzcmtmar.js";
22
30
  import {
23
- canonicalProjectDirectory,
24
- bootQuietRemainingMs,
25
- scheduleAfterBootQuiet,
26
- startMessageFtsRowidMapBackfill,
27
31
  LKG_SLOT_CHUNKS_DDL,
28
32
  SESSION_REPLAY_DECISIONS_DDL,
29
33
  LKG_SLOTS_DDL,
@@ -32,18 +36,25 @@ import {
32
36
  hasPendingMigrations,
33
37
  getMainThreadMigrationBodyCount,
34
38
  runMigrations
35
- } from "./index-x3kwrmqk.js";
39
+ } from "./index-nm6a8xpd.js";
36
40
  import {
41
+ installTagIdentityRevisionTrigger,
37
42
  ensureColumn,
38
- installV95PerfSchema,
39
- setDatabase,
40
- loadToolDefinitionMeasurements
41
- } from "./index-5gq3b2ya.js";
43
+ installV95PerfSchema
44
+ } from "./index-1bt88epp.js";
42
45
  import {
43
46
  resolveOpenCodeDbPath,
44
- hasV1MessageTables,
45
- closeQuietly
46
- } from "./index-b35pxds2.js";
47
+ hasV1MessageTables
48
+ } from "./index-58e3y90n.js";
49
+ import {
50
+ canonicalProjectDirectory,
51
+ bootQuietRemainingMs,
52
+ scheduleAfterBootQuiet
53
+ } from "./index-pxwp2hjk.js";
54
+ import {
55
+ setDatabase,
56
+ loadToolDefinitionMeasurements
57
+ } from "./index-h2wc01qk.js";
47
58
  import {
48
59
  getErrorMessage
49
60
  } from "./index-y8v6yerm.js";
@@ -55,9 +66,12 @@ import {
55
66
  copyStorageTreeSync,
56
67
  tightenStorageTreeSync
57
68
  } from "./index-1bc61ans.js";
69
+ import {
70
+ closeQuietly
71
+ } from "./index-8ajstryz.js";
58
72
  import {
59
73
  logSlowWriteTransaction
60
- } from "./index-sj29b3z2.js";
74
+ } from "./index-4mjhqadz.js";
61
75
 
62
76
  // src/features/magic-context/fail-closed-block.ts
63
77
  var FAIL_CLOSED_DOCTOR_COMMAND = "npx @cortexkit/magic-context@latest doctor";
@@ -873,7 +887,7 @@ function classifyLivePiSnapshot(snapshot, probeParents = true) {
873
887
  continue;
874
888
  if (ancestors.has(fact.pid)) {
875
889
  skippedAncestorPids.push(fact.pid);
876
- log(`[magic-context] Pi process scan: skipping ancestor PID ${fact.pid} (session launcher shim)`);
890
+ log2(`[magic-context] Pi process scan: skipping ancestor PID ${fact.pid} (session launcher shim)`);
877
891
  continue;
878
892
  }
879
893
  if (commandHasPiHarnessArc(command)) {
@@ -881,7 +895,7 @@ function classifyLivePiSnapshot(snapshot, probeParents = true) {
881
895
  continue;
882
896
  }
883
897
  inconclusivePids.add(fact.pid);
884
- log(`[magic-context] Pi process scan: PID ${fact.pid} command line is ambiguous (image-name or missing Pi/OMP arc); treating as inconclusive`);
898
+ log2(`[magic-context] Pi process scan: PID ${fact.pid} command line is ambiguous (image-name or missing Pi/OMP arc); treating as inconclusive`);
885
899
  }
886
900
  skippedAncestorPids.sort((left, right) => left - right);
887
901
  const verified = [...processIds].sort((left, right) => left - right);
@@ -1055,18 +1069,6 @@ function inspectWindowsProcessesSync() {
1055
1069
  };
1056
1070
  }
1057
1071
 
1058
- // src/shared/sqlite-context-pragmas.ts
1059
- function configureContextDatabasePragmas(db, readonly = false) {
1060
- const [row] = db.prepare(readonly ? "PRAGMA journal_mode" : "PRAGMA journal_mode=WAL").all();
1061
- const mode = row?.journal_mode?.toLowerCase();
1062
- if (mode === "memory" || readonly && mode !== "wal")
1063
- return;
1064
- if (mode !== "wal") {
1065
- throw new Error(`context.db requires WAL before synchronous=NORMAL (got ${mode ?? "unknown"})`);
1066
- }
1067
- db.exec("PRAGMA synchronous=NORMAL");
1068
- }
1069
-
1070
1072
  // src/features/magic-context/context-store-uuid.ts
1071
1073
  import { randomUUID } from "node:crypto";
1072
1074
  function getContextStoreUuid(db) {
@@ -1078,7 +1080,7 @@ function ensureContextStoreUuid(db) {
1078
1080
  if (existing)
1079
1081
  return existing;
1080
1082
  const minted = randomUUID();
1081
- withPrivilegedWriter(db, () => {
1083
+ withPrivilegedWriter2(db, () => {
1082
1084
  db.transaction(() => {
1083
1085
  db.prepare("INSERT INTO context_store_meta(key, value) VALUES ('store_uuid', ?) ON CONFLICT(key) DO NOTHING").run(minted);
1084
1086
  }).immediate();
@@ -1188,7 +1190,7 @@ function runMigrationsOffThread(data) {
1188
1190
  reject(workerStartError(error instanceof Error ? error.message : String(error)));
1189
1191
  return;
1190
1192
  }
1191
- log(`[migrations] applying pending migrations on a worker thread: ${data.dbPath}`);
1193
+ log2(`[migrations] applying pending migrations on a worker thread: ${data.dbPath}`);
1192
1194
  let ready = false;
1193
1195
  let settled = false;
1194
1196
  let endBusy = beginOffThreadMigration();
@@ -1216,10 +1218,10 @@ function runMigrationsOffThread(data) {
1216
1218
  switch (message.type) {
1217
1219
  case "ready":
1218
1220
  ready = true;
1219
- log(`[migrations] migration worker ready: ${data.dbPath}`);
1221
+ log2(`[migrations] migration worker ready: ${data.dbPath}`);
1220
1222
  return;
1221
1223
  case "log":
1222
- writeForwardedLogLine(message.line);
1224
+ writeForwardedLogLine2(message.line);
1223
1225
  return;
1224
1226
  case "lock-wait":
1225
1227
  if (!settled)
@@ -1300,7 +1302,7 @@ function runToolOwnerBackfill(db) {
1300
1302
  }
1301
1303
  const opencodeDbPath = resolveOpencodeDbPath();
1302
1304
  if (!existsSync(opencodeDbPath)) {
1303
- log(`[backfill] OpenCode DB not found at ${opencodeDbPath} — marking all unbackfilled sessions as skipped. Lazy adoption (defense-in-depth) handles legacy rows at runtime.`);
1305
+ log2(`[backfill] OpenCode DB not found at ${opencodeDbPath} — marking all unbackfilled sessions as skipped. Lazy adoption (defense-in-depth) handles legacy rows at runtime.`);
1304
1306
  markAllUnbackfilledSessionsSkipped(db);
1305
1307
  result.sessionsSkippedNoOcDb = countSessionsByStatus(db, "skipped");
1306
1308
  result.durationMs = performance.now() - startedAt;
@@ -1317,11 +1319,11 @@ function runToolOwnerBackfill(db) {
1317
1319
  try {
1318
1320
  db.exec("DETACH DATABASE oc_backfill");
1319
1321
  } catch (error) {
1320
- log(`[backfill] failed to detach oc_backfill database: ${error instanceof Error ? error.message : String(error)}`);
1322
+ log2(`[backfill] failed to detach oc_backfill database: ${error instanceof Error ? error.message : String(error)}`);
1321
1323
  }
1322
1324
  }
1323
1325
  result.durationMs = performance.now() - startedAt;
1324
- log(`[backfill] sessions=${result.sessionsProcessed} completed=${result.sessionsCompleted} skipped_no_oc=${result.sessionsSkippedNoOcDb} skipped_no_matches=${result.sessionsSkippedNoMatches} blocked_by_lease=${result.sessionsBlockedByLease} errored=${result.sessionsErrored} rows_updated=${result.rowsUpdated} rows_left_null=${result.rowsLeftNull} duration_ms=${Math.round(result.durationMs)}`);
1326
+ log2(`[backfill] sessions=${result.sessionsProcessed} completed=${result.sessionsCompleted} skipped_no_oc=${result.sessionsSkippedNoOcDb} skipped_no_matches=${result.sessionsSkippedNoMatches} blocked_by_lease=${result.sessionsBlockedByLease} errored=${result.sessionsErrored} rows_updated=${result.rowsUpdated} rows_left_null=${result.rowsLeftNull} duration_ms=${Math.round(result.durationMs)}`);
1325
1327
  return result;
1326
1328
  }
1327
1329
  function isToolOwnerBackfillNeeded(db) {
@@ -1506,7 +1508,7 @@ function backfillToolOwnersInChunks(db, result) {
1506
1508
  result.sessionsCompleted += 1;
1507
1509
  }
1508
1510
  } catch (error) {
1509
- log(`[backfill] session=${sessionId} errored: ${error instanceof Error ? error.message : String(error)}`);
1511
+ log2(`[backfill] session=${sessionId} errored: ${error instanceof Error ? error.message : String(error)}`);
1510
1512
  markSessionErrored(db, sessionId, error);
1511
1513
  result.sessionsErrored += 1;
1512
1514
  }
@@ -1519,8 +1521,8 @@ function backfillToolOwnersInChunks(db, result) {
1519
1521
  }
1520
1522
 
1521
1523
  // src/features/magic-context/storage-db.ts
1522
- registerSlowWriteReporter(logSlowWriteTransaction);
1523
- registerSqliteDiagnosticSink((message) => log(message));
1524
+ registerSlowWriteReporter2(logSlowWriteTransaction);
1525
+ registerSqliteDiagnosticSink2((message) => log2(message));
1524
1526
  var databases = new Map;
1525
1527
  var pendingAsyncOpens = new Map;
1526
1528
  var persistenceByDatabase = new WeakMap;
@@ -1545,7 +1547,7 @@ function ensureSecureStorageDir(dir) {
1545
1547
  }
1546
1548
  function tightenStorageTree(dir) {
1547
1549
  const { failures } = tightenStorageTreeSync(dir);
1548
- log(`[magic-context] storage permission tightening failures=${failures}`);
1550
+ log2(`[magic-context] storage permission tightening failures=${failures}`);
1549
1551
  }
1550
1552
  function resolveBootBusyTimeoutMs(value) {
1551
1553
  if (value === undefined)
@@ -1554,9 +1556,9 @@ function resolveBootBusyTimeoutMs(value) {
1554
1556
  return BOOT_SQLITE_BUSY_TIMEOUT_MS;
1555
1557
  return Math.max(0, Math.min(BOOT_SQLITE_BUSY_TIMEOUT_MS, Math.floor(value)));
1556
1558
  }
1557
- function installBootBusyTimeout(db, dbPath, timeoutMs, report = log) {
1559
+ function installBootBusyTimeout(db, dbPath, timeoutMs, report = log2) {
1558
1560
  db.exec(`PRAGMA busy_timeout=${timeoutMs}`);
1559
- report(`[magic-context] SQLite boot busy timeout: backend=${detectSqliteRuntime()} timeout=${timeoutMs}ms path=${dbPath}`);
1561
+ report(`[magic-context] SQLite boot busy timeout: backend=${detectSqliteRuntime2()} timeout=${timeoutMs}ms path=${dbPath}`);
1560
1562
  }
1561
1563
  function resolveDatabasePath(dbPathOverride) {
1562
1564
  if (dbPathOverride) {
@@ -1579,18 +1581,18 @@ function migrateLegacyStorageIfNeeded(targetDbPath, targetDbDir) {
1579
1581
  const legacyDbPath = join2(legacyDir, "context.db");
1580
1582
  if (!existsSync2(legacyDbPath))
1581
1583
  return;
1582
- log(`[magic-context] migrating legacy plugin storage: ${legacyDir} -> ${targetDbDir} (legacy left in place as backup)`);
1584
+ log2(`[magic-context] migrating legacy plugin storage: ${legacyDir} -> ${targetDbDir} (legacy left in place as backup)`);
1583
1585
  ensureSecureStorageDir(targetDbDir);
1584
1586
  try {
1585
- const legacyDb = new Database(legacyDbPath);
1587
+ const legacyDb = new Database2(legacyDbPath);
1586
1588
  try {
1587
- configureContextDatabasePragmas(legacyDb, true);
1589
+ configureContextDatabasePragmas2(legacyDb, true);
1588
1590
  legacyDb.exec("PRAGMA wal_checkpoint(TRUNCATE)");
1589
1591
  } finally {
1590
1592
  closeQuietly(legacyDb);
1591
1593
  }
1592
1594
  } catch (error) {
1593
- log(`[magic-context] legacy WAL checkpoint before copy failed (continuing with sidecar copy): ${getErrorMessage(error)}`);
1595
+ log2(`[magic-context] legacy WAL checkpoint before copy failed (continuing with sidecar copy): ${getErrorMessage(error)}`);
1594
1596
  }
1595
1597
  for (const suffix of ["", "-wal", "-shm"]) {
1596
1598
  const src = `${legacyDbPath}${suffix}`;
@@ -1599,7 +1601,7 @@ function migrateLegacyStorageIfNeeded(targetDbPath, targetDbDir) {
1599
1601
  try {
1600
1602
  copyStorageFileSync(src, dst);
1601
1603
  } catch (error) {
1602
- log(`[magic-context] failed to copy ${src}:`, getErrorMessage(error));
1604
+ log2(`[magic-context] failed to copy ${src}:`, getErrorMessage(error));
1603
1605
  }
1604
1606
  }
1605
1607
  }
@@ -1609,7 +1611,7 @@ function migrateLegacyStorageIfNeeded(targetDbPath, targetDbDir) {
1609
1611
  try {
1610
1612
  copyStorageTreeSync(legacyModelsDir, targetModelsDir);
1611
1613
  } catch (error) {
1612
- log("[magic-context] failed to copy embedding model cache:", getErrorMessage(error));
1614
+ log2("[magic-context] failed to copy embedding model cache:", getErrorMessage(error));
1613
1615
  }
1614
1616
  }
1615
1617
  }
@@ -1644,7 +1646,7 @@ function enforceSchemaFence(db, dbPath, latestSupportedVersion) {
1644
1646
  return true;
1645
1647
  }
1646
1648
  lastSchemaFenceRejection = { persistedVersion, supportedVersion: latestSupportedVersion };
1647
- log(`[magic-context] storage fatal: refusing to open ${dbPath}; upstream migration lane v${persistedVersion} is newer than this binary supports (max v${latestSupportedVersion}). A pinned or stale plugin is likely sharing this database with a newer instance; update or unpin Magic Context with 'npx @cortexkit/magic-context@latest doctor --force', then restart.`);
1649
+ log2(`[magic-context] storage fatal: refusing to open ${dbPath}; upstream migration lane v${persistedVersion} is newer than this binary supports (max v${latestSupportedVersion}). A pinned or stale plugin is likely sharing this database with a newer instance; update or unpin Magic Context with 'npx @cortexkit/magic-context@latest doctor --force', then restart.`);
1648
1650
  return false;
1649
1651
  }
1650
1652
  function unreadableDiscovery(path, arm) {
@@ -1716,7 +1718,7 @@ function classifyJunkDiscovery(portFile, raw, staleFiles) {
1716
1718
  }
1717
1719
  staleFiles.push(portFile);
1718
1720
  const reason = invalidDiscoveryReason(raw);
1719
- log(`[magic-context] removing stale RPC discovery file ${portFile}: ${reason} record older than 10 minutes`);
1721
+ log2(`[magic-context] removing stale RPC discovery file ${portFile}: ${reason} record older than 10 minutes`);
1720
1722
  return null;
1721
1723
  }
1722
1724
  function inspectRpcServerDiscovery(storageDir, processes, options) {
@@ -1861,12 +1863,12 @@ function formatInconclusivePiMigrationWarning(dbPath, pids) {
1861
1863
  function logInconclusiveMigrationProbes(dbPath, discovery, piDiscovery) {
1862
1864
  const uncertainPids = discovery.inconclusivePids ?? [];
1863
1865
  if (uncertainPids.length > 0) {
1864
- log(formatInconclusiveOpenCodeMigrationWarning(dbPath, uncertainPids));
1866
+ log2(formatInconclusiveOpenCodeMigrationWarning(dbPath, uncertainPids));
1865
1867
  }
1866
1868
  if (piDiscovery.state === "unreadable") {
1867
- log(`[magic-context] storage warning: continuing migration for ${dbPath}; the Pi/OMP process-list probe could not run, which commonly means an OS sandbox denied ps. No live Pi harness was confirmed.`);
1869
+ log2(`[magic-context] storage warning: continuing migration for ${dbPath}; the Pi/OMP process-list probe could not run, which commonly means an OS sandbox denied ps. No live Pi harness was confirmed.`);
1868
1870
  } else if ((piDiscovery.inconclusivePids?.length ?? 0) > 0) {
1869
- log(formatInconclusivePiMigrationWarning(dbPath, piDiscovery.inconclusivePids ?? []));
1871
+ log2(formatInconclusivePiMigrationWarning(dbPath, piDiscovery.inconclusivePids ?? []));
1870
1872
  }
1871
1873
  }
1872
1874
  function isDefaultSharedDatabasePath(dbPath) {
@@ -1928,9 +1930,9 @@ function enforceMigrationOnOpenGuard(db, dbPath, dbDir, latestSupportedVersion,
1928
1930
  const unreadableFile = discovery.unreadableFile ?? "<unknown>";
1929
1931
  const arm = discovery.unreadableArm ?? "io";
1930
1932
  const recovery = arm === "io" ? `If no OpenCode server is running, it is safe to delete ${unreadableFile} and retry.` : `Retry after the file is older than the ten-minute grace window, or stop OpenCode before deleting it.`;
1931
- log(`[magic-context] storage fatal: refusing to migrate ${dbPath} from upstream migration v${persistedVersion} to v${latestSupportedVersion} because RPC discovery file ${unreadableFile} is uncertain (${arm} arm), so the absence of a live OpenCode server cannot be proven. ${recovery}`);
1933
+ log2(`[magic-context] storage fatal: refusing to migrate ${dbPath} from upstream migration v${persistedVersion} to v${latestSupportedVersion} because RPC discovery file ${unreadableFile} is uncertain (${arm} arm), so the absence of a live OpenCode server cannot be proven. ${recovery}`);
1932
1934
  } else {
1933
- log(formatLiveProcessMigrationRefusal(dbPath, persistedVersion, latestSupportedVersion, discovery.serverPids, piPids));
1935
+ log2(formatLiveProcessMigrationRefusal(dbPath, persistedVersion, latestSupportedVersion, discovery.serverPids, piPids));
1934
1936
  }
1935
1937
  return false;
1936
1938
  }
@@ -1959,34 +1961,34 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
1959
1961
  }
1960
1962
  healWedgedChannel2Claims(db);
1961
1963
  if (!explicitDbPath) {
1962
- const readsOpenCodeStore = harnessOwnsOpenCodeStore();
1964
+ const readsOpenCodeStore = harnessOwnsOpenCodeStore2();
1963
1965
  let busyRetryMs = 100;
1964
- const runBackfills = () => withoutSqliteTransformPass(() => withSqliteBackgroundWriter(() => {
1966
+ const runBackfills = () => withoutSqliteTransformPass2(() => withSqliteBackgroundWriter2(() => {
1965
1967
  if (readsOpenCodeStore) {
1966
1968
  try {
1967
1969
  runToolOwnerBackfill(db);
1968
1970
  } catch (error) {
1969
- log(`[magic-context] tool-owner backfill failed (continuing with lazy adoption fallback): ${getErrorMessage(error)}`);
1971
+ log2(`[magic-context] tool-owner backfill failed (continuing with lazy adoption fallback): ${getErrorMessage(error)}`);
1970
1972
  }
1971
1973
  }
1972
1974
  startMessageFtsRowidMapBackfill(db).then(async () => {
1973
1975
  if (!readsOpenCodeStore)
1974
1976
  return;
1975
- const { readRawSessionMessagePage, readRawSessionMessages } = await importPluginModule(() => import("./read-session-chunk-4jey7hpt.js"));
1976
- const { startMessageTimeBackfill } = await importPluginModule(() => import("./message-time-backfill-r5epkzj3.js"));
1977
+ const { readRawSessionMessagePage, readRawSessionMessages } = await importPluginModule(() => import("./read-session-chunk-ty89v75e.js"));
1978
+ const { startMessageTimeBackfill } = await importPluginModule(() => import("./message-time-backfill-8x06r9kx.js"));
1977
1979
  await startMessageTimeBackfill(db, Object.assign(readRawSessionMessages, {
1978
1980
  readPage: readRawSessionMessagePage
1979
1981
  }));
1980
1982
  }).catch((error) => {
1981
- if (isTransientSqliteError(error)) {
1982
- withoutSqliteTransformPass(() => {
1983
+ if (isTransientSqliteError2(error)) {
1984
+ withoutSqliteTransformPass2(() => {
1983
1985
  const timer = setTimeout(runBackfills, busyRetryMs);
1984
1986
  timer.unref();
1985
1987
  });
1986
1988
  busyRetryMs = Math.min(30000, busyRetryMs * 2);
1987
1989
  return;
1988
1990
  }
1989
- log(`[magic-context] message-index backfill failed (will resume next startup): ${getErrorMessage(error)}`);
1991
+ log2(`[magic-context] message-index backfill failed (will resume next startup): ${getErrorMessage(error)}`);
1990
1992
  });
1991
1993
  }));
1992
1994
  if (bootQuietRemainingMs() > 0)
@@ -2002,14 +2004,14 @@ function finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion)
2002
2004
  persistenceByDatabase.set(db, true);
2003
2005
  persistenceErrorByDatabase.delete(db);
2004
2006
  if (!explicitDbPath) {
2005
- log(formatSchemaFenceBootLog(getPersistedSchemaVersion(db), latestSupportedVersion));
2007
+ log2(formatSchemaFenceBootLog(getPersistedSchemaVersion(db), latestSupportedVersion));
2006
2008
  }
2007
2009
  return db;
2008
2010
  }
2009
2011
  function initializeDatabase(db, busyTimeoutMs = BOOT_SQLITE_BUSY_TIMEOUT_MS) {
2010
2012
  db.exec(`PRAGMA busy_timeout=${resolveBootBusyTimeoutMs(busyTimeoutMs)}`);
2011
2013
  db.exec("PRAGMA foreign_keys=ON");
2012
- configureContextDatabasePragmas(db);
2014
+ configureContextDatabasePragmas2(db);
2013
2015
  applySqliteTuningPragmas(db);
2014
2016
  db.exec(`
2015
2017
  CREATE TABLE IF NOT EXISTS tags (
@@ -3243,6 +3245,7 @@ CREATE INDEX IF NOT EXISTS idx_dream_queue_pending ON dream_queue(started_at, en
3243
3245
  const version = getPersistedSchemaVersion(db);
3244
3246
  if (version === 0 || version >= 95)
3245
3247
  installV95PerfSchema(db, false, version === 0);
3248
+ installTagIdentityRevisionTrigger(db);
3246
3249
  }
3247
3250
  var CHANNEL2_CLAIM_TTL_MS = 10 * 60000;
3248
3251
  var channel2HealStatements = new WeakMap;
@@ -3272,7 +3275,7 @@ function openDatabase(dbPathOrOptions) {
3272
3275
  lastMigrationOnOpenRefusal = null;
3273
3276
  const existing = databases.get(dbPath);
3274
3277
  if (!existing && pendingAsyncOpens.has(dbPath)) {
3275
- log(`[magic-context] storage not ready: ${dbPath} is still being opened or migrated; refusing a second synchronous open`);
3278
+ log2(`[magic-context] storage not ready: ${dbPath} is still being opened or migrated; refusing a second synchronous open`);
3276
3279
  return null;
3277
3280
  }
3278
3281
  if (existing) {
@@ -3300,14 +3303,14 @@ function openDatabase(dbPathOrOptions) {
3300
3303
  throw error;
3301
3304
  }
3302
3305
  }
3303
- db = new Database(dbPath);
3306
+ db = new Database2(dbPath);
3304
3307
  installBootBusyTimeout(db, dbPath, busyTimeoutMs, options?.onBootBusyTimeout);
3305
3308
  if (!enforceSchemaFence(db, dbPath, latestSupportedVersion)) {
3306
3309
  closeQuietly(db);
3307
3310
  return null;
3308
3311
  }
3309
3312
  if (options?.allowMigrations === false && hasPendingMigrations(db)) {
3310
- log(`[magic-context] storage not ready: pending migrations at ${dbPath}; host callers must await the async opener`);
3313
+ log2(`[magic-context] storage not ready: pending migrations at ${dbPath}; host callers must await the async opener`);
3311
3314
  closeQuietly(db);
3312
3315
  return null;
3313
3316
  }
@@ -3324,12 +3327,13 @@ function openDatabase(dbPathOrOptions) {
3324
3327
  } else
3325
3328
  runMigrations(db);
3326
3329
  ensureContextStoreUuid(db);
3330
+ installTagIdentityRevisionTrigger(db);
3327
3331
  return finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion);
3328
3332
  } catch (error) {
3329
3333
  if (db)
3330
3334
  closeQuietly(db);
3331
3335
  const detail = getErrorMessage(error);
3332
- log(`[magic-context] storage fatal: failed to open ${dbPath}: ${detail}`);
3336
+ log2(`[magic-context] storage fatal: failed to open ${dbPath}: ${detail}`);
3333
3337
  throw new Error(`[magic-context] storage unavailable: ${detail}. Magic Context is disabled for this run; check log for details.`);
3334
3338
  }
3335
3339
  }
@@ -3388,7 +3392,7 @@ async function openDatabaseAsync(dbPathOrOptions) {
3388
3392
  throw error;
3389
3393
  }
3390
3394
  }
3391
- db = new Database(dbPath);
3395
+ db = new Database2(dbPath);
3392
3396
  installBootBusyTimeout(db, dbPath, busyTimeoutMs, options?.onBootBusyTimeout);
3393
3397
  openMs = performance.now() - openStartedAt;
3394
3398
  guardStartedAt = performance.now();
@@ -3420,6 +3424,7 @@ async function openDatabaseAsync(dbPathOrOptions) {
3420
3424
  throw new Error("storage initialization left a pending migration; reinstall or rebuild the plugin");
3421
3425
  }
3422
3426
  ensureContextStoreUuid(db);
3427
+ installTagIdentityRevisionTrigger(db);
3423
3428
  const opened = finishDatabaseOpen(db, dbPath, explicitDbPath, latestSupportedVersion);
3424
3429
  migrateMs = performance.now() - migrateStartedAt;
3425
3430
  return opened;
@@ -3427,10 +3432,10 @@ async function openDatabaseAsync(dbPathOrOptions) {
3427
3432
  if (db)
3428
3433
  closeQuietly(db);
3429
3434
  const detail = getErrorMessage(error);
3430
- log(`[magic-context] storage fatal: failed to open ${dbPath}: ${detail}`);
3435
+ log2(`[magic-context] storage fatal: failed to open ${dbPath}: ${detail}`);
3431
3436
  throw new Error(`[magic-context] storage unavailable: ${detail}. Magic Context is disabled for this run; check log for details.`);
3432
3437
  } finally {
3433
- log(`[migrations] async open main-thread migration-body count: ${getMainThreadMigrationBodyCount() - mainThreadBodiesBefore} (total=${getMainThreadMigrationBodyCount()}) path=${dbPath}`);
3438
+ log2(`[migrations] async open main-thread migration-body count: ${getMainThreadMigrationBodyCount() - mainThreadBodiesBefore} (total=${getMainThreadMigrationBodyCount()}) path=${dbPath}`);
3434
3439
  if (openMs === 0)
3435
3440
  openMs = performance.now() - openStartedAt;
3436
3441
  if (guardStartedAt !== null && guardMs === 0) {
@@ -3461,4 +3466,4 @@ function getDatabasePersistenceError(db) {
3461
3466
  return persistenceErrorByDatabase.get(db) ?? null;
3462
3467
  }
3463
3468
 
3464
- export { FAIL_CLOSED_DOCTOR_COMMAND, formatFailClosedBlockingMessage, formatFailClosedBlockingSummary, createFailClosedBlockingError, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, registerOwnRpcServerInstance, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, inspectProcessesAsync, configureContextDatabasePragmas, startBootDeadline, getUnconfirmedMigrationHolders, getSchemaFenceRejection, getMigrationOnOpenRefusal, LATEST_SUPPORTED_VERSION, BOOT_SQLITE_BUSY_TIMEOUT_MS, getDatabasePath, getPersistedSchemaVersion, setSqlitePragmaConfig, runSqliteOptimize, initializeDatabase, openDatabase, openCurrentDatabase, openDatabaseAsync, isDatabasePersisted, getDatabasePersistenceError };
3469
+ export { FAIL_CLOSED_DOCTOR_COMMAND, formatFailClosedBlockingMessage, formatFailClosedBlockingSummary, createFailClosedBlockingError, isFailClosedBlockingError, shouldBypassFailClosedBlock, resolveAgentNameFromMessages, createFailClosedController, recordHookInitFailure, clearHookInitFailure, getLastHookInitFailure, registerOwnRpcServerInstance, rpcPortDir, rpcPortFilePath, isPidAlive, parseRpcPortFile, inspectProcessesAsync, startBootDeadline, getUnconfirmedMigrationHolders, getSchemaFenceRejection, getMigrationOnOpenRefusal, LATEST_SUPPORTED_VERSION, BOOT_SQLITE_BUSY_TIMEOUT_MS, getDatabasePath, getPersistedSchemaVersion, setSqlitePragmaConfig, runSqliteOptimize, initializeDatabase, openDatabase, openCurrentDatabase, openDatabaseAsync, isDatabasePersisted, getDatabasePersistenceError };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  importPluginModule,
3
- log
4
- } from "./index-hybnrwq0.js";
3
+ log2
4
+ } from "./index-nsjyysj0.js";
5
5
  import {
6
6
  sendStatusNotification2
7
- } from "./index-adwfkpex.js";
7
+ } from "./index-9rt53q79.js";
8
8
  import {
9
9
  formatConflictShort
10
- } from "./index-8da2zjhz.js";
10
+ } from "./index-z1tjp257.js";
11
11
 
12
12
  // src/plugin/conflict-warning-hook.ts
13
13
  import { existsSync, readFileSync } from "node:fs";
@@ -36,7 +36,7 @@ function getDesktopStatePath() {
36
36
  function readDesktopState(directory) {
37
37
  const statePath = getDesktopStatePath();
38
38
  if (!statePath || !existsSync(statePath)) {
39
- log(`[magic-context] conflict-warning: Desktop state file not found at ${statePath}`);
39
+ log2(`[magic-context] conflict-warning: Desktop state file not found at ${statePath}`);
40
40
  return { sessionId: null, sidecarUrl: null };
41
41
  }
42
42
  try {
@@ -64,7 +64,7 @@ function readDesktopState(directory) {
64
64
  }
65
65
  return { sessionId, sidecarUrl };
66
66
  } catch (error) {
67
- log(`[magic-context] conflict-warning: failed to read Desktop state: ${error instanceof Error ? error.message : String(error)}`);
67
+ log2(`[magic-context] conflict-warning: failed to read Desktop state: ${error instanceof Error ? error.message : String(error)}`);
68
68
  return { sessionId: null, sidecarUrl: null };
69
69
  }
70
70
  }
@@ -95,12 +95,12 @@ async function deleteMessage(serverUrl, sessionId, messageId) {
95
95
  signal: AbortSignal.timeout(1e4)
96
96
  });
97
97
  if (!response.ok) {
98
- log(`[magic-context] conflict-warning: DELETE failed status=${response.status} url=${url}`);
98
+ log2(`[magic-context] conflict-warning: DELETE failed status=${response.status} url=${url}`);
99
99
  return false;
100
100
  }
101
101
  return true;
102
102
  } catch (error) {
103
- log(`[magic-context] conflict-warning: DELETE error (url=${serverUrl}): ${error instanceof Error ? error.message : String(error)}`);
103
+ log2(`[magic-context] conflict-warning: DELETE error (url=${serverUrl}): ${error instanceof Error ? error.message : String(error)}`);
104
104
  return false;
105
105
  }
106
106
  }
@@ -122,28 +122,28 @@ async function getSessionMessages(client, sessionId) {
122
122
  return result?.data ?? [];
123
123
  }
124
124
  } catch (error) {
125
- log(`[magic-context] conflict-warning: failed to read messages: ${error instanceof Error ? error.message : String(error)}`);
125
+ log2(`[magic-context] conflict-warning: failed to read messages: ${error instanceof Error ? error.message : String(error)}`);
126
126
  }
127
127
  return [];
128
128
  }
129
129
  async function sendConflictWarning2(client, directory, conflictResult) {
130
130
  const { sessionId } = getDesktopState(directory);
131
131
  if (!sessionId) {
132
- log("[magic-context] conflict-warning: could not find active session for Desktop warning");
132
+ log2("[magic-context] conflict-warning: could not find active session for Desktop warning");
133
133
  return;
134
134
  }
135
135
  const warningText = formatConflictShort(conflictResult);
136
- log(`[magic-context] sending conflict warning to session ${sessionId}: ${conflictResult.reasons.join(", ")}`);
136
+ log2(`[magic-context] sending conflict warning to session ${sessionId}: ${conflictResult.reasons.join(", ")}`);
137
137
  try {
138
138
  await sendStatusNotification2(client, sessionId, warningText, {});
139
139
  } catch (error) {
140
- log(`[magic-context] conflict-warning: failed to send: ${error instanceof Error ? error.message : String(error)}`);
140
+ log2(`[magic-context] conflict-warning: failed to send: ${error instanceof Error ? error.message : String(error)}`);
141
141
  }
142
142
  }
143
143
  async function cleanupConflictWarnings2(client, directory, serverUrl) {
144
144
  const { sessionId } = getDesktopState(directory);
145
145
  if (!sessionId) {
146
- log("[magic-context] cleanup: no active Desktop session found");
146
+ log2("[magic-context] cleanup: no active Desktop session found");
147
147
  return;
148
148
  }
149
149
  const messages = await getSessionMessages(client, sessionId);
@@ -169,14 +169,14 @@ async function cleanupConflictWarnings2(client, directory, serverUrl) {
169
169
  return;
170
170
  }
171
171
  if (!serverUrl) {
172
- log("[magic-context] cleanup: no serverUrl provided, cannot delete messages");
172
+ log2("[magic-context] cleanup: no serverUrl provided, cannot delete messages");
173
173
  return;
174
174
  }
175
- log(`[magic-context] cleaning up ${warningMessageIds.length} conflict warning message(s) from session ${sessionId}`);
175
+ log2(`[magic-context] cleaning up ${warningMessageIds.length} conflict warning message(s) from session ${sessionId}`);
176
176
  for (const messageId of warningMessageIds) {
177
177
  const ok = await deleteMessage(serverUrl, sessionId, messageId);
178
178
  if (ok) {
179
- log(`[magic-context] deleted conflict warning message ${messageId}`);
179
+ log2(`[magic-context] deleted conflict warning message ${messageId}`);
180
180
  }
181
181
  }
182
182
  const enabledText = `${ENABLED_MARKER}. Enjoy! ✨`;
@@ -246,13 +246,13 @@ async function sendStartupAnnouncement2(client, directory, version, features, fo
246
246
  }
247
247
  const text = sections.join(`
248
248
  `);
249
- log(`[magic-context] sending startup announcement for v${version} to session ${sessionId}`);
249
+ log2(`[magic-context] sending startup announcement for v${version} to session ${sessionId}`);
250
250
  try {
251
251
  await sendStatusNotification2(client, sessionId, text, {
252
252
  onDelivered: () => markSeen(version)
253
253
  });
254
254
  } catch (error) {
255
- log(`[magic-context] announcement: failed to send: ${error instanceof Error ? error.message : String(error)}`);
255
+ log2(`[magic-context] announcement: failed to send: ${error instanceof Error ? error.message : String(error)}`);
256
256
  }
257
257
  }
258
258
 
@@ -1,6 +1,6 @@
1
1
  import {
2
- log
3
- } from "./index-hybnrwq0.js";
2
+ log2
3
+ } from "./index-nsjyysj0.js";
4
4
 
5
5
  // src/shared/safe-notification-target.ts
6
6
  var DEFAULT_TITLE_RE = /^(New session - |Child session - )\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
@@ -33,7 +33,7 @@ async function waitForSafeNotificationTarget2(client, sessionId, options) {
33
33
  await new Promise((resolve) => setTimeout(resolve, delayMs));
34
34
  }
35
35
  }
36
- log(`[magic-context] notification skipped: session ${sessionId} still has its default title (would suppress title generation); will retry on a later startup`);
36
+ log2(`[magic-context] notification skipped: session ${sessionId} still has its default title (would suppress title generation); will retry on a later startup`);
37
37
  return "skip";
38
38
  }
39
39