@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.
- package/CHANGELOG.md +74 -0
- package/dist/agents/AbstractAgent.d.ts +20 -0
- package/dist/agents/AbstractAgent.d.ts.map +1 -1
- package/dist/agents/AbstractAgent.js +32 -0
- package/dist/agents/AbstractAgent.js.map +1 -1
- package/dist/agents/lock.d.ts.map +1 -1
- package/dist/agents/lock.js +8 -1
- package/dist/agents/lock.js.map +1 -1
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.d.ts +2 -0
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.d.ts.map +1 -0
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.js +137 -0
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.js.map +1 -0
- package/dist/gateway/local.d.ts.map +1 -1
- package/dist/gateway/local.js +25 -1
- package/dist/gateway/local.js.map +1 -1
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.d.ts +2 -0
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.d.ts.map +1 -0
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.js +101 -0
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +21 -1
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/types/agent/core.d.ts +21 -0
- package/dist/types/agent/core.d.ts.map +1 -1
- package/dist/types/agent/factory.d.ts +18 -0
- package/dist/types/agent/factory.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agents/AbstractAgent.ts +35 -0
- package/src/agents/lock.ts +10 -1
- package/src/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.ts +175 -0
- package/src/gateway/local.ts +25 -1
- package/src/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.ts +118 -0
- package/src/manager/agent/lifecycle.ts +21 -1
- package/src/types/agent/core.ts +22 -0
- 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;
|
|
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
|
@@ -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.
|
package/src/agents/lock.ts
CHANGED
|
@@ -11,7 +11,16 @@ export class ConcurrentInvocationError extends Error {
|
|
|
11
11
|
readonly agentId: string
|
|
12
12
|
|
|
13
13
|
constructor(agentId: string) {
|
|
14
|
-
|
|
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
|
+
})
|
package/src/gateway/local.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
|