@namzu/sdk 12.0.1 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## 12.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - be3f345: A fan-out naming the same agent runs every child instead of one.
8
+
9
+ `AgentRegistry` hands out ONE `typedAgent` per registered id, and an agent
10
+ instance refuses a second concurrent `run` — correctly, because its abort
11
+ controller and run id are instance state and two overlapping runs would cancel
12
+ each other. So four `create_task` calls naming the same `agent_id` drove four
13
+ runs at one shell: one produced a result and three died with
14
+ `ConcurrentInvocationError`, while `create_task`'s own description tells a model
15
+ that exactly this fan-out is the thing to do.
16
+
17
+ The remedy was already written down — "a host that wants parallelism constructs
18
+ a second instance" — and was unreachable from delegation, where the definition
19
+ owns the instance and the caller has only an id.
20
+
21
+ `Agent` gains an optional `forRun()`, implemented by `AbstractAgent`, returning
22
+ a fresh shell of the same class built from the same metadata. `AgentManager`
23
+ takes one per spawn. Nothing else about a child was ever shared: its abort
24
+ signal is the task's own, its config is rebuilt per spawn by `configBuilder`,
25
+ and the manager cancels through the task rather than the agent. The shell was
26
+ the last shared thing.
27
+
28
+ `AgentDefinition` also gains `createAgent?`, which wins over `forRun` — for an
29
+ agent that needs real construction arguments, which a metadata-only rebuild
30
+ cannot supply. Most hosts need nothing: agents built on `AbstractAgent` already
31
+ work.
32
+
33
+ The lock is unchanged and still refuses. That refusal is right for a host
34
+ calling `run` twice on one instance on purpose; what changed is that delegation
35
+ no longer does so by accident. Loosening the lock instead would have been the
36
+ smaller diff and the wrong one — the state it guards is genuinely instance
37
+ state, and serialising same-agent spawns behind it would deadlock a child that
38
+ spawns a grandchild of its own id.
39
+
40
+ Its message now names the remedy rather than only the refusal.
41
+
42
+ Found by running a four-way fan-out against the published package, not by a
43
+ test.
44
+
3
45
  ## 12.0.1
4
46
 
5
47
  ### Patch Changes
@@ -23,6 +23,26 @@ export declare abstract class AbstractAgent<TConfig extends BaseAgentConfig = Ba
23
23
  protected currentRunId?: RunId;
24
24
  constructor(metadata: AgentMetadata);
25
25
  abstract run(input: AgentInput, config: TConfig, listener?: RunEventListener): Promise<TResult>;
