@cortexkit/opencode-magic-context 0.44.3 → 0.45.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 (701) hide show
  1. package/dist/agents/hidden-agent-registrations.d.ts +3 -2
  2. package/dist/agents/hidden-agent-registrations.d.ts.map +1 -1
  3. package/dist/agents/magic-context-prompt.d.ts +1 -0
  4. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  5. package/dist/agents/permissions.d.ts +8 -28
  6. package/dist/agents/permissions.d.ts.map +1 -1
  7. package/dist/{announcement-n8hs7kjw.js → announcement-f75t58v9.js} +4 -2
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/project-security.d.ts +48 -0
  10. package/dist/config/project-security.d.ts.map +1 -1
  11. package/dist/config/raw-loader.d.ts.map +1 -1
  12. package/dist/config/schema/magic-context.d.ts +10 -7
  13. package/dist/config/schema/magic-context.d.ts.map +1 -1
  14. package/dist/{conflict-warning-hook-hmpzxep6.js → conflict-warning-hook-5yrz2r24.js} +10 -6
  15. package/dist/{derive-budgets-vjmvh6pz.js → derive-budgets-a63zsm5c.js} +4 -4
  16. package/dist/embedding-worker.js +49 -0
  17. package/dist/emscripten-module-0g8f45e6.js +602 -0
  18. package/dist/emscripten-module-0pekdjxz.js +1532 -0
  19. package/dist/emscripten-module-e67xwsp3.js +503 -0
  20. package/dist/emscripten-module-pj1vyb44.js +4559 -0
  21. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +23 -3
  22. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  23. package/dist/features/magic-context/compartment-embedding.d.ts.map +1 -1
  24. package/dist/features/magic-context/compartment-storage.d.ts +14 -3
  25. package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
  26. package/dist/features/magic-context/context-store-uuid.d.ts +7 -0
  27. package/dist/features/magic-context/context-store-uuid.d.ts.map +1 -0
  28. package/dist/features/magic-context/dreamer/classify.d.ts +1 -3
  29. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  30. package/dist/features/magic-context/dreamer/cron.d.ts +5 -4
  31. package/dist/features/magic-context/dreamer/cron.d.ts.map +1 -1
  32. package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -1
  33. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  34. package/dist/features/magic-context/dreamer/expire-memories.d.ts.map +1 -1
  35. package/dist/features/magic-context/dreamer/idle-schedule-prune.d.ts +24 -0
  36. package/dist/features/magic-context/dreamer/idle-schedule-prune.d.ts.map +1 -0
  37. package/dist/features/magic-context/dreamer/manual-summary.d.ts.map +1 -1
  38. package/dist/features/magic-context/dreamer/map-memories.d.ts +5 -5
  39. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  40. package/dist/features/magic-context/dreamer/module-apply.d.ts +4 -25
  41. package/dist/features/magic-context/dreamer/module-apply.d.ts.map +1 -1
  42. package/dist/features/magic-context/dreamer/retrospective-learnings.d.ts.map +1 -1
  43. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts +5 -1
  44. package/dist/features/magic-context/dreamer/storage-dream-runs.d.ts.map +1 -1
  45. package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts +12 -5
  46. package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts.map +1 -1
  47. package/dist/features/magic-context/dreamer/task-executor.d.ts +6 -0
  48. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  49. package/dist/features/magic-context/dreamer/task-gates.d.ts +34 -0
  50. package/dist/features/magic-context/dreamer/task-gates.d.ts.map +1 -1
  51. package/dist/features/magic-context/dreamer/task-prompts.d.ts +1 -1
  52. package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
  53. package/dist/features/magic-context/dreamer/task-registry.d.ts +7 -5
  54. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  55. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +10 -3
  56. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  57. package/dist/features/magic-context/dreamer/token-budget.d.ts +3 -0
  58. package/dist/features/magic-context/dreamer/token-budget.d.ts.map +1 -1
  59. package/dist/features/magic-context/dreamer/verify.d.ts +2 -2
  60. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  61. package/dist/features/magic-context/git-commits/git-log-reader.d.ts +11 -2
  62. package/dist/features/magic-context/git-commits/git-log-reader.d.ts.map +1 -1
  63. package/dist/features/magic-context/git-commits/indexer.d.ts.map +1 -1
  64. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  65. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts +2 -0
  66. package/dist/features/magic-context/git-commits/storage-git-commits.d.ts.map +1 -1
  67. package/dist/features/magic-context/legacy-authority-fixture.test-support.d.ts +6 -0
  68. package/dist/features/magic-context/legacy-authority-fixture.test-support.d.ts.map +1 -0
  69. package/dist/features/magic-context/lkg-prefix-chunks.d.ts +53 -0
  70. package/dist/features/magic-context/lkg-prefix-chunks.d.ts.map +1 -0
  71. package/dist/features/magic-context/memory/embedding-backfill.d.ts.map +1 -1
  72. package/dist/features/magic-context/memory/embedding-local.d.ts +8 -0
  73. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  74. package/dist/features/magic-context/memory/embedding-openai.d.ts +1 -0
  75. package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
  76. package/dist/features/magic-context/memory/embedding-worker-client.d.ts +27 -0
  77. package/dist/features/magic-context/memory/embedding-worker-client.d.ts.map +1 -0
  78. package/dist/features/magic-context/memory/embedding-worker.d.ts +2 -0
  79. package/dist/features/magic-context/memory/embedding-worker.d.ts.map +1 -0
  80. package/dist/features/magic-context/memory/embedding-worker.fixture.d.ts +2 -0
  81. package/dist/features/magic-context/memory/embedding-worker.fixture.d.ts.map +1 -0
  82. package/dist/features/magic-context/memory/memory-selection.d.ts.map +1 -1
  83. package/dist/features/magic-context/memory/project-identity-cache.d.ts +4 -3
  84. package/dist/features/magic-context/memory/project-identity-cache.d.ts.map +1 -1
  85. package/dist/features/magic-context/memory/project-identity.d.ts +5 -4
  86. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  87. package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -1
  88. package/dist/features/magic-context/memory/visibility.d.ts +1 -1
  89. package/dist/features/magic-context/memory/visibility.d.ts.map +1 -1
  90. package/dist/features/magic-context/message-fts-rowid-map.d.ts +14 -1
  91. package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -1
  92. package/dist/features/magic-context/message-fts-session-filter.d.ts +14 -0
  93. package/dist/features/magic-context/message-fts-session-filter.d.ts.map +1 -0
  94. package/dist/features/magic-context/message-index.d.ts +1 -7
  95. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  96. package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -1
  97. package/dist/features/magic-context/migration-v94-write-split.d.ts +62 -0
  98. package/dist/features/magic-context/migration-v94-write-split.d.ts.map +1 -0
  99. package/dist/features/magic-context/migration-worker-client.d.ts +23 -0
  100. package/dist/features/magic-context/migration-worker-client.d.ts.map +1 -0
  101. package/dist/features/magic-context/migration-worker-protocol.d.ts +30 -0
  102. package/dist/features/magic-context/migration-worker-protocol.d.ts.map +1 -0
  103. package/dist/features/magic-context/migration-worker.d.ts +2 -0
  104. package/dist/features/magic-context/migration-worker.d.ts.map +1 -0
  105. package/dist/features/magic-context/migrations.d.ts +7 -0
  106. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  107. package/dist/features/magic-context/mural/render-mural.d.ts +24 -2
  108. package/dist/features/magic-context/mural/render-mural.d.ts.map +1 -1
  109. package/dist/features/magic-context/mural/render-trigger.d.ts +1 -1
  110. package/dist/features/magic-context/mural/render-trigger.d.ts.map +1 -1
  111. package/dist/features/magic-context/overflow-detection.d.ts +18 -7
  112. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  113. package/dist/features/magic-context/project-embedding-registry.d.ts +2 -0
  114. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  115. package/dist/features/magic-context/range-parser.d.ts +2 -3
  116. package/dist/features/magic-context/range-parser.d.ts.map +1 -1
  117. package/dist/features/magic-context/resolve-subagent-fallback.d.ts +2 -0
  118. package/dist/features/magic-context/resolve-subagent-fallback.d.ts.map +1 -1
  119. package/dist/features/magic-context/scheduler.d.ts +2 -0
  120. package/dist/features/magic-context/scheduler.d.ts.map +1 -1
  121. package/dist/features/magic-context/search.d.ts +7 -0
  122. package/dist/features/magic-context/search.d.ts.map +1 -1
  123. package/dist/features/magic-context/session-project-backfill.d.ts.map +1 -1
  124. package/dist/features/magic-context/session-project-storage.d.ts +10 -1
  125. package/dist/features/magic-context/session-project-storage.d.ts.map +1 -1
  126. package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts +1 -1
  127. package/dist/features/magic-context/smart-notes/compiler-prompt.d.ts.map +1 -1
  128. package/dist/features/magic-context/smart-notes/compiler.d.ts +4 -0
  129. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  130. package/dist/features/magic-context/smart-notes/runner.d.ts.map +1 -1
  131. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts +2 -0
  132. package/dist/features/magic-context/smart-notes/sandbox-runner.d.ts.map +1 -1
  133. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts +10 -8
  134. package/dist/features/magic-context/smart-notes/ssrf-guard.d.ts.map +1 -1
  135. package/dist/features/magic-context/smart-notes/storage.d.ts +2 -2
  136. package/dist/features/magic-context/smart-notes/storage.d.ts.map +1 -1
  137. package/dist/features/magic-context/smart-notes/types.d.ts +7 -2
  138. package/dist/features/magic-context/smart-notes/types.d.ts.map +1 -1
  139. package/dist/features/magic-context/storage-caveman-rules.d.ts +21 -0
  140. package/dist/features/magic-context/storage-caveman-rules.d.ts.map +1 -0
  141. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  142. package/dist/features/magic-context/storage-compartment-history-version.d.ts +4 -0
  143. package/dist/features/magic-context/storage-compartment-history-version.d.ts.map +1 -0
  144. package/dist/features/magic-context/storage-db.d.ts +68 -3
  145. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  146. package/dist/features/magic-context/storage-identity-merge.d.ts +6 -0
  147. package/dist/features/magic-context/storage-identity-merge.d.ts.map +1 -1
  148. package/dist/features/magic-context/storage-meta-persisted.d.ts +15 -0
  149. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  150. package/dist/features/magic-context/storage-meta-session.d.ts +1 -1
  151. package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
  152. package/dist/features/magic-context/storage-meta-shared.d.ts +1 -1
  153. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  154. package/dist/features/magic-context/storage-notes.d.ts +2 -2
  155. package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
  156. package/dist/features/magic-context/storage-reasoning-removal.d.ts +30 -0
  157. package/dist/features/magic-context/storage-reasoning-removal.d.ts.map +1 -0
  158. package/dist/features/magic-context/storage-replay-document.d.ts +42 -5
  159. package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -1
  160. package/dist/features/magic-context/storage-session-tables.d.ts.map +1 -1
  161. package/dist/features/magic-context/storage-tags.d.ts +7 -1
  162. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  163. package/dist/features/magic-context/storage.d.ts +1 -1
  164. package/dist/features/magic-context/storage.d.ts.map +1 -1
  165. package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -1
  166. package/dist/features/magic-context/tag-input.d.ts +4 -0
  167. package/dist/features/magic-context/tag-input.d.ts.map +1 -0
  168. package/dist/features/magic-context/transform-decision-log.d.ts.map +1 -1
  169. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  170. package/dist/features/magic-context/user-memory/storage-user-memory.d.ts.map +1 -1
  171. package/dist/features/magic-context/v22-deferred-backfill.d.ts.map +1 -1
  172. package/dist/ffi-3cx1cxpk.js +78 -0
  173. package/dist/ffi-7bqqe4cd.js +91 -0
  174. package/dist/ffi-7e6gryj5.js +91 -0
  175. package/dist/ffi-bpvkebwr.js +78 -0
  176. package/dist/hooks/magic-context/apply-operations.d.ts +9 -1
  177. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  178. package/dist/hooks/magic-context/auto-search-deadline.d.ts +10 -0
  179. package/dist/hooks/magic-context/auto-search-deadline.d.ts.map +1 -0
  180. package/dist/hooks/magic-context/auto-search-hint.d.ts +3 -0
  181. package/dist/hooks/magic-context/auto-search-hint.d.ts.map +1 -1
  182. package/dist/hooks/magic-context/auto-search-runner.d.ts +3 -0
  183. package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
  184. package/dist/hooks/magic-context/caveman-cleanup.d.ts +8 -1
  185. package/dist/hooks/magic-context/caveman-cleanup.d.ts.map +1 -1
  186. package/dist/hooks/magic-context/caveman.d.ts +56 -1
  187. package/dist/hooks/magic-context/caveman.d.ts.map +1 -1
  188. package/dist/hooks/magic-context/child-session-spawn.d.ts +2 -0
  189. package/dist/hooks/magic-context/child-session-spawn.d.ts.map +1 -1
  190. package/dist/hooks/magic-context/command-handler.d.ts +1 -1
  191. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  192. package/dist/hooks/magic-context/compaction-marker-manager.d.ts +1 -1
  193. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  194. package/dist/hooks/magic-context/compartment-parser.d.ts +3 -3
  195. package/dist/hooks/magic-context/compartment-parser.d.ts.map +1 -1
  196. package/dist/hooks/magic-context/compartment-render-epoch.d.ts +12 -1
  197. package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -1
  198. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  199. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +0 -1
  200. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  201. package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
  202. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  203. package/dist/hooks/magic-context/compartment-runner-types.d.ts +3 -0
  204. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  205. package/dist/hooks/magic-context/compartment-runner-validation.d.ts +6 -0
  206. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
  207. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  208. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts +35 -0
  209. package/dist/hooks/magic-context/degraded-pass-refusal.d.ts.map +1 -0
  210. package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
  211. package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -1
  212. package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
  213. package/dist/hooks/magic-context/embed-history-runner.d.ts.map +1 -1
  214. package/dist/hooks/magic-context/emergency-drop.d.ts +15 -0
  215. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  216. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  217. package/dist/hooks/magic-context/event-resolvers.d.ts +7 -0
  218. package/dist/hooks/magic-context/event-resolvers.d.ts.map +1 -1
  219. package/dist/hooks/magic-context/execute-status.d.ts +1 -0
  220. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  221. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +17 -0
  222. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  223. package/dist/hooks/magic-context/heuristic-cleanup.d.ts +2 -0
  224. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  225. package/dist/hooks/magic-context/historian-host-runner.d.ts +5 -0
  226. package/dist/hooks/magic-context/historian-host-runner.d.ts.map +1 -1
  227. package/dist/hooks/magic-context/historian-prompt-fit.d.ts +116 -0
  228. package/dist/hooks/magic-context/historian-prompt-fit.d.ts.map +1 -0
  229. package/dist/hooks/magic-context/historian-prompt.generated.d.ts +1 -1
  230. package/dist/hooks/magic-context/historian-prompt.generated.d.ts.map +1 -1
  231. package/dist/hooks/magic-context/history-boundary-repair.d.ts +44 -0
  232. package/dist/hooks/magic-context/history-boundary-repair.d.ts.map +1 -0
  233. package/dist/hooks/magic-context/hook.d.ts +4 -0
  234. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  235. package/dist/hooks/magic-context/inject-compartments.d.ts +13 -0
  236. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  237. package/dist/hooks/magic-context/lkg-persist.d.ts +12 -0
  238. package/dist/hooks/magic-context/lkg-persist.d.ts.map +1 -1
  239. package/dist/hooks/magic-context/lkg-replay-fit.d.ts +104 -0
  240. package/dist/hooks/magic-context/lkg-replay-fit.d.ts.map +1 -0
  241. package/dist/hooks/magic-context/lkg-replay.d.ts +64 -0
  242. package/dist/hooks/magic-context/lkg-replay.d.ts.map +1 -1
  243. package/dist/hooks/magic-context/module-client.d.ts.map +1 -1
  244. package/dist/hooks/magic-context/module-state-sync-timing.d.ts +1 -1
  245. package/dist/hooks/magic-context/module-state-sync-timing.d.ts.map +1 -1
  246. package/dist/hooks/magic-context/module-state-sync.d.ts +6 -68
  247. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
  248. package/dist/hooks/magic-context/module-tool-backends.d.ts +1 -34
  249. package/dist/hooks/magic-context/module-tool-backends.d.ts.map +1 -1
  250. package/dist/hooks/magic-context/module-transport.d.ts +1 -55
  251. package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
  252. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  253. package/dist/hooks/magic-context/note-nudger.d.ts +2 -0
  254. package/dist/hooks/magic-context/note-nudger.d.ts.map +1 -1
  255. package/dist/hooks/magic-context/pass-outcome.d.ts +59 -2
  256. package/dist/hooks/magic-context/pass-outcome.d.ts.map +1 -1
  257. package/dist/hooks/magic-context/producer-window-guard.d.ts +6 -0
  258. package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
  259. package/dist/hooks/magic-context/read-session-chunk.d.ts +17 -4
  260. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  261. package/dist/hooks/magic-context/read-session-formatting.d.ts +11 -0
  262. package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
  263. package/dist/hooks/magic-context/read-session-raw.d.ts +2 -2
  264. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  265. package/dist/hooks/magic-context/reasoning-removal.d.ts +60 -0
  266. package/dist/hooks/magic-context/reasoning-removal.d.ts.map +1 -0
  267. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +1 -0
  268. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  269. package/dist/hooks/magic-context/reference-retrieval.d.ts +1 -1
  270. package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -1
  271. package/dist/hooks/magic-context/reply-pages.d.ts +3 -0
  272. package/dist/hooks/magic-context/reply-pages.d.ts.map +1 -0
  273. package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts +62 -0
  274. package/dist/hooks/magic-context/rust-lkg-freeze-registry.d.ts.map +1 -0
  275. package/dist/hooks/magic-context/rust-mode-transform.d.ts +17 -85
  276. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  277. package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
  278. package/dist/hooks/magic-context/sentinel.d.ts +35 -0
  279. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  280. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts +28 -0
  281. package/dist/hooks/magic-context/shared-compartment-boundaries.d.ts.map +1 -0
  282. package/dist/hooks/magic-context/single-store-refusal.d.ts +14 -0
  283. package/dist/hooks/magic-context/single-store-refusal.d.ts.map +1 -0
  284. package/dist/hooks/magic-context/storage-busy-refusal.d.ts +7 -0
  285. package/dist/hooks/magic-context/storage-busy-refusal.d.ts.map +1 -1
  286. package/dist/hooks/magic-context/strip-content.d.ts.map +1 -1
  287. package/dist/hooks/magic-context/stripped-command.d.ts +1 -1
  288. package/dist/hooks/magic-context/stripped-command.d.ts.map +1 -1
  289. package/dist/hooks/magic-context/system-injection-stripper.d.ts +7 -0
  290. package/dist/hooks/magic-context/system-injection-stripper.d.ts.map +1 -1
  291. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  292. package/dist/hooks/magic-context/tag-content-primitives.d.ts.map +1 -1
  293. package/dist/hooks/magic-context/tag-id-fallback.d.ts.map +1 -1
  294. package/dist/hooks/magic-context/tag-messages.d.ts +18 -1
  295. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  296. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  297. package/dist/hooks/magic-context/tokenizer-calibration.d.ts +1 -1
  298. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  299. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +1 -0
  300. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  301. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +38 -4
  302. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  303. package/dist/hooks/magic-context/transform.d.ts +12 -39
  304. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  305. package/dist/hooks/magic-context/unmanaged-over-window.d.ts +36 -0
  306. package/dist/hooks/magic-context/unmanaged-over-window.d.ts.map +1 -0
  307. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts +15 -0
  308. package/dist/hooks/magic-context/unresolved-history-boundary.d.ts.map +1 -0
  309. package/dist/hooks/magic-context/user-profile-render.d.ts +3 -0
  310. package/dist/hooks/magic-context/user-profile-render.d.ts.map +1 -0
  311. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  312. package/dist/{index-yhm60r53.js → index-16ny736w.js} +13622 -28584
  313. package/dist/{index-q5p1aqvv.js → index-2aq21j41.js} +1208 -429
  314. package/dist/{index-32b096cc.js → index-2ntg5sd4.js} +6 -2
  315. package/dist/index-4krbw8z9.js +6034 -0
  316. package/dist/{index-33q7s9y2.js → index-75zjgwga.js} +61 -85
  317. package/dist/{index-nf9sk8sh.js → index-8fgkmxmy.js} +28 -10
  318. package/dist/index-a4m2b1yv.js +530 -0
  319. package/dist/index-anq4nn6f.js +131 -0
  320. package/dist/index-avwt563y.js +62 -0
  321. package/dist/index-bmzf7zxv.js +445 -0
  322. package/dist/index-e44zzy84.js +10 -0
  323. package/dist/index-en1k8h8m.js +244 -0
  324. package/dist/{index-638hf49n.js → index-f85teqck.js} +15 -6
  325. package/dist/index-fr2z4qy8.js +7810 -0
  326. package/dist/{index-kwe03yde.js → index-fzbvakh0.js} +1 -1
  327. package/dist/{module-asyncify-2EFITU5U-rkqjhjxd.js → index-g20jdh0p.js} +114 -105
  328. package/dist/index-gd5qx1j9.js +398 -0
  329. package/dist/{index-3bygzk2d.js → index-hybnrwq0.js} +169 -4
  330. package/dist/{index-jqcbs2k1.js → index-mc22ayvf.js} +24 -5
  331. package/dist/{index-y5145x8k.js → index-n96ag4rk.js} +15 -1
  332. package/dist/index-q7yesyk9.js +9118 -0
  333. package/dist/index-remp7e2g.js +214 -0
  334. package/dist/{index-7k55qm8a.js → index-sfpzqvdz.js} +8 -8
  335. package/dist/{index-9y5p0d50.js → index-vvtfyw1z.js} +13 -76
  336. package/dist/index-w9jwmntv.js +202 -0
  337. package/dist/{index-kr5qehbd.js → index-x23gah8c.js} +1 -1
  338. package/dist/{index-jdxxq8cz.js → index-x8a7jmkh.js} +6 -1
  339. package/dist/{index-rdsaxnf2.js → index-xgt9k6c6.js} +23 -12
  340. package/dist/index-y8v6yerm.js +77 -0
  341. package/dist/index.d.ts.map +1 -1
  342. package/dist/index.js +7560 -8084
  343. package/dist/message-time-backfill-an311pmk.js +124 -0
  344. package/dist/migration-worker.js +53 -0
  345. package/dist/{model-resolution-dxatzjde.js → model-resolution-xhfmyyvy.js} +5 -1
  346. package/dist/module-ES6BEMUI-3cet1pyp.js +12 -0
  347. package/dist/module-asyncify-2EFITU5U-c2razzd9.js +6 -0
  348. package/dist/plugin/boot-deadline.d.ts.map +1 -1
  349. package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
  350. package/dist/plugin/dream-timer-module-client.d.ts +1 -11
  351. package/dist/plugin/dream-timer-module-client.d.ts.map +1 -1
  352. package/dist/plugin/dream-timer.d.ts.map +1 -1
  353. package/dist/plugin/hooks/create-session-hooks.d.ts +8 -0
  354. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  355. package/dist/plugin/messages-transform.d.ts +20 -13
  356. package/dist/plugin/messages-transform.d.ts.map +1 -1
  357. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  358. package/dist/plugin/stale-build-notice.d.ts +16 -0
  359. package/dist/plugin/stale-build-notice.d.ts.map +1 -0
  360. package/dist/read-session-chunk-8rxs0tc9.js +84 -0
  361. package/dist/recomp-orchestrator-nzamtw29.js +39 -0
  362. package/dist/{rpc-notifications-4amf6mf4.js → rpc-notifications-3hed126v.js} +3 -1
  363. package/dist/{safe-notification-target-50gm9c58.js → safe-notification-target-43r8jsxw.js} +3 -3
  364. package/dist/send-session-notification-nqpv7cne.js +28 -0
  365. package/dist/shared/assistant-message-extractor.d.ts +4 -0
  366. package/dist/shared/assistant-message-extractor.d.ts.map +1 -1
  367. package/dist/shared/background-batch-drain.d.ts +8 -0
  368. package/dist/shared/background-batch-drain.d.ts.map +1 -0
  369. package/dist/{features/builtin-commands/commands.d.ts → shared/builtin-commands.d.ts} +1 -1
  370. package/dist/shared/builtin-commands.d.ts.map +1 -0
  371. package/dist/shared/embedding-activity.d.ts +13 -0
  372. package/dist/shared/embedding-activity.d.ts.map +1 -0
  373. package/dist/shared/historian-tool-expansions.d.ts +5 -0
  374. package/dist/shared/historian-tool-expansions.d.ts.map +1 -0
  375. package/dist/shared/historian-tool-template.d.ts +5 -0
  376. package/dist/shared/historian-tool-template.d.ts.map +1 -0
  377. package/dist/shared/historian-transient-error.d.ts +2 -0
  378. package/dist/shared/historian-transient-error.d.ts.map +1 -0
  379. package/dist/shared/jsonc-edit.d.ts.map +1 -1
  380. package/dist/shared/logger.d.ts +7 -0
  381. package/dist/shared/logger.d.ts.map +1 -1
  382. package/dist/shared/model-suggestion-retry.d.ts +2 -1
  383. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  384. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  385. package/dist/shared/off-thread-migration-clock.d.ts +38 -0
  386. package/dist/shared/off-thread-migration-clock.d.ts.map +1 -0
  387. package/dist/shared/plugin-package-version.d.ts +14 -0
  388. package/dist/shared/plugin-package-version.d.ts.map +1 -0
  389. package/dist/shared/project-directory-key.d.ts +26 -0
  390. package/dist/shared/project-directory-key.d.ts.map +1 -0
  391. package/dist/shared/prompt-async-transport.d.ts +4 -0
  392. package/dist/shared/prompt-async-transport.d.ts.map +1 -1
  393. package/dist/shared/prompt-surface-runtime.d.ts +3 -3
  394. package/dist/shared/provider-response-completion.d.ts +12 -0
  395. package/dist/shared/provider-response-completion.d.ts.map +1 -0
  396. package/dist/shared/redaction.d.ts.map +1 -1
  397. package/dist/shared/rpc-client.d.ts +23 -2
  398. package/dist/shared/rpc-client.d.ts.map +1 -1
  399. package/dist/shared/rpc-types.d.ts +19 -0
  400. package/dist/shared/rpc-types.d.ts.map +1 -1
  401. package/dist/shared/rpc-utils.d.ts +41 -0
  402. package/dist/shared/rpc-utils.d.ts.map +1 -1
  403. package/dist/shared/sqlite.d.ts +13 -2
  404. package/dist/shared/sqlite.d.ts.map +1 -1
  405. package/dist/shared/stale-plugin-build.d.ts +21 -0
  406. package/dist/shared/stale-plugin-build.d.ts.map +1 -0
  407. package/dist/shared/status-summary.d.ts +29 -0
  408. package/dist/shared/status-summary.d.ts.map +1 -1
  409. package/dist/shared/status-view-check.d.ts +124 -0
  410. package/dist/shared/status-view-check.d.ts.map +1 -0
  411. package/dist/shared/status-view.d.ts +38 -2
  412. package/dist/shared/status-view.d.ts.map +1 -1
  413. package/dist/shared/tag-owner-id.d.ts +19 -0
  414. package/dist/shared/tag-owner-id.d.ts.map +1 -0
  415. package/dist/shared/tag-transcript.d.ts +2 -1
  416. package/dist/shared/tag-transcript.d.ts.map +1 -1
  417. package/dist/shared/test-temp-dir.d.ts +8 -2
  418. package/dist/shared/test-temp-dir.d.ts.map +1 -1
  419. package/dist/shared/transcript.d.ts +2 -0
  420. package/dist/shared/transcript.d.ts.map +1 -1
  421. package/dist/shared/user-answer.d.ts +4 -0
  422. package/dist/shared/user-answer.d.ts.map +1 -0
  423. package/dist/shared/user-facing-codes.d.ts +41 -6
  424. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  425. package/dist/shared/xml-unescape.d.ts +9 -0
  426. package/dist/shared/xml-unescape.d.ts.map +1 -0
  427. package/dist/task-config-v81k8jvk.js +17 -0
  428. package/dist/tools/ctx-expand/constants.d.ts +1 -1
  429. package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
  430. package/dist/tools/ctx-expand/mode.d.ts +4 -0
  431. package/dist/tools/ctx-expand/mode.d.ts.map +1 -1
  432. package/dist/tools/ctx-expand/render.d.ts +5 -1
  433. package/dist/tools/ctx-expand/render.d.ts.map +1 -1
  434. package/dist/tools/ctx-expand/tools.d.ts +2 -0
  435. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  436. package/dist/tools/ctx-expand/types.d.ts +1 -0
  437. package/dist/tools/ctx-expand/types.d.ts.map +1 -1
  438. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  439. package/dist/tools/ctx-note/render.d.ts +2 -0
  440. package/dist/tools/ctx-note/render.d.ts.map +1 -1
  441. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  442. package/dist/tools/ctx-reduce/constants.d.ts +1 -1
  443. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  444. package/dist/tools/ctx-search/constants.d.ts +1 -1
  445. package/dist/tools/ctx-search/constants.d.ts.map +1 -1
  446. package/dist/tools/light-descriptions.d.ts +3 -3
  447. package/dist/tools/light-descriptions.d.ts.map +1 -1
  448. package/dist/tools/parameter-descriptions.d.ts +14 -14
  449. package/dist/transform-postprocess-phase-414phndq.js +61 -0
  450. package/dist/tui/data/context-db.d.ts +34 -10
  451. package/dist/tui/data/context-db.d.ts.map +1 -1
  452. package/dist/tui/data/notification-socket.d.ts +6 -0
  453. package/dist/tui/data/notification-socket.d.ts.map +1 -1
  454. package/dist/tui/data/session-directory.d.ts +16 -0
  455. package/dist/tui/data/session-directory.d.ts.map +1 -0
  456. package/dist/tui-compiled/data/context-db.d.ts +34 -10
  457. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  458. package/dist/tui-compiled/data/notification-socket.d.ts +6 -0
  459. package/dist/tui-compiled/data/notification-socket.d.ts.map +1 -1
  460. package/dist/tui-compiled/data/session-directory.d.ts +16 -0
  461. package/dist/tui-compiled/data/session-directory.d.ts.map +1 -0
  462. package/dist/v2/derive-budgets-v0krf3t7.js +18 -0
  463. package/dist/v2/embedding-worker.js +47 -0
  464. package/dist/v2/emscripten-module-0g8f45e6.js +602 -0
  465. package/dist/v2/emscripten-module-0pekdjxz.js +1532 -0
  466. package/dist/v2/emscripten-module-e67xwsp3.js +503 -0
  467. package/dist/v2/emscripten-module-pj1vyb44.js +4559 -0
  468. package/dist/v2/ffi-3cx1cxpk.js +78 -0
  469. package/dist/v2/ffi-7bqqe4cd.js +91 -0
  470. package/dist/v2/ffi-7e6gryj5.js +91 -0
  471. package/dist/v2/ffi-bpvkebwr.js +78 -0
  472. package/dist/v2/fold/boundary.d.ts.map +1 -1
  473. package/dist/v2/fork-inheritance.d.ts +101 -0
  474. package/dist/v2/fork-inheritance.d.ts.map +1 -0
  475. package/dist/v2/hidden-child-cleanup.d.ts +11 -0
  476. package/dist/v2/hidden-child-cleanup.d.ts.map +1 -0
  477. package/dist/v2/hidden-child-native.d.ts +29 -0
  478. package/dist/v2/hidden-child-native.d.ts.map +1 -0
  479. package/dist/v2/hidden-child-record.d.ts +135 -0
  480. package/dist/v2/hidden-child-record.d.ts.map +1 -0
  481. package/dist/v2/hidden-completion.d.ts +12 -97
  482. package/dist/v2/hidden-completion.d.ts.map +1 -1
  483. package/dist/v2/hooks/context.d.ts +20 -8
  484. package/dist/v2/hooks/context.d.ts.map +1 -1
  485. package/dist/v2/hooks/dream-manual.d.ts.map +1 -1
  486. package/dist/v2/hooks/dream-trigger.d.ts +5 -0
  487. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  488. package/dist/v2/hooks/generate.d.ts +10 -0
  489. package/dist/v2/hooks/generate.d.ts.map +1 -0
  490. package/dist/v2/hooks/hidden-child.d.ts +33 -2
  491. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  492. package/dist/v2/hooks/payload.d.ts +3 -0
  493. package/dist/v2/hooks/payload.d.ts.map +1 -1
  494. package/dist/v2/hooks/session-api-gate.d.ts +4 -0
  495. package/dist/v2/hooks/session-api-gate.d.ts.map +1 -0
  496. package/dist/v2/hooks/storage-gate.d.ts +3 -1
  497. package/dist/v2/hooks/storage-gate.d.ts.map +1 -1
  498. package/dist/v2/hooks/store.d.ts +1 -1
  499. package/dist/v2/hooks/store.d.ts.map +1 -1
  500. package/dist/v2/hooks/tools.d.ts.map +1 -1
  501. package/dist/v2/hooks/types.d.ts +10 -0
  502. package/dist/v2/hooks/types.d.ts.map +1 -1
  503. package/dist/v2/hooks/update-check.d.ts.map +1 -1
  504. package/dist/v2/hooks/usage-persist.d.ts.map +1 -1
  505. package/dist/v2/hooks/usage-reading.d.ts +4 -0
  506. package/dist/v2/hooks/usage-reading.d.ts.map +1 -1
  507. package/dist/v2/index-6e4mwffh.js +5662 -0
  508. package/dist/v2/index-en1k8h8m.js +244 -0
  509. package/dist/{message-time-backfill-q374fxc5.js → v2/message-time-backfill-0n93vrd7.js} +19 -5
  510. package/dist/v2/migration-worker.js +52 -0
  511. package/dist/v2/model-resolution-xhfmyyvy.js +16 -0
  512. package/dist/v2/module-ES6BEMUI-3cet1pyp.js +12 -0
  513. package/dist/v2/module-asyncify-2EFITU5U-c2razzd9.js +6 -0
  514. package/dist/v2/prompt-context-5y5ms8f9.js +6 -0
  515. package/dist/{read-session-chunk-n072mcq4.js → v2/read-session-chunk-hjza38hr.js} +24 -7
  516. package/dist/v2/recomp-orchestrator-1aq7h44c.js +36 -0
  517. package/dist/v2/retrospective-raw-provider.d.ts +21 -0
  518. package/dist/v2/retrospective-raw-provider.d.ts.map +1 -0
  519. package/dist/v2/rpc-notifications-3hed126v.js +16 -0
  520. package/dist/v2/safe-notification-target-wtj0bbc2.js +9 -0
  521. package/dist/{send-session-notification-04hvd54c.js → v2/send-session-notification-mq9frrtm.js} +10 -5
  522. package/dist/v2/server-0jqw05sa.js +803 -0
  523. package/dist/v2/server-5317ykaf.js +40 -0
  524. package/dist/v2/server-a4m2b1yv.js +530 -0
  525. package/dist/v2/server-avwt563y.js +62 -0
  526. package/dist/v2/server-c4g2y1z8.js +28824 -0
  527. package/dist/v2/server-ckpc8pxy.js +662 -0
  528. package/dist/v2/server-e36nf2p1.js +7702 -0
  529. package/dist/v2/server-e44zzy84.js +10 -0
  530. package/dist/v2/server-fgmxwrgy.js +16 -0
  531. package/dist/v2/server-fmsr7v69.js +75 -0
  532. package/dist/v2/server-g20jdh0p.js +1273 -0
  533. package/dist/{index-dgg5y7er.js → v2/server-hfjfbg59.js} +849 -747
  534. package/dist/v2/server-n96ag4rk.js +633 -0
  535. package/dist/v2/server-qdjnb2z1.js +181 -0
  536. package/dist/v2/server-qpg6wf72.js +187 -0
  537. package/dist/v2/server-r7cmye3k.js +131 -0
  538. package/dist/v2/server-remp7e2g.js +214 -0
  539. package/dist/v2/server-rhdgxp1t.js +398 -0
  540. package/dist/v2/server-sfpzqvdz.js +137 -0
  541. package/dist/v2/server-syahy8j8.js +50 -0
  542. package/dist/v2/server-v5xgft5v.js +9116 -0
  543. package/dist/v2/server-w99cyt6a.js +361 -0
  544. package/dist/v2/server-x8a7jmkh.js +104 -0
  545. package/dist/v2/server-y8v6yerm.js +77 -0
  546. package/dist/v2/server-z19x7eqz.js +423 -0
  547. package/dist/v2/server.d.ts.map +1 -1
  548. package/dist/v2/server.js +8868 -107184
  549. package/dist/v2/store-reader.d.ts +52 -1
  550. package/dist/v2/store-reader.d.ts.map +1 -1
  551. package/dist/v2/task-config-tbndqyny.js +17 -0
  552. package/dist/v2/transformers-node-wasm.js +26768 -0
  553. package/dist/v2/transformers-web.js +25670 -0
  554. package/dist/v2/transformers.node-hj754h7s.js +29997 -0
  555. package/dist/v2/tui/index.d.ts +10 -1
  556. package/dist/v2/tui/index.d.ts.map +1 -1
  557. package/dist/v2/tui/sidebar-mount.d.ts +6 -0
  558. package/dist/v2/tui/sidebar-mount.d.ts.map +1 -1
  559. package/dist/v2/tui/status-dialog-mount.d.ts +7 -4
  560. package/dist/v2/tui/status-dialog-mount.d.ts.map +1 -1
  561. package/dist/v2/tui/types.d.ts +12 -0
  562. package/dist/v2/tui/types.d.ts.map +1 -1
  563. package/dist/v2/wrapup-orchestrator-tbyx78dz.js +425 -0
  564. package/dist/wrapup-orchestrator-h28bqsy6.js +26 -0
  565. package/package.json +8 -8
  566. package/src/agents/hidden-agent-registrations.ts +24 -16
  567. package/src/agents/magic-context-prompt.test.ts +41 -0
  568. package/src/agents/magic-context-prompt.ts +8 -5
  569. package/src/agents/permissions.test.ts +31 -49
  570. package/src/agents/permissions.ts +8 -28
  571. package/src/config/index.test.ts +60 -20
  572. package/src/config/index.ts +53 -1
  573. package/src/config/live-run-config.test.ts +5 -5
  574. package/src/config/live-snapshot.test.ts +4 -4
  575. package/src/config/migrate-config-location.test.ts +3 -10
  576. package/src/config/project-config-trust-boundary.test.ts +207 -0
  577. package/src/config/project-security.hostile-matrix.test.ts +4 -4
  578. package/src/config/project-security.ts +218 -1
  579. package/src/config/protected-tokens.test.ts +14 -9
  580. package/src/config/raw-loader.test.ts +31 -3
  581. package/src/config/raw-loader.ts +8 -3
  582. package/src/config/schema/magic-context.ts +20 -3
  583. package/src/config/variable.test.ts +3 -2
  584. package/src/features/magic-context/dreamer/cron.ts +30 -9
  585. package/src/features/magic-context/dreamer/task-registry.ts +7 -5
  586. package/src/shared/announcement.test.ts +2 -1
  587. package/src/shared/assistant-message-extractor.test.ts +27 -1
  588. package/src/shared/assistant-message-extractor.ts +27 -0
  589. package/src/shared/background-batch-drain.test.ts +38 -0
  590. package/src/shared/background-batch-drain.ts +29 -0
  591. package/src/shared/builtin-commands.ts +50 -0
  592. package/src/shared/console-diagnostics-fence.test.ts +145 -0
  593. package/src/shared/data-path.test.ts +6 -5
  594. package/src/shared/embedding-activity.test.ts +21 -0
  595. package/src/shared/embedding-activity.ts +36 -0
  596. package/src/shared/historian-tool-defaults.json +13 -0
  597. package/src/shared/historian-tool-expansions.ts +18 -0
  598. package/src/shared/historian-tool-template.ts +248 -0
  599. package/src/shared/historian-transient-error.test.ts +36 -0
  600. package/src/shared/historian-transient-error.ts +22 -0
  601. package/src/shared/jsonc-edit.ts +20 -1
  602. package/src/shared/logger.test.ts +3 -2
  603. package/src/shared/logger.ts +40 -1
  604. package/src/shared/model-suggestion-retry.test.ts +46 -0
  605. package/src/shared/model-suggestion-retry.ts +16 -1
  606. package/src/shared/models-dev-cache.test.ts +74 -2
  607. package/src/shared/models-dev-cache.ts +5 -1
  608. package/src/shared/off-thread-migration-clock.test.ts +55 -0
  609. package/src/shared/off-thread-migration-clock.ts +124 -0
  610. package/src/shared/opencode-db-path.test.ts +3 -2
  611. package/src/shared/plugin-package-version.ts +52 -0
  612. package/src/shared/project-directory-key.test.ts +111 -0
  613. package/src/shared/project-directory-key.ts +54 -0
  614. package/src/shared/prompt-async-transport.test.ts +249 -72
  615. package/src/shared/prompt-async-transport.ts +131 -24
  616. package/src/shared/prompt-surface-a1-golden.md +41 -25
  617. package/src/shared/prompt-surface-runtime.test.ts +3 -3
  618. package/src/shared/provider-response-completion.ts +23 -0
  619. package/src/shared/redaction.test.ts +51 -1
  620. package/src/shared/redaction.ts +33 -0
  621. package/src/shared/rpc-async-probes.test.ts +32 -2
  622. package/src/shared/rpc-client.test.ts +3 -2
  623. package/src/shared/rpc-client.ts +76 -18
  624. package/src/shared/rpc-types.ts +15 -0
  625. package/src/shared/rpc-utils.test.ts +191 -12
  626. package/src/shared/rpc-utils.ts +184 -26
  627. package/src/shared/sqlite-acquisition-routing.test.ts +46 -3
  628. package/src/shared/sqlite-pass-scope.test.ts +3 -2
  629. package/src/shared/sqlite-transaction-mode-guard.test.ts +4 -0
  630. package/src/shared/sqlite-writer-diagnostics.test.ts +134 -0
  631. package/src/shared/sqlite.ts +225 -41
  632. package/src/shared/stale-plugin-build.test.ts +129 -0
  633. package/src/shared/stale-plugin-build.ts +151 -0
  634. package/src/shared/status-summary.ts +40 -13
  635. package/src/shared/status-view-check.test.ts +253 -0
  636. package/src/shared/status-view-check.ts +536 -0
  637. package/src/shared/status-view.test.ts +6 -1
  638. package/src/shared/status-view.ts +176 -4
  639. package/src/shared/storage-busy.test.ts +3 -2
  640. package/src/shared/tag-owner-id.test.ts +33 -0
  641. package/src/shared/tag-owner-id.ts +29 -0
  642. package/src/shared/tag-transcript.ts +17 -3
  643. package/src/shared/test-temp-dir-policy.test.ts +33 -0
  644. package/src/shared/test-temp-dir.test.ts +27 -0
  645. package/src/shared/test-temp-dir.ts +36 -12
  646. package/src/shared/transcript.ts +3 -0
  647. package/src/shared/tui-config.test.ts +6 -5
  648. package/src/shared/tui-preferences.test.ts +3 -2
  649. package/src/shared/user-answer.test.ts +40 -0
  650. package/src/shared/user-answer.ts +17 -0
  651. package/src/shared/user-facing-codes.ts +52 -6
  652. package/src/shared/window-geometry.test.ts +3 -2
  653. package/src/shared/write-transaction-attribution.test.ts +11 -7
  654. package/src/shared/write-transaction-hold-clock.test.ts +160 -0
  655. package/src/shared/xml-unescape.ts +19 -0
  656. package/src/tui/data/context-db.test.ts +92 -4
  657. package/src/tui/data/context-db.ts +184 -18
  658. package/src/tui/data/notification-socket.test.ts +49 -2
  659. package/src/tui/data/notification-socket.ts +47 -9
  660. package/src/tui/data/session-directory.ts +19 -0
  661. package/src/tui/dialogs/status-dialog-render.test.ts +284 -0
  662. package/src/tui/dialogs/status-dialog.tsx +41 -38
  663. package/src/tui/index.tsx +30 -18
  664. package/src/tui/slots/sidebar-content.tsx +9 -2
  665. package/src/tui-compiled/data/context-db.ts +184 -18
  666. package/src/tui-compiled/data/notification-socket.ts +47 -9
  667. package/src/tui-compiled/data/session-directory.ts +19 -0
  668. package/src/tui-compiled/dialogs/status-dialog.tsx +38 -29
  669. package/src/tui-compiled/index.tsx +29 -16
  670. package/src/tui-compiled/slots/sidebar-content.tsx +3 -2
  671. package/src/v2/tui/host-contract.test.ts +9 -10
  672. package/src/v2/tui/index.ts +78 -23
  673. package/src/v2/tui/load-compiled-sidebar.d.mts +5 -1
  674. package/src/v2/tui/load-compiled-status-dialog.d.mts +3 -2
  675. package/src/v2/tui/session-directory.test.ts +53 -0
  676. package/src/v2/tui/sidebar-mount.ts +19 -1
  677. package/src/v2/tui/status-dialog-mount.ts +10 -7
  678. package/src/v2/tui/types.ts +10 -0
  679. package/dist/features/builtin-commands/commands.d.ts.map +0 -1
  680. package/dist/features/builtin-commands/types.d.ts +0 -3
  681. package/dist/features/builtin-commands/types.d.ts.map +0 -1
  682. package/dist/features/magic-context/context-authority.d.ts +0 -272
  683. package/dist/features/magic-context/context-authority.d.ts.map +0 -1
  684. package/dist/features/magic-context/memory/mirror-reembed.d.ts +0 -22
  685. package/dist/features/magic-context/memory/mirror-reembed.d.ts.map +0 -1
  686. package/dist/hooks/magic-context/historian-state-file.d.ts +0 -43
  687. package/dist/hooks/magic-context/historian-state-file.d.ts.map +0 -1
  688. package/dist/index-4an2p8qa.js +0 -1056
  689. package/dist/index-rn7gafjr.js +0 -8
  690. package/dist/index-v6t0tg85.js +0 -13
  691. package/dist/plugin/memory-id-translation.d.ts +0 -109
  692. package/dist/plugin/memory-id-translation.d.ts.map +0 -1
  693. package/dist/plugin/rust-note-backend.d.ts +0 -84
  694. package/dist/plugin/rust-note-backend.d.ts.map +0 -1
  695. package/dist/recomp-orchestrator-19tr6zya.js +0 -22
  696. package/dist/task-config-2bm68628.js +0 -9
  697. package/dist/transform-postprocess-phase-z2mfc5w1.js +0 -36
  698. package/dist/v2/host-service.d.ts +0 -66
  699. package/dist/v2/host-service.d.ts.map +0 -1
  700. package/dist/wrapup-orchestrator-sy4m56a7.js +0 -19
  701. /package/dist/{index-s70wtd8k.js → index-q6hef7fh.js} +0 -0
