@namzu/sdk 0.4.5 → 0.6.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 (182) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/dist/advisory/executor.d.ts.map +1 -1
  3. package/dist/advisory/executor.js +3 -2
  4. package/dist/advisory/executor.js.map +1 -1
  5. package/dist/advisory/executor.test.js +36 -14
  6. package/dist/advisory/executor.test.js.map +1 -1
  7. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  8. package/dist/agents/ReactiveAgent.js +1 -0
  9. package/dist/agents/ReactiveAgent.js.map +1 -1
  10. package/dist/agents/RouterAgent.d.ts.map +1 -1
  11. package/dist/agents/RouterAgent.js +3 -2
  12. package/dist/agents/RouterAgent.js.map +1 -1
  13. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  14. package/dist/agents/SupervisorAgent.js +8 -0
  15. package/dist/agents/SupervisorAgent.js.map +1 -1
  16. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  17. package/dist/bridge/a2a/mapper.js +23 -9
  18. package/dist/bridge/a2a/mapper.js.map +1 -1
  19. package/dist/bridge/a2a/mapper.test.js +35 -9
  20. package/dist/bridge/a2a/mapper.test.js.map +1 -1
  21. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  22. package/dist/bridge/sse/mapper.js +60 -8
  23. package/dist/bridge/sse/mapper.js.map +1 -1
  24. package/dist/bridge/sse/mapper.test.js +123 -16
  25. package/dist/bridge/sse/mapper.test.js.map +1 -1
  26. package/dist/compaction/verifier.d.ts.map +1 -1
  27. package/dist/compaction/verifier.js +3 -2
  28. package/dist/compaction/verifier.js.map +1 -1
  29. package/dist/config/runtime.js +1 -1
  30. package/dist/config/runtime.js.map +1 -1
  31. package/dist/contracts/api.d.ts +1 -1
  32. package/dist/contracts/api.d.ts.map +1 -1
  33. package/dist/contracts/schemas.js +1 -1
  34. package/dist/contracts/schemas.js.map +1 -1
  35. package/dist/gateway/local.d.ts +1 -1
  36. package/dist/gateway/local.d.ts.map +1 -1
  37. package/dist/gateway/local.js +1 -0
  38. package/dist/gateway/local.js.map +1 -1
  39. package/dist/manager/agent/__tests__/lifecycle.test.js +2 -2
  40. package/dist/provider/collect.d.ts +25 -0
  41. package/dist/provider/collect.d.ts.map +1 -0
  42. package/dist/provider/collect.js +82 -0
  43. package/dist/provider/collect.js.map +1 -0
  44. package/dist/provider/collect.test.d.ts +22 -0
  45. package/dist/provider/collect.test.d.ts.map +1 -0
  46. package/dist/provider/collect.test.js +123 -0
  47. package/dist/provider/collect.test.js.map +1 -0
  48. package/dist/provider/instrumentation.d.ts.map +1 -1
  49. package/dist/provider/instrumentation.js +10 -43
  50. package/dist/provider/instrumentation.js.map +1 -1
  51. package/dist/provider/instrumentation.test.d.ts +15 -0
  52. package/dist/provider/instrumentation.test.d.ts.map +1 -1
  53. package/dist/provider/instrumentation.test.js +73 -87
  54. package/dist/provider/instrumentation.test.js.map +1 -1
  55. package/dist/provider/mock.d.ts +1 -2
  56. package/dist/provider/mock.d.ts.map +1 -1
  57. package/dist/provider/mock.js +2 -5
  58. package/dist/provider/mock.js.map +1 -1
  59. package/dist/public-runtime.d.ts +1 -0
  60. package/dist/public-runtime.d.ts.map +1 -1
  61. package/dist/public-runtime.js +1 -0
  62. package/dist/public-runtime.js.map +1 -1
  63. package/dist/run/LimitChecker.test.d.ts +2 -0
  64. package/dist/run/LimitChecker.test.d.ts.map +1 -0
  65. package/dist/run/LimitChecker.test.js +26 -0
  66. package/dist/run/LimitChecker.test.js.map +1 -0
  67. package/dist/run/reporter.d.ts.map +1 -1
  68. package/dist/run/reporter.js +10 -6
  69. package/dist/run/reporter.js.map +1 -1
  70. package/dist/runtime/query/__tests__/prompt.test.d.ts +2 -0
  71. package/dist/runtime/query/__tests__/prompt.test.d.ts.map +1 -0
  72. package/dist/runtime/query/__tests__/prompt.test.js +35 -0
  73. package/dist/runtime/query/__tests__/prompt.test.js.map +1 -0
  74. package/dist/runtime/query/context-cache.d.ts +2 -0
  75. package/dist/runtime/query/context-cache.d.ts.map +1 -1
  76. package/dist/runtime/query/context-cache.js +3 -0
  77. package/dist/runtime/query/context-cache.js.map +1 -1
  78. package/dist/runtime/query/events.d.ts +2 -0
  79. package/dist/runtime/query/events.d.ts.map +1 -1
  80. package/dist/runtime/query/events.js +48 -1
  81. package/dist/runtime/query/events.js.map +1 -1
  82. package/dist/runtime/query/executor.d.ts.map +1 -1
  83. package/dist/runtime/query/executor.js +55 -5
  84. package/dist/runtime/query/executor.js.map +1 -1
  85. package/dist/runtime/query/index.d.ts +2 -1
  86. package/dist/runtime/query/index.d.ts.map +1 -1
  87. package/dist/runtime/query/index.js +2 -0
  88. package/dist/runtime/query/index.js.map +1 -1
  89. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  90. package/dist/runtime/query/iteration/index.js +245 -13
  91. package/dist/runtime/query/iteration/index.js.map +1 -1
  92. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  93. package/dist/runtime/query/iteration/phases/compaction.js +2 -0
  94. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  95. package/dist/runtime/query/prompt.d.ts +2 -0
  96. package/dist/runtime/query/prompt.d.ts.map +1 -1
  97. package/dist/runtime/query/prompt.js +35 -13
  98. package/dist/runtime/query/prompt.js.map +1 -1
  99. package/dist/session/__tests__/integration/e2e-spawn.test.js +2 -2
  100. package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts +1 -1
  101. package/dist/session/__tests__/integration/event-stream-ordering.test.js +7 -7
  102. package/dist/streaming/coalesce.d.ts +28 -0
  103. package/dist/streaming/coalesce.d.ts.map +1 -0
  104. package/dist/streaming/coalesce.js +75 -0
  105. package/dist/streaming/coalesce.js.map +1 -0
  106. package/dist/streaming/coalesce.test.d.ts +19 -0
  107. package/dist/streaming/coalesce.test.d.ts.map +1 -0
  108. package/dist/streaming/coalesce.test.js +120 -0
  109. package/dist/streaming/coalesce.test.js.map +1 -0
  110. package/dist/tools/coordinator/index.d.ts +2 -0
  111. package/dist/tools/coordinator/index.d.ts.map +1 -1
  112. package/dist/tools/coordinator/index.js +1 -0
  113. package/dist/tools/coordinator/index.js.map +1 -1
  114. package/dist/types/agent/base.d.ts +7 -0
  115. package/dist/types/agent/base.d.ts.map +1 -1
  116. package/dist/types/agent/gateway.d.ts +2 -1
  117. package/dist/types/agent/gateway.d.ts.map +1 -1
  118. package/dist/types/agent/supervisor.d.ts +27 -0
  119. package/dist/types/agent/supervisor.d.ts.map +1 -1
  120. package/dist/types/ids/index.d.ts +10 -0
  121. package/dist/types/ids/index.d.ts.map +1 -1
  122. package/dist/types/ids/index.js.map +1 -1
  123. package/dist/types/provider/interface.d.ts +16 -2
  124. package/dist/types/provider/interface.d.ts.map +1 -1
  125. package/dist/types/provider/stream.d.ts +18 -0
  126. package/dist/types/provider/stream.d.ts.map +1 -1
  127. package/dist/types/run/events.d.ts +58 -8
  128. package/dist/types/run/events.d.ts.map +1 -1
  129. package/dist/types/run/events.js +23 -1
  130. package/dist/types/run/events.js.map +1 -1
  131. package/dist/types/run/schema-version.d.ts +7 -1
  132. package/dist/types/run/schema-version.d.ts.map +1 -1
  133. package/dist/types/run/schema-version.js +7 -1
  134. package/dist/types/run/schema-version.js.map +1 -1
  135. package/dist/types/run/stop-reason.d.ts +9 -0
  136. package/dist/types/run/stop-reason.d.ts.map +1 -1
  137. package/package.json +1 -1
  138. package/src/advisory/executor.test.ts +37 -15
  139. package/src/advisory/executor.ts +10 -7
  140. package/src/agents/ReactiveAgent.ts +1 -0
  141. package/src/agents/RouterAgent.ts +9 -6
  142. package/src/agents/SupervisorAgent.ts +8 -0
  143. package/src/bridge/a2a/mapper.test.ts +35 -9
  144. package/src/bridge/a2a/mapper.ts +23 -9
  145. package/src/bridge/sse/mapper.test.ts +152 -24
  146. package/src/bridge/sse/mapper.ts +66 -9
  147. package/src/compaction/verifier.ts +9 -6
  148. package/src/config/runtime.ts +1 -1
  149. package/src/contracts/api.ts +7 -0
  150. package/src/contracts/schemas.ts +1 -1
  151. package/src/gateway/local.ts +3 -2
  152. package/src/manager/agent/__tests__/lifecycle.test.ts +2 -2
  153. package/src/provider/collect.test.ts +142 -0
  154. package/src/provider/collect.ts +85 -0
  155. package/src/provider/instrumentation.test.ts +81 -100
  156. package/src/provider/instrumentation.ts +11 -53
  157. package/src/provider/mock.ts +2 -6
  158. package/src/public-runtime.ts +1 -0
  159. package/src/run/LimitChecker.test.ts +32 -0
  160. package/src/run/reporter.ts +10 -7
  161. package/src/runtime/query/__tests__/prompt.test.ts +38 -0
  162. package/src/runtime/query/context-cache.ts +5 -0
  163. package/src/runtime/query/events.ts +52 -1
  164. package/src/runtime/query/executor.ts +54 -5
  165. package/src/runtime/query/index.ts +5 -1
  166. package/src/runtime/query/iteration/index.ts +301 -26
  167. package/src/runtime/query/iteration/phases/compaction.ts +2 -0
  168. package/src/runtime/query/prompt.ts +45 -17
  169. package/src/session/__tests__/integration/e2e-spawn.test.ts +2 -2
  170. package/src/session/__tests__/integration/event-stream-ordering.test.ts +7 -7
  171. package/src/streaming/coalesce.test.ts +132 -0
  172. package/src/streaming/coalesce.ts +89 -0
  173. package/src/tools/coordinator/index.ts +3 -0
  174. package/src/types/agent/base.ts +9 -0
  175. package/src/types/agent/gateway.ts +3 -1
  176. package/src/types/agent/supervisor.ts +29 -0
  177. package/src/types/ids/index.ts +10 -0
  178. package/src/types/provider/interface.ts +16 -3
  179. package/src/types/provider/stream.ts +18 -0
  180. package/src/types/run/events.ts +105 -9
  181. package/src/types/run/schema-version.ts +7 -1
  182. package/src/types/run/stop-reason.ts +17 -0