26
+ /**
27
+ * A fresh shell of this agent, for a run that must not share one.
28
+ *
29
+ * See {@link Agent.forRun}. An agent is a shell around metadata — every
30
+ * per-run decision arrives in `config` and `input` — so a second instance
31
+ * costs one object and gives the run its own abort controller and run id,
32
+ * which is precisely what the invocation lock is protecting.
33
+ *
34
+ * Rebuilt from `this.constructor` and `this.metadata`, which covers every
35
+ * agent in this package: they all take metadata and nothing else. A
36
+ * subclass with a different constructor signature will throw here, and the
37
+ * answer to that is `this` — the caller then shares the shell and gets the
38
+ * existing refusal on a concurrent run, which is the behaviour before this
39
+ * existed. Losing parallelism is a worse outcome than not having it; losing
40
+ * the run is not on the table.
41
+ *
42
+ * A host whose agent needs real construction arguments supplies
43
+ * `AgentDefinition.createAgent` instead, which wins over this.
44
+ */
45
+ forRun(): this;
26
46
  /**
27
47
  * Acquire the invocation lock to prevent concurrent execution.
28
48
  * Returns a Disposable that must be disposed to release the lock.
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/agents/AbstractAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAIvE,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAG/D,8BAAsB,aAAa,CAClC,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,OAAO,SAAS,eAAe,GAAG,eAAe,CAChD,YAAW,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAEnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,eAAe,EAAE,eAAe,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IAEpE,SAAS,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAA;IAE7C,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;gBAElB,QAAQ,EAAE,aAAa;IAUnC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAE/F;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,qBAAqB;IAI/B;;;;;;;;;;;;;;;;OAgBG;cACa,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAS1E;;;;;;;;;;;;;;;;;;OAkBG;cACa,mBAAmB,CAAC,CAAC,EACpC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC;IAuBP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,eAAe,IAAI,iBAAiB;IAIpC,SAAS,CAAC,WAAW,IAAI,KAAK;IAI9B,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe;cAY7D,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtF"}
1
+ {"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/agents/AbstractAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAIvE,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAG/D,8BAAsB,aAAa,CAClC,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,OAAO,SAAS,eAAe,GAAG,eAAe,CAChD,YAAW,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;IAEnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,eAAe,EAAE,eAAe,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IAEpE,SAAS,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAA;IAE7C,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;gBAElB,QAAQ,EAAE,aAAa;IAUnC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAE/F;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,IAAI,IAAI;IAgBd;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,qBAAqB;IAI/B;;;;;;;;;;;;;;;;OAgBG;cACa,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAS1E;;;;;;;;;;;;;;;;;;OAkBG;cACa,mBAAmB,CAAC,CAAC,EACpC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC;IAuBP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,eAAe,IAAI,iBAAiB;IAIpC,SAAS,CAAC,WAAW,IAAI,KAAK;IAI9B,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe;cAY7D,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtF"}
@@ -30,6 +30,38 @@ export class AbstractAgent {
30
30
  agentId: metadata.id,
31
31
  });
32
32
  }
33
+ /**
34
+ * A fresh shell of this agent, for a run that must not share one.
35
+ *
36
+ * See {@link Agent.forRun}. An agent is a shell around metadata — every
37
+ * per-run decision arrives in `config` and `input` — so a second instance
38
+ * costs one object and gives the run its own abort controller and run id,
39
+ * which is precisely what the invocation lock is protecting.
40
+ *
41
+ * Rebuilt from `this.constructor` and `this.metadata`, which covers every
42
+ * agent in this package: they all take metadata and nothing else. A
43
+ * subclass with a different constructor signature will throw here, and the
44
+ * answer to that is `this` — the caller then shares the shell and gets the
45
+ * existing refusal on a concurrent run, which is the behaviour before this
46
+ * existed. Losing parallelism is a worse outcome than not having it; losing
47
+ * the run is not on the table.
48
+ *
49
+ * A host whose agent needs real construction arguments supplies
50
+ * `AgentDefinition.createAgent` instead, which wins over this.
51
+ */
52
+ forRun() {
53
+ try {
54
+ const Ctor = this.constructor;
55
+ return new Ctor(this.metadata);
56
+ }
57
+ catch (err) {
58
+ this.log.warn('Could not build a per-run shell; concurrent runs of this agent will still be refused', {
59
+ agentId: this.metadata.id,
60
+ error: err instanceof Error ? err.message : String(err),
61
+ });
62
+ return this;
63
+ }
64
+ }
33
65
  /**
34
66
  * Acquire the invocation lock to prevent concurrent execution.
35
67
  * Returns a Disposable that must be disposed to release the lock.
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/agents/AbstractAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/agents/AbstractAgent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/agents/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IAC1B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;CACxB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM;CAK3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IAExB;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAcpC;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/agents/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IAC1B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;CACxB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM;CAc3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IAExB;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAcpC;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGnB"}
@@ -5,7 +5,14 @@
5
5
  export class ConcurrentInvocationError extends Error {
6
6
  agentId;
7
7
  constructor(agentId) {
8
- super(`Agent ${agentId} is already processing. Concurrent invocations are not allowed.`);
8
+ // Names the remedy, because the refusal alone sent readers looking for a
9
+ // concurrency bug in their own code. An agent instance holds per-run
10
+ // state — an abort controller and the run id — so two overlapping runs
11
+ // on one shell would cancel each other; the answer is a second shell,
12
+ // not a second attempt. Delegated spawns get one automatically via
13
+ // `Agent.forRun`, so reaching this from a fan-out means the agent
14
+ // could not be rebuilt and wants `AgentDefinition.createAgent`.
15
+ super(`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.`);
9
16
  this.name = 'ConcurrentInvocationError';
10
17
  this.agentId = agentId;
11
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/agents/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC1C,OAAO,CAAQ;IAExB,YAAY,OAAe;QAC1B,KAAK,CAAC,SAAS,OAAO,iEAAiE,CAAC,CAAA;QACxF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,CAAC;CACD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,cAAc;IAClB,QAAQ,GAAG,KAAK,CAAA;IAExB;;;OAGG;IACH,OAAO,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,OAAO;YACN,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACtB,CAAC;SACD,CAAA;IACF,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;CACD"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/agents/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC1C,OAAO,CAAQ;IAExB,YAAY,OAAe;QAC1B,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,KAAK,CACJ,SAAS,OAAO,4TAA4T,CAC5U,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,CAAC;CACD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,cAAc;IAClB,QAAQ,GAAG,KAAK,CAAA;IAExB;;;OAGG;IACH,OAAO,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,OAAO;YACN,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACtB,CAAC;SACD,CAAA;IACF,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;CACD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=a-fan-out-to-one-agent-id.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a-fan-out-to-one-agent-id.test.d.ts","sourceRoot":"","sources":["../../../../src/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { ReactiveAgent } from '../../../agents/ReactiveAgent.js';
3
+ import { ToolRegistry } from '../../../registry/index.js';
4
+ /**
5
+ * A fan-out naming the same agent four times ran one child and lost three.
6
+ *
7
+ * `AgentRegistry` hands out ONE `typedAgent` per registered id, and an instance
8
+ * refuses a second concurrent `run` — correctly, because its abort controller
9
+ * and run id are instance state and two overlapping runs would cancel each
10
+ * other. So four `create_task` calls at one specialist produced one result and
11
+ * three `ConcurrentInvocationError`s.
12
+ *
13
+ * The prescribed remedy already existed in the docs — "a host that wants
14
+ * parallelism constructs a second instance" — and was unreachable from
15
+ * delegation, where the definition owns the instance and the caller has only an
16
+ * id. Observed live on published 12.0.1: four launches, three lost.
17
+ *
18
+ * These cover the shell itself. That the manager USES it per spawn is covered
19
+ * where the manager is driven; what has to hold here is that asking for a
20
+ * per-run shell gives you a genuinely separate one.
21
+ */
22
+ const metadata = {
23
+ id: 'worker',
24
+ name: 'worker',
25
+ version: '1.0.0',
26
+ category: 'general',
27
+ description: 'a worker',
28
+ };
29
+ describe('an agent can hand out a shell a single run has to itself', () => {
30
+ it('returns a different instance', () => {
31
+ const agent = new ReactiveAgent(metadata);
32
+ expect(agent.forRun()).not.toBe(agent);
33
+ });
34
+ it('keeps the identity, because it is the same agent', () => {
35
+ const agent = new ReactiveAgent(metadata);
36
+ const shell = agent.forRun();
37
+ expect(shell.metadata.id).toBe('worker');
38
+ expect(shell.type).toBe(agent.type);
39
+ expect(shell.getCapabilities()).toEqual(agent.getCapabilities());
40
+ });
41
+ it('gives each shell its own invocation lock, which is the whole point', async () => {
42
+ // Locking one must not lock the other. Asserted through the public
43
+ // surface: a run that never settles holds the lock, and a second run on
44
+ // a SEPARATE shell must still be admitted.
45
+ // ONE registered agent, two shells — the registry's shape, and the
46
+ // shape the fan-out actually hits.
47
+ const registered = new ReactiveAgent(metadata);
48
+ const first = registered.forRun();
49
+ const second = registered.forRun();
50
+ // A provider that starts and never finishes, so each run holds its
51
+ // shell's lock for the duration of the assertion.
52
+ const provider = {
53
+ // biome-ignore lint/correctness/useYield: it never produces anything, on purpose
54
+ async *chatStream() {
55
+ await new Promise(() => { });
56
+ },
57
+ };
58
+ const config = {
59
+ model: 'mock',
60
+ tokenBudget: 10_000,
61
+ timeoutMs: 10_000,
62
+ maxIterations: 2,
63
+ provider,
64
+ tools: new ToolRegistry(),
65
+ systemPrompt: 'hold',
66
+ sessionId: 'ses_fan',
67
+ threadId: 'thd_fan',
68
+ projectId: 'prj_fan',
69
+ tenantId: 'tnt_fan',
70
+ };
71
+ // Start one run on each shell; neither resolves, and neither should
72
+ // refuse. A shared shell would reject the second synchronously.
73
+ const a = first.run({ messages: [], workingDirectory: '/tmp' }, config);
74
+ const b = second.run({ messages: [], workingDirectory: '/tmp' }, config);
75
+ await expect(Promise.race([
76
+ Promise.all([a, b]).then(() => 'settled'),
77
+ new Promise((r) => setTimeout(() => r('still running'), 50)),
78
+ ])).resolves.toBe('still running');
79
+ void a.catch(() => { });
80
+ void b.catch(() => { });
81
+ });
82
+ it('a definition may override the shell with its own factory', () => {
83
+ // The escape hatch for an agent that needs real construction
84
+ // arguments, which `forRun`'s metadata-only rebuild cannot supply.
85
+ let built = 0;
86
+ const definition = {
87
+ info: { ...metadata, tools: [], defaults: {} },
88
+ typedAgent: new ReactiveAgent(metadata),
89
+ createAgent: () => {
90
+ built += 1;
91
+ return new ReactiveAgent(metadata);
92
+ },
93
+ };
94
+ const one = definition.createAgent?.();
95
+ const two = definition.createAgent?.();
96
+ expect(built).toBe(2);
97
+ expect(one).not.toBe(two);
98
+ expect(one).not.toBe(definition.typedAgent);
99
+ });
100
+ });
101
+ //# sourceMappingURL=a-fan-out-to-one-agent-id.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a-fan-out-to-one-agent-id.test.js","sourceRoot":"","sources":["../../../../src/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,27 @@ export class AgentManager {
34
34
  if (options.tenantId !== context.tenantId) {
35
35
  throw new Error(`Tenant mismatch: options.tenantId=${options.tenantId} differs from context.tenantId=${context.tenantId}. Cross-tenant spawn rejected (Convention #17).`);
36
36
  }
