@wrongstack/core 0.286.0 → 0.287.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 (251) hide show
  1. package/dist/boot.d.ts.map +1 -1
  2. package/dist/coordination/brain-monitor.d.ts +15 -0
  3. package/dist/coordination/brain-monitor.d.ts.map +1 -1
  4. package/dist/coordination/delegate-tool.d.ts +8 -14
  5. package/dist/coordination/delegate-tool.d.ts.map +1 -1
  6. package/dist/coordination/director/director-btw-notes.d.ts +20 -0
  7. package/dist/coordination/director/director-btw-notes.d.ts.map +1 -0
  8. package/dist/coordination/director/director-collab.d.ts +40 -0
  9. package/dist/coordination/director/director-collab.d.ts.map +1 -0
  10. package/dist/coordination/director.d.ts +27 -8
  11. package/dist/coordination/director.d.ts.map +1 -1
  12. package/dist/coordination/fleet-manager.d.ts +21 -0
  13. package/dist/coordination/fleet-manager.d.ts.map +1 -1
  14. package/dist/coordination/fleet.d.ts +2 -3
  15. package/dist/coordination/fleet.d.ts.map +1 -1
  16. package/dist/coordination/global-mailbox.d.ts +36 -22
  17. package/dist/coordination/global-mailbox.d.ts.map +1 -1
  18. package/dist/coordination/icoordinator.d.ts +1 -3
  19. package/dist/coordination/icoordinator.d.ts.map +1 -1
  20. package/dist/coordination/index.js +708 -442
  21. package/dist/coordination/index.js.map +4 -4
  22. package/dist/coordination/mail-tools.d.ts.map +1 -1
  23. package/dist/coordination/mailbox-message-codec.d.ts +21 -1
  24. package/dist/coordination/mailbox-message-codec.d.ts.map +1 -1
  25. package/dist/coordination/mailbox-types.d.ts +42 -1
  26. package/dist/coordination/mailbox-types.d.ts.map +1 -1
  27. package/dist/core/agent-loop.d.ts.map +1 -1
  28. package/dist/core/agent-response.d.ts +10 -1
  29. package/dist/core/agent-response.d.ts.map +1 -1
  30. package/dist/core/agent-tools.d.ts.map +1 -1
  31. package/dist/core/agent.d.ts +8 -0
  32. package/dist/core/agent.d.ts.map +1 -1
  33. package/dist/core/context.d.ts +25 -0
  34. package/dist/core/context.d.ts.map +1 -1
  35. package/dist/core/conversation-state.d.ts +6 -0
  36. package/dist/core/conversation-state.d.ts.map +1 -1
  37. package/dist/core/fallback-model.d.ts.map +1 -1
  38. package/dist/core/mailbox-loop.d.ts +12 -5
  39. package/dist/core/mailbox-loop.d.ts.map +1 -1
  40. package/dist/core/system-prompt-builder.d.ts +14 -6
  41. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  42. package/dist/defaults/index.d.ts +0 -1
  43. package/dist/defaults/index.d.ts.map +1 -1
  44. package/dist/defaults/index.js +834 -1465
  45. package/dist/defaults/index.js.map +4 -4
  46. package/dist/execution/auto-compaction-middleware.d.ts +8 -1
  47. package/dist/execution/auto-compaction-middleware.d.ts.map +1 -1
  48. package/dist/execution/compaction-core.d.ts.map +1 -1
  49. package/dist/execution/council-brain.d.ts.map +1 -1
  50. package/dist/execution/council-orchestrator.d.ts +32 -0
  51. package/dist/execution/council-orchestrator.d.ts.map +1 -0
  52. package/dist/execution/council-personas.d.ts +19 -0
  53. package/dist/execution/council-personas.d.ts.map +1 -0
  54. package/dist/execution/council-profiles.d.ts +34 -0
  55. package/dist/execution/council-profiles.d.ts.map +1 -0
  56. package/dist/execution/council-prompts.d.ts +21 -0
  57. package/dist/execution/council-prompts.d.ts.map +1 -0
  58. package/dist/execution/council-resolution.d.ts +57 -0
  59. package/dist/execution/council-resolution.d.ts.map +1 -0
  60. package/dist/execution/design-kit-loader.d.ts.map +1 -1
  61. package/dist/execution/enhance-recovery.d.ts +35 -0
  62. package/dist/execution/enhance-recovery.d.ts.map +1 -0
  63. package/dist/execution/error-handler.d.ts.map +1 -1
  64. package/dist/execution/index.d.ts +6 -0
  65. package/dist/execution/index.d.ts.map +1 -1
  66. package/dist/execution/index.js +1738 -161
  67. package/dist/execution/index.js.map +4 -4
  68. package/dist/execution/intelligent-compactor.d.ts +18 -7
  69. package/dist/execution/intelligent-compactor.d.ts.map +1 -1
  70. package/dist/execution/one-shot-llm.d.ts +52 -0
  71. package/dist/execution/one-shot-llm.d.ts.map +1 -0
  72. package/dist/execution/prompt-enhancer.d.ts +23 -4
  73. package/dist/execution/prompt-enhancer.d.ts.map +1 -1
  74. package/dist/execution/prompt-enhancer.js +24 -6
  75. package/dist/execution/prompt-enhancer.js.map +2 -2
  76. package/dist/execution/selective-compactor.d.ts +4 -4
  77. package/dist/execution/strategy-compactor.d.ts +7 -0
  78. package/dist/execution/strategy-compactor.d.ts.map +1 -1
  79. package/dist/execution/tool-executor.d.ts +19 -5
  80. package/dist/execution/tool-executor.d.ts.map +1 -1
  81. package/dist/hooks/registry.d.ts.map +1 -1
  82. package/dist/hooks/runner.d.ts.map +1 -1
  83. package/dist/hooks/shell-executor.d.ts.map +1 -1
  84. package/dist/hq/alerts.d.ts +5 -0
  85. package/dist/hq/alerts.d.ts.map +1 -1
  86. package/dist/hq/auth-store.d.ts +17 -7
  87. package/dist/hq/auth-store.d.ts.map +1 -1
  88. package/dist/hq/commands.d.ts +8 -4
  89. package/dist/hq/commands.d.ts.map +1 -1
  90. package/dist/hq/cost-bridge.d.ts +5 -3
  91. package/dist/hq/cost-bridge.d.ts.map +1 -1
  92. package/dist/hq/fleet-bridge.d.ts.map +1 -1
  93. package/dist/hq/index.d.ts +0 -1
  94. package/dist/hq/index.d.ts.map +1 -1
  95. package/dist/hq/index.js +471 -294
  96. package/dist/hq/index.js.map +4 -4
  97. package/dist/hq/persistence.d.ts +42 -0
  98. package/dist/hq/persistence.d.ts.map +1 -1
  99. package/dist/hq/protocol/brain.d.ts +24 -0
  100. package/dist/hq/protocol/brain.d.ts.map +1 -0
  101. package/dist/hq/protocol/browser.d.ts +12 -0
  102. package/dist/hq/protocol/browser.d.ts.map +1 -0
  103. package/dist/hq/protocol/client.d.ts +69 -0
  104. package/dist/hq/protocol/client.d.ts.map +1 -0
  105. package/dist/hq/protocol/core.d.ts +130 -0
  106. package/dist/hq/protocol/core.d.ts.map +1 -0
  107. package/dist/hq/protocol/fleet.d.ts +73 -0
  108. package/dist/hq/protocol/fleet.d.ts.map +1 -0
  109. package/dist/hq/protocol/mailbox.d.ts +76 -0
  110. package/dist/hq/protocol/mailbox.d.ts.map +1 -0
  111. package/dist/hq/protocol/mcp.d.ts +51 -0
  112. package/dist/hq/protocol/mcp.d.ts.map +1 -0
  113. package/dist/hq/protocol/project.d.ts +26 -0
  114. package/dist/hq/protocol/project.d.ts.map +1 -0
  115. package/dist/hq/protocol/session.d.ts +153 -0
  116. package/dist/hq/protocol/session.d.ts.map +1 -0
  117. package/dist/hq/protocol/tool.d.ts +31 -0
  118. package/dist/hq/protocol/tool.d.ts.map +1 -0
  119. package/dist/hq/protocol.d.ts +10 -611
  120. package/dist/hq/protocol.d.ts.map +1 -1
  121. package/dist/index.d.ts +12 -2
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +4540 -2283
  124. package/dist/index.js.map +4 -4
  125. package/dist/infrastructure/index.js +13 -11
  126. package/dist/infrastructure/index.js.map +2 -2
  127. package/dist/infrastructure/token-counter.d.ts.map +1 -1
  128. package/dist/kernel/events/agent-events.d.ts +283 -0
  129. package/dist/kernel/events/agent-events.d.ts.map +1 -0
  130. package/dist/kernel/events/brain-events.d.ts +176 -0
  131. package/dist/kernel/events/brain-events.d.ts.map +1 -0
  132. package/dist/kernel/events/fleet-events.d.ts +39 -0
  133. package/dist/kernel/events/fleet-events.d.ts.map +1 -0
  134. package/dist/kernel/events/memory-events.d.ts +165 -0
  135. package/dist/kernel/events/memory-events.d.ts.map +1 -0
  136. package/dist/kernel/events/provider-events.d.ts +98 -0
  137. package/dist/kernel/events/provider-events.d.ts.map +1 -0
  138. package/dist/kernel/events/sdd-events.d.ts +118 -0
  139. package/dist/kernel/events/sdd-events.d.ts.map +1 -0
  140. package/dist/kernel/events/session-events.d.ts +227 -0
  141. package/dist/kernel/events/session-events.d.ts.map +1 -0
  142. package/dist/kernel/events/tool-events.d.ts +185 -0
  143. package/dist/kernel/events/tool-events.d.ts.map +1 -0
  144. package/dist/kernel/events/worktree-events.d.ts +58 -0
  145. package/dist/kernel/events/worktree-events.d.ts.map +1 -0
  146. package/dist/kernel/events.d.ts +10 -1298
  147. package/dist/kernel/events.d.ts.map +1 -1
  148. package/dist/kernel/index.js +22 -2
  149. package/dist/kernel/index.js.map +2 -2
  150. package/dist/kernel/run-controller.d.ts +15 -0
  151. package/dist/kernel/run-controller.d.ts.map +1 -1
  152. package/dist/mailbox-attach.d.ts.map +1 -1
  153. package/dist/models/index.js +19 -6
  154. package/dist/models/index.js.map +2 -2
  155. package/dist/models/llm-selector.d.ts +7 -0
  156. package/dist/models/llm-selector.d.ts.map +1 -1
  157. package/dist/plugins/auto-review-plugin.d.ts +36 -0
  158. package/dist/plugins/auto-review-plugin.d.ts.map +1 -0
  159. package/dist/plugins/chimera-plugin.d.ts +8 -0
  160. package/dist/plugins/chimera-plugin.d.ts.map +1 -1
  161. package/dist/security/index.js +7 -2
  162. package/dist/security/index.js.map +2 -2
  163. package/dist/security/secret-scrubber.d.ts.map +1 -1
  164. package/dist/skills/index.js.map +2 -2
  165. package/dist/storage/config-loader.d.ts.map +1 -1
  166. package/dist/storage/goal-kanban.d.ts +69 -0
  167. package/dist/storage/goal-kanban.d.ts.map +1 -0
  168. package/dist/storage/index.d.ts +1 -1
  169. package/dist/storage/index.d.ts.map +1 -1
  170. package/dist/storage/index.js +425 -717
  171. package/dist/storage/index.js.map +4 -4
  172. package/dist/storage/memory-consolidator.d.ts +9 -1
  173. package/dist/storage/memory-consolidator.d.ts.map +1 -1
  174. package/dist/tools/council-tool.d.ts +25 -0
  175. package/dist/tools/council-tool.d.ts.map +1 -0
  176. package/dist/tools/index.d.ts +2 -0
  177. package/dist/tools/index.d.ts.map +1 -1
  178. package/dist/tools/index.js +1884 -12
  179. package/dist/tools/index.js.map +4 -4
  180. package/dist/tools/one-shot-llm-tool.d.ts +51 -0
  181. package/dist/tools/one-shot-llm-tool.d.ts.map +1 -0
  182. package/dist/types/config.d.ts +27 -3
  183. package/dist/types/config.d.ts.map +1 -1
  184. package/dist/types/context-window.d.ts.map +1 -1
  185. package/dist/types/council.d.ts +134 -0
  186. package/dist/types/council.d.ts.map +1 -0
  187. package/dist/types/default-config.d.ts +3 -3
  188. package/dist/types/hooks.d.ts +14 -0
  189. package/dist/types/hooks.d.ts.map +1 -1
  190. package/dist/types/index.d.ts +2 -0
  191. package/dist/types/index.d.ts.map +1 -1
  192. package/dist/types/index.js +29 -8
  193. package/dist/types/index.js.map +3 -3
  194. package/dist/types/one-shot-llm.d.ts +128 -0
  195. package/dist/types/one-shot-llm.d.ts.map +1 -0
  196. package/dist/types/plugin.d.ts +6 -0
  197. package/dist/types/plugin.d.ts.map +1 -1
  198. package/dist/types/provider.d.ts +17 -0
  199. package/dist/types/provider.d.ts.map +1 -1
  200. package/dist/types/system-prompt.d.ts +2 -1
  201. package/dist/types/system-prompt.d.ts.map +1 -1
  202. package/dist/types/tool-executor.d.ts +10 -0
  203. package/dist/types/tool-executor.d.ts.map +1 -1
  204. package/dist/utils/atomic-write.d.ts.map +1 -1
  205. package/dist/utils/index.js +75 -8
  206. package/dist/utils/index.js.map +3 -3
  207. package/dist/utils/tool-wire-compact.d.ts +1 -0
  208. package/dist/utils/tool-wire-compact.d.ts.map +1 -1
  209. package/dist/utils/wstack-paths.d.ts +20 -4
  210. package/dist/utils/wstack-paths.d.ts.map +1 -1
  211. package/instructions/cli/next-task-predictor.md +5 -3
  212. package/instructions/coordination/subagent-baseline.md +8 -7
  213. package/instructions/leader-after-task.md +18 -9
  214. package/instructions/llm/council-judge.md +19 -0
  215. package/instructions/llm/council-voter.md +22 -0
  216. package/instructions/modes/architect.md +14 -9
  217. package/instructions/modes/audit-lite.md +9 -7
  218. package/instructions/modes/brief-system.md +12 -12
  219. package/instructions/modes/brief.md +7 -5
  220. package/instructions/modes/code-auditor.md +13 -8
  221. package/instructions/modes/code-reviewer.md +13 -8
  222. package/instructions/modes/debug-lite.md +7 -6
  223. package/instructions/modes/debugger.md +13 -9
  224. package/instructions/modes/devops.md +13 -9
  225. package/instructions/modes/plan-lite.md +7 -6
  226. package/instructions/modes/refactor-lite.md +7 -6
  227. package/instructions/modes/refactorer.md +14 -9
  228. package/instructions/modes/research-lite.md +8 -6
  229. package/instructions/modes/research-web.md +18 -55
  230. package/instructions/modes/review-lite.md +7 -6
  231. package/instructions/modes/teach-system.md +15 -15
  232. package/instructions/modes/teach.md +13 -12
  233. package/instructions/modes/test-lite.md +6 -5
  234. package/instructions/modes/tester.md +13 -9
  235. package/instructions/modes/ui-design.md +14 -8
  236. package/instructions/sections/tool/commit-hygiene.md +1 -7
  237. package/instructions/sections/tool/common-patterns.md +5 -5
  238. package/instructions/sections/tool/delegation-full.md +3 -31
  239. package/instructions/sections/tool/mailbox-compact.md +1 -1
  240. package/instructions/sections/tool/mailbox-full.md +6 -22
  241. package/instructions/system.md +278 -39
  242. package/package.json +2 -2
  243. package/skills/mailbox-bridge/SKILL.md +16 -7
  244. package/skills/output-standards/SKILL.md +16 -16
  245. package/skills/wrongstack-mailbox/SKILL.md +6 -0
  246. package/dist/coordination/director-construction.d.ts +0 -90
  247. package/dist/coordination/director-construction.d.ts.map +0 -1
  248. package/dist/hq/agent-bridge.d.ts +0 -27
  249. package/dist/hq/agent-bridge.d.ts.map +0 -1
  250. package/dist/storage/memory-store.d.ts +0 -119
  251. package/dist/storage/memory-store.d.ts.map +0 -1