@@ -0,0 +1,28 @@
1
+ import type { RunEvent } from '../types/run/events.js';
2
+ interface CoalesceOptions {
3
+ windowMs: number;
4
+ }
5
+ /**
6
+ * Coalesces high-frequency `text_delta` and `tool_input_delta` events into
7
+ * fewer, larger events to relieve downstream backpressure (typically a
8
+ * Server-Sent Events adapter writing to a slow client).
9
+ *
10
+ * Within a sliding `windowMs` window, consecutive `text_delta` events for
11
+ * the same `messageId` are merged by string concatenation; consecutive
12
+ * `tool_input_delta` events for the same `toolUseId` are likewise merged.
13
+ * All other event types pass through immediately and flush any buffered
14
+ * deltas first to preserve ordering.
15
+ *
16
+ * The orchestrator does NOT use this — it emits raw deltas. SSE adapters
17
+ * and other slow consumers opt in. A 16ms window roughly aligns with one
18
+ * UI animation frame at 60fps, which is the empirically derived default
19
+ * for cowork's stream route.
20
+ *
21
+ * Backpressure semantics: this helper does not drop events. If the
22
+ * upstream produces faster than the consumer drains, the helper still
23
+ * yields every coalesced batch; the consumer must apply its own bound or
24
+ * accept queue growth.
25
+ */
26
+ export declare function coalesce(stream: AsyncIterable<RunEvent>, options?: CoalesceOptions): AsyncGenerator<RunEvent, void, unknown>;
27
+ export {};
28
+ //# sourceMappingURL=coalesce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coalesce.d.ts","sourceRoot":"","sources":["../../src/streaming/coalesce.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD,UAAU,eAAe;IACxB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAuB,QAAQ,CAC9B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,OAAO,GAAE,eAAkC,GACzC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAyDzC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Coalesces high-frequency `text_delta` and `tool_input_delta` events into
3
+ * fewer, larger events to relieve downstream backpressure (typically a
4
+ * Server-Sent Events adapter writing to a slow client).
5
+ *
6
+ * Within a sliding `windowMs` window, consecutive `text_delta` events for
7
+ * the same `messageId` are merged by string concatenation; consecutive
8
+ * `tool_input_delta` events for the same `toolUseId` are likewise merged.
9
+ * All other event types pass through immediately and flush any buffered
10
+ * deltas first to preserve ordering.
11
+ *
12
+ * The orchestrator does NOT use this — it emits raw deltas. SSE adapters
13
+ * and other slow consumers opt in. A 16ms window roughly aligns with one
14
+ * UI animation frame at 60fps, which is the empirically derived default
15
+ * for cowork's stream route.
16
+ *
17
+ * Backpressure semantics: this helper does not drop events. If the
18
+ * upstream produces faster than the consumer drains, the helper still
19
+ * yields every coalesced batch; the consumer must apply its own bound or
20
+ * accept queue growth.
21
+ */
22
+ export async function* coalesce(stream, options = { windowMs: 16 }) {
23
+ const { windowMs } = options;
24
+ let textBuf = null;
25
+ const toolBufs = new Map();
26
+ function* flushAll() {
27
+ if (textBuf) {
28
+ yield textBuf.event;
29
+ textBuf = null;
30
+ }
31
+ for (const buf of toolBufs.values()) {
32
+ yield buf.event;
33
+ }
34
+ toolBufs.clear();
35
+ }
36
+ const now = () => Date.now();
37
+ for await (const event of stream) {
38
+ if (event.type === 'text_delta') {
39
+ if (textBuf && textBuf.event.messageId === event.messageId && textBuf.deadline > now()) {
40
+ textBuf.event = {
41
+ ...textBuf.event,
42
+ text: textBuf.event.text + event.text,
43
+ };
44
+ }
45
+ else {
46
+ if (textBuf)
47
+ yield textBuf.event;
48
+ textBuf = { event, deadline: now() + windowMs };
49
+ }
50
+ continue;
51
+ }
52
+ if (event.type === 'tool_input_delta') {
53
+ const existing = toolBufs.get(event.toolUseId);
54
+ if (existing && existing.deadline > now()) {
55
+ existing.event = {
56
+ ...existing.event,
57
+ partialJson: existing.event.partialJson + event.partialJson,
58
+ };
59
+ }
60
+ else {
61
+ if (existing)
62
+ yield existing.event;
63
+ toolBufs.set(event.toolUseId, {
64
+ event,
65
+ deadline: now() + windowMs,
66
+ });
67
+ }
68
+ continue;
69
+ }
70
+ yield* flushAll();
71
+ yield event;
72
+ }
73
+ yield* flushAll();
74
+ }
75
+ //# sourceMappingURL=coalesce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coalesce.js","sourceRoot":"","sources":["../../src/streaming/coalesce.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC9B,MAA+B,EAC/B,UAA2B,EAAE,QAAQ,EAAE,EAAE,EAAE;IAE3C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAC5B,IAAI,OAAO,GAAkF,IAAI,CAAA;IACjG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAA;IAEH,QAAQ,CAAC,CAAC,QAAQ;QACjB,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,CAAC,KAAK,CAAA;YACnB,OAAO,GAAG,IAAI,CAAA;QACf,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC,KAAK,CAAA;QAChB,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC;gBACxF,OAAO,CAAC,KAAK,GAAG;oBACf,GAAG,OAAO,CAAC,KAAK;oBAChB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;iBACrC,CAAA;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,OAAO;oBAAE,MAAM,OAAO,CAAC,KAAK,CAAA;gBAChC,OAAO,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;YAChD,CAAC;YACD,SAAQ;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC9C,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC;gBAC3C,QAAQ,CAAC,KAAK,GAAG;oBAChB,GAAG,QAAQ,CAAC,KAAK;oBACjB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;iBAC3D,CAAA;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,QAAQ;oBAAE,MAAM,QAAQ,CAAC,KAAK,CAAA;gBAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC7B,KAAK;oBACL,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ;iBAC1B,CAAC,CAAA;YACH,CAAC;YACD,SAAQ;QACT,CAAC;QAED,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QACjB,MAAM,KAAK,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;AAClB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Behavioural contract for `coalesce()` (ses_001-tool-stream-events phase 1A):
3
+ *
4
+ * - `text_delta` events for the same `messageId` within the configured
5
+ * `windowMs` are merged into a single event whose `text` is the
6
+ * concatenation in arrival order.
7
+ * - `tool_input_delta` events for the same `toolUseId` within the window
8
+ * are merged the same way on `partialJson`.
9
+ * - Any other event flushes pending buffers first, preserving overall
10
+ * stream ordering.
11
+ * - End-of-stream flushes any remaining buffers.
12
+ * - Different `messageId`s and `toolUseId`s never merge with each other.
13
+ *
14
+ * The coalescer is opt-in for slow downstream consumers (SSE adapters);
15
+ * the orchestrator emits raw deltas. A 16ms default roughly aligns with
16
+ * one 60fps animation frame.
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=coalesce.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coalesce.test.d.ts","sourceRoot":"","sources":["../../src/streaming/coalesce.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Behavioural contract for `coalesce()` (ses_001-tool-stream-events phase 1A):
3
+ *
4
+ * - `text_delta` events for the same `messageId` within the configured
5
+ * `windowMs` are merged into a single event whose `text` is the
6
+ * concatenation in arrival order.
7
+ * - `tool_input_delta` events for the same `toolUseId` within the window
8
+ * are merged the same way on `partialJson`.
9
+ * - Any other event flushes pending buffers first, preserving overall
10
+ * stream ordering.
11
+ * - End-of-stream flushes any remaining buffers.
12
+ * - Different `messageId`s and `toolUseId`s never merge with each other.
13
+ *
14
+ * The coalescer is opt-in for slow downstream consumers (SSE adapters);
15
+ * the orchestrator emits raw deltas. A 16ms default roughly aligns with
16
+ * one 60fps animation frame.
17
+ */
18
+ import { describe, expect, it } from 'vitest';
19
+ import { coalesce } from './coalesce.js';
20
+ const RID = 'run_1';
21
+ const MID = 'msg_1';
22
+ const MID2 = 'msg_2';
23
+ const TUID = 'toolu_a';
24
+ const TUID2 = 'toolu_b';
25
+ async function* fromArray(events) {
26
+ for (const e of events)
27
+ yield e;
28
+ }
29
+ async function drain(stream) {
30
+ const out = [];
31
+ for await (const e of stream)
32
+ out.push(e);
33
+ return out;
34
+ }
35
+ describe('coalesce()', () => {
36
+ it('merges consecutive text_delta events with same messageId within window', async () => {
37
+ const events = [
38
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'hel' },
39
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'lo' },
40
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: ' world' },
41
+ ];
42
+ const result = await drain(coalesce(fromArray(events), { windowMs: 1000 }));
43
+ expect(result).toHaveLength(1);
44
+ expect(result[0]).toMatchObject({
45
+ type: 'text_delta',
46
+ text: 'hello world',
47
+ messageId: MID,
48
+ });
49
+ });
50
+ it('merges consecutive tool_input_delta events with same toolUseId', async () => {
51
+ const events = [
52
+ { type: 'tool_input_delta', runId: RID, toolUseId: TUID, partialJson: '{"file":' },
53
+ { type: 'tool_input_delta', runId: RID, toolUseId: TUID, partialJson: '"/a"' },
54
+ { type: 'tool_input_delta', runId: RID, toolUseId: TUID, partialJson: '}' },
55
+ ];
56
+ const result = await drain(coalesce(fromArray(events), { windowMs: 1000 }));
57
+ expect(result).toHaveLength(1);
58
+ expect(result[0]).toMatchObject({
59
+ type: 'tool_input_delta',
60
+ toolUseId: TUID,
61
+ partialJson: '{"file":"/a"}',
62
+ });
63
+ });
64
+ it('does not merge across different messageIds', async () => {
65
+ const events = [
66
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'a' },
67
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID2, text: 'b' },
68
+ ];
69
+ const result = await drain(coalesce(fromArray(events), { windowMs: 1000 }));
70
+ expect(result).toHaveLength(2);
71
+ });
72
+ it('does not merge across different toolUseIds', async () => {
73
+ const events = [
74
+ { type: 'tool_input_delta', runId: RID, toolUseId: TUID, partialJson: 'x' },
75
+ { type: 'tool_input_delta', runId: RID, toolUseId: TUID2, partialJson: 'y' },
76
+ ];
77
+ const result = await drain(coalesce(fromArray(events), { windowMs: 1000 }));
78
+ expect(result).toHaveLength(2);
79
+ });
80
+ it('flushes pending buffers when a non-coalescable event arrives', async () => {
81
+ const events = [
82
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'a' },
83
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'b' },
84
+ {
85
+ type: 'tool_input_started',
86
+ runId: RID,
87
+ iteration: 0,
88
+ messageId: MID,
89
+ toolUseId: TUID,
90
+ toolName: 'Read',
91
+ },
92
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'c' },
93
+ ];
94
+ const result = await drain(coalesce(fromArray(events), { windowMs: 1000 }));
95
+ expect(result.map((e) => e.type)).toEqual(['text_delta', 'tool_input_started', 'text_delta']);
96
+ expect(result[0].text).toBe('ab');
97
+ expect(result[2].text).toBe('c');
98
+ });
99
+ it('flushes residual buffers at end of stream', async () => {
100
+ const events = [
101
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'tail' },
102
+ ];
103
+ const result = await drain(coalesce(fromArray(events), { windowMs: 1000 }));
104
+ expect(result).toHaveLength(1);
105
+ });
106
+ it('emits new event after window expires', async () => {
107
+ const events = [
108
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'a' },
109
+ { type: 'text_delta', runId: RID, iteration: 0, messageId: MID, text: 'b' },
110
+ ];
111
+ const stream = (async function* () {
112
+ yield events[0];
113
+ await new Promise((r) => setTimeout(r, 30));
114
+ yield events[1];
115
+ })();
116
+ const result = await drain(coalesce(stream, { windowMs: 16 }));
117
+ expect(result).toHaveLength(2);
118
+ });
119
+ });
120
+ //# sourceMappingURL=coalesce.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coalesce.test.js","sourceRoot":"","sources":["../../src/streaming/coalesce.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { PlanManager } from '../../manager/plan/lifecycle.js';
2
+ import type { AgentRuntimeContext } from '../../types/agent/base.js';
2
3
  import type { TaskGateway } from '../../types/agent/gateway.js';