37
- const agent = this.registry.resolve(options.agentId);
37
+ // A shell this task has to itself, not the registry's shared instance.
38
+ //
39
+ // `resolve` returns one `typedAgent` per registered id, and an instance
40
+ // refuses a second concurrent `run` because it holds per-run state. So
41
+ // a fan-out naming the same `agent_id` four times drove four runs at one
42
+ // shell: one worked and three died with `ConcurrentInvocationError` —
43
+ // while `create_task`'s own description tells the model that this
44
+ // fan-out is the thing to do. Observed live on 12.0.1, four launches,
45
+ // three lost.
46
+ //
47
+ // The remedy was already written down — "a host that wants parallelism
48
+ // constructs a second instance" — and was unreachable here, because the
49
+ // definition owns the instance and this path only has an id.
50
+ //
51
+ // Nothing else about the child is shared: its abort signal is the task's
52
+ // own (`input.signal` below), its config is rebuilt per spawn by
53
+ // `configBuilder`, and the manager cancels through the task rather than
54
+ // the agent. The shell was the only shared thing left.
55
+ const definitionForSpawn = this.registry.getOrThrow(options.agentId);
56
+ const sharedAgent = definitionForSpawn.typedAgent;
57
+ const agent = definitionForSpawn.createAgent?.() ?? sharedAgent.forRun?.() ?? sharedAgent;
38
58
  const childAbortController = createChildAbortController(context.parentAbortController);