@@ -0,0 +1,165 @@
1
+ import type { MemoryClearedPayload, MemoryConsolidatedPayload, MemoryForgottenPayload, MemoryRememberedPayload } from '../../types/memory.js';
2
+ export interface MemoryEventMap {
3
+ /** Cache hit on session store load — used by observability layers. */
4
+ 'storage.cache_hit': {
5
+ sessionId: string;
6
+ store: string;
7
+ filePath: string;
8
+ operation: string;
9
+ durationMs: number;
10
+ };
11
+ /**
12
+ * Fired after the user chooses 'always' or 'deny' on a confirmation prompt.
13
+ * The TUI can use this to show a brief notification that the decision was
14
+ * persisted to the trust file (e.g. "✓ always allowed popo.txt" / "✗ denied popo.txt").
15
+ */
16
+ 'trust.persisted': {
17
+ sessionId?: string | undefined;
18
+ tool: string;
19
+ pattern: string;
20
+ decision: 'always' | 'deny';
21
+ };
22
+ 'memory.remembered': MemoryRememberedPayload;
23
+ 'memory.forgotten': MemoryForgottenPayload;
24
+ 'memory.cleared': MemoryClearedPayload;
25
+ 'memory.consolidated': MemoryConsolidatedPayload;
26
+ /** Structured Super Memory lifecycle events. Kept structural so core never depends on the package. */
27
+ 'memory.accepted': {
28
+ memoryId: string;
29
+ sessionId?: string | undefined;
30
+ traceId?: string | undefined;
31
+ };
32
+ 'memory.candidate_created': {
33
+ candidateId: string;
34
+ sessionId?: string | undefined;
35
+ traceId?: string | undefined;
36
+ };
37
+ 'memory.candidate_rejected': {
38
+ candidateId: string;
39
+ reason: string;
40
+ sessionId?: string | undefined;
41
+ traceId?: string | undefined;
42
+ };
43
+ 'memory.updated': {
44
+ memoryId: string;
45
+ status: string;
46
+ sessionId?: string | undefined;
47
+ traceId?: string | undefined;
48
+ };
49
+ 'memory.merged': {
50
+ memoryId: string;
51
+ mergedIds: string[];
52
+ sessionId?: string | undefined;
53
+ traceId?: string | undefined;
54
+ };
55
+ 'memory.superseded': {
56
+ memoryId: string;
57
+ supersededBy: string;
58
+ sessionId?: string | undefined;
59
+ traceId?: string | undefined;
60
+ };
61
+ 'memory.contradicted': {
62
+ memoryId: string;
63
+ contradicts: string[];
64
+ sessionId?: string | undefined;
65
+ traceId?: string | undefined;
66
+ };
67
+ 'memory.staled': {
68
+ memoryId: string;
69
+ reason: string;
70
+ sessionId?: string | undefined;
71
+ traceId?: string | undefined;
72
+ };
73
+ 'memory.archived': {
74
+ memoryId: string;
75
+ reason: string;
76
+ sessionId?: string | undefined;
77
+ traceId?: string | undefined;
78
+ };
79
+ 'memory.injected': {
80
+ memoryIds: string[];
81
+ trigger: string;
82
+ sessionId?: string | undefined;
83
+ traceId?: string | undefined;
84
+ };
85
+ 'memory.verified': {
86
+ memoryId: string;
87
+ status: string;
88
+ sessionId?: string | undefined;
89
+ traceId?: string | undefined;
90
+ };
91
+ 'memory.hygiene_started': {
92
+ examined: number;
93
+ sessionId?: string | undefined;
94
+ traceId?: string | undefined;
95
+ };
96
+ 'memory.hygiene_completed': {
97
+ examined: number;
98
+ deduplicated: number;
99
+ staled: number;
100
+ archived: number;
101
+ sessionId?: string | undefined;
102
+ traceId?: string | undefined;
103
+ };
104
+ 'memory.graph_edge_added': {
105
+ edgeId: string;
106
+ from: string;
107
+ to: string;
108
+ relation: string;
109
+ sessionId?: string | undefined;
110
+ traceId?: string | undefined;
111
+ };
112
+ /**
113
+ * Fired when a store completes a read operation. Carries the session ID
114
+ * and file path so dashboards can correlate storage I/O with agent
115
+ * iterations via the session ID.
116
+ */
117
+ 'storage.read': {
118
+ sessionId: string;
119
+ /** Which store was read. */
120
+ store: 'session' | 'goal' | 'plan' | 'project' | 'todos' | 'queue' | 'tasks' | 'completed-work' | 'memory' | 'annotations' | 'audit' | 'replay' | 'config';
121
+ filePath: string;
122
+ /** Session store: load|list|summary|index_read. Goal store: load. Plan store: load. Memory store: readAll. Annotations: list. Audit: verify|load. Replay: load|lookup. Config: read_json|load_sync. Completed-work: load. */
123
+ operation: string;
124
+ outcome: 'success' | 'failure';
125
+ durationMs: number;
126
+ error?: string;
127
+ traceId?: string;
128
+ };
129
+ /**
130
+ * Fired when a store completes a write operation. Covers both individual
131
+ * event appends and batch flushes — check `eventCount` to distinguish.
132
+ */
133
+ 'storage.write': {
134
+ sessionId: string;
135
+ store: 'session' | 'goal' | 'plan' | 'project' | 'todos' | 'queue' | 'tasks' | 'completed-work' | 'memory' | 'annotations' | 'audit' | 'replay' | 'config';
136
+ filePath: string;
137
+ /** Session store: create|resume|append|flush|close|index_append|compact|checkpoint.
138
+ * Goal store: save|update|delete. Plan store: save. Project manifest: manifest_write.
139
+ * Todos: save. Queue: write|clear. Tasks: save. Memory: remember|forget|clear|consolidate.
140
+ * Annotations: add|resolve|evict. Audit: record. Replay: record|compact. Config: persist_sync.
141
+ * Completed-work: save. */
142
+ operation: string;
143
+ outcome: 'success' | 'failure';
144
+ durationMs: number;
145
+ eventCount?: number;
146
+ error?: string;
147
+ traceId?: string;
148
+ };
149
+ /**
150
+ * Fired when a store operation fails after best-effort retries.
151
+ * Use this for alert-worthy persistent failures (disk full, permissions).
152
+ */
153
+ 'storage.error': {
154
+ sessionId: string;
155
+ store: 'session' | 'goal' | 'plan' | 'project' | 'todos' | 'queue' | 'tasks' | 'completed-work' | 'memory' | 'annotations' | 'audit' | 'replay' | 'config';
156
+ filePath: string;
157
+ operation: string;
158
+ outcome?: 'failure';
159
+ error: string;
160
+ recoverable: boolean;
161
+ durationMs?: number;
162
+ traceId?: string;
163
+ };
164
+ }
165
+ //# sourceMappingURL=memory-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/memory-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import type { Context } from '../../core/context.js';
2
+ import type { ContentBlock } from '../../types/blocks.js';
3
+ import type { Usage } from '../../types/provider.js';
4
+ export interface ProviderEventMap {
5
+ 'provider.response': {
6
+ sessionId?: string | undefined;
7
+ ctx: Context;
8
+ model: string;
9
+ content?: ContentBlock[] | undefined;
10
+ usage: Usage;
11
+ stopReason: string;
12
+ };
13
+ 'provider.text_delta': {
14
+ sessionId?: string | undefined;
15
+ ctx: Context;
16
+ text: string;
17
+ };
18
+ 'provider.thinking_delta': {
19
+ sessionId?: string | undefined;
20
+ ctx: Context;
21
+ text: string;
22
+ };
23
+ 'provider.tool_use_start': {
24
+ sessionId?: string | undefined;
25
+ ctx: Context;
26
+ id: string;
27
+ name: string;
28
+ };
29
+ 'provider.tool_use_stop': {
30
+ sessionId?: string | undefined;
31
+ ctx: Context;
32
+ id: string;
33
+ name: string;
34
+ };
35
+ /**
36
+ * Fired when a single SSE event handler throws mid-stream. Best-effort: the
37
+ * malformed event is skipped and the partial response built from earlier
38
+ * events is preserved, so the stream is not aborted. `eventType` is the SSE
39
+ * event's `type`; `msg` is the handler error message.
40
+ */
41
+ 'provider.stream_error': {
42
+ sessionId?: string | undefined;
43
+ ctx: Context;
44
+ eventType: string;
45
+ msg: string;
46
+ };
47
+ /**
48
+ * Fired before each retry of a failed provider call. `attempt` is 1-based
49
+ * (the first retry is attempt 1, etc.). `description` is the human-readable
50
+ * one-liner from `ProviderError.describe()` — render this in the CLI/TUI
51
+ * instead of grepping logger output for the raw JSON body.
52
+ */
53
+ 'provider.retry': {
54
+ sessionId?: string | undefined;
55
+ providerId: string;
56
+ attempt: number;
57
+ delayMs: number;
58
+ status: number;
59
+ description: string;
60
+ };
61
+ /**
62
+ * Fired once when a provider call ultimately fails (retries exhausted, or
63
+ * non-retryable error). Same shape as `provider.retry` minus the delay.
64
+ */
65
+ 'provider.error': {
66
+ sessionId?: string | undefined;
67
+ providerId: string;
68
+ status: number;
69
+ description: string;
70
+ retryable: boolean;
71
+ };
72
+ /**
73
+ * Fired by the fallback-model extension when the primary model is overloaded
74
+ * (after its own retries are exhausted) and the agent switches to the next
75
+ * model in the configured `fallbackModels` chain. `providerSwitched` is true
76
+ * when the fallback also changed the active provider (cross-provider). UIs
77
+ * render this as a notice: "⚠ opus overloaded — falling back to planner".
78
+ */
79
+ 'provider.fallback': {
80
+ sessionId?: string | undefined;
81
+ from: {
82
+ providerId: string;
83
+ model: string;
84
+ };
85
+ to: {
86
+ providerId: string;
87
+ model: string;
88
+ };
89
+ status: number;
90
+ providerSwitched: boolean;
91
+ contextWindowWarning?: {
92
+ fromMaxContext: number;
93
+ toMaxContext: number;
94
+ currentTokens?: number | undefined;
95
+ } | undefined;
96
+ };
97
+ }
98
+ //# sourceMappingURL=provider-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/provider-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,qBAAqB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,yBAAyB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,yBAAyB,EAAE;QACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,wBAAwB,EAAE;QACxB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF;;;;;OAKG;IACH,uBAAuB,EAAE;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF;;;;;OAKG;IACH,gBAAgB,EAAE;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,gBAAgB,EAAE;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF;;;;;;OAMG;IACH,mBAAmB,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,EAAE,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,OAAO,CAAC;QAC1B,oBAAoB,CAAC,EACjB;YACE,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;YACrB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SACpC,GACD,SAAS,CAAC;KACf,CAAC;CACH"}
@@ -0,0 +1,118 @@
1
+ export interface SddEventMap {
2
+ /** A parallel SDD run started. */
3
+ 'sdd.run.started': {
4
+ sessionId?: string | undefined;
5
+ runId: string;
6
+ graphId: string;
7
+ specId?: string | undefined;
8
+ total: number;
9
+ /** Base branch the run's squash commits will land on (worktree runs only). */
10
+ baseBranch?: string | undefined;
11
+ };
12
+ /** A parallel SDD run reached a terminal state. */
13
+ 'sdd.run.finished': {
14
+ sessionId?: string | undefined;
15
+ runId: string;
16
+ deadlocked: boolean;
17
+ completed: number;
18
+ failed: number;
19
+ stopped: boolean;
20
+ };
21
+ /** A task began executing on a worker (carries who + which worktree). */
22
+ 'sdd.task.started': {
23
+ sessionId?: string | undefined;
24
+ runId: string;
25
+ taskId: string;
26
+ subagentId: string;
27
+ agentName: string;
28
+ worktreeBranch?: string | undefined;
29
+ };
30
+ /** A task finished successfully. */
31
+ 'sdd.task.completed': {
32
+ sessionId?: string | undefined;
33
+ runId: string;
34
+ taskId: string;
35
+ subagentId: string;
36
+ durationMs: number;
37
+ };
38
+ /** A task failed terminally (retries exhausted). */
39
+ 'sdd.task.failed': {
40
+ sessionId?: string | undefined;
41
+ runId: string;
42
+ taskId: string;
43
+ subagentId: string;
44
+ error: string;
45
+ };
46
+ /** A failed task was requeued for another attempt. */
47
+ 'sdd.task.retrying': {
48
+ sessionId?: string | undefined;
49
+ runId: string;
50
+ taskId: string;
51
+ attempt: number;
52
+ maxRetries: number;
53
+ };
54
+ /** A task's worker reported success but the post-task verification gate rejected it. */
55
+ 'sdd.task.verification_failed': {
56
+ sessionId?: string | undefined;
57
+ runId: string;
58
+ taskId: string;
59
+ reason: string;
60
+ };
61
+ /** A completed task's worktree could not be merged back into the base branch. */
62
+ 'sdd.task.conflict': {
63
+ sessionId?: string | undefined;
64
+ runId: string;
65
+ taskId: string;
66
+ conflictFiles: string[];
67
+ };
68
+ /** A completed task's worktree was squash-merged onto the base branch (sha = the run commit). */
69
+ 'sdd.task.merged': {
70
+ sessionId?: string | undefined;
71
+ runId: string;
72
+ taskId: string;
73
+ sha: string;
74
+ };
75
+ /** A task was split into sub-tasks (the parent becomes a completed container). */
76
+ 'sdd.task.split': {
77
+ sessionId?: string | undefined;
78
+ runId: string;
79
+ taskId: string;
80
+ subtaskIds: string[];
81
+ };
82
+ /** The supervisor made a decision about a failing/stuck task. */
83
+ 'sdd.supervisor.decision': {
84
+ sessionId?: string | undefined;
85
+ runId: string;
86
+ taskId: string;
87
+ action: 'retry' | 'reassign' | 'split' | 'fail';
88
+ rationale?: string | undefined;
89
+ };
90
+ /** A new wave of dependency-ready tasks began. */
91
+ 'sdd.wave': {
92
+ sessionId?: string | undefined;
93
+ runId: string;
94
+ wave: number;
95
+ batchSize: number;
96
+ };
97
+ /** No runnable tasks remain but some are still blocked — with the blocking chains. */
98
+ 'sdd.deadlock': {
99
+ sessionId?: string | undefined;
100
+ runId: string;
101
+ chains: Array<{
102
+ blocked: string;
103
+ blockedBy: string[];
104
+ }>;
105
+ };
106
+ /**
107
+ * Throttled full board snapshot composed by SddBoardProjector. `snapshot` is
108
+ * an `SddBoardSnapshot` (sdd/board-types) — typed `unknown` here so the kernel
109
+ * layer never imports from the higher `sdd/` layer (it sits below it in the
110
+ * DAG); consumers cast it back. The producer (SddBoardProjector) is typed.
111
+ */
112
+ 'sdd.board.snapshot': {
113
+ sessionId?: string | undefined;
114
+ runId: string;
115
+ snapshot: unknown;
116
+ };
117
+ }
118
+ //# sourceMappingURL=sdd-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdd-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/sdd-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ import type { Context } from '../../core/context.js';
2
+ import type { Usage } from '../../types/provider.js';
3
+ import type { TrackedAgentSnapshot } from '../events.js';
4
+ export interface SessionEventMap {
5
+ 'session.started': {
6
+ id: string;
7
+ sessionId?: string | undefined;
8
+ };
9
+ 'session.ended': {
10
+ id: string;
11
+ sessionId?: string | undefined;
12
+ usage: Usage;
13
+ };
14
+ 'session.damaged': {
15
+ sessionId: string;
16
+ detail: string;
17
+ };
18
+ /**
19
+ * Fired by AgentStatusTracker after every flush with the full agent list
20
+ * (leader + subagents). In-process consumers (e.g. the HQ session-telemetry
21
+ * bridge) read this to build live snapshots without re-reading the shared
22
+ * session-registry file.
23
+ */
24
+ 'session.agents_updated': {
25
+ sessionId?: string | undefined;
26
+ agents: readonly TrackedAgentSnapshot[];
27
+ };
28
+ 'iteration.started': {
29
+ sessionId?: string | undefined;
30
+ ctx: Context;
31
+ index: number;
32
+ };
33
+ 'iteration.completed': {
34
+ sessionId?: string | undefined;
35
+ ctx: Context;
36
+ index: number;
37
+ };
38
+ /**
39
+ * Fired when the agent hits its iteration limit. Listeners (CLI/TUI) can
40
+ * call `grant(extra)` to allow more iterations, or `deny()` to stop.
41
+ * If no listener responds within 30s the run ends with 'max_iterations'.
42
+ */
43
+ 'iteration.limit_reached': {
44
+ sessionId?: string | undefined;
45
+ currentIterations: number;
46
+ currentLimit: number;
47
+ grant: (extraIterations: number) => void;
48
+ deny: () => void;
49
+ };
50
+ /**
51
+ * Fired on every `iteration.completed`. UIs subscribe to render a live
52
+ * context-window fill bar per agent (e.g. "67% ████████░░"). `load` is
53
+ * clamped to 0..1 so every live surface renders at most 100%; diagnostics
54
+ * can still detect over-budget states from `tokens > maxContext` or
55
+ * `rawLoad`.
56
+ */
57
+ 'ctx.pct': {
58
+ sessionId?: string | undefined;
59
+ /** Fraction of maxContext currently in use, clamped to 0..1 for display. */
60
+ load: number;
61
+ /** Unclamped fraction when available. Can exceed 1 when over budget. */
62
+ rawLoad?: number | undefined;
63
+ /** Estimated total tokens (system + tools + messages). */
64
+ tokens: number;
65
+ /** Provider's max context window. */
66
+ maxContext: number;
67
+ };
68
+ /** Fired when the active model's resolved context window changes. */
69
+ 'ctx.max_context': {
70
+ sessionId?: string | undefined;
71
+ providerId: string;
72
+ modelId: string;
73
+ maxContext: number;
74
+ };
75
+ 'context.repaired': {
76
+ sessionId?: string | undefined;
77
+ ctx: Context;
78
+ changed: boolean;
79
+ removedToolUses: string[];
80
+ removedToolResults: string[];
81
+ removedMessages: number;
82
+ };
83
+ 'compaction.fired': {
84
+ sessionId?: string | undefined;
85
+ /** Threshold level that triggered compaction (warn / soft / hard). */
86
+ level: 'warn' | 'soft' | 'hard';
87
+ /** Tokens estimated before compaction ran. */
88
+ tokens: number;
89
+ /** Fraction of maxContext at the time compaction fired. */
90
+ load: number;
91
+ /** Provider's max context window in tokens. */
92
+ maxContext: number;
93
+ /** Budget snapshot used for the compaction decision. */
94
+ budget?: {
95
+ maxContext: number;
96
+ inputTokens: number;
97
+ availableInputTokens: number;
98
+ remainingInputTokens: number;
99
+ reservedOutputTokens: number;
100
+ reservedSafetyTokens: number;
101
+ load: number;
102
+ overflowTokens: number;
103
+ } | undefined;
104
+ /** Adaptive trigger signals observed alongside token pressure. */
105
+ signals?: {
106
+ repeatedReadCount?: number | undefined;
107
+ } | undefined;
108
+ /** Full compaction report from the compactor. */
109
+ report: {
110
+ before: number;
111
+ after: number;
112
+ reductions: {
113
+ phase: string;
114
+ saved: number;
115
+ }[];
116
+ };
117
+ /** Whether aggressive (summary) mode was used. */
118
+ aggressive: boolean;
119
+ };
120
+ /**
121
+ * Fired when the auto-compaction middleware's compactor.compact() call
122
+ * throws. Compaction is best-effort by design so we don't crash the agent
123
+ * loop, but a persistent failure (misconfigured summarizer model, network
124
+ * outage) means the next iteration may hit context overflow. Observability
125
+ * layers / dashboards subscribe to this to surface the silent regression.
126
+ */
127
+ 'compaction.failed': {
128
+ sessionId?: string | undefined;
129
+ err: Error;
130
+ aggressive: boolean;
131
+ level: 'warn' | 'soft' | 'hard';
132
+ tokens: number;
133
+ maxContext: number;
134
+ budget?: {
135
+ maxContext: number;
136
+ inputTokens: number;
137
+ availableInputTokens: number;
138
+ remainingInputTokens: number;
139
+ reservedOutputTokens: number;
140
+ reservedSafetyTokens: number;
141
+ load: number;
142
+ overflowTokens: number;
143
+ } | undefined;
144
+ signals?: {
145
+ repeatedReadCount?: number | undefined;
146
+ } | undefined;
147
+ load: number;
148
+ fatal: boolean;
149
+ };
150
+ /** Fired by SessionWriter.writeCheckpoint() after the checkpoint event is appended to JSONL. */
151
+ 'checkpoint.written': {
152
+ sessionId?: string | undefined;
153
+ promptIndex: number;
154
+ promptPreview: string;
155
+ ts: string;
156
+ fileCount: number;
157
+ };
158
+ /**
159
+ * Fired by SessionWriter.writeInFlightMarker() — the agent loop has
160
+ * started a long-running operation. Pairs with `in_flight.ended`
161
+ * on clean shutdown. A marker with no end indicates a crash.
162
+ * (Idea #1 from IDEAS.md — Stateful Session Recovery.)
163
+ */
164
+ 'in_flight.started': {
165
+ sessionId?: string | undefined;
166
+ context: string;
167
+ ts: string;
168
+ };
169
+ /** Fired by SessionWriter.clearInFlightMarker() — operation completed cleanly. */
170
+ 'in_flight.ended': {
171
+ sessionId?: string | undefined;
172
+ reason: 'clean' | 'aborted' | 'recovered';
173
+ ts: string;
174
+ };
175
+ /**
176
+ * Fired after a session rewind completes: files are reverted and the session
177
+ * history is truncated. The TUI listens to this to update its checkpoint
178
+ * list and clear history entries that are now invalid.
179
+ */
180
+ 'session.rewound': {
181
+ sessionId?: string | undefined;
182
+ toPromptIndex: number;
183
+ revertedFiles: string[];
184
+ removedEvents: number;
185
+ };
186
+ /**
187
+ * Auto-proceed countdown tick, emitted once per second by the REPL while
188
+ * autonomy mode `auto` is counting down to self-driving the next suggestion.
189
+ * `remaining` is the number of whole seconds left. Display-only: the TUI
190
+ * StatusBar renders it as an "auto-proceed in Ns" chip; no consumer should
191
+ * derive behavior from it (the REPL owns the actual timer).
192
+ */
193
+ 'countdown.tick': {
194
+ sessionId?: string | undefined;
195
+ remaining: number;
196
+ };
197
+ /**
198
+ * Real-time client status event. Emitted by TUI/CLI/WebUI to report current
199
+ * session stats (tool calls, tokens, model, mode, cost). Broadcast immediately
200
+ * to all WebUI clients via setup-events.ts and written to status.json for
201
+ * external watchers.
202
+ */
203
+ 'client.status': {
204
+ /** Active session represented by this client status update. */
205
+ sessionId?: string | undefined;
206
+ clientType: string;
207
+ clientId: string;
208
+ projectHash: string;
209
+ agentCount: number;
210
+ model: string;
211
+ mode: string;
212
+ toolCalls: number;
213
+ inputTokens: number;
214
+ outputTokens: number;
215
+ cacheTokens: number;
216
+ costUsd: number;
217
+ timestamp: number;
218
+ projectSlug: string;
219
+ };
220
+ error: {
221
+ sessionId?: string | undefined;
222
+ err: Error;
223
+ phase: string;
224
+ _original?: Error | undefined;
225
+ };
226
+ }
227
+ //# sourceMappingURL=session-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-events.d.ts","sourceRoot":"","sources":["../../../src/kernel/events/session-events.ts"],"names":[],"mappings":"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"}