@namzu/sdk 9.0.0 → 11.0.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 (52) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/dist/agents/SupervisorAgent.d.ts.map +1 -1
  3. package/dist/agents/SupervisorAgent.js +0 -5
  4. package/dist/agents/SupervisorAgent.js.map +1 -1
  5. package/dist/manager/plan/lifecycle.d.ts +10 -0
  6. package/dist/manager/plan/lifecycle.d.ts.map +1 -1
  7. package/dist/manager/plan/lifecycle.js +14 -0
  8. package/dist/manager/plan/lifecycle.js.map +1 -1
  9. package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.d.ts +2 -0
  10. package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.d.ts.map +1 -0
  11. package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.js +90 -0
  12. package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.js.map +1 -0
  13. package/dist/runtime/query/index.d.ts +0 -1
  14. package/dist/runtime/query/index.d.ts.map +1 -1
  15. package/dist/runtime/query/index.js +0 -1
  16. package/dist/runtime/query/index.js.map +1 -1
  17. package/dist/runtime/query/iteration/phases/context.d.ts +0 -17
  18. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  19. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  20. package/dist/runtime/query/result.d.ts.map +1 -1
  21. package/dist/runtime/query/result.js +17 -1
  22. package/dist/runtime/query/result.js.map +1 -1
  23. package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.d.ts +2 -0
  24. package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.d.ts.map +1 -0
  25. package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.js +139 -0
  26. package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.js.map +1 -0
  27. package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.d.ts +2 -0
  28. package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.d.ts.map +1 -0
  29. package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.js +160 -0
  30. package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.js.map +1 -0
  31. package/dist/tools/coordinator/__tests__/approve-plan.test.js +21 -6
  32. package/dist/tools/coordinator/__tests__/approve-plan.test.js.map +1 -1
  33. package/dist/tools/coordinator/__tests__/completion-delivery.test.js +4 -0
  34. package/dist/tools/coordinator/__tests__/completion-delivery.test.js.map +1 -1
  35. package/dist/tools/coordinator/__tests__/task-list.test.js +44 -15
  36. package/dist/tools/coordinator/__tests__/task-list.test.js.map +1 -1
  37. package/dist/tools/coordinator/index.d.ts.map +1 -1
  38. package/dist/tools/coordinator/index.js +159 -8
  39. package/dist/tools/coordinator/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/agents/SupervisorAgent.ts +1 -8
  42. package/src/manager/plan/lifecycle.ts +14 -0
  43. package/src/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.ts +109 -0
  44. package/src/runtime/query/index.ts +0 -6
  45. package/src/runtime/query/iteration/phases/context.ts +0 -19
  46. package/src/runtime/query/result.ts +18 -1
  47. package/src/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.ts +171 -0
  48. package/src/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.ts +215 -0
  49. package/src/tools/coordinator/__tests__/approve-plan.test.ts +32 -11
  50. package/src/tools/coordinator/__tests__/completion-delivery.test.ts +7 -0
  51. package/src/tools/coordinator/__tests__/task-list.test.ts +47 -20
  52. package/src/tools/coordinator/index.ts +177 -8
@@ -10,7 +10,6 @@ import type { ActivityStore } from '../../../../store/activity/memory.js';
10
10
  import type { TaskGateway } from '../../../../types/agent/gateway.js';
11
11
  import type { WorkingMemoryProvider } from '../../../../types/agent/working-memory.js';
12
12
  import type { HITLResumeDecision, IterationCheckpoint, ResumeHandler } from '../../../../types/hitl/index.js';
13
- import type { TaskId } from '../../../../types/ids/index.js';
14
13
  import type { LLMProvider } from '../../../../types/provider/index.js';
15
14
  import type { TaskRouterConfig } from '../../../../types/router/index.js';
16
15
  import type { ReviewAnswer } from '../../../../types/run/answer-review.js';
@@ -25,21 +24,6 @@ import type { ToolExecutor } from '../../executor.js';
25
24
  import type { GuardCoordinator } from '../../guard.js';
26
25
  import type { SteeringChannel } from '../../steering.js';
27
26
  import type { ToolGrantSet } from '../../tool-grants.js';