39
59
  // The allocation is computed INSIDE the spawn lock, not here. Reading
40
60
  // the parent's remaining budget at this point and debiting it after
@@ -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.1",
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,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
 
@@ -17,6 +17,28 @@ export interface Agent<
17
17
 
18
18
  run(input: AgentInput, config: TConfig, listener?: RunEventListener): Promise<TResult>
19
19
 
20
+ /**
21
+ * A shell of this agent that one run may have to itself.
22
+ *
23
+ * An agent instance holds per-run state — an abort controller, the id of
24
+ * the run in flight — and refuses a second concurrent `run` because of it.
25
+ * That refusal is correct for a host calling `run` twice on purpose: two
26
+ * overlapping runs would share one abort controller, so cancelling either
27
+ * kills both.
28
+ *
29
+ * It is wrong for delegation, which is why this exists. `AgentRegistry`
30
+ * hands out ONE instance per registered id, so a fan-out naming the same
31
+ * `agent_id` four times drove four runs at one shell: one worked and three
32
+ * died with `ConcurrentInvocationError`. The prescribed remedy — "construct
33
+ * a second instance" — was unreachable from there, because the definition
34
+ * owns the instance and the caller only has an id.
35
+ *
36
+ * OPTIONAL, and absence is safe: a manager that cannot get a fresh shell
37
+ * falls back to the shared one and the refusal stands, which is loud rather
38
+ * than wrong. `AbstractAgent` implements it for every agent built on it.
39
+ */
40
+ forRun?(): Agent<TConfig, TResult>
41
+
20
42
  cancel(): Promise<void>
21
43
  getCapabilities(): AgentCapabilities
22
44
  }
@@ -8,6 +8,26 @@ export type { AgentContextLevel } from './base.js'
8
8
  export interface AgentDefinition {
9
9
  info: AgentInfo
10
10
  typedAgent: Agent<BaseAgentConfig, BaseAgentResult>
11
+
12
+ /**
13
+ * Build a fresh agent for a single spawn.
14
+ *
15
+ * `typedAgent` is ONE instance, and an instance refuses a second
16
+ * concurrent run because it holds per-run state. So a delegation fan-out
17
+ * naming the same `agent_id` four times ran one child and lost three to
18
+ * `ConcurrentInvocationError` — while `create_task`'s own description tells
19
+ * a model that exactly this fan-out is the thing to do.
20
+ *
21
+ * The manager prefers this over `typedAgent` for every spawn. Supply it
22
+ * when your agent needs real construction arguments; agents built on
23
+ * `AbstractAgent` already get a working default from `Agent.forRun`, so
24
+ * most hosts need nothing here.
25
+ *
26
+ * `configBuilder` is not a substitute: it produces a fresh CONFIG per
27
+ * spawn, and the config was never the part being shared.
28
+ */
29
+ createAgent?: () => Agent<BaseAgentConfig, BaseAgentResult>
30
+
11
31
  configBuilder?: (options: AgentFactoryOptions) => BaseAgentConfig | Promise<BaseAgentConfig>
12
32
 
13
33
  contextLevel?: AgentContextLevel