@cortexkit/opencode-magic-context 0.42.6 → 0.43.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 (479) hide show
  1. package/README.md +4 -5
  2. package/dist/agents/dreamer.d.ts +7 -9
  3. package/dist/agents/dreamer.d.ts.map +1 -1
  4. package/dist/agents/hidden-agent-registrations.d.ts.map +1 -1
  5. package/dist/agents/magic-context-prompt.d.ts.map +1 -1
  6. package/dist/config/index.d.ts +1 -1
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/live-run-config.d.ts +12 -0
  9. package/dist/config/live-run-config.d.ts.map +1 -0
  10. package/dist/config/live-snapshot.d.ts +32 -0
  11. package/dist/config/live-snapshot.d.ts.map +1 -0
  12. package/dist/config/schema/magic-context.d.ts +12 -2
  13. package/dist/config/schema/magic-context.d.ts.map +1 -1
  14. package/dist/{conflict-warning-hook-aktepwpz.js → conflict-warning-hook-t2vb0wnx.js} +3 -3
  15. package/dist/{derive-budgets-v1fkhjjr.js → derive-budgets-0sg5vp61.js} +5 -2
  16. package/dist/features/builtin-commands/commands.d.ts +0 -4
  17. package/dist/features/builtin-commands/commands.d.ts.map +1 -1
  18. package/dist/features/magic-context/compaction-marker.d.ts +6 -0
  19. package/dist/features/magic-context/compaction-marker.d.ts.map +1 -1
  20. package/dist/features/magic-context/compartment-chunk-embedding.d.ts +4 -1
  21. package/dist/features/magic-context/compartment-chunk-embedding.d.ts.map +1 -1
  22. package/dist/features/magic-context/compartment-lease.d.ts +8 -0
  23. package/dist/features/magic-context/compartment-lease.d.ts.map +1 -1
  24. package/dist/features/magic-context/compartment-storage.d.ts +21 -0
  25. package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
  26. package/dist/features/magic-context/context-authority.d.ts +9 -2
  27. package/dist/features/magic-context/context-authority.d.ts.map +1 -1
  28. package/dist/features/magic-context/dreamer/classify.d.ts.map +1 -1
  29. package/dist/features/magic-context/dreamer/docs-proposals.d.ts +23 -0
  30. package/dist/features/magic-context/dreamer/docs-proposals.d.ts.map +1 -0
  31. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts +5 -1
  32. package/dist/features/magic-context/dreamer/evaluate-smart-notes.d.ts.map +1 -1
  33. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts +48 -0
  34. package/dist/features/magic-context/dreamer/hidden-single-shot.d.ts.map +1 -0
  35. package/dist/features/magic-context/dreamer/manual-summary.d.ts +7 -0
  36. package/dist/features/magic-context/dreamer/manual-summary.d.ts.map +1 -0
  37. package/dist/features/magic-context/dreamer/map-memories.d.ts.map +1 -1
  38. package/dist/features/magic-context/dreamer/promote-primers.d.ts +8 -1
  39. package/dist/features/magic-context/dreamer/promote-primers.d.ts.map +1 -1
  40. package/dist/features/magic-context/dreamer/refresh-primers.d.ts.map +1 -1
  41. package/dist/features/magic-context/dreamer/retrospective-orphan-sweep.d.ts +5 -2
  42. package/dist/features/magic-context/dreamer/retrospective-orphan-sweep.d.ts.map +1 -1
  43. package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts +22 -13
  44. package/dist/features/magic-context/dreamer/retrospective-raw-provider.d.ts.map +1 -1
  45. package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts +9 -0
  46. package/dist/features/magic-context/dreamer/storage-task-schedule.d.ts.map +1 -1
  47. package/dist/features/magic-context/dreamer/task-config.d.ts.map +1 -1
  48. package/dist/features/magic-context/dreamer/task-executor.d.ts +3 -0
  49. package/dist/features/magic-context/dreamer/task-executor.d.ts.map +1 -1
  50. package/dist/features/magic-context/dreamer/task-prompts.d.ts +7 -4
  51. package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
  52. package/dist/features/magic-context/dreamer/task-registry.d.ts +53 -2
  53. package/dist/features/magic-context/dreamer/task-registry.d.ts.map +1 -1
  54. package/dist/features/magic-context/dreamer/task-scheduler.d.ts +3 -0
  55. package/dist/features/magic-context/dreamer/task-scheduler.d.ts.map +1 -1
  56. package/dist/features/magic-context/dreamer/tick-failure.d.ts +38 -0
  57. package/dist/features/magic-context/dreamer/tick-failure.d.ts.map +1 -0
  58. package/dist/features/magic-context/dreamer/verify.d.ts.map +1 -1
  59. package/dist/features/magic-context/git-commits/search-git-commits.d.ts +2 -0
  60. package/dist/features/magic-context/git-commits/search-git-commits.d.ts.map +1 -1
  61. package/dist/features/magic-context/memory/embedding-identity.d.ts +1 -0
  62. package/dist/features/magic-context/memory/embedding-identity.d.ts.map +1 -1
  63. package/dist/features/magic-context/memory/embedding-local.d.ts.map +1 -1
  64. package/dist/features/magic-context/memory/memory-diagnostics.d.ts +6 -0
  65. package/dist/features/magic-context/memory/memory-diagnostics.d.ts.map +1 -0
  66. package/dist/features/magic-context/memory/memory-selection.d.ts +12 -0
  67. package/dist/features/magic-context/memory/memory-selection.d.ts.map +1 -0
  68. package/dist/features/magic-context/memory/memory-visibility.d.ts +46 -0
  69. package/dist/features/magic-context/memory/memory-visibility.d.ts.map +1 -0
  70. package/dist/features/magic-context/memory/mirror-reembed.d.ts +22 -0
  71. package/dist/features/magic-context/memory/mirror-reembed.d.ts.map +1 -0
  72. package/dist/features/magic-context/memory/project-identity.d.ts +9 -0
  73. package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
  74. package/dist/features/magic-context/memory/storage-memory-fts.d.ts +6 -2
  75. package/dist/features/magic-context/memory/storage-memory-fts.d.ts.map +1 -1
  76. package/dist/features/magic-context/memory/storage-memory.d.ts.map +1 -1
  77. package/dist/features/magic-context/memory/transformers-remote-host.d.ts +6 -0
  78. package/dist/features/magic-context/memory/transformers-remote-host.d.ts.map +1 -0
  79. package/dist/features/magic-context/memory/transformers-web-entry.d.ts.map +1 -1
  80. package/dist/features/magic-context/message-fts-rowid-map.d.ts +3 -1
  81. package/dist/features/magic-context/message-fts-rowid-map.d.ts.map +1 -1
  82. package/dist/features/magic-context/message-index-async.d.ts +8 -3
  83. package/dist/features/magic-context/message-index-async.d.ts.map +1 -1
  84. package/dist/features/magic-context/message-index.d.ts +7 -1
  85. package/dist/features/magic-context/message-index.d.ts.map +1 -1
  86. package/dist/features/magic-context/message-time-backfill.d.ts +19 -0
  87. package/dist/features/magic-context/message-time-backfill.d.ts.map +1 -0
  88. package/dist/features/magic-context/migrations.d.ts +10 -6
  89. package/dist/features/magic-context/migrations.d.ts.map +1 -1
  90. package/dist/features/magic-context/mural/compress-cues.d.ts.map +1 -1
  91. package/dist/features/magic-context/mural/storage-mural.d.ts +5 -0
  92. package/dist/features/magic-context/mural/storage-mural.d.ts.map +1 -1
  93. package/dist/features/magic-context/opencode2-relabel.d.ts +132 -0
  94. package/dist/features/magic-context/opencode2-relabel.d.ts.map +1 -0
  95. package/dist/features/magic-context/overflow-detection.d.ts +3 -0
  96. package/dist/features/magic-context/overflow-detection.d.ts.map +1 -1
  97. package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
  98. package/dist/features/magic-context/protection-window.d.ts +1 -1
  99. package/dist/features/magic-context/protection-window.d.ts.map +1 -1
  100. package/dist/features/magic-context/search.d.ts +6 -0
  101. package/dist/features/magic-context/search.d.ts.map +1 -1
  102. package/dist/features/magic-context/session-decision-calibration.d.ts +31 -0
  103. package/dist/features/magic-context/session-decision-calibration.d.ts.map +1 -0
  104. package/dist/features/magic-context/shadow-backfill-state.d.ts +1 -1
  105. package/dist/features/magic-context/shadow-backfill-state.d.ts.map +1 -1
  106. package/dist/features/magic-context/smart-notes/compiler.d.ts +5 -1
  107. package/dist/features/magic-context/smart-notes/compiler.d.ts.map +1 -1
  108. package/dist/features/magic-context/storage-clone.d.ts.map +1 -1
  109. package/dist/features/magic-context/storage-db.d.ts +1 -1
  110. package/dist/features/magic-context/storage-db.d.ts.map +1 -1
  111. package/dist/features/magic-context/storage-historian-runs.d.ts +4 -2
  112. package/dist/features/magic-context/storage-historian-runs.d.ts.map +1 -1
  113. package/dist/features/magic-context/storage-meta-persisted.d.ts +16 -2
  114. package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
  115. package/dist/features/magic-context/storage-meta-shared.d.ts +1 -1
  116. package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
  117. package/dist/features/magic-context/storage-meta.d.ts +1 -1
  118. package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
  119. package/dist/features/magic-context/storage-notes.d.ts +1 -0
  120. package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
  121. package/dist/features/magic-context/storage-replay-document.d.ts +2 -0
  122. package/dist/features/magic-context/storage-replay-document.d.ts.map +1 -1
  123. package/dist/features/magic-context/storage-subagent-invocations.d.ts +1 -1
  124. package/dist/features/magic-context/storage-subagent-invocations.d.ts.map +1 -1
  125. package/dist/features/magic-context/storage-tags.d.ts +42 -4
  126. package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
  127. package/dist/features/magic-context/storage.d.ts +2 -2
  128. package/dist/features/magic-context/storage.d.ts.map +1 -1
  129. package/dist/features/magic-context/store-generation-rebase.d.ts +95 -0
  130. package/dist/features/magic-context/store-generation-rebase.d.ts.map +1 -0
  131. package/dist/features/magic-context/subagent-token-capture.d.ts +1 -0
  132. package/dist/features/magic-context/subagent-token-capture.d.ts.map +1 -1
  133. package/dist/features/magic-context/tagger.d.ts +2 -0
  134. package/dist/features/magic-context/tagger.d.ts.map +1 -1
  135. package/dist/features/magic-context/tool-definition-tokens.d.ts +1 -0
  136. package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -1
  137. package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
  138. package/dist/features/magic-context/user-memory/review-user-memories.d.ts +5 -1
  139. package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
  140. package/dist/hooks/magic-context/apply-operations.d.ts +10 -1
  141. package/dist/hooks/magic-context/apply-operations.d.ts.map +1 -1
  142. package/dist/hooks/magic-context/cache-busting-signals.d.ts +19 -3
  143. package/dist/hooks/magic-context/cache-busting-signals.d.ts.map +1 -1
  144. package/dist/hooks/magic-context/command-handler.d.ts +5 -4
  145. package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
  146. package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
  147. package/dist/hooks/magic-context/compaction-off-transition.d.ts +1 -0
  148. package/dist/hooks/magic-context/compaction-off-transition.d.ts.map +1 -1
  149. package/dist/hooks/magic-context/compartment-prompt.d.ts +1 -1
  150. package/dist/hooks/magic-context/compartment-prompt.d.ts.map +1 -1
  151. package/dist/hooks/magic-context/compartment-render-epoch.d.ts +3 -1
  152. package/dist/hooks/magic-context/compartment-render-epoch.d.ts.map +1 -1
  153. package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts +1 -1
  154. package/dist/hooks/magic-context/compartment-runner-drop-queue.d.ts.map +1 -1
  155. package/dist/hooks/magic-context/compartment-runner-historian.d.ts +1 -0
  156. package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
  157. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts +8 -1
  158. package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
  159. package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
  160. package/dist/hooks/magic-context/compartment-runner-types.d.ts +19 -11
  161. package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
  162. package/dist/hooks/magic-context/compartment-runner-validation.d.ts +4 -1
  163. package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
  164. package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
  165. package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
  166. package/dist/hooks/magic-context/decay-render.d.ts +1 -0
  167. package/dist/hooks/magic-context/decay-render.d.ts.map +1 -1
  168. package/dist/hooks/magic-context/decision-calibration.d.ts +24 -0
  169. package/dist/hooks/magic-context/decision-calibration.d.ts.map +1 -0
  170. package/dist/hooks/magic-context/derive-budgets.d.ts +2 -0
  171. package/dist/hooks/magic-context/derive-budgets.d.ts.map +1 -1
  172. package/dist/hooks/magic-context/dropped-input-guard.d.ts +50 -4
  173. package/dist/hooks/magic-context/dropped-input-guard.d.ts.map +1 -1
  174. package/dist/hooks/magic-context/embed-history-runner.d.ts +30 -0
  175. package/dist/hooks/magic-context/embed-history-runner.d.ts.map +1 -0
  176. package/dist/hooks/magic-context/emergency-drop.d.ts +13 -8
  177. package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -1
  178. package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
  179. package/dist/hooks/magic-context/event-payloads.d.ts +2 -1
  180. package/dist/hooks/magic-context/event-payloads.d.ts.map +1 -1
  181. package/dist/hooks/magic-context/execute-status.d.ts +2 -1
  182. package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
  183. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts +12 -4
  184. package/dist/hooks/magic-context/final-wire-token-estimate.d.ts.map +1 -1
  185. package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
  186. package/dist/hooks/magic-context/historian-no-fire-cause.d.ts +5 -0
  187. package/dist/hooks/magic-context/historian-no-fire-cause.d.ts.map +1 -0
  188. package/dist/hooks/magic-context/historian-publish-stage-logger.d.ts +3 -0
  189. package/dist/hooks/magic-context/historian-publish-stage-logger.d.ts.map +1 -0
  190. package/dist/hooks/magic-context/hook-handlers.d.ts +0 -3
  191. package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
  192. package/dist/hooks/magic-context/hook.d.ts +4 -4
  193. package/dist/hooks/magic-context/hook.d.ts.map +1 -1
  194. package/dist/hooks/magic-context/host-served-rows.d.ts +58 -0
  195. package/dist/hooks/magic-context/host-served-rows.d.ts.map +1 -0
  196. package/dist/hooks/magic-context/inject-compartments.d.ts +38 -0
  197. package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
  198. package/dist/hooks/magic-context/legacy-compartments.d.ts +20 -0
  199. package/dist/hooks/magic-context/legacy-compartments.d.ts.map +1 -0
  200. package/dist/hooks/magic-context/live-session-state.d.ts +7 -7
  201. package/dist/hooks/magic-context/m0-token-breakdown.d.ts +6 -0
  202. package/dist/hooks/magic-context/m0-token-breakdown.d.ts.map +1 -1
  203. package/dist/hooks/magic-context/maintenance-authority.d.ts +0 -1
  204. package/dist/hooks/magic-context/maintenance-authority.d.ts.map +1 -1
  205. package/dist/hooks/magic-context/module-state-sync.d.ts +1 -1
  206. package/dist/hooks/magic-context/module-state-sync.d.ts.map +1 -1
  207. package/dist/hooks/magic-context/module-transport.d.ts +1 -1
  208. package/dist/hooks/magic-context/module-transport.d.ts.map +1 -1
  209. package/dist/hooks/magic-context/module-wire.d.ts +42 -0
  210. package/dist/hooks/magic-context/module-wire.d.ts.map +1 -1
  211. package/dist/hooks/magic-context/note-nudger.d.ts.map +1 -1
  212. package/dist/hooks/magic-context/postprocess-read-cache.d.ts +8 -0
  213. package/dist/hooks/magic-context/postprocess-read-cache.d.ts.map +1 -0
  214. package/dist/hooks/magic-context/producer-window-guard.d.ts +16 -0
  215. package/dist/hooks/magic-context/producer-window-guard.d.ts.map +1 -1
  216. package/dist/hooks/magic-context/producer-window-test-support.d.ts +14 -0
  217. package/dist/hooks/magic-context/producer-window-test-support.d.ts.map +1 -0
  218. package/dist/hooks/magic-context/protected-tail-boundary.d.ts +2 -0
  219. package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -1
  220. package/dist/hooks/magic-context/read-session-chunk.d.ts +45 -10
  221. package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
  222. package/dist/hooks/magic-context/read-session-db.d.ts.map +1 -1
  223. package/dist/hooks/magic-context/read-session-raw.d.ts +4 -0
  224. package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
  225. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +6 -0
  226. package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -1
  227. package/dist/hooks/magic-context/recomp-orchestrator.d.ts +17 -39
  228. package/dist/hooks/magic-context/recomp-orchestrator.d.ts.map +1 -1
  229. package/dist/hooks/magic-context/rust-mode-transform.d.ts +24 -3
  230. package/dist/hooks/magic-context/rust-mode-transform.d.ts.map +1 -1
  231. package/dist/hooks/magic-context/sentinel.d.ts.map +1 -1
  232. package/dist/hooks/magic-context/system-prompt-hash.d.ts +6 -7
  233. package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
  234. package/dist/hooks/magic-context/tag-messages.d.ts +21 -1
  235. package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
  236. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts +63 -0
  237. package/dist/hooks/magic-context/tail-hygiene-walk.d.ts.map +1 -1
  238. package/dist/hooks/magic-context/tokenizer-calibration.d.ts +19 -12
  239. package/dist/hooks/magic-context/tokenizer-calibration.d.ts.map +1 -1
  240. package/dist/hooks/magic-context/tool-drop-target.d.ts +52 -1
  241. package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
  242. package/dist/hooks/magic-context/tool-sweep-policy.d.ts +50 -0
  243. package/dist/hooks/magic-context/tool-sweep-policy.d.ts.map +1 -0
  244. package/dist/hooks/magic-context/transform-compartment-phase.d.ts +20 -1
  245. package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
  246. package/dist/hooks/magic-context/transform-context-state.d.ts +9 -0
  247. package/dist/hooks/magic-context/transform-context-state.d.ts.map +1 -1
  248. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +5 -3
  249. package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
  250. package/dist/hooks/magic-context/transform.d.ts +37 -4
  251. package/dist/hooks/magic-context/transform.d.ts.map +1 -1
  252. package/dist/hooks/magic-context/wrapup-orchestrator.d.ts.map +1 -1
  253. package/dist/{index-f9gem5cr.js → index-8w1skpnm.js} +85 -5
  254. package/dist/index-99sfbrrf.js +170 -0
  255. package/dist/index-9skq8m9y.js +16 -0
  256. package/dist/{index-djp6rwz6.js → index-d0dh7v0f.js} +28130 -30282
  257. package/dist/{index-s61hh7gv.js → index-rpz2me0v.js} +94 -72
  258. package/dist/{index-ngjmj6xx.js → index-rvwvdq59.js} +1 -1
  259. package/dist/index-w2ety11c.js +393 -0
  260. package/dist/index-y5145x8k.js +619 -0
  261. package/dist/index-ygwdyntq.js +5407 -0
  262. package/dist/{index-a9ssj59b.js → index-ykg9sdzz.js} +55 -15
  263. package/dist/index.d.ts.map +1 -1
  264. package/dist/index.js +5749 -3006
  265. package/dist/message-time-backfill-gzjer78y.js +108 -0
  266. package/dist/plugin/dream-timer.d.ts +13 -0
  267. package/dist/plugin/dream-timer.d.ts.map +1 -1
  268. package/dist/plugin/hooks/create-session-hooks.d.ts +5 -2
  269. package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
  270. package/dist/plugin/memory-id-translation.d.ts +86 -0
  271. package/dist/plugin/memory-id-translation.d.ts.map +1 -1
  272. package/dist/plugin/messages-transform.d.ts.map +1 -1
  273. package/dist/plugin/rpc-handlers.d.ts +10 -0
  274. package/dist/plugin/rpc-handlers.d.ts.map +1 -1
  275. package/dist/plugin/rust-note-backend.d.ts +84 -0
  276. package/dist/plugin/rust-note-backend.d.ts.map +1 -0
  277. package/dist/plugin/tool-registry.d.ts +1 -0
  278. package/dist/plugin/tool-registry.d.ts.map +1 -1
  279. package/dist/read-session-chunk-ec3jkvhg.js +61 -0
  280. package/dist/{recomp-orchestrator-0xx1364v.js → recomp-orchestrator-6akjp11f.js} +8 -8
  281. package/dist/{send-session-notification-jbxknvar.js → send-session-notification-f6gwkesy.js} +2 -2
  282. package/dist/shared/assistant-message-extractor.d.ts +6 -0
  283. package/dist/shared/assistant-message-extractor.d.ts.map +1 -1
  284. package/dist/shared/conflict-detector.d.ts +9 -4
  285. package/dist/shared/conflict-detector.d.ts.map +1 -1
  286. package/dist/shared/hidden-variant-warnings.d.ts +5 -0
  287. package/dist/shared/hidden-variant-warnings.d.ts.map +1 -0
  288. package/dist/shared/host-limitations.d.ts +14 -0
  289. package/dist/shared/host-limitations.d.ts.map +1 -0
  290. package/dist/shared/keep-subagents.d.ts +1 -1
  291. package/dist/shared/keep-subagents.d.ts.map +1 -1
  292. package/dist/shared/model-suggestion-retry.d.ts.map +1 -1
  293. package/dist/shared/models-dev-cache.d.ts +1 -0
  294. package/dist/shared/models-dev-cache.d.ts.map +1 -1
  295. package/dist/shared/opencode-config-dir.d.ts +52 -0
  296. package/dist/shared/opencode-config-dir.d.ts.map +1 -1
  297. package/dist/shared/opencode-db-path.d.ts +15 -0
  298. package/dist/shared/opencode-db-path.d.ts.map +1 -1
  299. package/dist/shared/prompt-surface-runtime.d.ts +5 -5
  300. package/dist/shared/rpc-server.d.ts +10 -0
  301. package/dist/shared/rpc-server.d.ts.map +1 -1
  302. package/dist/shared/rpc-types.d.ts +64 -5
  303. package/dist/shared/rpc-types.d.ts.map +1 -1
  304. package/dist/shared/status-detail-text.d.ts +1 -3
  305. package/dist/shared/status-detail-text.d.ts.map +1 -1
  306. package/dist/shared/status-summary.d.ts +7 -0
  307. package/dist/shared/status-summary.d.ts.map +1 -1
  308. package/dist/shared/status-view.d.ts +229 -0
  309. package/dist/shared/status-view.d.ts.map +1 -0
  310. package/dist/shared/tag-transcript.d.ts.map +1 -1
  311. package/dist/shared/tail-hygiene-status.d.ts +8 -0
  312. package/dist/shared/tail-hygiene-status.d.ts.map +1 -1
  313. package/dist/shared/user-facing-codes.d.ts +32 -7
  314. package/dist/shared/user-facing-codes.d.ts.map +1 -1
  315. package/dist/shared/window-geometry.d.ts +3 -0
  316. package/dist/shared/window-geometry.d.ts.map +1 -1
  317. package/dist/{task-config-cv8k9y8r.js → task-config-ex4nt0q0.js} +1 -1
  318. package/dist/tools/ctx-expand/constants.d.ts +1 -1
  319. package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
  320. package/dist/tools/ctx-expand/render.d.ts.map +1 -1
  321. package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
  322. package/dist/tools/ctx-memory/constants.d.ts +3 -1
  323. package/dist/tools/ctx-memory/constants.d.ts.map +1 -1
  324. package/dist/tools/ctx-memory/tools.d.ts +1 -0
  325. package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
  326. package/dist/tools/ctx-memory/types.d.ts +2 -2
  327. package/dist/tools/ctx-note/constants.d.ts +1 -1
  328. package/dist/tools/ctx-note/constants.d.ts.map +1 -1
  329. package/dist/tools/ctx-note/render.d.ts +88 -0
  330. package/dist/tools/ctx-note/render.d.ts.map +1 -0
  331. package/dist/tools/ctx-note/tools.d.ts.map +1 -1
  332. package/dist/tools/ctx-reduce/constants.d.ts +1 -1
  333. package/dist/tools/ctx-reduce/constants.d.ts.map +1 -1
  334. package/dist/tools/ctx-search/constants.d.ts +1 -1
  335. package/dist/tools/ctx-search/constants.d.ts.map +1 -1
  336. package/dist/tools/ctx-search/date-range.d.ts +9 -0
  337. package/dist/tools/ctx-search/date-range.d.ts.map +1 -0
  338. package/dist/tools/ctx-search/tools.d.ts.map +1 -1
  339. package/dist/tools/ctx-search/types.d.ts +2 -0
  340. package/dist/tools/ctx-search/types.d.ts.map +1 -1
  341. package/dist/tools/light-descriptions.d.ts +5 -5
  342. package/dist/tools/light-descriptions.d.ts.map +1 -1
  343. package/dist/tools/parameter-descriptions.d.ts +75 -0
  344. package/dist/tools/parameter-descriptions.d.ts.map +1 -0
  345. package/dist/transformers-node-wasm.js +1918 -826
  346. package/dist/transformers-web.js +1736 -636
  347. package/dist/{transformers.node-dpmf3wpx.js → transformers.node-3zqr6k1w.js} +4087 -2898
  348. package/dist/tui/data/context-db.d.ts +19 -7
  349. package/dist/tui/data/context-db.d.ts.map +1 -1
  350. package/dist/tui-compiled/data/context-db.d.ts +19 -7
  351. package/dist/tui-compiled/data/context-db.d.ts.map +1 -1
  352. package/dist/v2/fold/host-media.d.ts +36 -0
  353. package/dist/v2/fold/host-media.d.ts.map +1 -0
  354. package/dist/v2/fold/restore.d.ts +21 -1
  355. package/dist/v2/fold/restore.d.ts.map +1 -1
  356. package/dist/v2/hidden-completion.d.ts +45 -1
  357. package/dist/v2/hidden-completion.d.ts.map +1 -1
  358. package/dist/v2/hooks/commands.d.ts +29 -0
  359. package/dist/v2/hooks/commands.d.ts.map +1 -0
  360. package/dist/v2/hooks/context.d.ts +46 -2
  361. package/dist/v2/hooks/context.d.ts.map +1 -1
  362. package/dist/v2/hooks/deleted-session-tombstones.d.ts +10 -0
  363. package/dist/v2/hooks/deleted-session-tombstones.d.ts.map +1 -0
  364. package/dist/v2/hooks/dream-manual.d.ts +43 -0
  365. package/dist/v2/hooks/dream-manual.d.ts.map +1 -0
  366. package/dist/v2/hooks/dream-trigger.d.ts +7 -0
  367. package/dist/v2/hooks/dream-trigger.d.ts.map +1 -1
  368. package/dist/v2/hooks/hidden-child.d.ts +1 -0
  369. package/dist/v2/hooks/hidden-child.d.ts.map +1 -1
  370. package/dist/v2/hooks/model-limit-cache.d.ts +19 -0
  371. package/dist/v2/hooks/model-limit-cache.d.ts.map +1 -0
  372. package/dist/v2/hooks/payload.d.ts.map +1 -1
  373. package/dist/v2/hooks/provider-admission.d.ts +22 -0
  374. package/dist/v2/hooks/provider-admission.d.ts.map +1 -0
  375. package/dist/v2/hooks/rpc-live-state.d.ts +9 -0
  376. package/dist/v2/hooks/rpc-live-state.d.ts.map +1 -0
  377. package/dist/v2/hooks/store.d.ts +38 -2
  378. package/dist/v2/hooks/store.d.ts.map +1 -1
  379. package/dist/v2/hooks/tools.d.ts +8 -0
  380. package/dist/v2/hooks/tools.d.ts.map +1 -0
  381. package/dist/v2/hooks/types.d.ts +58 -0
  382. package/dist/v2/hooks/types.d.ts.map +1 -1
  383. package/dist/v2/hooks/usage-reading.d.ts +42 -0
  384. package/dist/v2/hooks/usage-reading.d.ts.map +1 -0
  385. package/dist/v2/host-service.d.ts +65 -0
  386. package/dist/v2/host-service.d.ts.map +1 -0
  387. package/dist/v2/server.js +141678 -111890
  388. package/dist/v2/store-reader.d.ts +67 -1
  389. package/dist/v2/store-reader.d.ts.map +1 -1
  390. package/dist/v2/tui/events.d.ts +7 -0
  391. package/dist/v2/tui/events.d.ts.map +1 -0
  392. package/dist/v2/tui/index.d.ts +23 -0
  393. package/dist/v2/tui/index.d.ts.map +1 -1
  394. package/dist/v2/tui/sidebar-mount.d.ts +40 -0
  395. package/dist/v2/tui/sidebar-mount.d.ts.map +1 -0
  396. package/dist/v2/tui/status-dialog-mount.d.ts +29 -0
  397. package/dist/v2/tui/status-dialog-mount.d.ts.map +1 -0
  398. package/dist/v2/tui/types.d.ts +74 -6
  399. package/dist/v2/tui/types.d.ts.map +1 -1
  400. package/dist/wrapup-orchestrator-5akc87gr.js +16 -0
  401. package/package.json +8 -7
  402. package/src/agents/dreamer.ts +7 -16
  403. package/src/agents/hidden-agent-registrations.ts +10 -22
  404. package/src/agents/magic-context-prompt.test.ts +29 -39
  405. package/src/agents/magic-context-prompt.ts +99 -122
  406. package/src/agents/permissions.test.ts +17 -21
  407. package/src/config/index.ts +8 -3
  408. package/src/config/live-run-config.test.ts +237 -0
  409. package/src/config/live-run-config.ts +80 -0
  410. package/src/config/live-schema-drift.test.ts +67 -0
  411. package/src/config/live-snapshot.test.ts +85 -0
  412. package/src/config/live-snapshot.ts +191 -0
  413. package/src/config/raw-loader.test.ts +1 -0
  414. package/src/config/schema/magic-context.test.ts +13 -5
  415. package/src/config/schema/magic-context.ts +101 -10
  416. package/src/features/magic-context/dreamer/task-registry.ts +137 -13
  417. package/src/shared/assistant-message-extractor.test.ts +21 -0
  418. package/src/shared/assistant-message-extractor.ts +43 -8
  419. package/src/shared/child-session-teardown.test.ts +38 -3
  420. package/src/shared/child-session-teardown.ts +3 -3
  421. package/src/shared/conflict-detector.test.ts +224 -7
  422. package/src/shared/conflict-detector.ts +161 -89
  423. package/src/shared/hidden-variant-warnings.ts +21 -0
  424. package/src/shared/host-limitations.ts +43 -0
  425. package/src/shared/keep-subagents.ts +6 -6
  426. package/src/shared/model-suggestion-retry.test.ts +43 -0
  427. package/src/shared/model-suggestion-retry.ts +12 -0
  428. package/src/shared/models-dev-cache.ts +5 -0
  429. package/src/shared/opencode-config-dir.ts +80 -7
  430. package/src/shared/opencode-db-path.test.ts +78 -0
  431. package/src/shared/opencode-db-path.ts +49 -2
  432. package/src/shared/opencode-host-generation.test.ts +29 -0
  433. package/src/shared/prompt-surface-a1-golden.md +142 -211
  434. package/src/shared/rpc-server.ts +18 -0
  435. package/src/shared/rpc-types.ts +63 -4
  436. package/src/shared/status-detail-text.test.ts +52 -18
  437. package/src/shared/status-detail-text.ts +1 -90
  438. package/src/shared/status-summary.ts +37 -2
  439. package/src/shared/status-view.test.ts +441 -0
  440. package/src/shared/status-view.ts +707 -0
  441. package/src/shared/tag-transcript.ts +115 -16
  442. package/src/shared/tail-hygiene-status.ts +9 -1
  443. package/src/shared/user-facing-codes.test.ts +3 -4
  444. package/src/shared/user-facing-codes.ts +33 -8
  445. package/src/shared/window-geometry.test.ts +23 -5
  446. package/src/shared/window-geometry.ts +13 -3
  447. package/src/tui/data/context-db.ts +50 -15
  448. package/src/tui/dialogs/status-dialog-colors.test.ts +58 -0
  449. package/src/tui/dialogs/status-dialog.tsx +288 -0
  450. package/src/tui/index.tsx +7 -464
  451. package/src/tui/slots/sidebar-content.tsx +21 -5
  452. package/src/tui-compiled/data/context-db.ts +50 -15
  453. package/src/tui-compiled/dialogs/status-dialog.tsx +552 -0
  454. package/src/tui-compiled/index.tsx +43 -1025
  455. package/src/tui-compiled/slots/sidebar-content.tsx +173 -152
  456. package/src/v2/tui/__fixtures__/ga-host-theme.json +160 -0
  457. package/src/v2/tui/events.ts +23 -0
  458. package/src/v2/tui/host-contract.test.ts +57 -8
  459. package/src/v2/tui/index.ts +315 -59
  460. package/src/v2/tui/load-compiled-sidebar.d.mts +59 -0
  461. package/src/v2/tui/load-compiled-sidebar.mjs +24 -0
  462. package/src/v2/tui/load-compiled-status-dialog.d.mts +17 -0
  463. package/src/v2/tui/load-compiled-status-dialog.mjs +16 -0
  464. package/src/v2/tui/sidebar-fallback.test.ts +100 -0
  465. package/src/v2/tui/sidebar-mount.ts +164 -0
  466. package/src/v2/tui/sidebar-text.test.ts +70 -0
  467. package/src/v2/tui/status-dialog-fallback.test.ts +97 -0
  468. package/src/v2/tui/status-dialog-mount.ts +76 -0
  469. package/src/v2/tui/theme-mapping.test.ts +57 -0
  470. package/src/v2/tui/types.ts +69 -4
  471. package/tui.js +1 -0
  472. package/dist/features/magic-context/memory/memory-migration.d.ts +0 -129
  473. package/dist/features/magic-context/memory/memory-migration.d.ts.map +0 -1
  474. package/dist/hooks/magic-context/upgrade-reminder.d.ts +0 -76
  475. package/dist/hooks/magic-context/upgrade-reminder.d.ts.map +0 -1
  476. package/dist/index-4wwr6cz0.js +0 -112
  477. package/dist/index-avwt563y.js +0 -62
  478. package/dist/index-znraa0kv.js +0 -637
  479. package/dist/storage-meta-session-z818pn1e.js +0 -20
