@namzu/sdk 12.0.0 → 12.1.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 (35) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/agents/AbstractAgent.d.ts +20 -0
  3. package/dist/agents/AbstractAgent.d.ts.map +1 -1
  4. package/dist/agents/AbstractAgent.js +32 -0
  5. package/dist/agents/AbstractAgent.js.map +1 -1
  6. package/dist/agents/lock.d.ts.map +1 -1
  7. package/dist/agents/lock.js +8 -1
  8. package/dist/agents/lock.js.map +1 -1
  9. package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.d.ts +2 -0
  10. package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.d.ts.map +1 -0
  11. package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.js +137 -0
  12. package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.js.map +1 -0
  13. package/dist/gateway/local.d.ts.map +1 -1
  14. package/dist/gateway/local.js +25 -1
  15. package/dist/gateway/local.js.map +1 -1
  16. package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.d.ts +2 -0
  17. package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.d.ts.map +1 -0
  18. package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.js +101 -0
  19. package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.js.map +1 -0
  20. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  21. package/dist/manager/agent/lifecycle.js +21 -1
  22. package/dist/manager/agent/lifecycle.js.map +1 -1
  23. package/dist/types/agent/core.d.ts +21 -0
  24. package/dist/types/agent/core.d.ts.map +1 -1
  25. package/dist/types/agent/factory.d.ts +18 -0
  26. package/dist/types/agent/factory.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/agents/AbstractAgent.ts +35 -0
  29. package/src/agents/lock.ts +10 -1
  30. package/src/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.ts +175 -0
  31. package/src/gateway/local.ts +25 -1
  32. package/src/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.ts +118 -0
  33. package/src/manager/agent/lifecycle.ts +21 -1
  34. package/src/types/agent/core.ts +22 -0
  35. package/src/types/agent/factory.ts +20 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,27 @@ export interface Agent<TConfig extends BaseAgentConfig = BaseAgentConfig, TResul
4
4
  readonly type: AgentType;
5
5
  readonly metadata: AgentMetadata;
6
6
  run(input: AgentInput, config: TConfig, listener?: RunEventListener): Promise<TResult>;
7
+ /**
8
+ * A shell of this agent that one run may have to itself.
9
+ *
10
+ * An agent instance holds per-run state — an abort controller, the id of
11
+ * the run in flight — and refuses a second concurrent `run` because of it.
12
+ * That refusal is correct for a host calling `run` twice on purpose: two
13
+ * overlapping runs would share one abort controller, so cancelling either
14
+ * kills both.
15
+ *
16
+ * It is wrong for delegation, which is why this exists. `AgentRegistry`
17
+ * hands out ONE instance per registered id, so a fan-out naming the same
18
+ * `agent_id` four times drove four runs at one shell: one worked and three
19
+ * died with `ConcurrentInvocationError`. The prescribed remedy — "construct
20
+ * a second instance" — was unreachable from there, because the definition
21
+ * owns the instance and the caller only has an id.
22
+ *
23
+ * OPTIONAL, and absence is safe: a manager that cannot get a fresh shell
24
+ * falls back to the shared one and the refusal stands, which is loud rather
25
+ * than wrong. `AbstractAgent` implements it for every agent built on it.
26
+ */
27
+ forRun?(): Agent<TConfig, TResult>;
7
28
  cancel(): Promise<void>;
8
29
  getCapabilities(): AgentCapabilities;