28
- export interface LaunchedTaskMeta {
29
- readonly agentId: string;
30
- readonly description: string;
31
- readonly planTaskId?: string;
32
- /**
33
- * The `tool_use_id` of the assistant `create_task` block that
34
- * spawned this background task. Required to emit the canonical
35
- * `tool_result` content block when the task completes — without
36
- * it we'd fall back to the legacy synthetic-user-message inject
37
- * (see ses_009-task-notification-envelope). Optional because
38
- * older call paths that don't thread `ToolContext.toolUseId`
39
- * still publish the meta without it.
40
- */
41
- readonly originalToolUseId?: string;
42
- }
43
27
  export interface IterationContext {
44
28
  readonly provider: LLMProvider;
45
29
  /**
@@ -94,7 +78,6 @@ export interface IterationContext {
94
78
  */
95
79
  readonly completionInbox?: CompletionInbox;
96
80
  readonly taskStore?: TaskStore;
97
- readonly launchedTasks: Map<TaskId, LaunchedTaskMeta>;
98
81
  /**
99
82
  * Approvals a human granted earlier in this run, at a scope they chose.
100
83
  *
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/runtime/query/iteration/phases/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAkB,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,YAAY,GAAG,SAAS,CAAA;CACnD;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,qBAAqB;IAIlC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAmCrD,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAIzD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAiGpE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAI9B"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAkB,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,YAAY,GAAG,SAAS,CAAA;CACnD;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,qBAAqB;IAIlC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAoDrD,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAIzD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;IAiGpE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAI9B"}
@@ -10,10 +10,26 @@ export class ResultAssembler {
10
10
  this.config = config;
11
11
  }
12
12
  async *completeRun(rootSpan) {
13
- const { runMgr, activityStore, log, emitEvent, drainPending } = this.config;
13
+ const { runMgr, planManager, activityStore, log, emitEvent, drainPending } = this.config;
14
14
  if (runMgr.status === 'running') {
15
15
  runMgr.markCompleted(runMgr.stopReason);
16
16
  }
17
+ // Settle the plan, which nothing did on this path — so a plan could
18
+ // reach `failed` (the error path calls `failPlan`) or stay `executing`
19
+ // forever, but never `completed`. A host reading `plan.status` after a
20
+ // successful run saw "still running".
21
+ //
22
+ // Only when every step has reported, and the check is a read rather
23
+ // than a caught throw: `completePlan` refuses an unreported step on
24
+ // purpose, and turning a run that worked into a run that crashed on its
25
+ // way out would be a worse version of the bug the refusal prevents.
26
+ //
27
+ // A plan with steps nobody reported is LEFT `executing`, which is the
28
+ // honest answer — the caller and the plan disagree about whether the
29
+ // work is over, and this is not the place to resolve that by guessing.
30
+ if (planManager.isActive && planManager.unreportedSteps.length === 0) {
31
+ planManager.completePlan();
32
+ }
17
33
  await emitEvent({
18
34
  type: 'run_completed',
19
35
  runId: runMgr.id,
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=a-listing-is-not-a-back-door.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a-listing-is-not-a-back-door.test.d.ts","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,139 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { buildCoordinatorTools } from '../index.js';
3
+ /**
4
+ * A supervisor could read a sibling run's worker output by listing.
5
+ *
6
+ * `SupervisorAgentConfig.gateway` exists so a host can hand the SAME gateway to
7
+ * several runs, which makes `listTasks()` gateway-wide by design.
8
+ * `agent_task_list` handed that straight to the model — including each task's
9
+ * `result`, the worker's actual output — and `wait_for_task` had the same reach
10
+ * through `getTask`.
11
+ *
12
+ * `CompletionInbox` closed exactly this on the push side, because
13
+ * `onTaskCompleted` is a broadcast and a shared gateway would otherwise hand
14
+ * each supervisor the other's completions. The pull side kept no such record
15
+ * and asked the gateway directly, so the same leak stayed open through a
16
+ * different door.
17
+ */
18
+ const AGENTS = ['reviewer', 'researcher'];
19
+ function makeContext() {
20
+ return {
21
+ runId: 'run_scope',
22
+ workingDirectory: '/tmp/test',
23
+ abortSignal: new AbortController().signal,
24
+ env: {},
25
+ log: () => { },
26
+ };
27
+ }
28
+ /** One gateway, as a host sharing it between two supervisors would have. */
29
+ function sharedGateway() {
30
+ const handles = new Map();
31
+ let seq = 0;
32
+ const gateway = {
33
+ createTask: async (opts) => {
34
+ seq += 1;
35
+ const taskId = `tsk_${seq}`;
36
+ const handle = {
37
+ taskId,
38
+ agentId: opts.agentId,
39
+ state: 'completed',
40
+ createdAt: 1_000,
41
+ completedAt: 2_000,
42
+ result: {
43
+ status: 'completed',
44
+ result: `output of ${opts.agentId} on ${taskId}`,
45
+ },
46
+ };
47
+ handles.set(taskId, handle);
48
+ return handle;
49
+ },
50
+ waitForTask: async (taskId) => handles.get(taskId),
51
+ getTask: (taskId) => handles.get(taskId),
52
+ listTasks: () => [...handles.values()],
53
+ cancelTask: () => undefined,
54
+ continueTask: async () => undefined,
55
+ onTaskCompleted: () => () => { },
56
+ };
57
+ return gateway;
58
+ }
59
+ /** A run's own coordinator surface over a gateway it may be sharing. */
60
+ function runOver(gateway) {
61
+ const tools = buildCoordinatorTools({
62
+ gateway,
63
+ workingDirectory: '/tmp/test',
64
+ allowedAgentIds: AGENTS,
65
+ });
66
+ const named = (name) => {
67
+ const t = tools.find((tool) => tool.name === name);
68
+ if (!t)
69
+ throw new Error(`${name} missing from coordinator builder`);
70
+ return t;
71
+ };
72
+ return {
73
+ launch: (agentId) => named('create_task').execute({ agent_id: agentId, prompt: 'work', description: `${agentId} work` }, makeContext()),
74
+ list: () => named('agent_task_list').execute({}, makeContext()),
75
+ waitFor: (taskId) => named('wait_for_task').execute({ task_id: taskId }, makeContext()),
76
+ };
77
+ }
78
+ describe('one run cannot read another run through the listing', () => {
79
+ it('lists only the tasks this run launched', async () => {
80
+ const gateway = sharedGateway();
81
+ const first = runOver(gateway);
82
+ const second = runOver(gateway);
83
+ await first.launch('reviewer');
84
+ await second.launch('researcher');
85
+ const listed = await second.list();
86
+ // Its own, yes.
87
+ expect(listed.output).toContain('tsk_2');
88
+ // The sibling's task, and — the part that matters — the sibling's
89
+ // worker output, which the listing renders inline.
90
+ expect(listed.output).not.toContain('tsk_1');
91
+ expect(listed.output).not.toContain('output of reviewer');
92
+ });
93
+ it('counts only its own in the summary', async () => {
94
+ // The summary is what a supervisor reads to decide "done vs not done".
95
+ // A total that includes a sibling's tasks is a wrong answer to that
96
+ // question even when no output leaks with it.
97
+ const gateway = sharedGateway();
98
+ const first = runOver(gateway);
99
+ const second = runOver(gateway);
100
+ await first.launch('reviewer');
101
+ await first.launch('reviewer');
102
+ await second.launch('researcher');
103
+ const listed = await second.list();
104
+ const data = listed.data;
105
+ expect(data.summary.total).toBe(1);
106
+ expect(data.items).toHaveLength(1);
107
+ });
108
+ it('refuses to wait on a task another run launched', async () => {
109
+ const gateway = sharedGateway();
110
+ const first = runOver(gateway);
111
+ const second = runOver(gateway);
112
+ await first.launch('reviewer');
113
+ const waited = await second.waitFor('tsk_1');
114
+ expect(waited.success).toBe(false);
115
+ expect(waited.output).not.toContain('output of reviewer');
116
+ });
117
+ it('says the same thing about a task that never existed', async () => {
118
+ // The refusal must not distinguish "belongs to someone else" from
119
+ // "never existed". Confirming a real id to a run that should not know
120
+ // it is the leak in miniature.
121
+ const gateway = sharedGateway();
122
+ const first = runOver(gateway);
123
+ const second = runOver(gateway);
124
+ await first.launch('reviewer');
125
+ const sibling = await second.waitFor('tsk_1');
126
+ const fictional = await second.waitFor('tsk_9999');
127
+ expect(sibling.output).toBe(fictional.output.replace('tsk_9999', 'tsk_1'));
128
+ });
129
+ it('still lets a run wait on its own task', async () => {
130
+ // The scope has to be a filter, not a wall — a run that launched a task
131
+ // must still be able to read it back, or the fix breaks delegation.
132
+ const gateway = sharedGateway();
133
+ const only = runOver(gateway);
134
+ await only.launch('reviewer');
135
+ const waited = await only.waitFor('tsk_1');
136
+ expect(waited.success).toBe(true);
137
+ });
138
+ });
139
+ //# sourceMappingURL=a-listing-is-not-a-back-door.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a-listing-is-not-a-back-door.test.js","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAK7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;AAEzC,SAAS,WAAW;IACnB,OAAO;QACN,KAAK,EAAE,WAAoB;QAC3B,gBAAgB,EAAE,WAAW;QAC7B,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;QACzC,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;KACb,CAAA;AACF,CAAC;AAED,4EAA4E;AAC5E,SAAS,aAAa;IACrB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC7C,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,MAAM,OAAO,GAAG;QACf,UAAU,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC/C,GAAG,IAAI,CAAC,CAAA;YACR,MAAM,MAAM,GAAG,OAAO,GAAG,EAAY,CAAA;YACrC,MAAM,MAAM,GAAe;gBAC1B,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE;oBACP,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,aAAa,IAAI,CAAC,OAAO,OAAO,MAAM,EAAE;iBACxB;aACzB,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC3B,OAAO,MAAM,CAAA;QACd,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAe;QACxE,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAChD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS;QAC3B,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QACnC,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;KACL,CAAA;IAE3B,OAAO,OAAO,CAAA;AACf,CAAC;AAED,wEAAwE;AACxE,SAAS,OAAO,CAAC,OAAoB;IACpC,MAAM,KAAK,GAAG,qBAAqB,CAAC;QACnC,OAAO;QACP,gBAAgB,EAAE,WAAW;QAC7B,eAAe,EAAE,MAAM;KACvB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAA;QACnE,OAAO,CAAC,CAAA;IACT,CAAC,CAAA;IACD,OAAO;QACN,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,CAC3B,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAC3B,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,OAAO,EAAE,EACrE,WAAW,EAAE,CACb;QACF,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;QAC/D,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC;KAC/F,CAAA;AACF,CAAC;AAED,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACpE,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC9B,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAElC,gBAAgB;QAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACxC,kEAAkE;QAClE,mDAAmD;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACnD,uEAAuE;QACvE,oEAAoE;QACpE,8CAA8C;QAC9C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC9B,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC9B,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAwD,CAAA;QAE5E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAE9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACpE,kEAAkE;QAClE,sEAAsE;QACtE,+BAA+B;QAC/B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAE9B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAElD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,wEAAwE;QACxE,oEAAoE;QACpE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE7B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=a-plan-step-reports-its-own-outcome.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a-plan-step-reports-its-own-outcome.test.d.ts","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,160 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { PlanManager } from '../../../manager/plan/lifecycle.js';
3
+ import { buildCoordinatorTools } from '../index.js';
4
+ /**
5
+ * A plan's steps had no relationship to the work that carried them out.
6
+ *
7
+ * `approve_plan` built steps, `create_task` launched workers, and nothing
8
+ * connected the two — so no step could ever be observed, `updateStepStatus` had
9
+ * no production caller, and a plan could reach `failed` (the error path calls
10
+ * `failPlan`) or sit at `executing` forever, but never `completed`.
11
+ *
12
+ * Two bindings close it, because there are two kinds of step. A DELEGATED step
13
+ * reports through the `create_task` that carries it out. An ORCHESTRATOR-OWNED
14
+ * step has no tool call to bind to at all, and reports through
15
+ * `update_plan_step` — without which a plan containing one could never settle
16
+ * however well it went.
17
+ */
18
+ const RUN = 'run_step_binding';
19
+ function gatewayReturning(outcome) {
20
+ const handle = (taskId) => ({
21
+ taskId,
22
+ agentId: 'worker',
23
+ state: 'completed',
24
+ createdAt: 1_000,
25
+ completedAt: 2_000,
26
+ result: (outcome === 'ok'
27
+ ? { status: 'completed', result: 'the work' }
28
+ : { status: 'failed', lastError: 'the worker died' }),
29
+ });
30
+ return {
31
+ async createTask() {
32
+ return handle('tsk_1');
33
+ },
34
+ async waitForTask(id) {
35
+ return handle(id);
36
+ },
37
+ async continueTask() { },
38
+ cancelTask() { },
39
+ getTask(id) {
40
+ return handle(id);
41
+ },
42
+ listTasks() {
43
+ return [];
44
+ },
45
+ onTaskCompleted() {
46
+ return () => { };
47
+ },
48
+ };
49
+ }
50
+ function ctx() {
51
+ return {
52
+ runId: RUN,
53
+ workingDirectory: '/tmp/test',
54
+ abortSignal: new AbortController().signal,
55
+ env: {},
56
+ log: () => { },
57
+ };
58
+ }
59
+ /** An approved two-step plan: one delegated, one the orchestrator's own. */
60
+ function approvedPlan() {
61
+ const pm = new PlanManager(RUN, async () => ({ approved: true }));
62
+ pm.startGenerating('do the work');
63
+ pm.addStep({
64
+ id: 'step_1',
65
+ description: 'delegated work',
66
+ agentId: 'worker',
67
+ dependsOn: [],
68
+ order: 1,
69
+ });
70
+ pm.addStep({ id: 'step_2', description: 'my own work', dependsOn: [], order: 2 });
71
+ pm.markReady();
72
+ pm.approve();
73
+ pm.startExecution();
74
+ return pm;
75
+ }
76
+ function toolsOver(pm, gateway) {
77
+ const tools = buildCoordinatorTools({
78
+ gateway,
79
+ workingDirectory: '/tmp/test',
80
+ allowedAgentIds: ['worker'],
81
+ getPlanManager: () => pm,
82
+ });
83
+ return (name) => {
84
+ const t = tools.find((tool) => tool.name === name);
85
+ if (!t)
86
+ throw new Error(`${name} missing from coordinator builder`);
87
+ return t;
88
+ };
89
+ }
90
+ const stepStatus = (pm, id) => pm.active?.steps.find((s) => s.id === id)?.status;
91
+ describe('a delegated step reports through the launch that carries it out', () => {
92
+ it('completes the step when the worker succeeded', async () => {
93
+ const pm = approvedPlan();
94
+ const named = toolsOver(pm, gatewayReturning('ok'));
95
+ await named('create_task').execute({ agent_id: 'worker', prompt: 'go', description: 'do it', plan_step_id: 'step_1' }, ctx());
96
+ expect(stepStatus(pm, 'step_1')).toBe('completed');
97
+ });
98
+ it('fails the step when the worker failed, from both authorities', async () => {
99
+ // The handle is `state: 'completed'` with `result.status: 'failed'` —
100
+ // the split that made a failed worker read as an answer. The step must
101
+ // follow the run status, not the gateway state.
102
+ const pm = approvedPlan();
103
+ const named = toolsOver(pm, gatewayReturning('failed'));
104
+ await named('create_task').execute({ agent_id: 'worker', prompt: 'go', description: 'do it', plan_step_id: 'step_1' }, ctx());
105
+ expect(stepStatus(pm, 'step_1')).toBe('failed');
106
+ });
107
+ it('leaves the plan alone when the launch names no step', async () => {
108
+ // A launch outside the approved plan must not silently settle one.
109
+ const pm = approvedPlan();
110
+ const named = toolsOver(pm, gatewayReturning('ok'));
111
+ await named('create_task').execute({ agent_id: 'worker', prompt: 'go', description: 'unrelated work' }, ctx());
112
+ expect(stepStatus(pm, 'step_1')).toBe('pending');
113
+ });
114
+ });
115
+ describe('an orchestrator-owned step reports through update_plan_step', () => {
116
+ it('records the outcome and says what is still outstanding', async () => {
117
+ const pm = approvedPlan();
118
+ const named = toolsOver(pm, gatewayReturning('ok'));
119
+ const result = await named('update_plan_step').execute({ step_id: 'step_2', status: 'completed' }, ctx());
120
+ expect(result.success).toBe(true);
121
+ expect(stepStatus(pm, 'step_2')).toBe('completed');
122
+ // step_1 has not reported, and saying so is the point — this is what
123
+ // tells the model the plan cannot settle yet.
124
+ expect(result.output).toContain('step_1');
125
+ });
126
+ it('treats skipped as a real outcome, not a failure', async () => {
127
+ const pm = approvedPlan();
128
+ const named = toolsOver(pm, gatewayReturning('ok'));
129
+ await named('update_plan_step').execute({ step_id: 'step_2', status: 'skipped' }, ctx());
130
+ expect(stepStatus(pm, 'step_2')).toBe('skipped');
131
+ });
132
+ it('refuses an id the plan does not have, and names the ones it does', async () => {
133
+ const pm = approvedPlan();
134
+ const named = toolsOver(pm, gatewayReturning('ok'));
135
+ const result = await named('update_plan_step').execute({ step_id: 'step_9', status: 'completed' }, ctx());
136
+ expect(result.success).toBe(false);
137
+ expect(result.error).toContain('step_1');
138
+ expect(result.error).toContain('step_2');
139
+ });
140
+ });
141
+ describe('the two bindings together let a plan settle', () => {
142
+ it('reaches completed once every step has reported', async () => {
143
+ const pm = approvedPlan();
144
+ const named = toolsOver(pm, gatewayReturning('ok'));
145
+ await named('create_task').execute({ agent_id: 'worker', prompt: 'go', description: 'do it', plan_step_id: 'step_1' }, ctx());
146
+ await named('update_plan_step').execute({ step_id: 'step_2', status: 'completed' }, ctx());
147
+ expect(pm.unreportedSteps).toHaveLength(0);
148
+ expect(pm.completePlan()?.status).toBe('completed');
149
+ });
150
+ it('leaves the plan unsettled while a step is still silent', async () => {
151
+ // The state the kernel reads before deciding whether to settle. An
152
+ // unreported step means the caller and the plan disagree about whether
153
+ // the work is over, and the run must not resolve that by guessing.
154
+ const pm = approvedPlan();
155
+ const named = toolsOver(pm, gatewayReturning('ok'));
156
+ await named('create_task').execute({ agent_id: 'worker', prompt: 'go', description: 'do it', plan_step_id: 'step_1' }, ctx());
157
+ expect(pm.unreportedSteps.map((s) => s.id)).toEqual(['step_2']);
158
+ });
159
+ });
160
+ //# sourceMappingURL=a-plan-step-reports-its-own-outcome.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a-plan-step-reports-its-own-outcome.test.js","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.ts"],"names":[],"mappings":"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"}
@@ -73,11 +73,23 @@ describe('coordinator approve_plan tool', () => {
73
73
  { description: 'Launch architecture worker' },
74
74
  ]);
75
75
  });