@@ -12,6 +12,7 @@ import packageJson from "../../../package.json";
12
12
  import { badgeTextColor } from "../badge-contrast";
13
13
  import { loadSidebarSnapshot } from "../data/context-db";
14
14
  import { formatThresholdPercent } from "../../shared/format-threshold";
15
+ import { renderUserFacingFailure } from "../../shared/user-facing-codes";
15
16
  import { compactionOffSidebarRows, nativeCompactionContextLabel } from "../compaction-off";
16
17
  import { computeEffectiveOrder, DEFAULT_SLOT_ORDER, PLUGIN_KEY, queueTuiPreferenceUpdate, readTuiPreferencesFile, readTuiPreferencesFileSync, resolveMagicContextPrefs, watchTuiPreferences } from "../../shared/tui-preferences";
17
18
 
@@ -82,7 +83,10 @@ function createSidebarController(initialPrefs) {
82
83
  function compactTokens(value) {
83
84
  if (value >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;
84
85
  if (value >= 1_000) return `${(value / 1_000).toFixed(0)}K`;
85
- return String(value);
86
+ // Token counts are whole numbers to the reader even when the tokenizer
87
+ // calibration leaves them fractional; a raw `522.4` beside a `63K` reads as
88
+ // a measurement error rather than as precision.
89
+ return String(Math.round(value));
86
90
  }
87
91
 
88
92
  /**
@@ -379,9 +383,9 @@ const SectionHeader = props => (() => {
379
383
  return _el$12;
380
384
  })();
381
385
 
382
- // Live recomp / session-upgrade progress. Renders while an upgrade runs (and
383
- // briefly after it finishes) so a multi-minute rebuild is visible instead of a
384
- // single missed toast (dogfood 2026-05-30).
386
+ // Live recomp progress. Renders while a rebuild runs (and briefly after it
387
+ // finishes) so a multi-minute rebuild is visible instead of a single missed
388
+ // toast (dogfood 2026-05-30).
385
389
  const RecompProgressSection = props => {
386
390
  // CRITICAL: read `props.progress` reactively on every access — do NOT
387
391
  // destructure it into a local `const p = props.progress` at creation time.
@@ -776,78 +780,95 @@ const SidebarContent = props => {
776
780
  return _el$32;
777
781
  })();
778
782
  })(), null);
779
- _$insert(_el$25, (() => {
780
- var _c$3 = _$memo(() => !!s()?.dreamerProgress);
781
- return () => _c$3() && (() => {
783
+ _$insert(_el$25, _$createComponent(For, {
784
+ get each() {
785
+ return s()?.hostLimitations ?? [];
786
+ },
787
+ children: limitation => (() => {
782
788
  var _el$35 = _$createElement("box"),
783
789
  _el$36 = _$createElement("text"),
784
- _el$37 = _$createTextNode(`Dreamer `),
785
- _el$38 = _$createTextNode(`: `),
786
- _el$39 = _$createTextNode(`/`),
787
- _el$40 = _$createTextNode(` processed`);
790
+ _el$37 = _$createTextNode(`⚠ `);
788
791
  _$insertNode(_el$35, _el$36);
789
792
  _$setProp(_el$35, "marginTop", 1);
790
793
  _$setProp(_el$35, "width", "100%");
791
794
  _$insertNode(_el$36, _el$37);
792
- _$insertNode(_el$36, _el$38);
793
- _$insertNode(_el$36, _el$39);
794
- _$insertNode(_el$36, _el$40);
795
- _$insert(_el$36, () => s().dreamerProgress.task, _el$38);
796
- _$insert(_el$36, () => s().dreamerProgress.processed, _el$39);
797
- _$insert(_el$36, () => s().dreamerProgress.total, _el$40);
795
+ _$insert(_el$36, () => renderUserFacingFailure(limitation, "plain"), null);
798
796
  _$effect(_$p => _$setProp(_el$36, "fg", props.theme.warning, _$p));
799
797
  return _el$35;
798
+ })()
799
+ }), null);
800
+ _$insert(_el$25, (() => {
801
+ var _c$3 = _$memo(() => !!s()?.dreamerProgress);
802
+ return () => _c$3() && (() => {
803
+ var _el$38 = _$createElement("box"),
804
+ _el$39 = _$createElement("text"),
805
+ _el$40 = _$createTextNode(`Dreamer `),
806
+ _el$41 = _$createTextNode(`: `),
807
+ _el$42 = _$createTextNode(`/`),
808
+ _el$43 = _$createTextNode(` processed`);
809
+ _$insertNode(_el$38, _el$39);
810
+ _$setProp(_el$38, "marginTop", 1);
811
+ _$setProp(_el$38, "width", "100%");
812
+ _$insertNode(_el$39, _el$40);
813
+ _$insertNode(_el$39, _el$41);
814
+ _$insertNode(_el$39, _el$42);
815
+ _$insertNode(_el$39, _el$43);
816
+ _$insert(_el$39, () => s().dreamerProgress.task, _el$41);
817
+ _$insert(_el$39, () => s().dreamerProgress.processed, _el$42);
818
+ _$insert(_el$39, () => s().dreamerProgress.total, _el$43);
819
+ _$effect(_$p => _$setProp(_el$39, "fg", props.theme.warning, _$p));
820
+ return _el$38;
800
821
  })();
801
822
  })(), null);
802
823
  _$insert(_el$25, (() => {
803
824
  var _c$4 = _$memo(() => !!(s() && s().inputTokens > 0));
804
825
  return () => _c$4() && (() => {
805
- var _el$41 = _$createElement("box");
806
- _$setProp(_el$41, "flexDirection", "column");
807
- _$insert(_el$41, (() => {
826
+ var _el$44 = _$createElement("box");
827
+ _$setProp(_el$44, "flexDirection", "column");
828
+ _$insert(_el$44, (() => {
808
829
  var _c$7 = _$memo(() => (s()?.contextLimit ?? 0) > 0);
809
830
  return () => _c$7() && (() => {
810
- var _el$42 = _$createElement("box"),
811
- _el$43 = _$createElement("text"),
812
- _el$44 = _$createTextNode(` / `);
813
- _$insertNode(_el$42, _el$43);
814
- _$setProp(_el$42, "width", "100%");
815
- _$setProp(_el$42, "flexDirection", "row");
816
- _$setProp(_el$42, "justifyContent", "space-between");
817
- _$insert(_el$42, (() => {
831
+ var _el$45 = _$createElement("box"),
832
+ _el$46 = _$createElement("text"),
833
+ _el$47 = _$createTextNode(` / `);
834
+ _$insertNode(_el$45, _el$46);
835
+ _$setProp(_el$45, "width", "100%");
836
+ _$setProp(_el$45, "flexDirection", "row");
837
+ _$setProp(_el$45, "justifyContent", "space-between");
838
+ _$insert(_el$45, (() => {
818
839
  var _c$9 = _$memo(() => !!compactionOff());
819
840
  return () => _c$9() ? (() => {
820
- var _el$45 = _$createElement("text"),
821
- _el$46 = _$createElement("b");
822
- _$insertNode(_el$45, _el$46);
823
- _$insert(_el$46, () => nativeCompactionContextLabel(s()));
824
- _$effect(_$p => _$setProp(_el$45, "fg", contextSummaryColor(), _$p));
825
- return _el$45;
826
- })() : (() => {
827
- var _el$47 = _$createElement("text"),
828
- _el$48 = _$createElement("b"),
829
- _el$49 = _$createTextNode(`%`),
830
- _el$50 = _$createTextNode(` / `),
831
- _el$51 = _$createTextNode(`%`);
832
- _$insertNode(_el$47, _el$48);
833
- _$insertNode(_el$47, _el$50);
834
- _$insertNode(_el$47, _el$51);
841
+ var _el$48 = _$createElement("text"),
842
+ _el$49 = _$createElement("b");
835
843
  _$insertNode(_el$48, _el$49);
836
- _$insert(_el$48, () => s().usagePercentage.toFixed(1), _el$49);
837
- _$insert(_el$47, () => formatThresholdPercent(s().executeThreshold), _el$51);
838
- _$insert(_el$47, () => s().executeThresholdClamped ? "*" : "", null);
839
- _$effect(_$p => _$setProp(_el$47, "fg", contextSummaryColor(), _$p));
840
- return _el$47;
844
+ _$insert(_el$49, () => nativeCompactionContextLabel(s()));
845
+ _$effect(_$p => _$setProp(_el$48, "fg", contextSummaryColor(), _$p));
846
+ return _el$48;
847
+ })() : (() => {
848
+ var _el$50 = _$createElement("text"),
849
+ _el$51 = _$createElement("b"),
850
+ _el$52 = _$createTextNode(`%`),
851
+ _el$53 = _$createTextNode(` / `),
852
+ _el$54 = _$createTextNode(`%`);
853
+ _$insertNode(_el$50, _el$51);
854
+ _$insertNode(_el$50, _el$53);
855
+ _$insertNode(_el$50, _el$54);
856
+ _$insertNode(_el$51, _el$52);
857
+ _$insert(_el$51, () => s().usagePercentage.toFixed(1), _el$52);
858
+ _$insert(_el$50, () => formatThresholdPercent(s().executeThreshold), _el$54);
859
+ _$insert(_el$50, () => s().executeThresholdClamped ? "*" : "", null);
860
+ _$effect(_$p => _$setProp(_el$50, "fg", contextSummaryColor(), _$p));
861
+ return _el$50;
841
862
  })();
842
- })(), _el$43);
843
- _$insertNode(_el$43, _el$44);
844
- _$insert(_el$43, () => compactTokens(s().inputTokens), _el$44);
845
- _$insert(_el$43, () => compactTokens(s().contextLimit), null);
846
- _$effect(_$p => _$setProp(_el$43, "fg", contextSummaryColor(), _$p));
847
- return _el$42;
863
+ })(), _el$46);
864
+ _$insertNode(_el$46, _el$47);
865
+ _$insert(_el$46, () => compactTokens(s().inputTokens), _el$47);
866
+ _$insert(_el$46, () => compactTokens(s().contextLimit), null);
867
+ _$effect(_$p => _$setProp(_el$46, "fg", contextSummaryColor(), _$p));
868
+ return _el$45;
848
869
  })();
849
870
  })(), null);
850
- _$insert(_el$41, _$createComponent(TokenBreakdown, {
871
+ _$insert(_el$44, _$createComponent(TokenBreakdown, {
851
872
  get theme() {
852
873
  return props.theme;
853
874
  },
@@ -858,7 +879,7 @@ const SidebarContent = props => {
858
879
  return collapsed();
859
880
  }
860
881
  }), null);
861
- _$insert(_el$41, (() => {
882
+ _$insert(_el$44, (() => {
862
883
  var _c$8 = _$memo(() => s().tailHygiene !== undefined);
863
884
  return () => _c$8() && _$createComponent(StatRow, {
864
885
  get theme() {
@@ -873,17 +894,17 @@ const SidebarContent = props => {
873
894
  }
874
895
  });
875
896
  })(), null);
876
- _$effect(_$p => _$setProp(_el$41, "marginTop", collapsed() ? 0 : 1, _$p));
877
- return _el$41;
897
+ _$effect(_$p => _$setProp(_el$44, "marginTop", collapsed() ? 0 : 1, _$p));
898
+ return _el$44;
878
899
  })();
879
900
  })(), null);
880
901
  _$insert(_el$25, (() => {
881
902
  var _c$5 = _$memo(() => !!collapsed());
882
903
  return () => _c$5() && (() => {
883
- var _el$52 = _$createElement("box");
884
- _$setProp(_el$52, "width", "100%");
885
- _$setProp(_el$52, "flexDirection", "column");
886
- _$insert(_el$52, (() => {
904
+ var _el$55 = _$createElement("box");
905
+ _$setProp(_el$55, "width", "100%");
906
+ _$setProp(_el$55, "flexDirection", "column");
907
+ _$insert(_el$55, (() => {
887
908
  var _c$0 = _$memo(() => !!compactionOff());
888
909
  return () => _c$0() ? compactionOffSidebarRows(s()).map(row => _$createComponent(StatRow, {
889
910
  get theme() {
@@ -902,117 +923,117 @@ const SidebarContent = props => {
902
923
  return row.label !== "Memories";
903
924
  }
904
925
  })) : [(() => {
905
- var _el$53 = _$createElement("box"),
906
- _el$54 = _$createElement("text");
907
- _$insertNode(_el$53, _el$54);
908
- _$setProp(_el$53, "width", "100%");
909
- _$setProp(_el$53, "flexDirection", "row");
910
- _$setProp(_el$53, "justifyContent", "space-between");
911
- _$insertNode(_el$54, _$createTextNode(`Historian`));
912
- _$insert(_el$53, (() => {
926
+ var _el$56 = _$createElement("box"),
927
+ _el$57 = _$createElement("text");
928
+ _$insertNode(_el$56, _el$57);
929
+ _$setProp(_el$56, "width", "100%");
930
+ _$setProp(_el$56, "flexDirection", "row");
931
+ _$setProp(_el$56, "justifyContent", "space-between");
932
+ _$insertNode(_el$57, _$createTextNode(`Historian`));
933
+ _$insert(_el$56, (() => {
913
934
  var _c$1 = _$memo(() => !!s()?.historianRunning);
914
935
  return () => _c$1() ? (() => {
915
- var _el$67 = _$createElement("text");
916
- _$insertNode(_el$67, _$createTextNode(`comparting ⟳`));
917
- _$effect(_$p => _$setProp(_el$67, "fg", props.theme.warning, _$p));
918
- return _el$67;
936
+ var _el$70 = _$createElement("text");
937
+ _$insertNode(_el$70, _$createTextNode(`comparting ⟳`));
938
+ _$effect(_$p => _$setProp(_el$70, "fg", props.theme.warning, _$p));
939
+ return _el$70;
919
940
  })() : (() => {
920
- var _el$69 = _$createElement("text");
921
- _$insertNode(_el$69, _$createTextNode(`idle`));
922
- _$effect(_$p => _$setProp(_el$69, "fg", props.theme.textMuted, _$p));
923
- return _el$69;
941
+ var _el$72 = _$createElement("text");
942
+ _$insertNode(_el$72, _$createTextNode(`idle`));
943
+ _$effect(_$p => _$setProp(_el$72, "fg", props.theme.textMuted, _$p));
944
+ return _el$72;
924
945
  })();
925
946
  })(), null);
926
- _$effect(_$p => _$setProp(_el$54, "fg", props.theme.textMuted, _$p));
927
- return _el$53;
947
+ _$effect(_$p => _$setProp(_el$57, "fg", props.theme.textMuted, _$p));
948
+ return _el$56;
928
949
  })(), _$createComponent(Show, {
929
950
  get when() {
930
951
  return s()?.dreamerProgress;
931
952
  },
932
953
  children: progress => (() => {
933
- var _el$71 = _$createElement("box"),
934
- _el$72 = _$createElement("text"),
935
- _el$74 = _$createElement("text"),
936
- _el$75 = _$createTextNode(` `),
937
- _el$76 = _$createTextNode(`/`);
938
- _$insertNode(_el$71, _el$72);
939
- _$insertNode(_el$71, _el$74);
940
- _$setProp(_el$71, "width", "100%");
941
- _$setProp(_el$71, "flexDirection", "row");
942
- _$setProp(_el$71, "justifyContent", "space-between");
943
- _$insertNode(_el$72, _$createTextNode(`Dreamer`));
954
+ var _el$74 = _$createElement("box"),
955
+ _el$75 = _$createElement("text"),
956
+ _el$77 = _$createElement("text"),
957
+ _el$78 = _$createTextNode(` `),
958
+ _el$79 = _$createTextNode(`/`);
944
959
  _$insertNode(_el$74, _el$75);
945
- _$insertNode(_el$74, _el$76);
946
- _$insert(_el$74, () => progress().task, _el$75);
947
- _$insert(_el$74, () => progress().processed, _el$76);
948
- _$insert(_el$74, () => progress().total, null);
960
+ _$insertNode(_el$74, _el$77);
961
+ _$setProp(_el$74, "width", "100%");
962
+ _$setProp(_el$74, "flexDirection", "row");
963
+ _$setProp(_el$74, "justifyContent", "space-between");
964
+ _$insertNode(_el$75, _$createTextNode(`Dreamer`));
965
+ _$insertNode(_el$77, _el$78);
966
+ _$insertNode(_el$77, _el$79);
967
+ _$insert(_el$77, () => progress().task, _el$78);
968
+ _$insert(_el$77, () => progress().processed, _el$79);
969
+ _$insert(_el$77, () => progress().total, null);
949
970
  _$effect(_p$ => {
950
971
  var _v$19 = props.theme.textMuted,
951
972
  _v$20 = props.theme.warning;
952
- _v$19 !== _p$.e && (_p$.e = _$setProp(_el$72, "fg", _v$19, _p$.e));
953
- _v$20 !== _p$.t && (_p$.t = _$setProp(_el$74, "fg", _v$20, _p$.t));
973
+ _v$19 !== _p$.e && (_p$.e = _$setProp(_el$75, "fg", _v$19, _p$.e));
974
+ _v$20 !== _p$.t && (_p$.t = _$setProp(_el$77, "fg", _v$20, _p$.t));
954
975
  return _p$;
955
976
  }, {
956
977
  e: undefined,
957
978
  t: undefined
958
979
  });
959
- return _el$71;
980
+ return _el$74;
960
981
  })()
961
982
  }), (() => {
962
- var _el$56 = _$createElement("box"),
963
- _el$57 = _$createElement("text"),
964
- _el$59 = _$createElement("text");
965
- _$insertNode(_el$56, _el$57);
966
- _$insertNode(_el$56, _el$59);
967
- _$setProp(_el$56, "width", "100%");
968
- _$setProp(_el$56, "flexDirection", "row");
969
- _$setProp(_el$56, "justifyContent", "space-between");
970
- _$insertNode(_el$57, _$createTextNode(`Memories`));
971
- _$insert(_el$59, (() => {
983
+ var _el$59 = _$createElement("box"),
984
+ _el$60 = _$createElement("text"),
985
+ _el$62 = _$createElement("text");
986
+ _$insertNode(_el$59, _el$60);
987
+ _$insertNode(_el$59, _el$62);
988
+ _$setProp(_el$59, "width", "100%");
989
+ _$setProp(_el$59, "flexDirection", "row");
990
+ _$setProp(_el$59, "justifyContent", "space-between");
991
+ _$insertNode(_el$60, _$createTextNode(`Memories`));
992
+ _$insert(_el$62, (() => {
972
993
  var _c$10 = _$memo(() => (s()?.memoryBlockCount ?? 0) > 0);
973
994
  return () => _c$10() ? `${s().memoryBlockCount}/${s()?.memoryCount ?? 0}` : String(s()?.memoryCount ?? 0);
974
995
  })());
975
996
  _$effect(_p$ => {
976
997
  var _v$15 = props.theme.textMuted,
977
998
  _v$16 = props.theme.textMuted;
978
- _v$15 !== _p$.e && (_p$.e = _$setProp(_el$57, "fg", _v$15, _p$.e));
979
- _v$16 !== _p$.t && (_p$.t = _$setProp(_el$59, "fg", _v$16, _p$.t));
999
+ _v$15 !== _p$.e && (_p$.e = _$setProp(_el$60, "fg", _v$15, _p$.e));
1000
+ _v$16 !== _p$.t && (_p$.t = _$setProp(_el$62, "fg", _v$16, _p$.t));
980
1001
  return _p$;
981
1002
  }, {
982
1003
  e: undefined,
983
1004
  t: undefined
984
1005
  });
985
- return _el$56;
1006
+ return _el$59;
986
1007
  })(), (() => {
987
- var _el$60 = _$createElement("box"),
988
- _el$61 = _$createElement("text"),
989
- _el$63 = _$createElement("text"),
990
- _el$64 = _$createTextNode(`C:`),
991
- _el$65 = _$createTextNode(` Q:`),
992
- _el$66 = _$createTextNode(` N:`);
993
- _$insertNode(_el$60, _el$61);
994
- _$insertNode(_el$60, _el$63);
995
- _$setProp(_el$60, "width", "100%");
996
- _$setProp(_el$60, "flexDirection", "row");
997
- _$setProp(_el$60, "justifyContent", "space-between");
998
- _$insertNode(_el$61, _$createTextNode(`Status`));
1008
+ var _el$63 = _$createElement("box"),
1009
+ _el$64 = _$createElement("text"),
1010
+ _el$66 = _$createElement("text"),
1011
+ _el$67 = _$createTextNode(`C:`),
1012
+ _el$68 = _$createTextNode(` Q:`),
1013
+ _el$69 = _$createTextNode(` N:`);
999
1014
  _$insertNode(_el$63, _el$64);
1000
- _$insertNode(_el$63, _el$65);
1001
1015
  _$insertNode(_el$63, _el$66);
1002
- _$insert(_el$63, () => s()?.compartmentCount ?? 0, _el$65);
1003
- _$insert(_el$63, () => s()?.pendingOpsCount ?? 0, _el$66);
1004
- _$insert(_el$63, () => s()?.sessionNoteCount ?? 0, null);
1016
+ _$setProp(_el$63, "width", "100%");
1017
+ _$setProp(_el$63, "flexDirection", "row");
1018
+ _$setProp(_el$63, "justifyContent", "space-between");
1019
+ _$insertNode(_el$64, _$createTextNode(`Status`));
1020
+ _$insertNode(_el$66, _el$67);
1021
+ _$insertNode(_el$66, _el$68);
1022
+ _$insertNode(_el$66, _el$69);
1023
+ _$insert(_el$66, () => s()?.compartmentCount ?? 0, _el$68);
1024
+ _$insert(_el$66, () => s()?.pendingOpsCount ?? 0, _el$69);
1025
+ _$insert(_el$66, () => s()?.sessionNoteCount ?? 0, null);
1005
1026
  _$effect(_p$ => {
1006
1027
  var _v$17 = props.theme.textMuted,
1007
1028
  _v$18 = props.theme.textMuted;
1008
- _v$17 !== _p$.e && (_p$.e = _$setProp(_el$61, "fg", _v$17, _p$.e));
1009
- _v$18 !== _p$.t && (_p$.t = _$setProp(_el$63, "fg", _v$18, _p$.t));
1029
+ _v$17 !== _p$.e && (_p$.e = _$setProp(_el$64, "fg", _v$17, _p$.e));
1030
+ _v$18 !== _p$.t && (_p$.t = _$setProp(_el$66, "fg", _v$18, _p$.t));
1010
1031
  return _p$;
1011
1032
  }, {
1012
1033
  e: undefined,
1013
1034
  t: undefined
1014
1035
  });
1015
- return _el$60;
1036
+ return _el$63;
1016
1037
  })(), _$createComponent(Show, {
1017
1038
  get when() {
1018
1039
  return s()?.recompProgress;
@@ -1027,38 +1048,38 @@ const SidebarContent = props => {
1027
1048
  })
1028
1049
  })];
1029
1050
  })());
1030
- return _el$52;
1051
+ return _el$55;
1031
1052
  })();
1032
1053
  })(), null);
1033
1054
  _$insert(_el$25, (() => {
1034
1055
  var _c$6 = _$memo(() => !!!collapsed());
1035
1056
  return () => _c$6() && [_$memo(() => _$memo(() => !!(!compactionOff() && sections().historian))() && [(() => {
1036
- var _el$77 = _$createElement("box"),
1037
- _el$78 = _$createElement("text"),
1038
- _el$79 = _$createElement("b");
1039
- _$insertNode(_el$77, _el$78);
1040
- _$setProp(_el$77, "width", "100%");
1041
- _$setProp(_el$77, "marginTop", 1);
1042
- _$setProp(_el$77, "flexDirection", "row");
1043
- _$setProp(_el$77, "justifyContent", "space-between");
1044
- _$insertNode(_el$78, _el$79);
1045
- _$insertNode(_el$79, _$createTextNode(`Historian`));
1046
- _$insert(_el$77, (() => {
1057
+ var _el$80 = _$createElement("box"),
1058
+ _el$81 = _$createElement("text"),
1059
+ _el$82 = _$createElement("b");
1060
+ _$insertNode(_el$80, _el$81);
1061
+ _$setProp(_el$80, "width", "100%");
1062
+ _$setProp(_el$80, "marginTop", 1);
1063
+ _$setProp(_el$80, "flexDirection", "row");
1064
+ _$setProp(_el$80, "justifyContent", "space-between");
1065
+ _$insertNode(_el$81, _el$82);
1066
+ _$insertNode(_el$82, _$createTextNode(`Historian`));
1067
+ _$insert(_el$80, (() => {
1047
1068
  var _c$11 = _$memo(() => !!s()?.historianRunning);
1048
1069
  return () => _c$11() ? (() => {
1049
- var _el$81 = _$createElement("text");
1050
- _$insertNode(_el$81, _$createTextNode(`comparting ⟳`));
1051
- _$effect(_$p => _$setProp(_el$81, "fg", props.theme.warning, _$p));
1052
- return _el$81;
1070
+ var _el$84 = _$createElement("text");
1071
+ _$insertNode(_el$84, _$createTextNode(`comparting ⟳`));
1072
+ _$effect(_$p => _$setProp(_el$84, "fg", props.theme.warning, _$p));
1073
+ return _el$84;
1053
1074
  })() : (() => {
1054
- var _el$83 = _$createElement("text");
1055
- _$insertNode(_el$83, _$createTextNode(`idle`));
1056
- _$effect(_$p => _$setProp(_el$83, "fg", props.theme.textMuted, _$p));
1057
- return _el$83;
1075
+ var _el$86 = _$createElement("text");
1076
+ _$insertNode(_el$86, _$createTextNode(`idle`));
1077
+ _$effect(_$p => _$setProp(_el$86, "fg", props.theme.textMuted, _$p));
1078
+ return _el$86;
1058
1079
  })();
1059
1080
  })(), null);
1060
- _$effect(_$p => _$setProp(_el$78, "fg", props.theme.text, _$p));
1061
- return _el$77;
1081
+ _$effect(_$p => _$setProp(_el$81, "fg", props.theme.text, _$p));
1082
+ return _el$80;
1062
1083
  })(), _$createComponent(StatRow, {
1063
1084
  get theme() {
1064
1085
  return props.theme;
@@ -0,0 +1,160 @@
1
+ {
2
+ "source": "captured off a running @opencode/cli GA host (AFT load-matrix recording, ga-host-theme.json); subset of ResolvedThemeTokens the sidebar and status dialog read",
3
+ "recorded": {
4
+ "host": "@opencode/cli",
5
+ "version": "2.0.11",
6
+ "channel": "latest",
7
+ "date": "2026-09-21",
8
+ "theme": "the host default, resolved with no terminal palette available",
9
+ "how": "read off context.theme inside a plugin running in the host; the light record was taken after dispatching the host command theme.switch_mode",
10
+ "leaves": "a colour is {\"rgba\": \"#rrggbbaa\"} \u2014 an @opentui/core RGBA read back through toInts(); \"<function>\" is a token group the host exposes as a callable"
11
+ },
12
+ "modes": {
13
+ "dark": {
14
+ "text": {
15
+ "base": {
16
+ "rgba": "#eeeeeeff"
17
+ },
18
+ "muted": {
19
+ "rgba": "#808080ff"
20
+ },
21
+ "feedback": {
22
+ "error": {
23
+ "base": {
24
+ "rgba": "#e06c75ff"
25
+ }
26
+ },
27
+ "warning": {
28
+ "base": {
29
+ "rgba": "#f5a742ff"
30
+ }
31
+ },
32
+ "success": {
33
+ "base": {
34
+ "rgba": "#7fd88fff"
35
+ }
36
+ },
37
+ "info": {
38
+ "base": {
39
+ "rgba": "#56b6c2ff"
40
+ }
41
+ }
42
+ }
43
+ },
44
+ "background": {
45
+ "base": {
46
+ "rgba": "#0a0a0aff"
47
+ }
48
+ },
49
+ "border": {
50
+ "base": {
51
+ "rgba": "#484848ff"
52
+ }
53
+ },
54
+ "hue": {
55
+ "accent": {
56
+ "100": {
57
+ "rgba": "#b38ff4ff"
58
+ },
59
+ "200": {
60
+ "rgba": "#9d7cd8ff"
61
+ },
62
+ "300": {
63
+ "rgba": "#8869bdff"
64
+ },
65
+ "400": {
66
+ "rgba": "#7357a2ff"
67
+ },
68
+ "500": {
69
+ "rgba": "#5f4688ff"
70
+ },
71
+ "600": {
72
+ "rgba": "#4b356fff"
73
+ },
74
+ "700": {
75
+ "rgba": "#392557ff"
76
+ },
77
+ "800": {
78
+ "rgba": "#271640ff"
79
+ },
80
+ "900": {
81
+ "rgba": "#17072bff"
82
+ }
83
+ }
84
+ }
85
+ },
86
+ "light": {
87
+ "text": {
88
+ "base": {
89
+ "rgba": "#1a1a1aff"
90
+ },
91
+ "muted": {
92
+ "rgba": "#8a8a8aff"
93
+ },
94
+ "feedback": {
95
+ "error": {
96
+ "base": {
97
+ "rgba": "#d1383dff"
98
+ }
99
+ },
100
+ "warning": {
101
+ "base": {
102
+ "rgba": "#d68c27ff"
103
+ }
104
+ },
105
+ "success": {
106
+ "base": {
107
+ "rgba": "#3d9a57ff"
108
+ }
109
+ },
110
+ "info": {
111
+ "base": {
112
+ "rgba": "#318795ff"
113
+ }
114
+ }
115
+ }
116
+ },
117
+ "background": {
118
+ "base": {
119
+ "rgba": "#ffffffff"
120
+ }
121
+ },
122
+ "border": {
123
+ "base": {
124
+ "rgba": "#b8b8b8ff"
125
+ }
126
+ },
127
+ "hue": {
128
+ "accent": {
129
+ "100": {
130
+ "rgba": "#c7811eff"
131
+ },
132
+ "200": {
133
+ "rgba": "#d68c27ff"
134
+ },
135
+ "300": {
136
+ "rgba": "#df9a44ff"
137
+ },
138
+ "400": {
139
+ "rgba": "#e8a85cff"
140
+ },
141
+ "500": {
142
+ "rgba": "#f1b671ff"
143
+ },
144
+ "600": {
145
+ "rgba": "#fac386ff"
146
+ },
147
+ "700": {
148
+ "rgba": "#fcd4a8ff"
149
+ },
150
+ "800": {
151
+ "rgba": "#fee3c7ff"
152
+ },
153
+ "900": {
154
+ "rgba": "#fef3e7ff"
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * OpenCode 2 events carry their session id in several different shapes
3
+ * depending on the event family (`sessionID`/`sessionId`/`id`, sometimes nested
4
+ * under `data` or `info`), so one extractor serves every v2 TUI listener.
5
+ */
6
+ export function eventSessionID(event: unknown): string | undefined {
7
+ if (typeof event !== "object" || event === null) return undefined;
8
+ const record = event as Record<string, unknown>;
9
+ const data =
10
+ typeof record.data === "object" && record.data !== null
11
+ ? (record.data as Record<string, unknown>)
12
+ : record;
13
+ for (const key of ["sessionID", "sessionId", "id"]) {
14
+ if (typeof data[key] === "string") return data[key];
15
+ }
16
+ const info = data.info;
17
+ if (typeof info === "object" && info !== null) {
18
+ const nested = info as Record<string, unknown>;
19
+ if (typeof nested.sessionID === "string") return nested.sessionID;
20
+ if (typeof nested.id === "string") return nested.id;
21
+ }
22
+ return undefined;
23
+ }