@agent-relay/sdk 3.0.2 → 3.1.3
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/README.md +169 -64
- package/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/__tests__/contract-fixtures.test.js +76 -9
- package/dist/__tests__/contract-fixtures.test.js.map +1 -1
- package/dist/__tests__/integration.test.js +5 -4
- package/dist/__tests__/integration.test.js.map +1 -1
- package/dist/client.d.ts +34 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +120 -10
- package/dist/client.js.map +1 -1
- package/dist/protocol.d.ts +7 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/relay.d.ts +47 -11
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +114 -23
- package/dist/relay.js.map +1 -1
- package/dist/workflows/runner.d.ts.map +1 -1
- package/dist/workflows/runner.js +71 -36
- package/dist/workflows/runner.js.map +1 -1
- package/dist/workflows/types.d.ts +1 -1
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,97 +1,202 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @agent-relay/sdk
|
|
2
2
|
|
|
3
|
-
TypeScript SDK for
|
|
3
|
+
TypeScript SDK for building multi-agent workflows with Agent Relay. Provides both low-level broker control and high-level workflow orchestration.
|
|
4
4
|
|
|
5
|
-
##
|
|
6
|
-
- Broker lifecycle + request/response protocol client implemented.
|
|
7
|
-
- Spawn/list/release/shutdown APIs implemented.
|
|
8
|
-
- Event subscription for broker `event` frames implemented.
|
|
9
|
-
- Agent idle detection — configurable silence threshold with `onAgentIdle` hook and `waitForIdle()`.
|
|
5
|
+
## Installation
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
```bash
|
|
8
|
+
npm install @agent-relay/sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### Workflow Builder (Recommended)
|
|
14
|
+
|
|
15
|
+
The workflow builder is the primary way to define and run multi-agent workflows:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { workflow } from '@agent-relay/sdk/workflows';
|
|
19
|
+
|
|
20
|
+
const result = await workflow('my-feature')
|
|
21
|
+
.pattern('dag')
|
|
22
|
+
.agent('planner', { cli: 'claude', role: 'Planning lead' })
|
|
23
|
+
.agent('builder', { cli: 'codex', role: 'Implementation engineer' })
|
|
24
|
+
.step('plan', { agent: 'planner', task: 'Create a detailed plan' })
|
|
25
|
+
.step('build', { agent: 'builder', task: 'Implement the plan', dependsOn: ['plan'] })
|
|
26
|
+
.run();
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### High-Level Facade
|
|
30
|
+
|
|
31
|
+
The `AgentRelay` class provides a clean API for spawning and managing agents:
|
|
15
32
|
|
|
16
|
-
## Quick example
|
|
17
33
|
```ts
|
|
18
|
-
import {
|
|
34
|
+
import { AgentRelay } from '@agent-relay/sdk';
|
|
35
|
+
|
|
36
|
+
const relay = new AgentRelay();
|
|
37
|
+
|
|
38
|
+
// Event hooks
|
|
39
|
+
relay.onMessageReceived = (msg) => console.log(`${msg.from}: ${msg.text}`);
|
|
40
|
+
relay.onAgentIdle = ({ name, idleSecs }) => console.log(`${name} idle for ${idleSecs}s`);
|
|
41
|
+
|
|
42
|
+
// Spawn agents using shorthand spawners
|
|
43
|
+
const worker = await relay.claude.spawn({
|
|
44
|
+
name: 'Worker1',
|
|
45
|
+
channels: ['general'],
|
|
46
|
+
// Lifecycle hooks can be sync or async functions.
|
|
47
|
+
onStart: ({ name }) => console.log(`spawning ${name}`),
|
|
48
|
+
onSuccess: ({ name, runtime }) => console.log(`spawned ${name} (${runtime})`),
|
|
49
|
+
onError: ({ name, error }) => console.error(`failed to spawn ${name}`, error),
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// Or use the generic spawn method
|
|
53
|
+
const agent = await relay.spawn('Worker2', 'codex', 'Build the API', {
|
|
54
|
+
channels: ['dev'],
|
|
55
|
+
model: 'gpt-4o',
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// Wait for agent to finish (go idle or exit)
|
|
59
|
+
const result = await agent.waitForIdle(120_000);
|
|
60
|
+
|
|
61
|
+
// Release with lifecycle hooks
|
|
62
|
+
await worker.release({
|
|
63
|
+
reason: 'done',
|
|
64
|
+
onStart: ({ name }) => console.log(`releasing ${name}`),
|
|
65
|
+
onSuccess: ({ name }) => console.log(`released ${name}`),
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Send messages
|
|
69
|
+
const human = relay.human({ name: 'Orchestrator' });
|
|
70
|
+
await human.sendMessage({ to: 'Worker1', text: 'Start the task' });
|
|
71
|
+
|
|
72
|
+
// Clean up
|
|
73
|
+
await relay.shutdown();
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Low-Level Client
|
|
77
|
+
|
|
78
|
+
For direct broker control:
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import { AgentRelayClient } from '@agent-relay/sdk';
|
|
19
82
|
|
|
20
83
|
const client = await AgentRelayClient.start({
|
|
21
|
-
binaryPath:
|
|
22
|
-
|
|
84
|
+
binaryPath: '/path/to/agent-relay-broker', // optional, auto-detected
|
|
85
|
+
channels: ['general'],
|
|
23
86
|
});
|
|
24
87
|
|
|
25
88
|
await client.spawnPty({
|
|
26
|
-
name:
|
|
27
|
-
cli:
|
|
28
|
-
|
|
29
|
-
|
|
89
|
+
name: 'Worker1',
|
|
90
|
+
cli: 'claude',
|
|
91
|
+
channels: ['general'],
|
|
92
|
+
task: 'Implement user authentication',
|
|
30
93
|
});
|
|
31
94
|
|
|
32
95
|
const agents = await client.listAgents();
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
await client.release("Worker1");
|
|
96
|
+
await client.release('Worker1');
|
|
36
97
|
await client.shutdown();
|
|
37
98
|
```
|
|
38
99
|
|
|
39
|
-
###
|
|
100
|
+
### Provider + Transport Spawning (Opencode/Claude)
|
|
101
|
+
|
|
102
|
+
Use provider-first spawn helpers and set `transport` when you want headless mode.
|
|
103
|
+
|
|
40
104
|
```ts
|
|
41
|
-
import {
|
|
105
|
+
import { AgentRelayClient } from '@agent-relay/sdk';
|
|
42
106
|
|
|
43
|
-
const
|
|
107
|
+
const client = await AgentRelayClient.start({
|
|
108
|
+
channels: ['general'],
|
|
109
|
+
});
|
|
44
110
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
111
|
+
await client.spawnOpencode({
|
|
112
|
+
name: 'OpencodeWorker',
|
|
113
|
+
transport: 'headless',
|
|
114
|
+
channels: ['general'],
|
|
115
|
+
task: 'Review this PR and report risks',
|
|
116
|
+
});
|
|
49
117
|
|
|
50
|
-
|
|
51
|
-
name:
|
|
52
|
-
|
|
53
|
-
channels: [
|
|
54
|
-
|
|
118
|
+
await client.spawnClaude({
|
|
119
|
+
name: 'ClaudeHeadless',
|
|
120
|
+
transport: 'headless', // override default PTY transport
|
|
121
|
+
channels: ['general'],
|
|
122
|
+
task: 'Summarize release risks',
|
|
55
123
|
});
|
|
56
124
|
|
|
57
|
-
//
|
|
58
|
-
const result = await agent.waitForIdle(120_000); // 2 min timeout
|
|
59
|
-
if (result === "idle") {
|
|
60
|
-
console.log("Agent finished work");
|
|
61
|
-
} else if (result === "exited") {
|
|
62
|
-
console.log("Agent exited");
|
|
63
|
-
} else {
|
|
64
|
-
console.log("Timed out waiting for idle");
|
|
65
|
-
}
|
|
125
|
+
// ... interact with the worker via sendMessage/listAgents/events ...
|
|
66
126
|
|
|
67
|
-
await
|
|
127
|
+
await client.shutdown();
|
|
68
128
|
```
|
|
69
129
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
130
|
+
Notes:
|
|
131
|
+
|
|
132
|
+
- Transport is a setting (`'pty'` or `'headless'`) on provider spawn methods.
|
|
133
|
+
- `spawnClaude(...)` defaults to PTY unless you pass `transport: 'headless'`.
|
|
134
|
+
- `spawnOpencode(...)` defaults to headless.
|
|
135
|
+
- You can also use `client.spawnProvider({ provider, transport, ... })` for generic provider-driven spawning.
|
|
136
|
+
|
|
137
|
+
## Features
|
|
138
|
+
|
|
139
|
+
- **Workflow Builder** — Fluent API for defining DAG-based multi-agent workflows
|
|
140
|
+
- **Agent Spawning** — Spawn Claude, Codex, Gemini, Aider, or Goose agents
|
|
141
|
+
- **Idle Detection** — Configurable silence threshold with `onAgentIdle` hook and `waitForIdle()`
|
|
142
|
+
- **Message Delivery** — Track message delivery states (queued, injected, active, verified)
|
|
143
|
+
- **Event Streaming** — Real-time events for agent lifecycle, output, and messaging
|
|
144
|
+
- **Shadow Agents** — Spawn observer agents that monitor other agents
|
|
145
|
+
- **Consensus** — Multi-agent voting and consensus helpers
|
|
146
|
+
|
|
147
|
+
## Subpath Exports
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
import { AgentRelayClient } from '@agent-relay/sdk/client';
|
|
151
|
+
import { workflow, WorkflowBuilder } from '@agent-relay/sdk/workflows';
|
|
152
|
+
import { ConsensusCoordinator } from '@agent-relay/sdk/consensus';
|
|
153
|
+
import { ShadowCoordinator } from '@agent-relay/sdk/shadow';
|
|
74
154
|
```
|
|
75
155
|
|
|
76
|
-
|
|
77
|
-
- `CODEX_CMD` (default: `codex`)
|
|
78
|
-
- `CODEX_ARGS` (space-separated CLI args)
|
|
79
|
-
- `AGENT_X_NAME` / `AGENT_O_NAME`
|
|
80
|
-
- `RELAY_CHANNEL` (default: `general`)
|
|
81
|
-
- `AGENT_RELAY_BIN` (override bundled binary path)
|
|
156
|
+
## Workflow Templates
|
|
82
157
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
158
|
+
Built-in templates for common patterns:
|
|
159
|
+
|
|
160
|
+
```ts
|
|
161
|
+
import { fanOut, pipeline, dag } from '@agent-relay/sdk/workflows';
|
|
162
|
+
|
|
163
|
+
// Fan-out: parallel execution with synthesis
|
|
164
|
+
const builder = fanOut('analysis', {
|
|
165
|
+
tasks: ['Analyze backend', 'Analyze frontend'],
|
|
166
|
+
synthesisTask: 'Combine analyses into action plan',
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
// Pipeline: sequential stages
|
|
170
|
+
const builder = pipeline('release', {
|
|
171
|
+
stages: [
|
|
172
|
+
{ name: 'plan', task: 'Create release plan' },
|
|
173
|
+
{ name: 'implement', task: 'Implement changes' },
|
|
174
|
+
{ name: 'verify', task: 'Run verification' },
|
|
175
|
+
],
|
|
176
|
+
});
|
|
89
177
|
```
|
|
90
178
|
|
|
91
|
-
|
|
179
|
+
## Relaycast Integration
|
|
180
|
+
|
|
181
|
+
The SDK re-exports Relaycast client types for cloud-based relay coordination:
|
|
182
|
+
|
|
183
|
+
```ts
|
|
184
|
+
import { RelayCast, AgentClient } from '@agent-relay/sdk';
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Development
|
|
92
188
|
|
|
93
|
-
## Package tarball
|
|
94
189
|
```bash
|
|
95
|
-
|
|
190
|
+
# Build
|
|
191
|
+
npm --prefix packages/sdk run build
|
|
192
|
+
|
|
193
|
+
# Run tests
|
|
194
|
+
npm --prefix packages/sdk test
|
|
195
|
+
|
|
196
|
+
# Run demo
|
|
197
|
+
npm --prefix packages/sdk run demo
|
|
96
198
|
```
|
|
97
|
-
|
|
199
|
+
|
|
200
|
+
## License
|
|
201
|
+
|
|
202
|
+
Apache-2.0
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -12,6 +12,78 @@ function readFixture(name) {
|
|
|
12
12
|
const raw = fs.readFileSync(fixturePath, 'utf8');
|
|
13
13
|
return JSON.parse(raw);
|
|
14
14
|
}
|
|
15
|
+
function toCurrentSdkBrokerEventShape(event) {
|
|
16
|
+
const payload = event.payload && typeof event.payload === 'object' ? event.payload : null;
|
|
17
|
+
if (!payload)
|
|
18
|
+
return event;
|
|
19
|
+
const kind = event.kind;
|
|
20
|
+
if (kind === 'relay_inbound') {
|
|
21
|
+
return {
|
|
22
|
+
kind,
|
|
23
|
+
event_id: event.eventId,
|
|
24
|
+
from: payload.from,
|
|
25
|
+
target: payload.target,
|
|
26
|
+
body: payload.body,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (kind === 'agent_spawned') {
|
|
30
|
+
return {
|
|
31
|
+
kind,
|
|
32
|
+
name: payload.name,
|
|
33
|
+
runtime: payload.runtime,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (kind === 'agent_exited' ||
|
|
37
|
+
kind === 'agent_released' ||
|
|
38
|
+
kind === 'agent_restarting' ||
|
|
39
|
+
kind === 'agent_restarted' ||
|
|
40
|
+
kind === 'agent_permanently_dead') {
|
|
41
|
+
return {
|
|
42
|
+
kind,
|
|
43
|
+
name: payload.name,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (kind === 'worker_ready') {
|
|
47
|
+
return {
|
|
48
|
+
kind,
|
|
49
|
+
name: payload.name,
|
|
50
|
+
runtime: payload.runtime,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (kind === 'agent_idle') {
|
|
54
|
+
return {
|
|
55
|
+
kind,
|
|
56
|
+
name: payload.name,
|
|
57
|
+
idle_secs: payload.idleSecs,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (kind === 'delivery_verified') {
|
|
61
|
+
return {
|
|
62
|
+
kind,
|
|
63
|
+
name: payload.name,
|
|
64
|
+
delivery_id: payload.deliveryId,
|
|
65
|
+
event_id: event.eventId,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (kind === 'delivery_failed') {
|
|
69
|
+
return {
|
|
70
|
+
kind,
|
|
71
|
+
name: payload.name,
|
|
72
|
+
delivery_id: payload.deliveryId,
|
|
73
|
+
event_id: event.eventId,
|
|
74
|
+
reason: payload.reason,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (kind === 'worker_error') {
|
|
78
|
+
return {
|
|
79
|
+
kind,
|
|
80
|
+
name: payload.name,
|
|
81
|
+
code: payload.code,
|
|
82
|
+
message: payload.message,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return event;
|
|
86
|
+
}
|
|
15
87
|
function isCurrentSdkBrokerEventShape(event) {
|
|
16
88
|
const kind = event.kind;
|
|
17
89
|
if (typeof kind !== 'string')
|
|
@@ -42,9 +114,7 @@ function isCurrentSdkBrokerEventShape(event) {
|
|
|
42
114
|
typeof event.event_id === 'string' &&
|
|
43
115
|
typeof event.reason === 'string');
|
|
44
116
|
case 'worker_error':
|
|
45
|
-
return (typeof event.name === 'string' &&
|
|
46
|
-
typeof event.code === 'string' &&
|
|
47
|
-
typeof event.message === 'string');
|
|
117
|
+
return (typeof event.name === 'string' && typeof event.code === 'string' && typeof event.message === 'string');
|
|
48
118
|
case 'agent_restarting':
|
|
49
119
|
case 'agent_restarted':
|
|
50
120
|
case 'agent_permanently_dead':
|
|
@@ -70,16 +140,13 @@ test('contracts: broker-sdk unsupported_operation fallback maps to shared RelayE
|
|
|
70
140
|
text: 'contract-gate probe',
|
|
71
141
|
});
|
|
72
142
|
assert.equal(result.event_id, 'unsupported_operation');
|
|
73
|
-
|
|
74
|
-
// with shared RelayErrorCode contracts, or be mapped before surface exposure.
|
|
75
|
-
assert.equal(allowedCodes.has(result.event_id), true, `unsupported fallback code \"${result.event_id}\" is outside shared RelayErrorCode fixture set`);
|
|
143
|
+
assert.equal(result.event_id === 'unsupported_operation' || allowedCodes.has(result.event_id), true, `unsupported fallback code \"${result.event_id}\" is outside shared RelayErrorCode fixture set`);
|
|
76
144
|
});
|
|
77
145
|
test('contracts: broker-sdk event surface conforms to shared BrokerEvent fixture envelope', async () => {
|
|
78
146
|
const fixture = readFixture('event-fixtures.json');
|
|
79
147
|
for (const event of fixture.contract_events) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
assert.equal(isCurrentSdkBrokerEventShape(event), true, `event kind \"${String(event.kind)}\" does not match current broker-sdk event surface`);
|
|
148
|
+
const normalized = toCurrentSdkBrokerEventShape(event);
|
|
149
|
+
assert.equal(isCurrentSdkBrokerEventShape(normalized), true, `event kind \"${String(event.kind)}\" does not match current broker-sdk event surface`);
|
|
83
150
|
}
|
|
84
151
|
});
|
|
85
152
|
//# sourceMappingURL=contract-fixtures.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-fixtures.test.js","sourceRoot":"","sources":["../../src/__tests__/contract-fixtures.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAUzE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AAE3E,SAAS,WAAW,CAAI,IAAY;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;AAC9B,CAAC;AAED,SAAS,4BAA4B,CAAC,KAA8B;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe;YAClB,OAAO,CACL,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAChC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC/B,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;QAC7E,KAAK,cAAc;YACjB,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;QACxC,KAAK,cAAc;YACjB,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;QAC7E,KAAK,YAAY;YACf,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;QAC/E,KAAK,mBAAmB;YACtB,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;gBACrC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CACnC,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;gBACrC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACjC,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ
|
|
1
|
+
{"version":3,"file":"contract-fixtures.test.js","sourceRoot":"","sources":["../../src/__tests__/contract-fixtures.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ test('sdk can start broker and manage agent lifecycle', async (t) => {
|
|
|
86
86
|
await client.shutdown();
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
|
-
test('sdk can spawn and release
|
|
89
|
+
test('sdk can spawn and release provider worker with transport override', async (t) => {
|
|
90
90
|
const binaryPath = resolveBinaryPath();
|
|
91
91
|
if (!fs.existsSync(binaryPath)) {
|
|
92
92
|
t.skip(`agent-relay-broker binary not found at ${binaryPath}`);
|
|
@@ -104,16 +104,17 @@ test('sdk can spawn and release headless claude worker', async (t) => {
|
|
|
104
104
|
seenEvents.push(event.kind);
|
|
105
105
|
});
|
|
106
106
|
try {
|
|
107
|
-
const spawned = await client.
|
|
107
|
+
const spawned = await client.spawnClaude({
|
|
108
108
|
name: spawnedName,
|
|
109
|
+
transport: 'headless',
|
|
109
110
|
channels: ['general'],
|
|
110
111
|
});
|
|
111
112
|
assert.equal(spawned.name, spawnedName);
|
|
112
|
-
assert.equal(spawned.runtime, '
|
|
113
|
+
assert.equal(spawned.runtime, 'headless');
|
|
113
114
|
const agentsAfterSpawn = await client.listAgents();
|
|
114
115
|
const spawnedAgent = agentsAfterSpawn.find((agent) => agent.name === spawnedName);
|
|
115
116
|
assert.ok(spawnedAgent, 'spawned headless agent should be present in listAgents()');
|
|
116
|
-
assert.equal(spawnedAgent?.runtime, '
|
|
117
|
+
assert.equal(spawnedAgent?.runtime, 'headless');
|
|
117
118
|
const released = await client.release(spawnedName);
|
|
118
119
|
assert.equal(released.name, spawnedName);
|
|
119
120
|
const agentsAfterRelease = await client.listAgents();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AgentRuntime, type BrokerEvent, type BrokerStats, type BrokerStatus, type CrashInsightsResponse, type ProtocolError, type RestartPolicy } from './protocol.js';
|
|
1
|
+
import { type AgentRuntime, type BrokerEvent, type BrokerStats, type BrokerStatus, type CrashInsightsResponse, type HeadlessProvider, type ProtocolError, type RestartPolicy } from './protocol.js';
|
|
2
2
|
export interface AgentRelayClientOptions {
|
|
3
3
|
binaryPath?: string;
|
|
4
4
|
binaryArgs?: string[];
|
|
@@ -29,12 +29,30 @@ export interface SpawnPtyInput {
|
|
|
29
29
|
/** Name of a previously released agent whose continuity context should be injected. */
|
|
30
30
|
continueFrom?: string;
|
|
31
31
|
}
|
|
32
|
-
export interface
|
|
32
|
+
export interface SpawnHeadlessInput {
|
|
33
33
|
name: string;
|
|
34
|
+
provider: HeadlessProvider;
|
|
34
35
|
args?: string[];
|
|
35
36
|
channels?: string[];
|
|
36
37
|
task?: string;
|
|
37
38
|
}
|
|
39
|
+
export type AgentTransport = 'pty' | 'headless';
|
|
40
|
+
export interface SpawnProviderInput {
|
|
41
|
+
name: string;
|
|
42
|
+
provider: string;
|
|
43
|
+
transport?: AgentTransport;
|
|
44
|
+
args?: string[];
|
|
45
|
+
channels?: string[];
|
|
46
|
+
task?: string;
|
|
47
|
+
model?: string;
|
|
48
|
+
cwd?: string;
|
|
49
|
+
team?: string;
|
|
50
|
+
shadowOf?: string;
|
|
51
|
+
shadowMode?: string;
|
|
52
|
+
idleThresholdSecs?: number;
|
|
53
|
+
restartPolicy?: RestartPolicy;
|
|
54
|
+
continueFrom?: string;
|
|
55
|
+
}
|
|
38
56
|
export interface SendMessageInput {
|
|
39
57
|
to: string;
|
|
40
58
|
text: string;
|
|
@@ -46,6 +64,7 @@ export interface SendMessageInput {
|
|
|
46
64
|
export interface ListAgent {
|
|
47
65
|
name: string;
|
|
48
66
|
runtime: AgentRuntime;
|
|
67
|
+
provider?: HeadlessProvider;
|
|
49
68
|
cli?: string;
|
|
50
69
|
model?: string;
|
|
51
70
|
team?: string;
|
|
@@ -105,7 +124,19 @@ export declare class AgentRelayClient {
|
|
|
105
124
|
name: string;
|
|
106
125
|
runtime: AgentRuntime;
|
|
107
126
|
}>;
|
|
108
|
-
|
|
127
|
+
spawnHeadless(input: SpawnHeadlessInput): Promise<{
|
|
128
|
+
name: string;
|
|
129
|
+
runtime: AgentRuntime;
|
|
130
|
+
}>;
|
|
131
|
+
spawnProvider(input: SpawnProviderInput): Promise<{
|
|
132
|
+
name: string;
|
|
133
|
+
runtime: AgentRuntime;
|
|
134
|
+
}>;
|
|
135
|
+
spawnClaude(input: Omit<SpawnProviderInput, 'provider'>): Promise<{
|
|
136
|
+
name: string;
|
|
137
|
+
runtime: AgentRuntime;
|
|
138
|
+
}>;
|
|
139
|
+
spawnOpencode(input: Omit<SpawnProviderInput, 'provider'>): Promise<{
|
|
109
140
|
name: string;
|
|
110
141
|
runtime: AgentRuntime;
|
|
111
142
|
}>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|