@@ -0,0 +1,398 @@
1
+ import {
2
+ log
3
+ } from "./index-hybnrwq0.js";
4
+
5
+ // src/shared/internal-initiator-marker.ts
6
+ var OMO_INTERNAL_INITIATOR_MARKER = "<!-- OMO_INTERNAL_INITIATOR -->";
7
+
8
+ // src/shared/system-directive.ts
9
+ var SYSTEM_DIRECTIVE_PREFIX = "[SYSTEM DIRECTIVE: MAGIC-CONTEXT";
10
+ function isSystemDirective(text) {
11
+ return text.trimStart().startsWith(SYSTEM_DIRECTIVE_PREFIX);
12
+ }
13
+ function removeSystemReminders(text) {
14
+ return text.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/gi, "").trim();
15
+ }
16
+
17
+ // src/hooks/magic-context/read-session-formatting.ts
18
+ import { existsSync, readFileSync, realpathSync, statSync } from "node:fs";
19
+ import { createRequire } from "node:module";
20
+ import { homedir } from "node:os";
21
+ import { dirname, join, resolve } from "node:path";
22
+ import { pathToFileURL } from "node:url";
23
+
24
+ // src/shared/commit-detection.ts
25
+ var HASH_HEX = "[0-9a-f]{7,12}";
26
+ var COMMIT_HASH_TEST_PATTERN = new RegExp(`\\b${HASH_HEX}\\b`, "i");
27
+ var COMMIT_VERB_PATTERN = /\b(?:commit(?:ted|ting|s)?|cherry-?pick(?:ed|ing|s)?|merge[ds]?|merging|rebas(?:e|ed|es|ing))\b/i;
28
+ function textMentionsRecentCommit(text) {
29
+ return COMMIT_HASH_TEST_PATTERN.test(text) && COMMIT_VERB_PATTERN.test(text);
30
+ }
31
+ function createCommitHashExtractPattern() {
32
+ return new RegExp(`\`?\\b(${HASH_HEX})\\b\`?`, "gi");
33
+ }
34
+
35
+ // src/hooks/magic-context/read-session-formatting.ts
36
+ var MAX_COMMITS_PER_BLOCK = 5;
37
+ function hasMeaningfulUserText2(parts) {
38
+ for (const part of parts) {
39
+ if (part === null || typeof part !== "object")
40
+ continue;
41
+ const candidate = part;
42
+ if (candidate.type !== "text" || typeof candidate.text !== "string")
43
+ continue;
44
+ if (candidate.ignored === true)
45
+ continue;
46
+ const cleaned = removeSystemReminders(candidate.text).replace(OMO_INTERNAL_INITIATOR_MARKER, "").trim();
47
+ if (!cleaned)
48
+ continue;
49
+ if (isSystemDirective(cleaned))
50
+ continue;
51
+ return true;
52
+ }
53
+ return false;
54
+ }
55
+ function extractTexts2(parts) {
56
+ const texts = [];
57
+ for (const part of parts) {
58
+ if (part === null || typeof part !== "object")
59
+ continue;
60
+ const p = part;
61
+ if (p.type === "text" && typeof p.text === "string" && p.text.trim().length > 0) {
62
+ texts.push(p.text.trim());
63
+ }
64
+ }
65
+ return texts;
66
+ }
67
+ function extractToolResultBodyTokens(parts) {
68
+ let tokens = 0;
69
+ for (const part of parts) {
70
+ if (part === null || typeof part !== "object")
71
+ continue;
72
+ const p = part;
73
+ if (p.type !== "tool")
74
+ continue;
75
+ const state = p.state;
76
+ if (!state || typeof state !== "object")
77
+ continue;
78
+ const body = state.output ?? state.error;
79
+ if (body === undefined)
80
+ continue;
81
+ const text = typeof body === "string" ? body : JSON.stringify(body);
82
+ tokens += Math.ceil(text.length / 4);
83
+ }
84
+ return tokens;
85
+ }
86
+ function extractToolCallSummaries(parts) {
87
+ const summaries = [];
88
+ for (const part of parts) {
89
+ if (part === null || typeof part !== "object")
90
+ continue;
91
+ const p = part;
92
+ if (p.type !== "tool" || typeof p.tool !== "string")
93
+ continue;
94
+ const state = p.state;
95
+ if (!state || typeof state !== "object")
96
+ continue;
97
+ const input = state.input;
98
+ const metadata = state.metadata;
99
+ const description = input && typeof input.description === "string" && input.description || metadata && typeof metadata.description === "string" && metadata.description;
100
+ if (description) {
101
+ summaries.push(`TC: ${description}`);
102
+ continue;
103
+ }
104
+ const toolName = p.tool;
105
+ const keyArg = extractKeyArg(toolName, input);
106
+ summaries.push(keyArg ? `TC: ${toolName}(${keyArg})` : `TC: ${toolName}`);
107
+ }
108
+ return summaries;
109
+ }
110
+ function extractKeyArg(_toolName, input) {
111
+ if (!input)
112
+ return null;
113
+ if (typeof input.filePath === "string")
114
+ return truncateArg(input.filePath);
115
+ if (typeof input.path === "string")
116
+ return truncateArg(input.path);
117
+ if (typeof input.pattern === "string")
118
+ return truncateArg(input.pattern);
119
+ if (typeof input.query === "string")
120
+ return truncateArg(input.query);
121
+ if (typeof input.symbol === "string")
122
+ return input.symbol;
123
+ if (typeof input.module === "string")
124
+ return input.module;
125
+ if (typeof input.action === "string")
126
+ return input.action;
127
+ return null;
128
+ }
129
+ function truncateArg(value, maxLen = 60) {
130
+ if (value.length <= maxLen)
131
+ return value;
132
+ return `${value.slice(0, maxLen)}…`;
133
+ }
134
+ var TOKENIZER_PACKAGE_DIRS = [
135
+ ["@cortexkit", "opencode-magic-context"],
136
+ ["@cortexkit", "pi-magic-context"]
137
+ ];
138
+ var tokenizer;
139
+ var tokenizerLoadAttempted = false;
140
+ var tokenizerLoadPromise;
141
+ var tokenizerWarningSent = false;
142
+ var tokenizerEncodingPath;
143
+ var tokenizerSerializedTableBytes;
144
+ function tokenizerPackageRoots() {
145
+ const cwd = process.cwd();
146
+ const openCodeCache = join(process.env.XDG_CACHE_HOME ?? join(homedir(), ".cache"), "opencode");
147
+ const roots = [cwd, openCodeCache];
148
+ const candidates = [];
149
+ for (const root of roots) {
150
+ for (const packageDir of TOKENIZER_PACKAGE_DIRS) {
151
+ candidates.push(join(root, "node_modules", ...packageDir, "node_modules", "ai-tokenizer"));
152
+ }
153
+ candidates.push(join(root, "node_modules", "ai-tokenizer"));
154
+ }
155
+ let ancestor = process.argv[1] ? dirname(resolve(process.argv[1])) : cwd;
156
+ while (true) {
157
+ candidates.push(join(ancestor, "node_modules", "ai-tokenizer"));
158
+ const parent = dirname(ancestor);
159
+ if (parent === ancestor)
160
+ break;
161
+ ancestor = parent;
162
+ }
163
+ return [...new Set(candidates)];
164
+ }
165
+ function packageImportTarget(value) {
166
+ if (typeof value === "string")
167
+ return value;
168
+ if (!value || typeof value !== "object")
169
+ return;
170
+ const conditions = value;
171
+ return packageImportTarget(conditions.import) ?? packageImportTarget(conditions.default);
172
+ }
173
+ function findTokenizerImportPaths() {
174
+ for (const packageRoot of tokenizerPackageRoots()) {
175
+ const packageJsonPath = join(packageRoot, "package.json");
176
+ if (!existsSync(packageJsonPath))
177
+ continue;
178
+ try {
179
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"));
180
+ const tokenizerTarget = packageImportTarget(packageJson.exports?.["."]) ?? (typeof packageJson.module === "string" ? packageJson.module : undefined) ?? (typeof packageJson.main === "string" ? packageJson.main : undefined);
181
+ const encodingTarget = packageImportTarget(packageJson.exports?.["./encoding/claude"]);
182
+ if (!tokenizerTarget || !encodingTarget)
183
+ continue;
184
+ return {
185
+ tokenizerPath: realpathSync(join(packageRoot, tokenizerTarget)),
186
+ encodingPath: realpathSync(join(packageRoot, encodingTarget))
187
+ };
188
+ } catch {}
189
+ }
190
+ return;
191
+ }
192
+ function constructTokenizer(tokenizerModule, claudeEncoding) {
193
+ const typedModule = tokenizerModule;
194
+ const Tokenizer = typedModule.default ?? typedModule.Tokenizer;
195
+ if (!Tokenizer) {
196
+ throw new Error("ai-tokenizer does not expose a Tokenizer constructor");
197
+ }
198
+ return new Tokenizer(claudeEncoding);
199
+ }
200
+ function loadTokenizer() {
201
+ const requireFromThisModule = createRequire(import.meta.url);
202
+ const encodingSpecifier = "ai-tokenizer/encoding/" + "claude";
203
+ tokenizerEncodingPath = requireFromThisModule.resolve(encodingSpecifier);
204
+ tokenizerSerializedTableBytes = undefined;
205
+ return constructTokenizer(requireFromThisModule("ai-" + "tokenizer"), requireFromThisModule(encodingSpecifier));
206
+ }
207
+ async function loadTokenizerFromInstalledPackage() {
208
+ const installedPaths = findTokenizerImportPaths();
209
+ if (!installedPaths) {
210
+ throw new Error("ai-tokenizer was not found under the project, runtime, or OpenCode cache node_modules roots");
211
+ }
212
+ const [tokenizerModule, claudeEncoding] = await Promise.all([
213
+ import(pathToFileURL(installedPaths.tokenizerPath).href),
214
+ import(pathToFileURL(installedPaths.encodingPath).href)
215
+ ]);
216
+ tokenizerEncodingPath = installedPaths.encodingPath;
217
+ tokenizerSerializedTableBytes = undefined;
218
+ return constructTokenizer(tokenizerModule, claudeEncoding);
219
+ }
220
+ function serializedTokenizerTableBytes(entryPath) {
221
+ const root = dirname(entryPath);
222
+ const pending = [entryPath];
223
+ const visited = new Set;
224
+ let total = 0;
225
+ try {
226
+ while (pending.length > 0) {
227
+ const nextPath = pending.pop();
228
+ if (!nextPath)
229
+ break;
230
+ const path = realpathSync(nextPath);
231
+ if (visited.has(path))
232
+ continue;
233
+ visited.add(path);
234
+ total += statSync(path).size;
235
+ const source = readFileSync(path, "utf8");
236
+ const localImports = source.matchAll(/(?:require\(|\bfrom\s+|\bimport\()\s*["'](\.\.?\/[^"']+)["']/g);
237
+ for (const match of localImports) {
238
+ const specifier = match[1];
239
+ if (!specifier)
240
+ continue;
241
+ const dependency = resolve(dirname(path), specifier);
242
+ if (dependency.startsWith(root))
243
+ pending.push(dependency);
244
+ }
245
+ }
246
+ return total;
247
+ } catch {
248
+ return null;
249
+ }
250
+ }
251
+ function getTokenizerNativeMemoryStats() {
252
+ if (tokenizerSerializedTableBytes === undefined) {
253
+ tokenizerSerializedTableBytes = tokenizerEncodingPath ? serializedTokenizerTableBytes(tokenizerEncodingPath) : null;
254
+ }
255
+ return {
256
+ loaded: tokenizer !== undefined,
257
+ loadAttempted: tokenizerLoadAttempted || tokenizerLoadPromise !== undefined,
258
+ tableBytes: tokenizerSerializedTableBytes,
259
+ tablePath: tokenizerEncodingPath ?? null
260
+ };
261
+ }
262
+ function warnTokenizerFallback(error) {
263
+ if (tokenizerWarningSent)
264
+ return;
265
+ tokenizerWarningSent = true;
266
+ const reason = error instanceof Error ? error.message : String(error);
267
+ log("[magic-context] ai-tokenizer is unavailable; using approximate character-based token counts for this process. Token budgets, persisted per-message counts, and protected-tail/compartment boundaries may be less accurate until restart:", reason);
268
+ }
269
+ async function preloadTokenizer() {
270
+ if (tokenizer)
271
+ return true;
272
+ if (tokenizerLoadAttempted)
273
+ return false;
274
+ if (tokenizerLoadPromise)
275
+ return tokenizerLoadPromise;
276
+ tokenizerLoadPromise = (async () => {
277
+ try {
278
+ try {
279
+ tokenizer = loadTokenizer();
280
+ } catch {
281
+ tokenizer = await loadTokenizerFromInstalledPackage();
282
+ }
283
+ tokenizerLoadAttempted = true;
284
+ return true;
285
+ } catch (error) {
286
+ tokenizerLoadAttempted = true;
287
+ warnTokenizerFallback(error);
288
+ return false;
289
+ } finally {
290
+ tokenizerLoadPromise = undefined;
291
+ }
292
+ })();
293
+ return tokenizerLoadPromise;
294
+ }
295
+ function getTokenizer() {
296
+ if (tokenizer || tokenizerLoadAttempted)
297
+ return tokenizer;
298
+ tokenizerLoadAttempted = true;
299
+ try {
300
+ tokenizer = loadTokenizer();
301
+ } catch (error) {
302
+ warnTokenizerFallback(error);
303
+ }
304
+ return tokenizer;
305
+ }
306
+ function estimateTokensHeuristically(text) {
307
+ return Math.ceil(text.length / 3.5);
308
+ }
309
+ var TOKEN_ESTIMATOR_SAMPLE = 'Coverage check: const windows = chunk(text, 0x1f, 512); // ok? "naïve" café 日本語 <EOT> 3.14159 -> done.';
310
+ var estimatorFingerprintTokenizer;
311
+ var estimatorFingerprint = "";
312
+ function getTokenEstimatorFingerprint() {
313
+ const activeTokenizer = getTokenizer();
314
+ if (!activeTokenizer) {
315
+ return `heuristic:${estimateTokensHeuristically(TOKEN_ESTIMATOR_SAMPLE)}`;
316
+ }
317
+ if (estimatorFingerprintTokenizer === activeTokenizer)
318
+ return estimatorFingerprint;
319
+ let fingerprint;
320
+ try {
321
+ fingerprint = `tokenizer:${activeTokenizer.encode(TOKEN_ESTIMATOR_SAMPLE, "all").length}`;
322
+ } catch {
323
+ fingerprint = "tokenizer:sample-unencodable";
324
+ }
325
+ estimatorFingerprintTokenizer = activeTokenizer;
326
+ estimatorFingerprint = fingerprint;
327
+ return fingerprint;
328
+ }
329
+ function estimateTokens(text) {
330
+ if (!text)
331
+ return 0;
332
+ const activeTokenizer = getTokenizer();
333
+ if (!activeTokenizer)
334
+ return estimateTokensHeuristically(text);
335
+ try {
336
+ return activeTokenizer.encode(text, "all").length;
337
+ } catch (error) {
338
+ tokenizer = undefined;
339
+ tokenizerLoadAttempted = true;
340
+ warnTokenizerFallback(error);
341
+ return estimateTokensHeuristically(text);
342
+ }
343
+ }
344
+ function normalizeText(text) {
345
+ return text.replace(/\s+/g, " ").trim();
346
+ }
347
+ function compactRole(role) {
348
+ if (role === "assistant")
349
+ return "A";
350
+ if (role === "user")
351
+ return "U";
352
+ return role.slice(0, 1).toUpperCase() || "M";
353
+ }
354
+ function formatBlock(block) {
355
+ const range = block.startOrdinal === block.endOrdinal ? `[${block.startOrdinal}]` : `[${block.startOrdinal}-${block.endOrdinal}]`;
356
+ const commitSuffix = block.commitHashes.length > 0 ? ` commits: ${block.commitHashes.join(", ")}` : "";
357
+ return `${range} ${block.role}:${commitSuffix} ${block.parts.join(" / ")}`;
358
+ }
359
+ function extractCommitHashes(text) {
360
+ const hashes = [];
361
+ const seen = new Set;
362
+ for (const match of text.matchAll(createCommitHashExtractPattern())) {
363
+ const hash = match[1]?.toLowerCase();
364
+ if (!hash || seen.has(hash))
365
+ continue;
366
+ seen.add(hash);
367
+ hashes.push(hash);
368
+ if (hashes.length >= MAX_COMMITS_PER_BLOCK)
369
+ break;
370
+ }
371
+ return hashes;
372
+ }
373
+ function compactTextForSummary(text, role) {
374
+ const commitHashes = role === "assistant" ? extractCommitHashes(text) : [];
375
+ if (commitHashes.length === 0 || !COMMIT_VERB_PATTERN.test(text)) {
376
+ return { text, commitHashes };
377
+ }
378
+ const withoutHashes = text.replace(createCommitHashExtractPattern(), "").replace(/\(\s*\)/g, "").replace(/\s+,/g, ",").replace(/,\s*,+/g, ", ").replace(/\s{2,}/g, " ").replace(/\s+([,.;:])/g, "$1").trim();
379
+ return {
380
+ text: withoutHashes.length > 0 ? withoutHashes : text,
381
+ commitHashes
382
+ };
383
+ }
384
+ function mergeCommitHashes(existing, next) {
385
+ if (next.length === 0)
386
+ return existing;
387
+ const merged = [...existing];
388
+ for (const hash of next) {
389
+ if (merged.includes(hash))
390
+ continue;
391
+ merged.push(hash);
392
+ if (merged.length >= MAX_COMMITS_PER_BLOCK)
393
+ break;
394
+ }
395
+ return merged;
396
+ }
397
+
398
+ export { textMentionsRecentCommit, OMO_INTERNAL_INITIATOR_MARKER, isSystemDirective, removeSystemReminders, hasMeaningfulUserText2, extractTexts2, extractToolResultBodyTokens, extractToolCallSummaries, getTokenizerNativeMemoryStats, preloadTokenizer, getTokenEstimatorFingerprint, estimateTokens, normalizeText, compactRole, formatBlock, compactTextForSummary, mergeCommitHashes };
@@ -1,6 +1,11 @@
1
1
  import {
2
+ getHarness,
2
3
  getMagicContextLogPath
3
- } from "./index-s70wtd8k.js";
4
+ } from "./index-q6hef7fh.js";
5
+
6
+ // src/shared/stale-plugin-build.ts
7
+ import { posix } from "node:path";
8
+ import { fileURLToPath } from "node:url";
4
9
 
5
10
  // src/shared/logger.ts
6
11
  import * as fs from "node:fs";
@@ -53,8 +58,10 @@ var SECRET_QUALIFIERS = new Set([
53
58
  "github",
54
59
  "huggingface",
55
60
  "aws",
56
- "azure"
61
+ "azure",
62
+ "id"
57
63
  ]);
64
+ var UNQUALIFIED_SECRET_SEGMENT_PATTERN = /^(?:password|secret|credential|bearer|authorization)s?$/;
58
65
  function isSecretKey(key) {
59
66
  const segments = key.replace(/([a-z0-9])([A-Z])/g, "$1_$2").toLowerCase().split(/[._-]+/).filter(Boolean);
60
67
  if (segments.length === 0)
@@ -81,6 +88,8 @@ function isSecretKey(key) {
81
88
  }
82
89
  if (!trailingOk)
83
90
  continue;
91
+ if (UNQUALIFIED_SECRET_SEGMENT_PATTERN.test(seg))
92
+ return true;
84
93
  for (let k = i - 1;k >= 0; k--) {
85
94
  const lead = segments[k];
86
95
  if (lead && SECRET_QUALIFIERS.has(lead))
@@ -141,6 +150,18 @@ var SECRET_TEXT_PATTERNS = [
141
150
  pattern: /\b(Authorization\s*:\s*Bearer\s+)([A-Za-z0-9._~+/=-]{8,})/gi,
142
151
  replacement: (_full, prefix) => `${prefix}<REDACTED:bearer>`
143
152
  },
153
+ {
154
+ pattern: /\b((?:Proxy-)?Authorization\s*:\s*(?:Basic|Digest|Token|Negotiate|NTLM)\s+)([A-Za-z0-9._~+/=-]{4,})/gi,
155
+ replacement: (_full, prefix) => `${prefix}<REDACTED:authorization>`
156
+ },
157
+ {
158
+ pattern: /\b((?:x-)?(?:api-?key|api-?token|auth-?token|access-?token)\s*:\s*)([^\s'"`,;<>]{6,})/gi,
159
+ replacement: (full, prefix, value) => isNonSecretScalarValue(value) ? full : `${prefix}<REDACTED:api_key>`
160
+ },
161
+ {
162
+ pattern: /\b([a-z][a-z0-9+.-]*:\/\/[^\s/:@]+:)([^\s/@]+)(@)/gi,
163
+ replacement: (_full, prefix, _password, at) => `${prefix}<REDACTED:password>${at}`
164
+ },
144
165
  {
145
166
  pattern: /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g,
146
167
  replacement: "<JWT_REDACTED>"
@@ -349,15 +370,45 @@ function scheduleFlush() {
349
370
  flush();
350
371
  }, FLUSH_INTERVAL_MS);
351
372
  }
352
- function log(message, data) {
373
+ var lineForwarder = null;
374
+ function setLogLineForwarder(forward) {
375
+ lineForwarder = forward;
376
+ }
377
+ function writeForwardedLogLine(line) {
353
378
  if (isTestEnv)
354
379
  return;
355
380
  try {
381
+ buffer.push(line);
382
+ bufferedBytes += Buffer.byteLength(line);
383
+ boundBuffer();
384
+ if (buffer.length >= BUFFER_SIZE_LIMIT)
385
+ flush();
386
+ else
387
+ scheduleFlush();
388
+ } catch {}
389
+ }
390
+ function log(message, data) {
391
+ try {
392
+ let diagnostic = stalePluginBuildDiagnostic(data);
393
+ if (diagnostic === undefined)
394
+ diagnostic = stalePluginBuildDiagnostic(message);
395
+ if (diagnostic === null)
396
+ return;
397
+ if (diagnostic !== undefined) {
398
+ message = diagnostic;
399
+ data = undefined;
400
+ }
401
+ if (isTestEnv)
402
+ return;
356
403
  const timestamp = new Date().toISOString();
357
404
  const serialized = data === undefined ? "" : data instanceof Error ? ` ${sanitizeDiagnosticText(`${data.message}${data.stack ? `
358
405
  ${data.stack}` : ""}`)}` : ` ${JSON.stringify(sanitizeConfigValue(data))}`;
359
406
  const line = `[${timestamp}] ${sanitizeDiagnosticText(message)}${serialized}
360
407
  `;
408
+ if (lineForwarder) {
409
+ lineForwarder(line);
410
+ return;
411
+ }
361
412
  buffer.push(line);
362
413
  bufferedBytes += Buffer.byteLength(line);
363
414
  boundBuffer();
@@ -385,4 +436,118 @@ if (!isTestEnv) {
385
436
  process.on("exit", flush);
386
437
  }
387
438
 
388
- export { sanitizeDiagnosticText, hasShareabilitySensitiveText, log, sessionLog, getLoggerDiagnostics, flushLogger };
439
+ // src/shared/stale-plugin-build.ts
440
+ var STATE = Symbol.for("magic-context.stale-plugin-build");
441
+ function state() {
442
+ const globals = globalThis;
443
+ return globals[STATE] ??= {
444
+ hosts: new Map,
445
+ loggedChunks: new Set,
446
+ notified: false
447
+ };
448
+ }
449
+ function absolutePath(value) {
450
+ let path = value;
451
+ if (path.startsWith("file:")) {
452
+ try {
453
+ path = fileURLToPath(path);
454
+ } catch {
455
+ return;
456
+ }
457
+ }
458
+ path = path.replaceAll("\\", "/").replace(/^\/(?=[A-Za-z]:\/)/, "");
459
+ if (!path.startsWith("/") && !/^[A-Za-z]:\//.test(path))
460
+ return;
461
+ path = posix.normalize(path);
462
+ return /^[A-Za-z]:\//.test(path) ? path.toLowerCase() : path;
463
+ }
464
+ function distForModule(moduleUrl) {
465
+ const path = absolutePath(moduleUrl);
466
+ if (!path)
467
+ return;
468
+ const dist = path.lastIndexOf("/dist/");
469
+ return dist < 0 ? undefined : path.slice(0, dist + "/dist".length);
470
+ }
471
+ function stalePluginBuildGuidance(harness) {
472
+ return harness === "pi" || harness === "omp" ? "Magic Context was rebuilt while this Pi was running; type /reload to load the new build" : "Magic Context was rebuilt while this OpenCode host was running; restart the host to load the new build";
473
+ }
474
+ function deliverNotice(host) {
475
+ const current = state();
476
+ if (current.notified || !current.pendingNotice || !host.notify)
477
+ return;
478
+ current.notified = true;
479
+ try {
480
+ Promise.resolve(host.notify(current.pendingNotice)).catch(() => {});
481
+ } catch {}
482
+ }
483
+ function registerStalePluginBuildHost(options) {
484
+ const dist = distForModule(options.moduleUrl);
485
+ if (!dist)
486
+ return;
487
+ const host = { ...options, dist };
488
+ state().hosts.set(dist, host);
489
+ deliverNotice(host);
490
+ }
491
+ function classifyStalePluginBuild(error) {
492
+ if (error instanceof StalePluginBuildError)
493
+ return error.build;
494
+ const message = error instanceof Error ? error.message : String(error);
495
+ const missing = message.match(/(?:Cannot find module|ENOENT reading)\s+(['"])(.*?)\1/);
496
+ if (!missing)
497
+ return null;
498
+ let chunk = absolutePath(missing[2]);
499
+ if (!chunk && /^\.\.?[/\\]/.test(missing[2])) {
500
+ const importer = message.slice((missing.index ?? 0) + missing[0].length).match(/(?:imported from|from)\s+(?:['"]([^'"]+)['"]|([^\n]+))/);
501
+ const from = importer && absolutePath((importer[1] ?? importer[2]).trim());
502
+ if (from)
503
+ chunk = absolutePath(posix.join(posix.dirname(from), missing[2].replaceAll("\\", "/")));
504
+ }
505
+ if (!chunk)
506
+ return null;
507
+ for (const host of state().hosts.values()) {
508
+ if (chunk.startsWith(`${host.dist}/`)) {
509
+ return { chunk, guidance: stalePluginBuildGuidance(host.harness) };
510
+ }
511
+ }
512
+ const ownDist = distForModule(import.meta.url);
513
+ return ownDist && chunk.startsWith(`${ownDist}/`) ? { chunk, guidance: stalePluginBuildGuidance(getHarness()) } : null;
514
+ }
515
+
516
+ class StalePluginBuildError extends Error {
517
+ build;
518
+ constructor(build) {
519
+ super(build.guidance);
520
+ this.build = build;
521
+ this.name = "StalePluginBuildError";
522
+ }
523
+ }
524
+ function stalePluginBuildDiagnostic(error) {
525
+ const pending = state().pendingNotice;
526
+ const message = error instanceof Error ? error.message : typeof error === "string" ? error : "";
527
+ if (pending && message.includes(pending))
528
+ return null;
529
+ const build = classifyStalePluginBuild(error);
530
+ if (!build)
531
+ return;
532
+ const current = state();
533
+ current.pendingNotice ??= build.guidance;
534
+ for (const host of current.hosts.values())
535
+ deliverNotice(host);
536
+ if (current.loggedChunks.has(build.chunk))
537
+ return null;
538
+ current.loggedChunks.add(build.chunk);
539
+ return `[magic-context] stale plugin build: missing ${build.chunk.replace(/[\r\n]/g, " ")}; ${build.guidance}`;
540
+ }
541
+ async function importPluginModule(load) {
542
+ try {
543
+ return await load();
544
+ } catch (error) {
545
+ const build = classifyStalePluginBuild(error);
546
+ if (!build)
547
+ throw error;
548
+ log("[magic-context] lazy import failed", error);
549
+ throw new StalePluginBuildError(build);
550
+ }
551
+ }
552
+
553
+ export { sanitizeDiagnosticText, hasShareabilitySensitiveText, registerStalePluginBuildHost, classifyStalePluginBuild, importPluginModule, setLogLineForwarder, writeForwardedLogLine, log, sessionLog, getLoggerDiagnostics, flushLogger };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveDreamerTaskModel2
3
- } from "./index-7k55qm8a.js";
3
+ } from "./index-sfpzqvdz.js";
4
4
 
5
5
  // src/features/magic-context/dreamer/task-registry.ts
6
6
  var CANONICAL_DREAM_TASKS = [
@@ -18,9 +18,9 @@ var CANONICAL_DREAM_TASKS = [
18
18
  "refresh-primers"
19
19
  ];
20
20
  var DREAM_TOOL_LOOP_TOKEN_BUDGETS = {
21
- "map-memories": 1500000,
22
- verify: 1700000,
23
- "verify-broad": 1700000,
21
+ "map-memories": 2500000,
22
+ verify: 2500000,
23
+ "verify-broad": 3000000,
24
24
  curate: 1500000,
25
25
  retrospective: 300000,
26
26
  "maintain-docs": 1600000,
@@ -177,4 +177,23 @@ function userMemoryCollectionEnabled2(dreamer) {
177
177
  const schedule = dreamer?.tasks?.["review-user-memories"]?.schedule;
178
178
  return typeof schedule === "string" && schedule.trim() !== "";
179
179
  }
180
- export { CANONICAL_DREAM_TASKS, DREAM_TASK_CAPABILITIES, toolLoopDreamTasks, formatUnsupportedDreamTasks, formatDreamTaskBacklogs, formatDreamTaskFailures, processedDreamTaskItems, leaseKindFor, leaseKeyFor, isCanonicalDreamTask, compareTaskOrder, buildDreamTaskRuntimeConfigs2, userMemoryCollectionEnabled2 };
180
+ function userMemoryPromotionThreshold2(dreamer) {
181
+ return dreamer?.tasks?.["review-user-memories"]?.promotion_threshold ?? 3;
182
+ }
183
+ function dreamTaskScheduled2(dreamer, task) {
184
+ const schedule = dreamer?.tasks?.[task]?.schedule;
185
+ return typeof schedule === "string" && schedule.trim() !== "";
186
+ }
187
+ function enabledDreamTasks2(dreamer) {
188
+ if (!dreamer?.tasks)
189
+ return [];
190
+ return CANONICAL_DREAM_TASKS.filter((t) => dreamer.tasks[t]?.schedule?.trim());
191
+ }
192
+ function summarizeDreamSchedule2(dreamer) {
193
+ const enabled = enabledDreamTasks2(dreamer);
194
+ if (enabled.length === 0)
195
+ return "manual-only";
196
+ return enabled.map((t) => `${t} ${dreamer?.tasks[t]?.schedule}`).join(", ");
197
+ }
198
+
199
+ export { CANONICAL_DREAM_TASKS, DREAM_TASK_CAPABILITIES, toolLoopDreamTasks, formatUnsupportedDreamTasks, formatDreamTaskBacklogs, formatDreamTaskFailures, processedDreamTaskItems, leaseKindFor, leaseKeyFor, isCanonicalDreamTask, compareTaskOrder, buildDreamTaskRuntimeConfigs2, userMemoryCollectionEnabled2, userMemoryPromotionThreshold2, dreamTaskScheduled2, enabledDreamTasks2, summarizeDreamSchedule2 };
@@ -221,6 +221,20 @@ var tokenizer_calibration_seeds_default = [
221
221
  toolsRatio: 0.850953,
222
222
  proseRatio: 1.000017
223
223
  },
224
+ {
225
+ prefix: "openai/gpt-6-sol",
226
+ systemRatio: 1.000278,
227
+ toolsRatio: 0.850953,
228
+ proseRatio: 1.000017,
229
+ provenance: "Mirrored from openai/gpt-6-astra; prose inherited-unmeasured. Reported OAuth system/tools counts match GPT-5.5; no independent API-key measurement."
230
+ },
231
+ {
232
+ prefix: "openai/gpt-6.1-sol",
233
+ systemRatio: 1.000278,
234
+ toolsRatio: 0.850953,
235
+ proseRatio: 1.000017,
236
+ provenance: "Mirrored from openai/gpt-6-astra; prose inherited-unmeasured. Reported OAuth system/tools counts match GPT-5.5; no independent API-key measurement."
237
+ },
224
238
  {
225
239
  prefix: "openai/gpt-5",
226
240
  systemRatio: 1,
@@ -324,7 +338,7 @@ var tokenizer_calibration_seeds_default = [
324
338
  // src/hooks/magic-context/tokenizer-calibration.ts
325
339
  var CALIBRATION_TABLE = tokenizer_calibration_seeds_default;
326
340
  var NEUTRAL = { systemRatio: 1, toolsRatio: 1, proseRatio: 1 };
327
- var CALIBRATION_TABLE_REVISION = "2026-09-23-model-id-generation-v2";
341
+ var CALIBRATION_TABLE_REVISION = "2026-09-30-sol-tokenizer-seeds-v3";
328
342
  var UNKNOWN_FIT_RATIO = Math.max(2, ...CALIBRATION_TABLE.flatMap((entry) => [
329
343
  entry.systemRatio,
330
344
  entry.toolsRatio,