76
- it('keeps the bare-approve tool_result output byte-identical', async () => {
76
+ it('opens with the historical approval sentence, then names the steps', async () => {
77
+ // This assertion used to be `toBe` on the whole string, guarding the
78
+ // approve-with-edits change against disturbing the bare-approve path.
79
+ // It was never a promise that the output would carry nothing more, and
80
+ // it now carries the step roster — without which `plan_step_id` and
81
+ // `update_plan_step` name ids the model has never been told.
77
82
  const result = await executeApprovePlan({ approved: true });
78
83
  expect(result.success).toBe(true);
79
- expect(result.output).toBe('Plan approved by user. Proceed with execution — launch workers via create_task.');
80
- expect(result.data).toEqual({ approved: true, feedback: undefined });
84
+ expect(result.output.startsWith('Plan approved by user. Proceed with execution — launch workers via create_task.')).toBe(true);
85
+ expect(result.output).toContain('step_1 Extract uploaded DOCX files');
86
+ expect(result.data).toMatchObject({ approved: true, feedback: undefined });
87
+ });
88
+ it('carries the step ids in data, so a host does not have to parse prose', async () => {
89
+ const result = await executeApprovePlan({ approved: true });
90
+ expect(result.data.steps).toEqual([
91
+ { step_id: 'step_1', description: 'Extract uploaded DOCX files', agent_id: undefined },
92
+ ]);
81
93
  });
82
94
  it('embeds approve-with-edits feedback in the output and data', async () => {
83
95
  const result = await executeApprovePlan({
@@ -85,10 +97,13 @@ describe('coordinator approve_plan tool', () => {
85
97
  feedback: 'Skip step 2 and use the staging database instead.',
86
98
  });
87
99
  expect(result.success).toBe(true);
88
- expect(result.output).toBe('Plan approved by user with required edits — apply them during execution:\n' +
100
+ expect(result.output.startsWith('Plan approved by user with required edits — apply them during execution:\n' +
89
101
  'Skip step 2 and use the staging database instead.\n' +
90
- 'Proceed with execution — launch workers via create_task.');
91
- expect(result.data).toEqual({
102
+ 'Proceed with execution — launch workers via create_task.')).toBe(true);
103
+ // The edits stay ahead of the roster: what the user demanded is the
104
+ // first thing read, and the step list is reference material after it.
105
+ expect(result.output.indexOf('staging database')).toBeLessThan(result.output.indexOf('step_1'));
106
+ expect(result.data).toMatchObject({
92
107
  approved: true,
93
108
  feedback: 'Skip step 2 and use the staging database instead.',
94
109
  });
@@ -1 +1 @@
1
- {"version":3,"file":"approve-plan.test.js","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/approve-plan.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approve-plan.test.js","sourceRoot":"","sources":["../../../../src/tools/coordinator/__tests__/approve-plan.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAKhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,SAAS,aAAa;IACrB,OAAO;QACN,KAAK,CAAC,UAAU;YACf,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,WAAW;YAChB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,YAAY,KAAI,CAAC;QACvB,UAAU,KAAI,CAAC;QACf,OAAO;YACN,OAAO,SAAS,CAAA;QACjB,CAAC;QACD,SAAS;YACR,OAAO,EAAE,CAAA;QACV,CAAC;QACD,eAAe;YACd,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QAChB,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,eAAe;IACvB,OAAO;QACN,KAAK,EAAE,uBAAgC;QACvC,gBAAgB,EAAE,WAAW;QAC7B,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;QACzC,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;KACb,CAAA;AACF,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,QAA8B;IAC/D,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,uBAAgC,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAA;IAClF,MAAM,KAAK,GAAG,qBAAqB,CAAC;QACnC,OAAO,EAAE,aAAa,EAAE;QACxB,gBAAgB,EAAE,WAAW;QAC7B,eAAe,EAAE,CAAC,gBAAgB,CAAC;QACnC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE;KACxB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;IACtE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IAEvF,OAAO,WAAW,CAAC,OAAO,CACzB;QACC,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,oDAAoD;QAC7D,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;KACvD,EACD,eAAe,EAAE,CACjB,CAAA;AACF,CAAC;AAED,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACvE,MAAM,KAAK,GAAG,qBAAqB,CAAC;YACnC,OAAO,EAAE,aAAa,EAAE;YACxB,gBAAgB,EAAE,WAAW;YAC7B,eAAe,EAAE,CAAC,gBAAgB,CAAC;YACnC,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;SAC/B,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;QACtE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvF,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,oDAAoD;YAC7D,KAAK,EAAE,+DAA+D;SACtE,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAiD,CAAA;QACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC1B,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC9C,EAAE,WAAW,EAAE,4BAA4B,EAAE;SAC7C,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QAClF,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CACL,MAAM,CAAC,MAAM,CAAC,UAAU,CACvB,iFAAiF,CACjF,CACD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAA;QACvE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3D,MAAM,CAAE,MAAM,CAAC,IAA2B,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACzD,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,SAAS,EAAE;SACtF,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACvC,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,mDAAmD;SAC7D,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CACL,MAAM,CAAC,MAAM,CAAC,UAAU,CACvB,4EAA4E;YAC3E,qDAAqD;YACrD,0DAA0D,CAC3D,CACD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YACjC,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,mDAAmD;SAC7D,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC5G,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACvC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,sCAAsC;SAChD,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,iEAAiE;QACjE,kEAAkE;QAClE,yDAAyD;QACzD,4DAA4D;QAC5D,2BAA2B;QAC3B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACzB,gTAAgT,CAChT,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC3B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,sCAAsC;SAChD,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -214,6 +214,10 @@ describe('waiting explicitly beats listing in a loop', () => {
214
214
  describe('the task listing carries the output it always had', () => {
215
215
  async function listWith(result) {
216
216
  const h = harness();
217
+ // Launch it first. The listing is scoped to what this run launched, so
218
+ // settling a task the tools never created describes a sibling run's
219
+ // work — which the listing now declines to show, correctly.
220
+ await toolNamed(h.tools, 'create_task').execute({ agent_id: 'reviewer', prompt: 'go', description: 'review', background: true }, {});
217
221
  h.settle({
218
222
  taskId: 'tsk_1',
219
223
  agentId: 'reviewer',