@wrongstack/core 0.313.1 → 0.316.1

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 (290) hide show
  1. package/dist/chronicle/index.js +31 -31
  2. package/dist/chronicle/legacy-journal-import.d.ts +0 -6
  3. package/dist/chronicle/metrics-ingest.d.ts +14 -0
  4. package/dist/chronicle/metrics-schema.d.ts +10 -1
  5. package/dist/chronicle/metrics-store.d.ts +20 -2
  6. package/dist/chronicle/project-server.js +39 -31
  7. package/dist/chronicle/sink.d.ts +13 -0
  8. package/dist/chronicle/sqlite-journal.d.ts +20 -2
  9. package/dist/{chunk-WOEZV3Q4.js → chunk-25LSLC3G.js} +2 -1
  10. package/dist/{chunk-AI4LLQ2U.js → chunk-27QIURLN.js} +229 -12
  11. package/dist/{chunk-I45KAW2N.js → chunk-3AGWVSS7.js} +38 -450
  12. package/dist/chunk-3BDV7RL3.js +211 -0
  13. package/dist/{chunk-NFAYHPRH.js → chunk-3ECENVHL.js} +10 -8
  14. package/dist/{chunk-FW5LDDMJ.js → chunk-45WI72ZB.js} +1576 -1156
  15. package/dist/{chunk-AT4V4XGI.js → chunk-4BMVPOHO.js} +539 -313
  16. package/dist/{chunk-YBUJCZ57.js → chunk-4I7HGVVA.js} +17 -5
  17. package/dist/{chunk-JVGPR3TS.js → chunk-4LCZVJVF.js} +7 -55
  18. package/dist/{chunk-4ZHTKJHM.js → chunk-4SJNS7OB.js} +36 -2
  19. package/dist/{chunk-AD7ZFZCS.js → chunk-5BMIE7QG.js} +3 -3
  20. package/dist/{chunk-IQ35HMQL.js → chunk-5YPSXQXM.js} +71 -24
  21. package/dist/chunk-6FHWXLPT.js +10 -0
  22. package/dist/{chunk-FIV4IJL7.js → chunk-6H5GEOET.js} +163 -20
  23. package/dist/{chunk-VB3H5WWB.js → chunk-6NWEVFEL.js} +2 -2
  24. package/dist/{chunk-E6I5RXVK.js → chunk-AYW5YINX.js} +2 -2
  25. package/dist/{chunk-DEIQMBD2.js → chunk-B7F4WVP4.js} +2 -2
  26. package/dist/{chunk-XQ2XGIBF.js → chunk-BPBKKBUK.js} +6 -7
  27. package/dist/{chunk-K4YUNKU7.js → chunk-BYD345OX.js} +2 -2
  28. package/dist/{chunk-LZDDLNCZ.js → chunk-C27KDLOX.js} +4 -4
  29. package/dist/{chunk-6AKOTGLM.js → chunk-CU546ESW.js} +7 -7
  30. package/dist/{chunk-ZZ4V3WIZ.js → chunk-DLHHXUAM.js} +10 -1
  31. package/dist/{chunk-BAKVJLEV.js → chunk-DOTHQSJ2.js} +28 -16
  32. package/dist/{chunk-KBZGE6LN.js → chunk-DYLPMV4Q.js} +4 -3
  33. package/dist/{chunk-52RTVH4M.js → chunk-F3JWNST7.js} +2 -2
  34. package/dist/{chunk-WEBMSQP2.js → chunk-FC2ZGRF3.js} +21 -4
  35. package/dist/{chunk-FHAMQS7Q.js → chunk-FCBTO76Z.js} +76 -146
  36. package/dist/{chunk-4LJJYBAU.js → chunk-FHZVFYSL.js} +9 -1
  37. package/dist/{chunk-W4A6QA3D.js → chunk-FWNLEZYG.js} +4 -3
  38. package/dist/{chunk-OJZEX73F.js → chunk-GDQ7CZRQ.js} +5 -1
  39. package/dist/{chunk-QVOVMXJR.js → chunk-GJJGJB2R.js} +32 -9
  40. package/dist/{chunk-4XV6IR37.js → chunk-HI3JGZR2.js} +7 -6
  41. package/dist/{chunk-FSWCWSTS.js → chunk-HMLIGAU7.js} +26 -26
  42. package/dist/{chunk-PFXFQQRT.js → chunk-HXKZ7OBQ.js} +7 -43
  43. package/dist/{chunk-2FQL4PDC.js → chunk-I7DALG7J.js} +5 -5
  44. package/dist/{chunk-GM54GJBU.js → chunk-IRUTEHCE.js} +3 -3
  45. package/dist/{chunk-TYW2GI5I.js → chunk-J2WRWR37.js} +40 -13
  46. package/dist/{chunk-ZEHUCJHY.js → chunk-JFPJ6LLQ.js} +2 -2
  47. package/dist/chunk-JMULFFLN.js +9 -0
  48. package/dist/{chunk-RD6DEE36.js → chunk-JO4MGB6Z.js} +94 -8
  49. package/dist/{chunk-5DSMEVA4.js → chunk-K6BXGITA.js} +7 -7
  50. package/dist/{chunk-O74MJHXU.js → chunk-KZMSZV32.js} +2 -2
  51. package/dist/{chunk-GFJOMSHG.js → chunk-LA7CLDRW.js} +6 -2
  52. package/dist/{chunk-M2WF6AXG.js → chunk-LSMMOS2Z.js} +7 -3
  53. package/dist/{chunk-ASX6AW36.js → chunk-LXWCMQNJ.js} +3 -3
  54. package/dist/{chunk-WZO23AWO.js → chunk-M27LIEKV.js} +72 -22
  55. package/dist/{chunk-JTHKOYWU.js → chunk-MJPHJRAL.js} +15 -15
  56. package/dist/{chunk-G5AAKEEZ.js → chunk-MTL4O5YR.js} +5 -5
  57. package/dist/chunk-NHJ75HXY.js +1 -0
  58. package/dist/{chunk-ZYU2YOJ6.js → chunk-NIOAGFPB.js} +29 -15
  59. package/dist/{chunk-Y2GE5TSI.js → chunk-NS52ISWS.js} +2 -2
  60. package/dist/{chunk-UIWONWVG.js → chunk-NSOFPKGT.js} +541 -148
  61. package/dist/{chunk-RCQYT2I4.js → chunk-NVIZG63R.js} +2 -2
  62. package/dist/{chunk-EPC3GZD4.js → chunk-OOYZPOXM.js} +2 -2
  63. package/dist/{chunk-7ZHZE5EO.js → chunk-OSGLYW5J.js} +2 -2
  64. package/dist/{chunk-CE4ZOCOI.js → chunk-PFCMSSUF.js} +9 -9
  65. package/dist/{chunk-GFXZTHNI.js → chunk-PGRVXIMY.js} +5 -5
  66. package/dist/{chunk-JJPMWPB6.js → chunk-PISBFBJN.js} +6 -6
  67. package/dist/chunk-POOOIWE5.js +9 -0
  68. package/dist/{chunk-5RP3QTRL.js → chunk-PQNS3U7Z.js} +20 -3
  69. package/dist/{chunk-3E244UDA.js → chunk-QSTSJOCK.js} +52 -6
  70. package/dist/{chunk-YUPMXOGP.js → chunk-RFQMOKWK.js} +3 -3
  71. package/dist/chunk-RTOTNK3P.js +484 -0
  72. package/dist/{chunk-SN2DQRL6.js → chunk-RXKSDUAU.js} +7 -7
  73. package/dist/{chunk-T3KGZBU5.js → chunk-S45JPKQN.js} +189 -43
  74. package/dist/{chunk-YNCVSFGF.js → chunk-SAFHACFA.js} +4 -1
  75. package/dist/{chunk-KI4L2DUL.js → chunk-TCCHINEF.js} +114 -19
  76. package/dist/{chunk-AWNQ6ED6.js → chunk-THEGTRAG.js} +7 -2
  77. package/dist/{chunk-2KKODIQU.js → chunk-TR4LQE7L.js} +15 -15
  78. package/dist/{chunk-GPQ3NJPR.js → chunk-TWJMGXCI.js} +3 -3
  79. package/dist/{chunk-H72H4XDU.js → chunk-U45AXT5D.js} +9 -9
  80. package/dist/{chunk-62V2AFVG.js → chunk-U4FWBSO3.js} +160 -73
  81. package/dist/{chunk-A455ATZB.js → chunk-UBGDX6FI.js} +8 -1
  82. package/dist/chunk-UJILKYES.js +75 -0
  83. package/dist/{chunk-KSJ5UTP7.js → chunk-ULMAQV3T.js} +84 -4
  84. package/dist/{chunk-CB2HFKTP.js → chunk-VVBP6KGT.js} +1 -1
  85. package/dist/{chunk-RPOA7IAE.js → chunk-W5VITDM2.js} +43 -25
  86. package/dist/{chunk-QRTG4XTI.js → chunk-WAHQVNWT.js} +7 -1
  87. package/dist/{chunk-SQP64RCS.js → chunk-WGGYRBXH.js} +3019 -2976
  88. package/dist/{chunk-K3G6JBUC.js → chunk-WLYKU45P.js} +679 -141
  89. package/dist/chunk-WP7BVANJ.js +53 -0
  90. package/dist/{chunk-GAZEWQEZ.js → chunk-XF4VUMKW.js} +2 -2
  91. package/dist/{chunk-PAAWLLZX.js → chunk-Y5YXDM7D.js} +2 -2
  92. package/dist/{chunk-65RDIOR2.js → chunk-YOPAUVU4.js} +162 -44
  93. package/dist/{chunk-FFSX2QDQ.js → chunk-YPT4A46F.js} +3 -3
  94. package/dist/chunk-YWXT3JNM.js +425 -0
  95. package/dist/{chunk-EFEHDQGY.js → chunk-ZHZ2Y2DH.js} +64 -10
  96. package/dist/{chunk-CQQL4ZOQ.js → chunk-ZT7JNIGX.js} +4 -3
  97. package/dist/coordination/agent-monitor.d.ts +9 -1
  98. package/dist/coordination/agent-subagent-runner.d.ts +1 -1
  99. package/dist/coordination/agents/agent-prompts.d.ts +8 -0
  100. package/dist/coordination/agents/index.d.ts +33 -1
  101. package/dist/coordination/agents/index.js +52 -22
  102. package/dist/coordination/agents/phase3-wave1-platform.d.ts +1 -3
  103. package/dist/coordination/agents/phase3-wave2-meta.d.ts +1 -3
  104. package/dist/coordination/agents/phase8-wave3-products.d.ts +1 -3
  105. package/dist/coordination/agents/phase9-wave4-platform-meta.d.ts +1 -3
  106. package/dist/coordination/agents/project-agent-identity.d.ts +11 -11
  107. package/dist/coordination/agents/types.d.ts +13 -2
  108. package/dist/coordination/brain-monitor.d.ts +30 -7
  109. package/dist/coordination/collab-debug.d.ts +1 -1
  110. package/dist/coordination/collab-pause.d.ts +1 -1
  111. package/dist/coordination/delegate-tool.d.ts +7 -5
  112. package/dist/coordination/director-kanban-queue-helpers.d.ts +1 -0
  113. package/dist/coordination/director-options.d.ts +7 -0
  114. package/dist/coordination/director-spawn-model.d.ts +17 -0
  115. package/dist/coordination/director-tools.d.ts +2 -2
  116. package/dist/coordination/director.d.ts +12 -0
  117. package/dist/coordination/dispatcher.d.ts +8 -0
  118. package/dist/coordination/fleet-bus.d.ts +35 -4
  119. package/dist/coordination/fleet-supervisor.d.ts +10 -2
  120. package/dist/coordination/fleet.d.ts +16 -7
  121. package/dist/coordination/index.d.ts +4 -0
  122. package/dist/coordination/index.js +86 -49
  123. package/dist/coordination/kanban-dispatch-port.d.ts +2 -2
  124. package/dist/coordination/mailbox-http-router.d.ts +4 -3
  125. package/dist/coordination/mailbox-http-validation.d.ts +1 -1
  126. package/dist/coordination/mailbox-project-server.js +15 -15
  127. package/dist/coordination/mailbox-types.d.ts +24 -6
  128. package/dist/coordination/model-tier-leader.d.ts +122 -0
  129. package/dist/coordination/model-tier.d.ts +122 -0
  130. package/dist/coordination/multi-agent-coordinator.d.ts +24 -0
  131. package/dist/coordination/origin-session.d.ts +16 -0
  132. package/dist/coordination/provider-status-tracker.d.ts +37 -5
  133. package/dist/coordination/session-note-hub.d.ts +44 -0
  134. package/dist/coordination/session-note-tool.d.ts +10 -0
  135. package/dist/core/agent.d.ts +1 -1
  136. package/dist/core/context.d.ts +22 -3
  137. package/dist/core/index.d.ts +2 -0
  138. package/dist/core/index.js +130 -38
  139. package/dist/core/request-conversation-binding.d.ts +37 -0
  140. package/dist/core/session-notes.d.ts +25 -0
  141. package/dist/core/system-prompt-builder.d.ts +11 -2
  142. package/dist/core/system-prompt-variants.d.ts +78 -0
  143. package/dist/design/index.js +3 -3
  144. package/dist/execution/auto-compaction-middleware.d.ts +11 -0
  145. package/dist/execution/autonomy-brain.d.ts +2 -1
  146. package/dist/execution/autonomy-prompt-contributor.d.ts +7 -2
  147. package/dist/execution/compaction-core.d.ts +4 -4
  148. package/dist/execution/eternal-autonomy.d.ts +1 -1
  149. package/dist/execution/index.js +138 -129
  150. package/dist/execution/model-runtime.d.ts +0 -7
  151. package/dist/execution/parallel-eternal-engine.d.ts +7 -7
  152. package/dist/extension/index.js +3 -3
  153. package/dist/goal/index.js +6 -6
  154. package/dist/hooks/index.js +3 -3
  155. package/dist/hq/index.js +14 -12
  156. package/dist/hq/persistence/event-log.d.ts +0 -1
  157. package/dist/hq/persistence.d.ts +4 -4
  158. package/dist/hq/publisher.d.ts +2 -0
  159. package/dist/index.d.ts +14 -11
  160. package/dist/index.js +728 -635
  161. package/dist/infrastructure/index.d.ts +4 -4
  162. package/dist/infrastructure/index.js +281 -260
  163. package/dist/infrastructure/token-counter.d.ts +9 -0
  164. package/dist/kernel/events/agent-events.d.ts +77 -3
  165. package/dist/kernel/events/brain-events.d.ts +12 -0
  166. package/dist/kernel/events/provider-events.d.ts +7 -1
  167. package/dist/kernel/events/session-events.d.ts +14 -0
  168. package/dist/kernel/events/tool-events.d.ts +13 -0
  169. package/dist/kernel/index.js +4 -4
  170. package/dist/mailbox-attach.d.ts +1 -1
  171. package/dist/models/index.js +10 -9
  172. package/dist/observability/event-bridge.d.ts +25 -5
  173. package/dist/observability/index.d.ts +9 -8
  174. package/dist/observability/index.js +459 -351
  175. package/dist/observability/tool-usage-source.d.ts +65 -0
  176. package/dist/plugin/index.d.ts +5 -0
  177. package/dist/plugin/index.js +66 -50
  178. package/dist/plugins/auto-review-plugin.d.ts +3 -2
  179. package/dist/plugins/review-finding-commands.d.ts +0 -8
  180. package/dist/{review-finding-store-DKAV3AS6.js → plugins/review-finding-store.js} +7 -6
  181. package/dist/plugins/review-finding-types.js +19 -0
  182. package/dist/plugins/review-report-integration.js +21 -0
  183. package/dist/{review-report-store-OWY3EC3N.js → plugins/review-report-store.js} +7 -6
  184. package/dist/plugins/review-report-types.js +13 -0
  185. package/dist/prompts/index.js +5 -5
  186. package/dist/registry/index.js +3 -3
  187. package/dist/registry/tool-registry.d.ts +59 -9
  188. package/dist/{registry-R23UBE7H.js → registry-7N4O3E7W.js} +5 -5
  189. package/dist/security/capabilities.d.ts +6 -0
  190. package/dist/security/file-permissions.d.ts +1 -1
  191. package/dist/security/index.js +47 -33
  192. package/dist/security/permission-policy.d.ts +12 -1
  193. package/dist/security/secret-scrubber.d.ts +15 -0
  194. package/dist/session-catalog/index.d.ts +1 -0
  195. package/dist/session-catalog/index.js +19 -14
  196. package/dist/session-catalog/project-server.js +30 -13
  197. package/dist/session-catalog/protocol.d.ts +32 -1
  198. package/dist/session-catalog/registry.d.ts +17 -1
  199. package/dist/session-catalog/session-agents.d.ts +56 -0
  200. package/dist/session-catalog/store-rebuild.d.ts +14 -0
  201. package/dist/session-catalog/store-schema.d.ts +26 -0
  202. package/dist/session-catalog/store.d.ts +27 -1
  203. package/dist/session-note-attach.d.ts +9 -0
  204. package/dist/skills/index.js +5 -5
  205. package/dist/statusline/index.d.ts +43 -0
  206. package/dist/statusline/index.js +102 -0
  207. package/dist/storage/board-store-port.d.ts +2 -2
  208. package/dist/storage/config-loader/in-project-policy.d.ts +29 -0
  209. package/dist/storage/config-loader.d.ts +3 -2
  210. package/dist/storage/file-session-writer.d.ts +4 -2
  211. package/dist/storage/goal-coordination.d.ts +6 -1
  212. package/dist/storage/goal-kanban.d.ts +4 -1
  213. package/dist/storage/index.d.ts +12 -4
  214. package/dist/storage/index.js +76 -61
  215. package/dist/storage/input-history-store.d.ts +2 -4
  216. package/dist/storage/memory-curator.d.ts +133 -0
  217. package/dist/storage/session-agent-attribution.d.ts +39 -0
  218. package/dist/storage/session-doctor.d.ts +109 -0
  219. package/dist/storage/session-event-bridge.d.ts +5 -7
  220. package/dist/storage/session-outcome.d.ts +42 -0
  221. package/dist/storage/session-recovery.d.ts +55 -0
  222. package/dist/storage/session-store/load-session-data.d.ts +11 -0
  223. package/dist/storage/session-store/prune-helpers.d.ts +1 -1
  224. package/dist/storage/session-store/resume-session.d.ts +0 -2
  225. package/dist/storage/session-store/types.d.ts +8 -0
  226. package/dist/storage/session-store.d.ts +3 -3
  227. package/dist/storage/session-summary-tracker.d.ts +8 -1
  228. package/dist/storage/session-write-buffer.d.ts +18 -0
  229. package/dist/storage/session-writer-truncate.d.ts +2 -0
  230. package/dist/tasking/index.js +2 -2
  231. package/dist/tools/fallback-manage-tools.d.ts +6 -4
  232. package/dist/tools/index.js +21 -21
  233. package/dist/tools/model-tier-set-tool.d.ts +66 -0
  234. package/dist/types/agent-bridge.d.ts +2 -1
  235. package/dist/types/config/mcp-features.d.ts +7 -0
  236. package/dist/types/config/model-tiers.d.ts +148 -0
  237. package/dist/types/config/root.d.ts +9 -0
  238. package/dist/types/config/tools.d.ts +73 -0
  239. package/dist/types/config.d.ts +1 -0
  240. package/dist/types/context.d.ts +2 -0
  241. package/dist/types/default-config.d.ts +6 -0
  242. package/dist/types/errors.d.ts +2 -1
  243. package/dist/types/index.d.ts +11 -9
  244. package/dist/types/index.js +25 -15
  245. package/dist/types/multi-agent.d.ts +43 -0
  246. package/dist/types/plugin.d.ts +1 -1
  247. package/dist/types/provider.d.ts +15 -0
  248. package/dist/types/runtime-capability-manifest.d.ts +1 -1
  249. package/dist/types/secret-scrubber.d.ts +15 -0
  250. package/dist/types/session-markers.d.ts +37 -10
  251. package/dist/types/session-markers.js +1 -1
  252. package/dist/types/session-timeline.d.ts +197 -0
  253. package/dist/types/session-timeline.js +12 -0
  254. package/dist/types/session.d.ts +172 -11
  255. package/dist/types/system-prompt.d.ts +27 -0
  256. package/dist/utils/config-backup.d.ts +9 -1
  257. package/dist/utils/heap-watchdog.js +2 -2
  258. package/dist/utils/index.js +50 -48
  259. package/dist/utils/message-invariants.d.ts +4 -1
  260. package/dist/utils/regex-guard.d.ts +1 -1
  261. package/dist/utils/socket-path.d.ts +1 -1
  262. package/dist/utils/token-estimate.d.ts +6 -2
  263. package/dist/utils/wstack-paths.d.ts +2 -0
  264. package/dist/wiring/proxy-rewrite.d.ts +28 -0
  265. package/dist/wiring/proxy-rewrite.js +7 -1
  266. package/dist/worktree/index.js +2 -2
  267. package/instructions/agents/explore-companion.md +45 -18
  268. package/instructions/agents/memory-curator.md +34 -22
  269. package/instructions/coordination/director-preamble.md +12 -7
  270. package/instructions/coordination/subagent-baseline.md +26 -5
  271. package/instructions/leader-after-task.md +4 -1
  272. package/instructions/llm/chimera-review.md +30 -9
  273. package/instructions/llm/memory-curator.md +31 -0
  274. package/instructions/sections/tool/delegation-compact.md +2 -0
  275. package/instructions/sections/tool/delegation-full.md +5 -1
  276. package/instructions/sections/tool/mailbox-compact.md +5 -1
  277. package/instructions/sections/tool/mailbox-full.md +3 -0
  278. package/instructions/sections/tool/session-note-compact.md +3 -0
  279. package/instructions/sections/tool/session-note-full.md +15 -0
  280. package/instructions/system-lite.md +9 -4
  281. package/instructions/system-pro.md +66 -143
  282. package/instructions/system.md +73 -175
  283. package/package.json +32 -4
  284. package/dist/chunk-2BUUIMQB.js +0 -225
  285. package/dist/chunk-FAYRX2AD.js +0 -13
  286. package/dist/chunk-H5E77KUJ.js +0 -15
  287. package/dist/chunk-M7BS2K6U.js +0 -1
  288. package/dist/coordination/agents.d.ts +0 -8
  289. package/dist/coordination/transport.d.ts +0 -2
  290. package/dist/storage/session-writer/session-writer-summary-tracker.d.ts +0 -28
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Framework-free statusline chip contract.
3
+ *
4
+ * Single source of truth shared by the CLI persistence layer
5
+ * (`packages/cli/src/services/statusline-config.ts`, which writes the
6
+ * per-profile `statusline.json`) and the TUI renderer
7
+ * (`packages/tui/src/components/statusline-picker.tsx` +
8
+ * `status-line-registry.tsx`). Must stay free of React/Ink/Node imports so
9
+ * both packages can depend on it.
10
+ */
11
+ /** All possible statusline chip keys (canonical set).
12
+ *
13
+ * Stale keys still present in a saved `statusline.json` (including
14
+ * long-removed phantoms like 'cpu', 'memory', 'time', 'sage') are silently
15
+ * ignored by downstream consumers; the canonical key set is exactly the
16
+ * union below. */
17
+ export type StatuslineItem = 'state' | 'model' | 'tokens' | 'cache' | 'queue' | 'hint' | 'index' | 'breaker' | 'todos' | 'plan' | 'tasks' | 'fleet' | 'fleet_agents' | 'git' | 'elapsed' | 'context' | 'cost' | 'processes' | 'working_dir' | 'project' | 'yolo' | 'autonomy' | 'eternal_stage' | 'goal' | 'mode' | 'auto_proceed' | 'sessions' | 'tools' | 'theme' | 'token_saving' | 'brain' | 'mailbox' | 'enhance' | 'debug_stream' | 'next_steps' | 'memory_context' | 'side_effects' | 'version' | 'dropped_tools' | 'prompt_variant';
18
+ /** Physical status bar line a chip renders on (1-based, detailed mode). */
19
+ export type StatuslineLine = 1 | 2 | 3 | 4;
20
+ /**
21
+ * Sparse per-chip line overrides (chip key → assigned line). Absent keys
22
+ * fall back to `DEFAULT_LINES`. Values outside 1–4 are invalid and must be
23
+ * clamped/dropped by the persistence layer before reaching the renderer.
24
+ */
25
+ export type StatuslineLines = Partial<Record<StatuslineItem, StatuslineLine>>;
26
+ /**
27
+ * Ordered list of statusline items — grouped by display line, then in
28
+ * RENDER order within each line so consumers iterate the statusline
29
+ * top-to-bottom, left-to-right. Within a line this order is also the
30
+ * overflow drop order (later entries drop first).
31
+ */
32
+ export declare const STATUSLINE_ITEMS: StatuslineItem[];
33
+ /**
34
+ * Default status bar line per chip. MUST mirror the actual rail composition
35
+ * in the TUI's rail builders — `statusline-navigation-order.test.ts` and the
36
+ * `status-bar-rail-order` suite pin the rendered order, and the CLI's
37
+ * `STATUSLINE_CONFIG_KEYS` must stay set-equal with `STATUSLINE_ITEMS`
38
+ * (drift-guarded in `packages/cli/tests`).
39
+ */
40
+ export declare const DEFAULT_LINES: Record<StatuslineItem, StatuslineLine>;
41
+ /** Total number of statusline chips in the contract. */
42
+ export declare const STATUSLINE_FIELD_COUNT: number;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,102 @@
1
+ // src/statusline/index.ts
2
+ var STATUSLINE_ITEMS = [
3
+ // Line 1 — workspace & identity
4
+ "project",
5
+ "working_dir",
6
+ "git",
7
+ "model",
8
+ "mode",
9
+ "prompt_variant",
10
+ "theme",
11
+ "sessions",
12
+ "tools",
13
+ "version",
14
+ // Line 2 — run state, safety & vitals
15
+ "state",
16
+ "yolo",
17
+ "autonomy",
18
+ "eternal_stage",
19
+ "breaker",
20
+ "context",
21
+ "tokens",
22
+ "cost",
23
+ "cache",
24
+ "queue",
25
+ "processes",
26
+ "elapsed",
27
+ "token_saving",
28
+ "side_effects",
29
+ "hint",
30
+ // Line 3 — active work & countdowns
31
+ "goal",
32
+ "todos",
33
+ "plan",
34
+ "tasks",
35
+ "next_steps",
36
+ "auto_proceed",
37
+ "enhance",
38
+ "dropped_tools",
39
+ // Line 4 — fleet, connectivity & background services
40
+ "fleet",
41
+ "fleet_agents",
42
+ "mailbox",
43
+ "brain",
44
+ "debug_stream",
45
+ "memory_context",
46
+ "index"
47
+ ];
48
+ var DEFAULT_LINES = {
49
+ // Line 1 — workspace & identity: static session header (rarely changes).
50
+ // theme/sessions/tools are the tail so overflow drops them first.
51
+ project: 1,
52
+ working_dir: 1,
53
+ git: 1,
54
+ model: 1,
55
+ mode: 1,
56
+ prompt_variant: 1,
57
+ theme: 1,
58
+ sessions: 1,
59
+ tools: 1,
60
+ version: 1,
61
+ // Line 2 — run state, safety & vitals: breaker leads the dynamic block
62
+ // (urgency), hint is last (ephemeral, first dropped on overflow).
63
+ state: 2,
64
+ yolo: 2,
65
+ autonomy: 2,
66
+ eternal_stage: 2,
67
+ breaker: 2,
68
+ context: 2,
69
+ tokens: 2,
70
+ cost: 2,
71
+ cache: 2,
72
+ queue: 2,
73
+ processes: 2,
74
+ elapsed: 2,
75
+ token_saving: 2,
76
+ side_effects: 2,
77
+ hint: 2,
78
+ // Line 3 — active work & countdowns (conditional)
79
+ goal: 3,
80
+ todos: 3,
81
+ plan: 3,
82
+ tasks: 3,
83
+ next_steps: 3,
84
+ auto_proceed: 3,
85
+ enhance: 3,
86
+ dropped_tools: 3,
87
+ // Line 4 — fleet, connectivity & background services (conditional)
88
+ fleet: 4,
89
+ fleet_agents: 4,
90
+ mailbox: 4,
91
+ brain: 4,
92
+ debug_stream: 4,
93
+ memory_context: 4,
94
+ index: 4
95
+ };
96
+ var STATUSLINE_FIELD_COUNT = STATUSLINE_ITEMS.length;
97
+ export {
98
+ DEFAULT_LINES,
99
+ STATUSLINE_FIELD_COUNT,
100
+ STATUSLINE_ITEMS
101
+ };
102
+ //# sourceMappingURL=index.js.map
@@ -22,11 +22,11 @@ export interface BoardStorePort {
22
22
  listBoards(projectRoot: string): Promise<KanbanBoardSummary[]>;
23
23
  getBoard(projectRoot: string, boardId: string): Promise<KanbanBoard | null>;
24
24
  removeBoard(projectRoot: string, boardId: string): Promise<boolean>;
25
- addTask(projectRoot: string, boardId: string, input: CreateKanbanTaskInput, eventContext?: KanbanEventContext): Promise<{
25
+ addTask(projectRoot: string, boardId: string, input: CreateKanbanTaskInput, eventContext: KanbanEventContext): Promise<{
26
26
  board: KanbanBoard;
27
27
  task: KanbanTask;
28
28
  } | null>;
29
- updateTask(projectRoot: string, boardId: string, taskId: string, input: UpdateKanbanTaskInput, eventContext?: KanbanEventContext): Promise<KanbanBoard | null>;
29
+ updateTask(projectRoot: string, boardId: string, taskId: string, input: UpdateKanbanTaskInput, eventContext: KanbanEventContext): Promise<KanbanBoard | null>;
30
30
  }
31
31
  /** Composition-root hook: register the real kanban-backed implementation. */
32
32
  export declare function setBoardStorePort(impl: BoardStorePort): void;
@@ -1,4 +1,33 @@
1
+ import type { Config } from '../../types/config.js';
1
2
  import type { PartialConfig } from './env-overrides.js';
3
+ /**
4
+ * Every top-level `Config` field, as literals. Kept exhaustive by
5
+ * `ConfigFieldRegistryCoverage` below rather than by hand: this registry is
6
+ * what `assertInProjectAllowListComplete` iterates, so a field missing HERE
7
+ * is a field the allow/deny drift guard never looks at. That is not
8
+ * hypothetical — it is exactly how `fallbackMaxLastResortCandidates` slipped
9
+ * past (see its deny entry above), and five more had followed it in
10
+ * (`systemPrompt`, `themePreset`, `modelTiers`, `chronicle`,
11
+ * `fallbackGateSeconds`) before the compile gate was added.
12
+ */
13
+ declare const KNOWN_CONFIG_TOP_LEVEL_KEY_LIST: readonly ['version', 'activeProfile', 'provider', 'model', 'apiKey', 'baseUrl', 'maxConcurrent', 'uiLocale', 'providers', 'models', 'modelMatrix', 'context', 'tools', 'mcpServers', 'fallbackModels', 'fallbackBridge', 'fallbackProfiles', 'fallbackProfile', 'favoriteModels', 'favoriteModelsOnly', 'modelAvailabilitySchedule', 'fallbackAuto', 'fallbackStickiness', 'fallbackMaxLastResortCandidates', 'hooks', 'plugins', 'pluginManager', 'log', 'features', 'Sage', 'skills', 'yolo', 'nextPrediction', 'cwd', 'autonomy', 'hints', 'debugStream', 'configScope', 'indexing', 'circuitBreaker', 'adaptiveConcurrency', 'launch', 'session', 'modelRuntime', 'hq', 'sync', 'cloudSync', 'extensions', 'acp', 'fleet', 'brain', 'git', 'themePreset', 'modelTiers', 'fallbackGateSeconds', 'chronicle', 'systemPrompt'];
14
+ /** Compile-time `never` assertion; the TS error names the offending keys. */
15
+ type AssertNever<T extends never> = T;
16
+ /** `Config` fields the registry above forgot. Must be `never`. */
17
+ type UnregisteredConfigField = Exclude<keyof Config, (typeof KNOWN_CONFIG_TOP_LEVEL_KEY_LIST)[number]>;
18
+ /** Registry entries `Config` no longer has. Must be `never`. */
19
+ type StaleRegistryField = Exclude<(typeof KNOWN_CONFIG_TOP_LEVEL_KEY_LIST)[number], keyof Config>;
20
+ /**
21
+ * The gate that makes `assertInProjectAllowListComplete` trustworthy.
22
+ *
23
+ * That function is a runtime check, and a runtime check cannot see
24
+ * `keyof Config` — it can only iterate the registry it is handed. So the
25
+ * registry itself has to be verified at compile time, or "every Config field
26
+ * is classified" quietly degrades into "every field someone remembered to
27
+ * list is classified".
28
+ */
29
+ export type ConfigFieldRegistryCoverage = AssertNever<UnregisteredConfigField> | AssertNever<StaleRegistryField>;
2
30
  export declare function assertInProjectAllowListComplete(): void;
3
31
  export declare function stripUnsafeInProjectFields(inProject: PartialConfig, sourcePath: string, warn?: (msg: string) => void): PartialConfig;
32
+ export {};
4
33
  //# sourceMappingURL=in-project-policy.d.ts.map
@@ -1,9 +1,10 @@
1
1
  import type { Config, ConfigLoader, SyncConfig } from '../types/config.js';
2
2
  import type { ConfigLoaderOptions } from './config-loader/types.js';
3
- export { type ConfigDefaultRepair, type ConfigDefaultRepairReport, fillMissingDefaults, repairConfigDefaults, } from './config-loader/default-repair.js';
3
+ export { fillMissingDefaults, repairConfigDefaults } from './config-loader/default-repair.js';
4
4
  export { CONFIG_BEHAVIOR_DEFAULTS } from './config-loader/defaults.js';
5
5
  export { assertInProjectAllowListComplete, stripUnsafeInProjectFields, } from './config-loader/in-project-policy.js';
6
- export type { ConfigLoaderOptions, ConfigSource, MemoizedConfigSource, } from './config-loader/types.js';
6
+ export type { ConfigLoaderOptions, ConfigSource } from './config-loader/types.js';
7
+ export type { ConfigDefaultRepair, ConfigDefaultRepairReport } from './config-loader/default-repair.js';
7
8
  export declare class DefaultConfigLoader implements ConfigLoader {
8
9
  private readonly paths;
9
10
  private readonly strict;
@@ -1,7 +1,7 @@
1
1
  import * as fsp from 'node:fs/promises';
2
- import type { EventBus } from './event-bus-port.js';
3
2
  import type { SecretScrubber } from '../types/secret-scrubber.js';
4
3
  import type { FileSnapshot, SessionEvent, SessionMetadata, SessionSummary, SessionWriter } from '../types/session.js';
4
+ import type { EventBus } from './event-bus-port.js';
5
5
  import type { SessionCheckpointCas } from './session-checkpoint-cas.js';
6
6
  /**
7
7
  * Append-mode JSONL session writer with batched writes, write serialization,
@@ -14,7 +14,7 @@ import type { SessionCheckpointCas } from './session-checkpoint-cas.js';
14
14
  export declare class FileSessionWriter implements SessionWriter {
15
15
  readonly id: string;
16
16
  private handle;
17
- private readonly startedAt;
17
+ readonly startedAt: string;
18
18
  private readonly meta;
19
19
  private readonly events?;
20
20
  private closed;
@@ -33,6 +33,7 @@ export declare class FileSessionWriter implements SessionWriter {
33
33
  private initPromise;
34
34
  private ensureInit;
35
35
  private readonly resumed;
36
+ private readonly lifecyclePreambleTs;
36
37
  private readonly secretScrubber?;
37
38
  private readonly checkpointCas?;
38
39
  /** Mutable slot for onAppend callback — constructor opts seed it, setOnAppend replaces it. */
@@ -180,6 +181,7 @@ export declare class FileSessionWriter implements SessionWriter {
180
181
  * of O(N) JSON.parse calls over the full file.
181
182
  */
182
183
  truncateToCheckpoint(targetPromptIndex: number, revertedFiles?: readonly string[]): Promise<number>;
184
+ private deleteRewoundSubagentTranscripts;
183
185
  clearSession(): Promise<void>;
184
186
  /**
185
187
  * Write an in-flight marker. The agent loop should call
@@ -16,7 +16,12 @@ export interface CoordinateGoalIterationOptions {
16
16
  goalPath: string;
17
17
  finalText: string;
18
18
  brain?: BrainArbiter | undefined;
19
- sessionId?: string | undefined;
19
+ /**
20
+ * Session running this autonomy iteration. Required: closing a deliverable
21
+ * writes durable Kanban events, and those are attributed to the session that
22
+ * produced the `[DONE:]` marker.
23
+ */
24
+ sessionId: string;
20
25
  events?: EventBus | undefined;
21
26
  now?: (() => Date) | undefined;
22
27
  }
@@ -23,8 +23,11 @@ import type { GoalFile } from './goal-store.js';
23
23
  * deliverable. The board id is stored on `goalFile.kanbanBoardId`.
24
24
  *
25
25
  * Returns the board id. Returns null when the project root is unavailable.
26
+ *
27
+ * `sessionId` is the session that set the goal: the deliverable tasks it seeds
28
+ * are durable board events, and they belong to that session.
26
29
  */
27
- export declare function createGoalKanbanBoard(projectRoot: string, goalFile: GoalFile): Promise<string | null>;
30
+ export declare function createGoalKanbanBoard(projectRoot: string, goalFile: GoalFile, sessionId: string): Promise<string | null>;
28
31
  /**
29
32
  * Find a kanban board by id. Returns null when the board doesn't exist
30
33
  * (e.g. manually deleted). The caller should handle this gracefully.
@@ -1,13 +1,18 @@
1
- export { type BoardStorePort, boardStore, setBoardStorePort, } from './board-store-port.js';
2
1
  export { type CatalogSessionRecord, type MaintenanceLease, type ResumeReservation, type SessionCatalogHealth, SessionCatalogProjectClient, type SessionCatalogProjectClientOptions, type SessionLeaseCredential, type SessionResumeClaim, } from '../session-catalog/index.js';
3
2
  export { getProjectSessionRegistry as getSessionRegistry, hasProjectSessionRegistry as hasSessionRegistry, ProjectSessionRegistry as SessionRegistry, } from '../session-catalog/registry.js';
3
+ export { deriveSessionAgents, type SessionAgentRecord, type SessionAgentStatus, } from '../session-catalog/session-agents.js';
4
4
  export type { AgentEntry, AgentLiveStatus, SessionLiveStatus, SessionRegistryEntry, SessionWebUIEndpointHint, } from '../session-catalog/session-registry.js';
5
- /** @deprecated Test/migration adapter; production ownership uses SessionRegistry above. */
5
+ /**
6
+ * @deprecated Test/migration adapter; production ownership uses SessionRegistry
7
+ * above. Remove once `packages/webui-server/tests/standalone-session-identity.test.ts`
8
+ * migrates to the canonical subpath import (tracked for the 0.320 major).
9
+ */
6
10
  export { SessionRegistry as LegacySessionRegistry } from '../session-catalog/session-registry.js';
7
11
  export type { SyncCategory, SyncConfig } from '../types/config.js';
8
12
  export type { DefaultSessionReaderOptions, SessionReader } from '../types/session-reader.js';
9
13
  export { type Annotation, AnnotationsStore, type AnnotationsStoreOptions, } from './annotations-store.js';
10
14
  export { type AttachmentStoreOptions, DefaultAttachmentStore, } from './attachment-store.js';
15
+ export { type BoardStorePort, boardStore, setBoardStorePort, } from './board-store-port.js';
11
16
  export { applyNamespacePayload, buildNamespacePayloads, CLOUD_SYNC_CONTRACT, CLOUD_SYNC_NAMESPACES, CloudConfigSync, type CloudConfigSyncDeps, type CloudConfigSyncSettings, type CloudSyncPassSummary, LOCAL_ONLY_TOP_LEVEL, NAMESPACE_SCHEMA_VERSIONS, stripSecretMaterial, } from './cloud-config-sync.js';
12
17
  export { ALL_SYNC_CATEGORIES, CloudSync, type SyncResult, } from './cloud-sync.js';
13
18
  export { type CompletedWorkCheckpointFile, loadCompletedWorkCheckpoint, saveCompletedWorkCheckpoint, } from './completed-work-checkpoint.js';
@@ -21,7 +26,9 @@ export { appendJournal, emptyGoal, formatGoal, type GoalFile, goalFilePath, type
21
26
  export { INPUT_HISTORY_DEFAULT_MAX, InputHistoryStore, } from './input-history-store.js';
22
27
  export { FileMemoryBackend, type FileMemoryBackendOptions, type MemoryBackend, parseEntries, } from './memory-backend.js';
23
28
  export { type ConsolidationOp, type ConsolidatorSage, type MemoryConsolidatorOptions, SessionMemoryConsolidator, } from './memory-consolidator.js';
29
+ export { type CuratorOperation, type CuratorSage, type CuratorSageCandidate, type CuratorSageRecord, SessionMemoryCurator, type SessionMemoryCuratorOptions, } from './memory-curator.js';
24
30
  export { GraphMemoryBackend, type GraphMemoryBackendOptions, } from './memory-graph-backend.js';
31
+ export { cleanOrphanLocks, type OrphanLockCleanResult, } from './orphan-lock-cleaner.js';
25
32
  export { addPlanItem, attachPlanCheckpoint, clearPlan, deriveTodosFromPlanItem, emptyPlan, formatPlan, loadPlan, mutatePlan, type PlanFile, type PlanItem, removePlanItem, savePlan, setPlanItemStatus, } from './plan-store.js';
26
33
  export { formatPlanTemplates, getPlanTemplate, listPlanTemplates, type PlanTemplate, } from './plan-templates.js';
27
34
  export { DefaultPromptStore, migratePromptEntry, type PromptEntry, type PromptStore, promptChecksum, } from './prompt-store.js';
@@ -29,16 +36,17 @@ export { type PromptUsage, PromptUsageStore } from './prompt-usage-store.js';
29
36
  export { type ProviderConfigSnapshot, readProviderSnapshot, type WatchProviderConfigOptions, watchProviderConfig, } from './provider-config-watcher.js';
30
37
  export { type PersistedQueueItem, QUEUE_MAX_BYTES, QUEUE_MAX_ITEM_BYTES, QUEUE_MAX_ITEMS, QueueStore, retainPersistedQueueItems, } from './queue-store.js';
31
38
  export { type AbandonedSession, RecoveryLock, type RecoveryLockOptions, } from './recovery-lock.js';
32
- export { cleanOrphanLocks, type OrphanLockCleanResult, } from './orphan-lock-cleaner.js';
33
39
  export { type ReplayEntry, ReplayLogStore, type ReplayLogStoreOptions, } from './replay-log-store.js';
40
+ export { stampAgentId, withAgentAttribution } from './session-agent-attribution.js';
34
41
  export { SessionAnalyzer } from './session-analyzer.js';
35
42
  export { type CheckpointGitResult, SessionCheckpointCas, type SessionCheckpointCasOptions, } from './session-checkpoint-cas.js';
43
+ export { type DiagnoseSessionsOptions, diagnoseSessions, repairSessionSummaries, type SessionDiagnosis, type SessionDoctorReport, type SessionDoctorTotals, type SessionFinding, type SessionFindingCode, type SessionLifecycleBoundary, type SummaryRepairResult, } from './session-doctor.js';
36
44
  export { type AuditLevel, CORE_RECONSTRUCT_EVENTS, createSessionEventBridge, resolveAuditLevel, resolveSessionLoggingConfig, type SessionEventBridge, type SessionEventBridgeOptions, type SessionSamplingOptions, STANDARD_AUDIT_EVENTS, type ToolProgressSamplingOptions, } from './session-event-bridge.js';
37
45
  export { generateSessionId, sanitizeModel } from './session-id.js';
38
46
  export { resolveSessionId, type SessionIdResolution, sessionIdResolutionError, } from './session-id-resolver.js';
39
47
  export { scrubPersistedSessionData, scrubPersistedSessionEvent, scrubPersistedSessionSummary, } from './session-read-scrubber.js';
40
48
  export { DefaultSessionReader } from './session-reader.js';
41
- export { extractInterruptedTools, type InterruptedToolDetail, type RecoveryPlan, SessionRecovery, type StaleSession, } from './session-recovery.js';
49
+ export { extractInterruptedTools, type InterruptedToolDetail, type RecoveryPlan, SessionRecovery, type StaleSession, type UnclosedSession, } from './session-recovery.js';
42
50
  export { type ApplyRewindOptions, type ApplyRewindResult, applyRewindToConversation, type RewindableConversation, } from './session-rewind-apply.js';
43
51
  export { DefaultSessionRewinder, type SessionRewinderOptions, } from './session-rewinder.js';
44
52
  export { DefaultSessionStore, type SessionStoreOptions, } from './session-store.js';
@@ -20,6 +20,7 @@ import {
20
20
  STANDARD_AUDIT_EVENTS,
21
21
  SessionAnalyzer,
22
22
  SessionMemoryConsolidator,
23
+ SessionMemoryCurator,
23
24
  SessionRegistry,
24
25
  ToolAuditLog,
25
26
  addPlanItem,
@@ -30,6 +31,7 @@ import {
30
31
  clearPlan,
31
32
  createSessionEventBridge,
32
33
  deriveTodosFromPlanItem,
34
+ diagnoseSessions,
33
35
  emptyPlan,
34
36
  emptyTaskFile,
35
37
  formatPlan,
@@ -45,6 +47,7 @@ import {
45
47
  parseEntries,
46
48
  readProviderSnapshot,
47
49
  removePlanItem,
50
+ repairSessionSummaries,
48
51
  resolveAuditLevel,
49
52
  resolveSessionLoggingConfig,
50
53
  retainPersistedQueueItems,
@@ -54,14 +57,16 @@ import {
54
57
  saveTasks,
55
58
  saveTodosCheckpoint,
56
59
  setPlanItemStatus,
57
- watchProviderConfig
58
- } from "../chunk-K3G6JBUC.js";
60
+ stampAgentId,
61
+ watchProviderConfig,
62
+ withAgentAttribution
63
+ } from "../chunk-WLYKU45P.js";
59
64
  import "../chunk-SWUFN7XM.js";
60
65
  import {
61
66
  CONFIG_BEHAVIOR_DEFAULTS,
62
67
  DefaultConfigLoader,
63
68
  repairConfigDefaults
64
- } from "../chunk-IQ35HMQL.js";
69
+ } from "../chunk-5YPSXQXM.js";
65
70
  import {
66
71
  ALL_SYNC_CATEGORIES,
67
72
  CLOUD_SYNC_CONTRACT,
@@ -74,15 +79,38 @@ import {
74
79
  applyNamespacePayload,
75
80
  buildNamespacePayloads,
76
81
  stripSecretMaterial
77
- } from "../chunk-QVOVMXJR.js";
82
+ } from "../chunk-GJJGJB2R.js";
78
83
  import "../chunk-YY6APYUM.js";
79
- import "../chunk-M7BS2K6U.js";
84
+ import "../chunk-NHJ75HXY.js";
80
85
  import {
81
86
  ProjectSessionRegistry,
82
87
  getProjectSessionRegistry,
83
88
  hasProjectSessionRegistry
84
- } from "../chunk-YBUJCZ57.js";
85
- import "../chunk-AI4LLQ2U.js";
89
+ } from "../chunk-4I7HGVVA.js";
90
+ import {
91
+ deriveSessionAgents
92
+ } from "../chunk-27QIURLN.js";
93
+ import {
94
+ DefaultSessionStore,
95
+ DirectorStateCheckpoint,
96
+ SessionCheckpointCas,
97
+ SessionRecovery,
98
+ extractInterruptedTools,
99
+ generateSessionId,
100
+ loadDirectorState,
101
+ resolveSessionId,
102
+ sanitizeModel,
103
+ scrubPersistedSessionData,
104
+ scrubPersistedSessionEvent,
105
+ scrubPersistedSessionSummary,
106
+ sessionIdResolutionError
107
+ } from "../chunk-NSOFPKGT.js";
108
+ import "../chunk-SZ6AYUIZ.js";
109
+ import {
110
+ SessionCatalogProjectClient
111
+ } from "../chunk-F3JWNST7.js";
112
+ import "../chunk-JMULFFLN.js";
113
+ import "../chunk-AYW5YINX.js";
86
114
  import {
87
115
  applyGoalDeliverableCompletions,
88
116
  boardStore,
@@ -100,7 +128,7 @@ import {
100
128
  recomputeGoalProgress,
101
129
  setBoardStorePort,
102
130
  stripGoalDeliverableMarker
103
- } from "../chunk-BAKVJLEV.js";
131
+ } from "../chunk-DOTHQSJ2.js";
104
132
  import {
105
133
  MAX_JOURNAL_ENTRIES,
106
134
  MAX_PROGRESS_HISTORY,
@@ -114,75 +142,56 @@ import {
114
142
  saveGoal,
115
143
  setProgress,
116
144
  summarizeUsage
117
- } from "../chunk-LZDDLNCZ.js";
145
+ } from "../chunk-C27KDLOX.js";
118
146
  import {
119
147
  DefaultPromptStore,
120
148
  migratePromptEntry,
121
149
  promptChecksum
122
- } from "../chunk-GFXZTHNI.js";
123
- import {
124
- DefaultSessionStore,
125
- DirectorStateCheckpoint,
126
- SessionCheckpointCas,
127
- SessionRecovery,
128
- extractInterruptedTools,
129
- generateSessionId,
130
- loadDirectorState,
131
- resolveSessionId,
132
- sanitizeModel,
133
- scrubPersistedSessionData,
134
- scrubPersistedSessionEvent,
135
- scrubPersistedSessionSummary,
136
- sessionIdResolutionError
137
- } from "../chunk-UIWONWVG.js";
138
- import "../chunk-SZ6AYUIZ.js";
139
- import {
140
- SessionCatalogProjectClient
141
- } from "../chunk-52RTVH4M.js";
142
- import "../chunk-E6I5RXVK.js";
143
- import "../chunk-GM54GJBU.js";
144
- import "../chunk-W4A6QA3D.js";
145
- import "../chunk-H5E77KUJ.js";
146
- import "../chunk-3E244UDA.js";
147
- import "../chunk-57GEWK5X.js";
148
- import "../chunk-ZZ4V3WIZ.js";
149
- import "../chunk-TYW2GI5I.js";
150
+ } from "../chunk-PGRVXIMY.js";
151
+ import "../chunk-J2WRWR37.js";
150
152
  import "../chunk-LHOA5DWA.js";
151
- import "../chunk-GFJOMSHG.js";
152
- import "../chunk-QRTG4XTI.js";
153
+ import "../chunk-LA7CLDRW.js";
154
+ import "../chunk-WAHQVNWT.js";
153
155
  import "../chunk-EODDVJBM.js";
154
- import "../chunk-CQQL4ZOQ.js";
155
- import "../chunk-RPOA7IAE.js";
156
- import "../chunk-FFSX2QDQ.js";
157
- import "../chunk-DEIQMBD2.js";
158
- import "../chunk-FNXVT7HF.js";
156
+ import "../chunk-ZT7JNIGX.js";
157
+ import "../chunk-W5VITDM2.js";
158
+ import "../chunk-YPT4A46F.js";
159
+ import "../chunk-B7F4WVP4.js";
159
160
  import "../chunk-WQTOVMGV.js";
160
- import "../chunk-AD7ZFZCS.js";
161
- import "../chunk-KBZGE6LN.js";
161
+ import "../chunk-FNXVT7HF.js";
162
+ import "../chunk-5BMIE7QG.js";
163
+ import "../chunk-DYLPMV4Q.js";
162
164
  import "../chunk-5S437PRC.js";
163
- import "../chunk-WZO23AWO.js";
165
+ import "../chunk-IRUTEHCE.js";
166
+ import "../chunk-FWNLEZYG.js";
167
+ import "../chunk-QSTSJOCK.js";
168
+ import "../chunk-6FHWXLPT.js";
169
+ import "../chunk-M27LIEKV.js";
164
170
  import "../chunk-XEBHSJLT.js";
165
- import "../chunk-VB3H5WWB.js";
166
- import "../chunk-M2WF6AXG.js";
167
- import "../chunk-4XV6IR37.js";
171
+ import "../chunk-6NWEVFEL.js";
172
+ import "../chunk-LSMMOS2Z.js";
168
173
  import "../chunk-4VWO3ZXL.js";
169
- import "../chunk-EFEHDQGY.js";
170
- import "../chunk-AWNQ6ED6.js";
171
- import "../chunk-FSWCWSTS.js";
174
+ import "../chunk-ZHZ2Y2DH.js";
175
+ import "../chunk-HI3JGZR2.js";
176
+ import "../chunk-HMLIGAU7.js";
172
177
  import "../chunk-TRT2HRWZ.js";
173
178
  import "../chunk-LX5QWLBL.js";
174
- import "../chunk-FAYRX2AD.js";
175
- import "../chunk-7ZHZE5EO.js";
179
+ import "../chunk-POOOIWE5.js";
180
+ import "../chunk-OSGLYW5J.js";
181
+ import "../chunk-FC2ZGRF3.js";
182
+ import "../chunk-THEGTRAG.js";
176
183
  import "../chunk-SVT4RNTR.js";
177
- import "../chunk-WEBMSQP2.js";
178
- import "../chunk-YNCVSFGF.js";
179
- import "../chunk-CB2HFKTP.js";
184
+ import "../chunk-SAFHACFA.js";
185
+ import "../chunk-57GEWK5X.js";
186
+ import "../chunk-DLHHXUAM.js";
187
+ import "../chunk-3ECENVHL.js";
188
+ import "../chunk-VVBP6KGT.js";
180
189
  import "../chunk-KJ2ZTQSL.js";
181
190
  import "../chunk-B4AMLZPB.js";
191
+ import "../chunk-PFZO3C6H.js";
182
192
  import "../chunk-O37BQ65S.js";
183
- import "../chunk-WOEZV3Q4.js";
193
+ import "../chunk-25LSLC3G.js";
184
194
  import "../chunk-TBRL2RCC.js";
185
- import "../chunk-PFZO3C6H.js";
186
195
  export {
187
196
  ALL_SYNC_CATEGORIES,
188
197
  AnnotationsStore,
@@ -223,6 +232,7 @@ export {
223
232
  SessionCatalogProjectClient,
224
233
  SessionCheckpointCas,
225
234
  SessionMemoryConsolidator,
235
+ SessionMemoryCurator,
226
236
  SessionRecovery,
227
237
  ProjectSessionRegistry as SessionRegistry,
228
238
  ToolAuditLog,
@@ -241,7 +251,9 @@ export {
241
251
  createGoalKanbanBoard,
242
252
  createSessionEventBridge,
243
253
  deleteGoalKanbanBoard,
254
+ deriveSessionAgents,
244
255
  deriveTodosFromPlanItem,
256
+ diagnoseSessions,
245
257
  emptyGoal,
246
258
  emptyPlan,
247
259
  emptyTaskFile,
@@ -280,6 +292,7 @@ export {
280
292
  recordProgress,
281
293
  removePlanItem,
282
294
  repairConfigDefaults,
295
+ repairSessionSummaries,
283
296
  resolveAuditLevel,
284
297
  resolveSessionId,
285
298
  resolveSessionLoggingConfig,
@@ -298,9 +311,11 @@ export {
298
311
  setBoardStorePort,
299
312
  setPlanItemStatus,
300
313
  setProgress,
314
+ stampAgentId,
301
315
  stripGoalDeliverableMarker,
302
316
  stripSecretMaterial,
303
317
  summarizeUsage,
304
- watchProviderConfig
318
+ watchProviderConfig,
319
+ withAgentAttribution
305
320
  };
306
321
  //# sourceMappingURL=index.js.map
@@ -46,10 +46,8 @@ export declare class InputHistoryStore {
46
46
  private scrubAndFilter;
47
47
  /**
48
48
  * Heuristic: did the scrubber actually redact anything? DefaultSecretScrubber
49
- * replaces matches with "***REDACTED***", so a residual marker means a secret
50
- * was detected. Subclasses of SecretScrubber that use a different sentinel
51
- * can be accommodated by widening this check in the future; for now the
52
- * marker check covers the shipped scrubber.
49
+ * replaces matches with "[REDACTED:<type>]" (and legacy mocks with
50
+ * "***REDACTED***"), so a residual marker means a secret was detected.
53
51
  */
54
52
  private looksRedacted;
55
53
  }