3
4
  import type { RunId, TaskId } from '../../types/ids/index.js';
4
5
  import type { TaskStore } from '../../types/task/index.js';
@@ -11,6 +12,7 @@ export type TaskLaunchedCallback = (agentTaskId: TaskId, meta: {
11
12
  export interface CoordinatorToolsOptions {
12
13
  gateway: TaskGateway;
13
14
  workingDirectory: string;
15
+ runtimeContext?: AgentRuntimeContext;
14
16
  allowedAgentIds: string[];
15
17
  taskStore?: TaskStore;
16
18
  runId?: RunId;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,MAAM,MAAM,oBAAoB,GAAG,CAClC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACL,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,KACG,IAAI,CAAA;AAET,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,WAAW,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAE9C,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACrC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,EAAE,CAmNrF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,MAAM,MAAM,oBAAoB,GAAG,CAClC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACL,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,KACG,IAAI,CAAA;AAET,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,WAAW,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAE9C,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACrC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,EAAE,CAoNrF"}
@@ -47,6 +47,7 @@ export function buildCoordinatorTools(opts) {
47
47
  agentId: agent_id,
48
48
  prompt,
49
49
  workingDirectory: cwd,
50
+ runtimeContext: opts.runtimeContext,
50
51
  });
51
52
  if (onTaskLaunched) {
52
53
  onTaskLaunched(handle.taskId, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/coordinator/index.ts"],"names":[],"mappings":"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"}
@@ -49,12 +49,19 @@ export interface BaseAgentConfig {
49
49
  invocationState?: InvocationState;
50
50
  }
51
51
  export type RuntimeToolOverrides = Record<string, ToolAvailability | 'disabled'>;
52
+ export interface AgentRuntimeContext {
53
+ label?: string;
54
+ outputDirectory?: string;
55
+ outputFileMarker?: string;
56
+ notes?: readonly string[];
57
+ }
52
58
  export interface AgentInput {
53
59
  messages: Message[];
54
60
  workingDirectory: string;
55
61
  signal?: AbortSignal;
56
62
  taskStore?: TaskStore;
57
63
  runtimeToolOverrides?: RuntimeToolOverrides;
64
+ runtimeContext?: AgentRuntimeContext;
58
65
  }
59
66
  export interface BaseAgentResult {
60
67
  runId: RunId;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;AAE/D,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,qFAAqF;IACrF,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAEhC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAAC,CAAA;AAEhF,MAAM,WAAW,mBAAmB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAE3C,cAAc,CAAC,EAAE,mBAAmB,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,KAAK,EAAE,UAAU,CAAA;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IACjC,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,iBAAiB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,SAAS,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,iBAAiB,CAAA;CAC/B"}
@@ -1,5 +1,5 @@
1
1
  import type { TaskId } from '../ids/index.js';
2
- import type { BaseAgentResult } from './base.js';
2
+ import type { AgentRuntimeContext, BaseAgentResult } from './base.js';
3
3
  import type { AgentTaskState } from './task.js';
4
4
  export interface TaskHandle {
5
5
  readonly taskId: TaskId;
@@ -13,6 +13,7 @@ export interface CreateTaskOptions {
13
13
  agentId: string;
14
14
  prompt: string;
15
15
  workingDirectory: string;
16
+ runtimeContext?: AgentRuntimeContext;
16
17
  configOverrides?: Record<string, unknown>;
17
18
  }
18
19
  export interface TaskGateway {
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/agent/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,EAAE,MAAM,CAAA;IAEd,gBAAgB,EAAE,MAAM,CAAA;IAExB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE3D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEhD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAE/C,SAAS,IAAI,UAAU,EAAE,CAAA;IAEzB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACnE"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/types/agent/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM,EAAE,MAAM,CAAA;IAEd,gBAAgB,EAAE,MAAM,CAAA;IAExB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,WAAW;IAC3B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE3D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEhD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAE/C,SAAS,IAAI,UAAU,EAAE,CAAA;IAEzB,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACnE"}
@@ -1,6 +1,8 @@
1
1
  import type { AdvisoryConfig } from '../advisory/index.js';
2
+ import type { ResumeHandler } from '../hitl/index.js';
2
3
  import type { LLMProvider } from '../provider/index.js';
3
4
  import type { TaskRouterConfig } from '../router/index.js';
5
+ import type { VerificationGateConfig } from '../verification/index.js';
4
6
  import type { BaseAgentConfig, BaseAgentResult } from './base.js';
5
7
  import type { AgentFactoryOptions } from './factory.js';
6
8
  import type { TaskGateway } from './gateway.js';
@@ -15,6 +17,31 @@ export interface SupervisorAgentConfig extends BaseAgentConfig {
15
17
  taskRouter?: TaskRouterConfig;
16
18
  factoryOptions?: AgentFactoryOptions;
17
19
  advisory?: AdvisoryConfig;
20
+ /**
21
+ * Optional human-in-the-loop hook for tool review and run-pause
22
+ * decisions. When omitted, the supervisor delegates to drainQuery's
23
+ * built-in `autoApproveHandler`, which approves every tool call
24
+ * without prompting — matching Anthropic's "Act without asking"
25
+ * cowork mode.
26
+ *
27
+ * Hosts that want "Ask before acting" behaviour pass a custom
28
+ * handler that surfaces the `tool_review_requested` RunEvent to
29
+ * the user and resolves the returned promise once the user
30
+ * approves, rejects, or modifies the call.
31
+ */
32
+ resumeHandler?: ResumeHandler;
33
+ /**
34
+ * Optional declarative gate evaluated before tool execution. When
35
+ * the gate marks all calls in a batch as `allow`, they execute
36
+ * without round-tripping through the resumeHandler. Mixed or all-
37
+ * deny outcomes fall through to review (and the resumeHandler).
38
+ *
39
+ * Use it to express deterministic policy (e.g. "internal
40
+ * read-only tools always allow; destructive shell calls always
41
+ * review") so the resumeHandler only fires for the truly
42
+ * non-deterministic cases.
43
+ */
44
+ verificationGate?: VerificationGateConfig;
18
45
  }
19
46
  export interface AgentTaskResult {
20
47
  agentId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/types/agent/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,QAAQ,EAAE,WAAW,CAAA;IAErB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,YAAY,CAAC,EAAE,oBAAoB,CAAA;IAEnC,YAAY,EAAE,MAAM,CAAA;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAE7B,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC,QAAQ,CAAC,EAAE,cAAc,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,WAAW,EAAE,eAAe,EAAE,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CAClB"}
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../../src/types/agent/supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,QAAQ,EAAE,WAAW,CAAA;IAErB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,YAAY,CAAC,EAAE,oBAAoB,CAAA;IAEnC,YAAY,EAAE,MAAM,CAAA;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAE7B,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC,QAAQ,CAAC,EAAE,cAAc,CAAA;IAEzB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAE7B;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;CACzC;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC7D,WAAW,EAAE,eAAe,EAAE,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CAClB"}
@@ -2,6 +2,16 @@ export type RunId = `run_${string}`;
2
2
  export type MessageId = `msg_${string}`;
3
3
  export type SessionId = `ses_${string}`;
4
4
  export type ToolCallId = `call_${string}`;
5
+ /**
6
+ * Provider-issued tool-use identifier surfaced on the streaming event bus.
7
+ * Providers emit different prefixes (Anthropic: `toolu_*`, OpenAI: `call_*`,
8
+ * others vary), so this type intentionally stays unbranded — we accept the
9
+ * provider's verbatim string and use it solely as a correlation key across
10
+ * `tool_input_*`, `tool_executing`, and `tool_completed` events. Distinct
11
+ * from {@link ToolCallId} which is the OpenAI-format identifier carried in
12
+ * persisted assistant messages and replay records.
13
+ */
14
+ export type ToolUseId = string;
5
15
  export type ActivityId = `act_${string}`;
6
16
  export type TaskId = `task_${string}`;
7
17
  export type PlanId = `plan_${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,CAAA;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,cAAc,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,SAAS,MAAM,EAAE,CAAA;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AAIvC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AAKrC,MAAM,MAAM,cAAc,GAAG,OAAO,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,gBAAgB,GAAG,OAAO,MAAM,EAAE,CAAA;AAK9C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAA2B,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,CAAA;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAA;AACzC;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAC9B,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,cAAc,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,SAAS,MAAM,EAAE,CAAA;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AAIvC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AAKrC,MAAM,MAAM,cAAc,GAAG,OAAO,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,gBAAgB,GAAG,OAAO,MAAM,EAAE,CAAA;AAK9C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAA2B,QAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAmDA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAgC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AA6DA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAgC,CAAA"}
@@ -1,11 +1,25 @@
1
1
  import type { DoctorCheckResult } from '../doctor/index.js';
2
- import type { ChatCompletionParams, ChatCompletionResponse } from './chat.js';
2
+ import type { ChatCompletionParams } from './chat.js';
3
3
  import type { ModelInfo } from './model.js';
4
4
  import type { StreamChunk } from './stream.js';
5
5
  export interface LLMProvider {
6
6
  readonly id: string;
7
7
  readonly name: string;
8
- chat(params: ChatCompletionParams): Promise<ChatCompletionResponse>;
8
+ /**
9
+ * The single LLM entry point. Returns an async iterable of
10
+ * {@link StreamChunk} carrying text deltas, tool-call argument
11
+ * fragments, and per-tool-block boundary signals (`toolCallEnd`).
12
+ *
13
+ * Consumers that need an aggregated response (legacy
14
+ * `ChatCompletionResponse` shape) call
15
+ * `collect(provider.chatStream(params))` from
16
+ * `@namzu/sdk/provider/collect`. The kernel's iteration
17
+ * orchestrator consumes the stream directly so it can emit
18
+ * per-delta `RunEvent`s.
19
+ *
20
+ * Phase 2 of ses_001-tool-stream-events removed the previous
21
+ * non-streaming `chat()` method from this interface.
22
+ */
9
23
  chatStream(params: ChatCompletionParams): AsyncIterable<StreamChunk>;
10
24
  listModels?(): Promise<ModelInfo[]>;
11
25
  healthCheck?(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/types/provider/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAEnE,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IAEpE,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAEnC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhC;;;;;;;OAOG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC1C"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/types/provider/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IAEpE,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAEnC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhC;;;;;;;OAOG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC1C"}
@@ -12,6 +12,24 @@ export interface StreamChunk {
12
12
  arguments?: string;
13
13
  };
14
14
  }>;
15
+ /**
16
+ * Provider signal that a tool-use content block has finished
17
+ * streaming arguments. Translates from Anthropic's
18
+ * `content_block_stop` (for tool_use blocks) and from the
19
+ * equivalent end-of-tool-arguments boundary on other providers.
20
+ *
21
+ * The orchestrator uses this to emit `tool_input_completed` per
22
+ * tool as soon as its block closes, rather than waiting for
23
+ * `message_stop`. Providers that cannot emit a per-tool boundary
24
+ * leave this undefined; the orchestrator infers from
25
+ * end-of-stream instead.
26
+ *
27
+ * Added 2026-05-01 (ses_001-tool-stream-events A9).
28
+ */
29
+ toolCallEnd?: {
30
+ index: number;
31
+ id: string;
32
+ };
15
33
  };
16
34
  finishReason?: 'stop' | 'tool_calls' | 'length' | 'content_filter';
17
35
  usage?: TokenUsage;
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/types/provider/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,IAAI,CAAC,EAAE,UAAU,CAAA;YACjB,QAAQ,CAAC,EAAE;gBACV,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,SAAS,CAAC,EAAE,MAAM,CAAA;aAClB,CAAA;SACD,CAAC,CAAA;KACF,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,gBAAgB,CAAA;IAClE,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/types/provider/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,EAAE,CAAC,EAAE,MAAM,CAAA;YACX,IAAI,CAAC,EAAE,UAAU,CAAA;YACjB,QAAQ,CAAC,EAAE;gBACV,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,SAAS,CAAC,EAAE,MAAM,CAAA;aAClB,CAAA;SACD,CAAC,CAAA;QACF;;;;;;;;;;;;;WAaG;QACH,WAAW,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAA;YACb,EAAE,EAAE,MAAM,CAAA;SACV,CAAA;KACD,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,gBAAgB,CAAA;IAClE,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}