9
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/agent/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,MAAM,WAAW,CAAA;AAElB,MAAM,WAAW,KAAK,CACrB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,OAAO,SAAS,eAAe,GAAG,eAAe;IAEjD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAEhC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,eAAe,IAAI,iBAAiB,CAAA;CACpC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/agent/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,MAAM,WAAW,CAAA;AAElB,MAAM,WAAW,KAAK,CACrB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,OAAO,SAAS,eAAe,GAAG,eAAe;IAEjD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAEhC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAElC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,eAAe,IAAI,iBAAiB,CAAA;CACpC"}
@@ -6,6 +6,24 @@ export type { AgentContextLevel } from './base.js';
6
6
  export interface AgentDefinition {
7
7
  info: AgentInfo;
8
8
  typedAgent: Agent<BaseAgentConfig, BaseAgentResult>;
9
+ /**
10
+ * Build a fresh agent for a single spawn.
11
+ *
12
+ * `typedAgent` is ONE instance, and an instance refuses a second
13
+ * concurrent run because it holds per-run state. So a delegation fan-out
14
+ * naming the same `agent_id` four times ran one child and lost three to
15
+ * `ConcurrentInvocationError` — while `create_task`'s own description tells
16
+ * a model that exactly this fan-out is the thing to do.
17
+ *
18
+ * The manager prefers this over `typedAgent` for every spawn. Supply it
19
+ * when your agent needs real construction arguments; agents built on
20
+ * `AbstractAgent` already get a working default from `Agent.forRun`, so
21
+ * most hosts need nothing here.
22
+ *
23
+ * `configBuilder` is not a substitute: it produces a fresh CONFIG per
24
+ * spawn, and the config was never the part being shared.
25
+ */
26
+ createAgent?: () => Agent<BaseAgentConfig, BaseAgentResult>;
9
27
  configBuilder?: (options: AgentFactoryOptions) => BaseAgentConfig | Promise<BaseAgentConfig>;
10
28
  contextLevel?: AgentContextLevel;
11
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/types/agent/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5F,YAAY,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEhC,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAExC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IAEpC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAE7B,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/types/agent/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IAEnD;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,MAAM,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IAE3D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAE5F,YAAY,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEhC,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAExC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IAEpC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAE7B,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "12.0.0",
3
+ "version": "12.1.0",
4
4
  "description": "Open-source AI agent SDK with a built-in runtime. Nothing between you and your agents.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "type": "module",
@@ -55,6 +55,41 @@ export abstract class AbstractAgent<
55
55
 
56
56
  abstract run(input: AgentInput, config: TConfig, listener?: RunEventListener): Promise<TResult>
57
57
 
58
+ /**
59
+ * A fresh shell of this agent, for a run that must not share one.
60
+ *
61
+ * See {@link Agent.forRun}. An agent is a shell around metadata — every
62
+ * per-run decision arrives in `config` and `input` — so a second instance
63
+ * costs one object and gives the run its own abort controller and run id,
64
+ * which is precisely what the invocation lock is protecting.
65
+ *
66
+ * Rebuilt from `this.constructor` and `this.metadata`, which covers every
67
+ * agent in this package: they all take metadata and nothing else. A
68
+ * subclass with a different constructor signature will throw here, and the
69
+ * answer to that is `this` — the caller then shares the shell and gets the
70
+ * existing refusal on a concurrent run, which is the behaviour before this
71
+ * existed. Losing parallelism is a worse outcome than not having it; losing
72
+ * the run is not on the table.
73
+ *
74
+ * A host whose agent needs real construction arguments supplies
75
+ * `AgentDefinition.createAgent` instead, which wins over this.
76
+ */
77
+ forRun(): this {
78
+ try {
79
+ const Ctor = this.constructor as unknown as new (metadata: AgentMetadata) => this
80
+ return new Ctor(this.metadata)
81
+ } catch (err) {
82
+ this.log.warn(
83
+ 'Could not build a per-run shell; concurrent runs of this agent will still be refused',
84
+ {
85
+ agentId: this.metadata.id,
86
+ error: err instanceof Error ? err.message : String(err),
87
+ },
88
+ )
89
+ return this
90
+ }
91
+ }
92
+
58
93
  /**
59
94
  * Acquire the invocation lock to prevent concurrent execution.
60
95
  * Returns a Disposable that must be disposed to release the lock.
@@ -11,7 +11,16 @@ export class ConcurrentInvocationError extends Error {
11
11
  readonly agentId: string
12
12
 
13
13
  constructor(agentId: string) {
14
- super(`Agent ${agentId} is already processing. Concurrent invocations are not allowed.`)
14
+ // Names the remedy, because the refusal alone sent readers looking for a
15
+ // concurrency bug in their own code. An agent instance holds per-run
16
+ // state — an abort controller and the run id — so two overlapping runs
17
+ // on one shell would cancel each other; the answer is a second shell,
18
+ // not a second attempt. Delegated spawns get one automatically via
19
+ // `Agent.forRun`, so reaching this from a fan-out means the agent
20
+ // could not be rebuilt and wants `AgentDefinition.createAgent`.
21
+ super(
22
+ `Agent ${agentId} is already processing. Concurrent invocations of one instance are not allowed, because its abort controller and run id are instance state and two runs would cancel each other. Run a second instance instead — or, for a delegated spawn, give its AgentDefinition a \`createAgent\` factory so each child gets its own.`,
23
+ )
15
24
  this.name = 'ConcurrentInvocationError'
16
25
  this.agentId = agentId
17
26
  }
@@ -0,0 +1,175 @@
1
+ import { describe, expect, it } from 'vitest'
2
+
3
+ import type { Agent } from '../../types/agent/core.js'
4
+ import type { AgentManagerContract } from '../../types/agent/manager.js'
5
+ import type {
6
+ AgentTask,
7
+ AgentTaskContext,
8
+ AgentTaskState,
9
+ SendMessageOptions,
10
+ } from '../../types/agent/task.js'
11
+ import type { AgentId, RunId, SessionId, TaskId, TenantId } from '../../types/ids/index.js'
12
+ import type { RunEventListener } from '../../types/run/events.js'
13
+ import type { ProjectId, ThreadId } from '../../types/session/ids.js'
14
+ import { LocalTaskGateway } from '../local.js'
15
+
16
+ /**
17
+ * A child that spoke before its own spawn resolved killed the launch.
18
+ *
19
+ * The progress tee handed to `sendMessage` read `task.taskId` — the `const`
20
+ * that the very same `await` assigns. So any run event emitted by the child
21
+ * before `sendMessage` returned reached that line inside the temporal dead
22
+ * zone and threw `Cannot access 'task' before initialization`, taking the whole
23
+ * `create_task` down with it.
24
+ *
25
+ * It survived review and a full unit suite because a single sequential launch
26
+ * usually resolves before the child says anything. A CONCURRENT fan-out does
27
+ * not — and that is the shape `create_task`'s own description tells the model
28
+ * to use. Observed live on the published package: four launches from one turn,
29
+ * three dead.
30
+ */
31
+
32
+ const RUN = 'run_tee' as RunId
33
+
34
+ /** Emits a run event DURING the spawn, before it resolves. */
35
+ class TalksDuringSpawn implements AgentManagerContract {
36
+ /** Kept so a test can make the child speak AFTER the spawn resolved too. */
37
+ private lastListener?: RunEventListener
38
+
39
+ constructor(private readonly emitsBeforeResolve: number) {}
40
+
41
+ /** The child says something once the caller holds its handle. */
42
+ speakNow(): void {
43
+ this.lastListener?.({ type: 'iteration_started', runId: RUN, iteration: 99 } as never)
44
+ }
45
+
46
+ async sendMessage(
47
+ options: SendMessageOptions,
48
+ _context: AgentTaskContext,
49
+ listener?: RunEventListener,
50
+ ): Promise<AgentTask> {
51
+ this.lastListener = listener
52
+ // The child is alive and streaming before the caller holds its handle.
53
+ for (let i = 0; i < this.emitsBeforeResolve; i += 1) {
54
+ listener?.({ type: 'iteration_started', runId: RUN, iteration: i } as never)
55
+ }
56
+ await Promise.resolve()
57
+ return {
58
+ taskId: 'task_spoke_early' as TaskId,
59
+ agentId: options.agentId,
60
+ agent: {} as Agent<never, never>,
61
+ childAbortController: new AbortController(),
62
+ context: {} as AgentTaskContext,
63
+ state: 'completed' as AgentTaskState,
64
+ pendingMessages: [],
65
+ createdAt: 1,
66
+ } as AgentTask
67
+ }
68
+
69
+ cancel(): void {}
70
+ cancelAll(): void {}
71
+ async continueTask(): Promise<void> {}
72
+ queueMessage(): void {}
73
+ drainMessages() {
74
+ return []
75
+ }
76
+ async waitForCompletion(): Promise<void> {}
77
+ getInstance(): AgentTask | undefined {
78
+ return undefined
79
+ }
80
+ listByParent(): AgentTask[] {
81
+ return []
82
+ }
83
+ listActive(): AgentTask[] {
84
+ return []
85
+ }
86
+ getState(): AgentTaskState | undefined {
87
+ return undefined
88
+ }
89
+ on(): void {}
90
+ off(): void {}
91
+ cleanup(): void {}
92
+ dispose(): void {}
93
+ }
94
+
95
+ function context(): AgentTaskContext {
96
+ return {
97
+ parentRunId: RUN,
98
+ parentAgentId: 'supervisor',
99
+ parentAbortController: new AbortController(),
100
+ depth: 0,
101
+ budgetTracker: { total: 100_000, remaining: 100_000 },
102
+ tenantId: 'tnt_t' as TenantId,
103
+ threadId: 'thd_t' as ThreadId,
104
+ sessionId: 'ses_t' as SessionId,
105
+ projectId: 'prj_t' as ProjectId,
106
+ parentActor: { kind: 'agent', agentId: 'supervisor' as AgentId, tenantId: 'tnt_t' as TenantId },
107
+ } as AgentTaskContext
108
+ }
109
+
110
+ describe('a launch survives a child that speaks before the spawn resolves', () => {
111
+ it('does not throw when an event arrives mid-spawn', async () => {
112
+ const gateway = new LocalTaskGateway(new TalksDuringSpawn(3), context())
113
+ // The listener is what makes this reproduce, and its absence is what
114
+ // made the bug invisible for so long: with no progress subscriber the
115
+ // loop body never runs, so `task.taskId` is never evaluated and the
116
+ // dead zone is never entered. `create_task` attaches one for the idle
117
+ // bound on every blocking launch, which is why it bit in production and
118
+ // not in any test.
119
+ gateway.onTaskProgress?.(() => {})
120
+
121
+ await expect(
122
+ gateway.createTask({ agentId: 'worker', prompt: 'go', workingDirectory: '/tmp' }),
123
+ ).resolves.toMatchObject({ taskId: 'task_spoke_early' })
124
+ })
125
+
126
+ it('still forwards those events to the host listener', async () => {
127
+ // The tee is what broke, not the forwarding. A host watching the child
128
+ // must not lose its early events to this fix.
129
+ const seen: string[] = []
130
+ const gateway = new LocalTaskGateway(new TalksDuringSpawn(3), context(), (e) => {
131
+ seen.push(e.type)
132
+ })
133
+
134
+ await gateway.createTask({ agentId: 'worker', prompt: 'go', workingDirectory: '/tmp' })
135
+
136
+ expect(seen).toEqual(['iteration_started', 'iteration_started', 'iteration_started'])
137
+ })
138
+
139
+ it('reports progress once the task has an id to report it against', async () => {
140
+ // Before the id exists nothing is waiting on the task — the caller does
141
+ // not hold the handle yet — so silence there is correct. What must work
142
+ // is everything after.
143
+ const manager = new TalksDuringSpawn(1)
144
+ const gateway = new LocalTaskGateway(manager, context())
145
+ const progressed: TaskId[] = []
146
+ gateway.onTaskProgress?.((id) => progressed.push(id))
147
+
148
+ await gateway.createTask({ agentId: 'worker', prompt: 'go', workingDirectory: '/tmp' })
149
+ // The one emitted mid-spawn is not attributed — there was no id yet.
150
+ expect(progressed).toEqual([])
151
+
152
+ // Now the child speaks with the handle already in the caller's hands,
153
+ // which is the case an idle bound is actually measuring.
154
+ manager.speakNow()
155
+
156
+ expect(progressed).toEqual(['task_spoke_early' as TaskId])
157
+ })
158
+
159
+ it('survives a concurrent fan-out, which is how this was found', async () => {
160
+ const gateway = new LocalTaskGateway(new TalksDuringSpawn(2), context())
161
+ // Same reason as above: the live failure came through the idle bound's
162
+ // subscriber, so a fan-out test without one would not reproduce the
163
+ // thing it is named after.
164
+ gateway.onTaskProgress?.(() => {})
165
+
166
+ const launched = await Promise.all(
167
+ [1, 2, 3, 4].map(() =>
168
+ gateway.createTask({ agentId: 'worker', prompt: 'go', workingDirectory: '/tmp' }),
169
+ ),
170
+ )
171
+
172
+ expect(launched).toHaveLength(4)
173
+ expect(launched.every((h) => h.taskId === 'task_spoke_early')).toBe(true)
174
+ })
175
+ })
@@ -60,6 +60,12 @@ export class LocalTaskGateway implements TaskGateway {
60
60
  }
61
61
 
62
62
  async createTask(options: CreateTaskOptions): Promise<TaskHandle> {
63
+ // Filled once the spawn resolves. A box rather than a bare binding
64
+ // because the assignment happens AFTER the `await` that the reader is
65
+ // passed into — see the progress tee below for why it cannot simply
66
+ // read the `task` const it is declared beside.
67
+ const launched: { id?: TaskId } = {}
68
+
63
69
  const task = await this.agentManager.sendMessage(
64
70
  {
65
71
  agentId: options.agentId,
@@ -109,12 +115,30 @@ export class LocalTaskGateway implements TaskGateway {
109
115
  // idle bound measures. The event itself is not forwarded — a
110
116
  // progress signal that carried the child's output would be a
111
117
  // second, undocumented way to read a worker's work.
118
+ //
119
+ // The id comes from `launched.id`, NOT from the `task` const
120
+ // below. This callback is handed to the very `await` that assigns
121
+ // `task`, so a child that emits anything before `sendMessage`
122
+ // resolves reached it inside the temporal dead zone and threw
123
+ // `Cannot access 'task' before initialization` — killing the launch
124
+ // outright.
125
+ //
126
+ // It survived because a single sequential launch usually resolves
127
+ // before the child says anything. A concurrent fan-out does not:
128
+ // with four `create_task` calls from one turn — the shape this
129
+ // tool's own description tells the model to use — the event loop
130
+ // interleaves and three of the four died. Found by running one.
112
131
  (event) => {
113
132
  this.listener?.(event)
114
- for (const notify of this.progressListeners) notify(task.taskId)
133
+ // No id yet means nothing is waiting on this task: the caller
134
+ // does not hold the handle, so an idle bound cannot be running
135
+ // against it. There is no progress to report to anyone.
136
+ if (launched.id === undefined) return
137
+ for (const notify of this.progressListeners) notify(launched.id)
115
138
  },
116
139
  )
117
140
 
141
+ launched.id = task.taskId
118
142
  this.trackedTaskIds.add(task.taskId)
119
143
 
120
144
  this.agentManager
@@ -0,0 +1,118 @@
1
+ import { describe, expect, it } from 'vitest'
2
+
3
+ import { ReactiveAgent } from '../../../agents/ReactiveAgent.js'
4
+ import { ToolRegistry } from '../../../registry/index.js'
5
+ import type { AgentDefinition } from '../../../types/agent/factory.js'
6
+
7
+ /**
8
+ * A fan-out naming the same agent four times ran one child and lost three.
9
+ *
10
+ * `AgentRegistry` hands out ONE `typedAgent` per registered id, and an instance
11
+ * refuses a second concurrent `run` — correctly, because its abort controller
12
+ * and run id are instance state and two overlapping runs would cancel each
13
+ * other. So four `create_task` calls at one specialist produced one result and
14
+ * three `ConcurrentInvocationError`s.
15
+ *
16
+ * The prescribed remedy already existed in the docs — "a host that wants
17
+ * parallelism constructs a second instance" — and was unreachable from
18
+ * delegation, where the definition owns the instance and the caller has only an
19
+ * id. Observed live on published 12.0.1: four launches, three lost.
20
+ *
21
+ * These cover the shell itself. That the manager USES it per spawn is covered
22
+ * where the manager is driven; what has to hold here is that asking for a
23
+ * per-run shell gives you a genuinely separate one.
24
+ */
25
+
26
+ const metadata = {
27
+ id: 'worker',
28
+ name: 'worker',
29
+ version: '1.0.0',
30
+ category: 'general',
31
+ description: 'a worker',
32
+ }
33
+
34
+ describe('an agent can hand out a shell a single run has to itself', () => {
35
+ it('returns a different instance', () => {
36
+ const agent = new ReactiveAgent(metadata)
37
+
38
+ expect(agent.forRun()).not.toBe(agent)
39
+ })
40
+
41
+ it('keeps the identity, because it is the same agent', () => {
42
+ const agent = new ReactiveAgent(metadata)
43
+ const shell = agent.forRun()
44
+
45
+ expect(shell.metadata.id).toBe('worker')
46
+ expect(shell.type).toBe(agent.type)
47
+ expect(shell.getCapabilities()).toEqual(agent.getCapabilities())
48
+ })
49
+
50
+ it('gives each shell its own invocation lock, which is the whole point', async () => {
51
+ // Locking one must not lock the other. Asserted through the public
52
+ // surface: a run that never settles holds the lock, and a second run on
53
+ // a SEPARATE shell must still be admitted.
54
+ // ONE registered agent, two shells — the registry's shape, and the
55
+ // shape the fan-out actually hits.
56
+ const registered = new ReactiveAgent(metadata)
57
+ const first = registered.forRun()
58
+ const second = registered.forRun()
59
+
60
+ // A provider that starts and never finishes, so each run holds its
61
+ // shell's lock for the duration of the assertion.
62
+ const provider = {
63
+ // biome-ignore lint/correctness/useYield: it never produces anything, on purpose
64
+ async *chatStream() {
65
+ await new Promise<never>(() => {})
66
+ },
67
+ }
68
+ const config = {
69
+ model: 'mock',
70
+ tokenBudget: 10_000,
71
+ timeoutMs: 10_000,
72
+ maxIterations: 2,
73
+ provider,
74
+ tools: new ToolRegistry(),
75
+ systemPrompt: 'hold',
76
+ sessionId: 'ses_fan' as never,
77
+ threadId: 'thd_fan' as never,
78
+ projectId: 'prj_fan' as never,
79
+ tenantId: 'tnt_fan' as never,
80
+ }
81
+
82
+ // Start one run on each shell; neither resolves, and neither should
83
+ // refuse. A shared shell would reject the second synchronously.
84
+ const a = first.run({ messages: [], workingDirectory: '/tmp' } as never, config as never)
85
+ const b = second.run({ messages: [], workingDirectory: '/tmp' } as never, config as never)
86
+
87
+ await expect(
88
+ Promise.race([
89
+ Promise.all([a, b]).then(() => 'settled'),
90
+ new Promise((r) => setTimeout(() => r('still running'), 50)),
91
+ ]),
92
+ ).resolves.toBe('still running')
93
+
94
+ void a.catch(() => {})
95
+ void b.catch(() => {})
96
+ })
97
+
98
+ it('a definition may override the shell with its own factory', () => {
99
+ // The escape hatch for an agent that needs real construction
100
+ // arguments, which `forRun`'s metadata-only rebuild cannot supply.
101
+ let built = 0
102
+ const definition: AgentDefinition = {
103
+ info: { ...metadata, tools: [], defaults: {} } as never,
104
+ typedAgent: new ReactiveAgent(metadata) as never,
105
+ createAgent: () => {
106
+ built += 1
107
+ return new ReactiveAgent(metadata) as never
108
+ },
109
+ }
110
+
111
+ const one = definition.createAgent?.()
112
+ const two = definition.createAgent?.()
113
+
114
+ expect(built).toBe(2)
115
+ expect(one).not.toBe(two)
116
+ expect(one).not.toBe(definition.typedAgent)
117
+ })
118
+ })
@@ -123,7 +123,27 @@ export class AgentManager {
123
123
  )
124
124
  }
125
125
 
126
- const agent = this.registry.resolve(options.agentId)
126
+ // A shell this task has to itself, not the registry's shared instance.
127
+ //
128
+ // `resolve` returns one `typedAgent` per registered id, and an instance
129
+ // refuses a second concurrent `run` because it holds per-run state. So
130
+ // a fan-out naming the same `agent_id` four times drove four runs at one
131
+ // shell: one worked and three died with `ConcurrentInvocationError` —
132
+ // while `create_task`'s own description tells the model that this
133
+ // fan-out is the thing to do. Observed live on 12.0.1, four launches,
134
+ // three lost.
135
+ //
136
+ // The remedy was already written down — "a host that wants parallelism
137
+ // constructs a second instance" — and was unreachable here, because the
138
+ // definition owns the instance and this path only has an id.
139
+ //
140
+ // Nothing else about the child is shared: its abort signal is the task's
141
+ // own (`input.signal` below), its config is rebuilt per spawn by
142
+ // `configBuilder`, and the manager cancels through the task rather than
143
+ // the agent. The shell was the only shared thing left.
144
+ const definitionForSpawn = this.registry.getOrThrow(options.agentId)
145
+ const sharedAgent = definitionForSpawn.typedAgent
146
+ const agent = definitionForSpawn.createAgent?.() ?? sharedAgent.forRun?.() ?? sharedAgent
127
147
 
128
148
  const childAbortController = createChildAbortController(context.parentAbortController)
129
149