@agent-relay/sdk 6.3.5 → 6.3.6
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/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/bin/agent-relay-broker-win32-x64.exe +0 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +167 -46
- package/dist/client.js.map +1 -1
- package/dist/event-bus.d.ts +45 -0
- package/dist/event-bus.d.ts.map +1 -0
- package/dist/event-bus.js +68 -0
- package/dist/event-bus.js.map +1 -0
- package/dist/examples/demo.js +27 -27
- package/dist/examples/demo.js.map +1 -1
- package/dist/examples/persona-spawn.js +9 -10
- package/dist/examples/persona-spawn.js.map +1 -1
- package/dist/examples/quickstart.js +17 -17
- package/dist/examples/quickstart.js.map +1 -1
- package/dist/examples/ralph-loop.js +37 -37
- package/dist/examples/ralph-loop.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle-hooks.d.ts +140 -0
- package/dist/lifecycle-hooks.d.ts.map +1 -0
- package/dist/lifecycle-hooks.js +29 -0
- package/dist/lifecycle-hooks.js.map +1 -0
- package/dist/relay.d.ts +37 -29
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +52 -30
- package/dist/relay.js.map +1 -1
- package/dist/shadow.d.ts +4 -4
- package/dist/shadow.d.ts.map +1 -1
- package/dist/shadow.js +9 -9
- package/dist/shadow.js.map +1 -1
- package/dist/spawn-from-env.d.ts.map +1 -1
- package/dist/spawn-from-env.js +20 -22
- package/dist/spawn-from-env.js.map +1 -1
- package/dist/workflows/__tests__/budget-enforcement.test.js +1 -7
- package/dist/workflows/__tests__/budget-enforcement.test.js.map +1 -1
- package/dist/workflows/__tests__/e2e-permissions.test.js +18 -11
- package/dist/workflows/__tests__/e2e-permissions.test.js.map +1 -1
- package/dist/workflows/__tests__/permissions-integration.test.js +18 -9
- package/dist/workflows/__tests__/permissions-integration.test.js.map +1 -1
- package/dist/workflows/__tests__/verification-custom.test.js +1 -7
- package/dist/workflows/__tests__/verification-custom.test.js.map +1 -1
- package/dist/workflows/__tests__/verification-traceback.test.js +1 -7
- package/dist/workflows/__tests__/verification-traceback.test.js.map +1 -1
- package/dist/workflows/runner.d.ts +1 -0
- package/dist/workflows/runner.d.ts.map +1 -1
- package/dist/workflows/runner.js +24 -23
- package/dist/workflows/runner.js.map +1 -1
- package/package.json +12 -12
package/dist/examples/demo.js
CHANGED
|
@@ -5,59 +5,59 @@
|
|
|
5
5
|
* Run:
|
|
6
6
|
* npm run build && npm run demo
|
|
7
7
|
*/
|
|
8
|
-
import { AgentRelay } from
|
|
8
|
+
import { AgentRelay } from '../relay.js';
|
|
9
9
|
const relay = new AgentRelay({ env: process.env });
|
|
10
10
|
// ── Event hooks ─────────────────────────────────────────────────────────────
|
|
11
|
-
relay.
|
|
11
|
+
relay.addListener('messageReceived', (message) => {
|
|
12
12
|
console.log(` 📨 received │ from=${message.from} to=${message.to} text="${message.text}"`);
|
|
13
|
-
};
|
|
14
|
-
relay.
|
|
13
|
+
});
|
|
14
|
+
relay.addListener('messageSent', (message) => {
|
|
15
15
|
console.log(` 📤 sent │ from=${message.from} to=${message.to} text="${message.text}"`);
|
|
16
|
-
};
|
|
17
|
-
relay.
|
|
16
|
+
});
|
|
17
|
+
relay.addListener('agentSpawned', (agent) => {
|
|
18
18
|
console.log(` 🟢 spawned │ ${agent.name} (${agent.runtime})`);
|
|
19
|
-
};
|
|
20
|
-
relay.
|
|
19
|
+
});
|
|
20
|
+
relay.addListener('agentReleased', (agent) => {
|
|
21
21
|
console.log(` 🔴 released │ ${agent.name}`);
|
|
22
|
-
};
|
|
23
|
-
relay.
|
|
22
|
+
});
|
|
23
|
+
relay.addListener('agentExited', (agent) => {
|
|
24
24
|
console.log(` ⚪ exited │ ${agent.name}`);
|
|
25
|
-
};
|
|
25
|
+
});
|
|
26
26
|
// ── Spawn agents ────────────────────────────────────────────────────────────
|
|
27
|
-
console.log(
|
|
27
|
+
console.log('\n─── Spawning agents ───\n');
|
|
28
28
|
const [agentA, agentB] = await Promise.all([
|
|
29
|
-
relay.spawnPty({ name:
|
|
30
|
-
relay.spawnPty({ name:
|
|
29
|
+
relay.spawnPty({ name: 'AgentA', cli: 'claude', args: ['--print'], channels: ['general'] }),
|
|
30
|
+
relay.spawnPty({ name: 'AgentB', cli: 'claude', args: ['--print'], channels: ['general'] }),
|
|
31
31
|
]);
|
|
32
32
|
// ── Send messages ───────────────────────────────────────────────────────────
|
|
33
|
-
console.log(
|
|
34
|
-
const human = relay.human({ name:
|
|
35
|
-
await human.sendMessage({ to: agentA.name, text:
|
|
36
|
-
await human.sendMessage({ to: agentB.name, text:
|
|
33
|
+
console.log('\n─── Sending messages ───\n');
|
|
34
|
+
const human = relay.human({ name: 'System' });
|
|
35
|
+
await human.sendMessage({ to: agentA.name, text: 'Hello AgentA, welcome!' });
|
|
36
|
+
await human.sendMessage({ to: agentB.name, text: 'Hello AgentB, welcome!' });
|
|
37
37
|
// Agent-to-agent messaging
|
|
38
|
-
await agentA.sendMessage({ to: agentB.name, text:
|
|
39
|
-
await agentB.sendMessage({ to: agentA.name, text:
|
|
38
|
+
await agentA.sendMessage({ to: agentB.name, text: 'Hey B, got a task for you' });
|
|
39
|
+
await agentB.sendMessage({ to: agentA.name, text: 'On it!' });
|
|
40
40
|
// Threaded conversation
|
|
41
|
-
const thread = await human.sendMessage({ to: agentA.name, text:
|
|
42
|
-
await agentA.sendMessage({ to: human.name, text:
|
|
41
|
+
const thread = await human.sendMessage({ to: agentA.name, text: 'Status update?' });
|
|
42
|
+
await agentA.sendMessage({ to: human.name, text: 'All good!', threadId: thread.eventId });
|
|
43
43
|
// Priority messages
|
|
44
|
-
await human.sendMessage({ to: agentA.name, text:
|
|
45
|
-
await human.sendMessage({ to: agentB.name, text:
|
|
44
|
+
await human.sendMessage({ to: agentA.name, text: 'Critical alert!', priority: 0 });
|
|
45
|
+
await human.sendMessage({ to: agentB.name, text: 'Low priority FYI', priority: 4 });
|
|
46
46
|
// Small delay to let events propagate
|
|
47
47
|
await new Promise((r) => setTimeout(r, 500));
|
|
48
48
|
// ── List agents ─────────────────────────────────────────────────────────────
|
|
49
|
-
console.log(
|
|
49
|
+
console.log('\n─── Active agents ───\n');
|
|
50
50
|
const agents = await relay.listAgents();
|
|
51
51
|
for (const agent of agents) {
|
|
52
52
|
console.log(` • ${agent.name} runtime=${agent.runtime} channels=[${agent.channels}]`);
|
|
53
53
|
}
|
|
54
54
|
// ── Release all ─────────────────────────────────────────────────────────────
|
|
55
|
-
console.log(
|
|
55
|
+
console.log('\n─── Releasing agents ───\n');
|
|
56
56
|
for (const agent of agents) {
|
|
57
57
|
await agent.release();
|
|
58
58
|
}
|
|
59
59
|
await new Promise((r) => setTimeout(r, 300));
|
|
60
60
|
// ── Shutdown ────────────────────────────────────────────────────────────────
|
|
61
61
|
await relay.shutdown();
|
|
62
|
-
console.log(
|
|
62
|
+
console.log('\n─── Done ───\n');
|
|
63
63
|
//# sourceMappingURL=demo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/examples/demo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEnD,+EAA+E;AAE/E,KAAK,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/examples/demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,31 +12,30 @@
|
|
|
12
12
|
* Environment:
|
|
13
13
|
* RELAY_API_KEY — Relaycast workspace key (required)
|
|
14
14
|
*/
|
|
15
|
-
import { AgentRelay } from
|
|
16
|
-
import { listPersonas } from
|
|
15
|
+
import { AgentRelay } from '../relay.js';
|
|
16
|
+
import { listPersonas } from '../personas.js';
|
|
17
17
|
const [, , personaId, ...taskParts] = process.argv;
|
|
18
|
-
const task = taskParts.join(
|
|
18
|
+
const task = taskParts.join(' ').trim();
|
|
19
19
|
if (!personaId) {
|
|
20
20
|
const found = listPersonas();
|
|
21
|
-
console.error(
|
|
21
|
+
console.error('Usage: persona-spawn <personaId> [task...]\n');
|
|
22
22
|
if (found.length > 0) {
|
|
23
|
-
console.error(
|
|
23
|
+
console.error('Personas discovered in the default cascade:');
|
|
24
24
|
for (const p of found) {
|
|
25
25
|
console.error(` - ${p.id} (${p.path})`);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
|
-
console.error(
|
|
30
|
-
"or set AGENT_WORKFORCE_HOME.");
|
|
29
|
+
console.error('No personas found. Place JSON files under ./agentworkforce/personas ' + 'or set AGENT_WORKFORCE_HOME.');
|
|
31
30
|
}
|
|
32
31
|
process.exit(1);
|
|
33
32
|
}
|
|
34
33
|
const relay = new AgentRelay();
|
|
35
|
-
relay.
|
|
36
|
-
relay.
|
|
34
|
+
relay.addListener('agentSpawned', (agent) => console.log(`spawned ${agent.name} (${agent.runtime})`));
|
|
35
|
+
relay.addListener('agentExited', (agent) => console.log(`exited ${agent.name} code=${agent.exitCode ?? 'none'}`));
|
|
37
36
|
const agent = await relay.spawnPersona(personaId, {
|
|
38
37
|
...(task ? { task } : {}),
|
|
39
|
-
channels: [
|
|
38
|
+
channels: ['general'],
|
|
40
39
|
});
|
|
41
40
|
console.log(`agent ${agent.name} ready, waiting for exit...`);
|
|
42
41
|
await agent.waitForExit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persona-spawn.js","sourceRoot":"","sources":["../../src/examples/persona-spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,EAAE,AAAD,EAAG,SAAS,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAExC,IAAI,CAAC,SAAS,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CACX,sEAAsE
|
|
1
|
+
{"version":3,"file":"persona-spawn.js","sourceRoot":"","sources":["../../src/examples/persona-spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,EAAE,AAAD,EAAG,SAAS,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAExC,IAAI,CAAC,SAAS,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CACX,sEAAsE,GAAG,8BAA8B,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;AAE/B,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AACtG,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACzC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CACrE,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE;IAChD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,6BAA6B,CAAC,CAAC;AAC9D,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;AAC1B,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC"}
|
|
@@ -8,26 +8,26 @@
|
|
|
8
8
|
* RELAY_API_KEY — Relaycast workspace key (required)
|
|
9
9
|
* AGENT_RELAY_BIN — path to agent-relay binary (optional)
|
|
10
10
|
*/
|
|
11
|
-
import { AgentRelay } from
|
|
11
|
+
import { AgentRelay } from '../relay.js';
|
|
12
12
|
// The Relay is the communication backbone for your agents.
|
|
13
13
|
// Drop it into your codebase and let your agents communicate.
|
|
14
14
|
const relay = new AgentRelay();
|
|
15
15
|
// ── Event hooks ─────────────────────────────────────────────────────────────
|
|
16
|
-
relay.
|
|
16
|
+
relay.addListener('messageReceived', (message) => {
|
|
17
17
|
console.log(`message received → from=${message.from} to=${message.to}`);
|
|
18
|
-
};
|
|
19
|
-
relay.
|
|
18
|
+
});
|
|
19
|
+
relay.addListener('messageSent', (message) => {
|
|
20
20
|
console.log(`message sent → from=${message.from} to=${message.to}`);
|
|
21
|
-
};
|
|
22
|
-
relay.
|
|
21
|
+
});
|
|
22
|
+
relay.addListener('agentSpawned', (agent) => {
|
|
23
23
|
console.log(`agent spawned → ${agent.name} (${agent.runtime})`);
|
|
24
|
-
};
|
|
25
|
-
relay.
|
|
24
|
+
});
|
|
25
|
+
relay.addListener('agentReleased', (agent) => {
|
|
26
26
|
console.log(`agent released → ${agent.name}`);
|
|
27
|
-
};
|
|
28
|
-
relay.
|
|
27
|
+
});
|
|
28
|
+
relay.addListener('agentExited', (agent) => {
|
|
29
29
|
console.log(`agent exited → ${agent.name}`);
|
|
30
|
-
};
|
|
30
|
+
});
|
|
31
31
|
// ── Create agents with sane defaults, running locally ───────────────────────
|
|
32
32
|
const [codex, claude, gemini] = await Promise.all([
|
|
33
33
|
relay.codex.spawn(),
|
|
@@ -36,14 +36,14 @@ const [codex, claude, gemini] = await Promise.all([
|
|
|
36
36
|
]);
|
|
37
37
|
// ── Configure messaging with custom CLI agents ─────────────────────────────
|
|
38
38
|
const worker1 = await relay.spawnPty({
|
|
39
|
-
name:
|
|
40
|
-
cli:
|
|
41
|
-
args: [
|
|
42
|
-
channels: [
|
|
39
|
+
name: 'Worker1',
|
|
40
|
+
cli: 'codex',
|
|
41
|
+
args: ['--model', 'gpt-5'],
|
|
42
|
+
channels: ['general'],
|
|
43
43
|
});
|
|
44
44
|
// ── Control messaging from non-agent sources ────────────────────────────────
|
|
45
|
-
const human = relay.human({ name:
|
|
46
|
-
await human.sendMessage({ to: codex.name, text:
|
|
45
|
+
const human = relay.human({ name: 'System' });
|
|
46
|
+
await human.sendMessage({ to: codex.name, text: 'Hello, world!' });
|
|
47
47
|
// ── List agents ─────────────────────────────────────────────────────────────
|
|
48
48
|
const agents = await relay.listAgents();
|
|
49
49
|
for (const agent of agents) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/examples/quickstart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,2DAA2D;AAC3D,8DAA8D;AAC9D,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;AAE/B,+EAA+E;AAE/E,KAAK,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/examples/quickstart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,2DAA2D;AAC3D,8DAA8D;AAC9D,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;AAE/B,+EAA+E;AAE/E,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;IAC/C,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;IAC3C,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;IACzC,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAE/E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;IAChD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;IACnB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACpB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;CACrB,CAAC,CAAC;AAEH,8EAA8E;AAE9E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;IACnC,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAC,CAAC;AAEH,+EAA+E;AAE/E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9C,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAEnE,+EAA+E;AAE/E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;AACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzF,CAAC;AAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;IAC3B,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC"}
|
|
@@ -25,39 +25,37 @@
|
|
|
25
25
|
* https://github.com/snarktank/ralph
|
|
26
26
|
* https://ghuntley.com/ralph/
|
|
27
27
|
*/
|
|
28
|
-
import fs from
|
|
29
|
-
import { execSync } from
|
|
30
|
-
import { AgentRelay } from
|
|
28
|
+
import fs from 'node:fs';
|
|
29
|
+
import { execSync } from 'node:child_process';
|
|
30
|
+
import { AgentRelay } from '../relay.js';
|
|
31
31
|
// ── Configuration ───────────────────────────────────────────────────────────
|
|
32
|
-
const PRD_PATH = process.env.PRD_PATH ??
|
|
33
|
-
const PROGRESS_PATH = process.env.PROGRESS_PATH ??
|
|
32
|
+
const PRD_PATH = process.env.PRD_PATH ?? 'prd.json';
|
|
33
|
+
const PROGRESS_PATH = process.env.PROGRESS_PATH ?? 'progress.txt';
|
|
34
34
|
const MAX_ITERATIONS = Number(process.env.MAX_ITERATIONS ?? 10);
|
|
35
35
|
const MAX_REVIEW_ROUNDS = Number(process.env.MAX_REVIEW_ROUNDS ?? 2);
|
|
36
|
-
const QUALITY_CMD = process.env.QUALITY_CMD ??
|
|
36
|
+
const QUALITY_CMD = process.env.QUALITY_CMD ?? 'npm run check';
|
|
37
37
|
/** Max time (ms) to wait for both agents per round before releasing them. */
|
|
38
38
|
const ROUND_TIMEOUT_MS = Number(process.env.ROUND_TIMEOUT_MS ?? 5 * 60 * 1000);
|
|
39
39
|
// ── Helpers ─────────────────────────────────────────────────────────────────
|
|
40
40
|
function loadPrd() {
|
|
41
|
-
return JSON.parse(fs.readFileSync(PRD_PATH,
|
|
41
|
+
return JSON.parse(fs.readFileSync(PRD_PATH, 'utf-8'));
|
|
42
42
|
}
|
|
43
43
|
function savePrd(prd) {
|
|
44
|
-
fs.writeFileSync(PRD_PATH, JSON.stringify(prd, null, 2) +
|
|
44
|
+
fs.writeFileSync(PRD_PATH, JSON.stringify(prd, null, 2) + '\n');
|
|
45
45
|
}
|
|
46
46
|
function appendProgress(entry) {
|
|
47
47
|
const line = `[${new Date().toISOString()}] ${entry}\n`;
|
|
48
48
|
fs.appendFileSync(PROGRESS_PATH, line);
|
|
49
49
|
}
|
|
50
50
|
function readProgress() {
|
|
51
|
-
return fs.existsSync(PROGRESS_PATH)
|
|
52
|
-
? fs.readFileSync(PROGRESS_PATH, "utf-8")
|
|
53
|
-
: "";
|
|
51
|
+
return fs.existsSync(PROGRESS_PATH) ? fs.readFileSync(PROGRESS_PATH, 'utf-8') : '';
|
|
54
52
|
}
|
|
55
53
|
function nextStory(prd) {
|
|
56
54
|
return prd.userStories.find((s) => !s.passes);
|
|
57
55
|
}
|
|
58
56
|
function runQualityChecks() {
|
|
59
57
|
try {
|
|
60
|
-
const output = execSync(QUALITY_CMD, { encoding:
|
|
58
|
+
const output = execSync(QUALITY_CMD, { encoding: 'utf-8', stdio: 'pipe' });
|
|
61
59
|
return { passed: true, output };
|
|
62
60
|
}
|
|
63
61
|
catch (err) {
|
|
@@ -67,7 +65,7 @@ function runQualityChecks() {
|
|
|
67
65
|
}
|
|
68
66
|
// ── Prompt builders ─────────────────────────────────────────────────────────
|
|
69
67
|
function architectPrompt(story, progress) {
|
|
70
|
-
const criteria = story.acceptanceCriteria.map((c) => ` - ${c}`).join(
|
|
68
|
+
const criteria = story.acceptanceCriteria.map((c) => ` - ${c}`).join('\n');
|
|
71
69
|
return [
|
|
72
70
|
`## Architect: ${story.title}`,
|
|
73
71
|
``,
|
|
@@ -86,7 +84,7 @@ function architectPrompt(story, progress) {
|
|
|
86
84
|
criteria,
|
|
87
85
|
``,
|
|
88
86
|
`### Previous Learnings`,
|
|
89
|
-
progress ||
|
|
87
|
+
progress || '(first story)',
|
|
90
88
|
``,
|
|
91
89
|
`### Your job`,
|
|
92
90
|
`1. Post a concise implementation plan to #general (files, changes, edge cases)`,
|
|
@@ -98,10 +96,10 @@ function architectPrompt(story, progress) {
|
|
|
98
96
|
``,
|
|
99
97
|
`IMPORTANT: You MUST use Relaycast MCP tools to post messages. This is how`,
|
|
100
98
|
`the orchestrator knows you're done. Post your plan first, then your verdict.`,
|
|
101
|
-
].join(
|
|
99
|
+
].join('\n');
|
|
102
100
|
}
|
|
103
101
|
function builderPrompt(story, progress, reviewFeedback) {
|
|
104
|
-
const criteria = story.acceptanceCriteria.map((c) => ` - ${c}`).join(
|
|
102
|
+
const criteria = story.acceptanceCriteria.map((c) => ` - ${c}`).join('\n');
|
|
105
103
|
const sections = [
|
|
106
104
|
`## Builder: ${story.title}`,
|
|
107
105
|
``,
|
|
@@ -122,22 +120,22 @@ function builderPrompt(story, progress, reviewFeedback) {
|
|
|
122
120
|
if (reviewFeedback) {
|
|
123
121
|
sections.push(``, `### Review Feedback (fix these issues first)`, reviewFeedback);
|
|
124
122
|
}
|
|
125
|
-
sections.push(``, `### Previous Learnings`, progress ||
|
|
126
|
-
return sections.join(
|
|
123
|
+
sections.push(``, `### Previous Learnings`, progress || '(first story)', ``, `### Your job`, `1. Read the Architect's plan from #general`, `2. Implement the changes`, `3. Post progress updates to #general as you work`, `4. When done, post exactly "IMPLEMENTATION COMPLETE" to #general`, ``, `IMPORTANT: You MUST use Relaycast MCP tools to post messages. This is how`, `the orchestrator knows you're done.`);
|
|
124
|
+
return sections.join('\n');
|
|
127
125
|
}
|
|
128
126
|
// ── Main loop ───────────────────────────────────────────────────────────────
|
|
129
127
|
const relay = new AgentRelay({ env: process.env });
|
|
130
128
|
const channelLog = [];
|
|
131
|
-
relay.
|
|
129
|
+
relay.addListener('messageReceived', (msg) => {
|
|
132
130
|
channelLog.push(msg);
|
|
133
131
|
console.log(` 💬 ${msg.from}: "${msg.text.slice(0, 80)}…"`);
|
|
134
|
-
};
|
|
135
|
-
relay.
|
|
136
|
-
relay.
|
|
137
|
-
relay.
|
|
138
|
-
relay.
|
|
132
|
+
});
|
|
133
|
+
relay.addListener('agentSpawned', (agent) => console.log(` 🟢 ${agent.name} spawned (${agent.runtime})`));
|
|
134
|
+
relay.addListener('agentReleased', (agent) => console.log(` 🔴 ${agent.name} released`));
|
|
135
|
+
relay.addListener('agentExited', (agent) => console.log(` ⚪ ${agent.name} exited`));
|
|
136
|
+
relay.addListener('messageSent', (msg) => console.log(` 📤 → ${msg.to}: "${msg.text.slice(0, 60)}…"`));
|
|
139
137
|
const prd = loadPrd();
|
|
140
|
-
const orchestrator = relay.human({ name:
|
|
138
|
+
const orchestrator = relay.human({ name: 'Ralph' });
|
|
141
139
|
console.log(`\n══ Ralph Loop (Claude + Codex) ══`);
|
|
142
140
|
console.log(` branch: ${prd.branchName}`);
|
|
143
141
|
console.log(` stories: ${prd.userStories.length}`);
|
|
@@ -154,19 +152,19 @@ while (iteration < MAX_ITERATIONS) {
|
|
|
154
152
|
let reviewFeedback;
|
|
155
153
|
let storyPassed = false;
|
|
156
154
|
for (let round = 0; round < MAX_REVIEW_ROUNDS; round++) {
|
|
157
|
-
const roundLabel = round === 0 ?
|
|
155
|
+
const roundLabel = round === 0 ? 'initial' : `fix-${round}`;
|
|
158
156
|
const progress = readProgress();
|
|
159
157
|
// ── Spawn both agents concurrently ──────────────────────────────────
|
|
160
158
|
console.log(` ⚡ Spawning Claude (architect) + Codex (builder) — round: ${roundLabel}`);
|
|
161
159
|
const [architect, builder] = await Promise.all([
|
|
162
160
|
relay.claude.spawn({
|
|
163
161
|
name: `Architect-${story.id}-${roundLabel}`,
|
|
164
|
-
channels: [
|
|
162
|
+
channels: ['general'],
|
|
165
163
|
}),
|
|
166
164
|
relay.codex.spawn({
|
|
167
165
|
name: `Builder-${story.id}-${roundLabel}`,
|
|
168
|
-
args: [
|
|
169
|
-
channels: [
|
|
166
|
+
args: ['--full-auto'],
|
|
167
|
+
channels: ['general'],
|
|
170
168
|
}),
|
|
171
169
|
]);
|
|
172
170
|
// ── Inject tasks via relay ──────────────────────────────────────────
|
|
@@ -192,14 +190,14 @@ while (iteration < MAX_ITERATIONS) {
|
|
|
192
190
|
while (Date.now() < deadline) {
|
|
193
191
|
const recent = channelLog.slice(startLen);
|
|
194
192
|
// Check if Claude posted a review verdict
|
|
195
|
-
const review = recent.find((m) => m.text.includes(
|
|
193
|
+
const review = recent.find((m) => m.text.includes('REVIEW:PASS') || m.text.includes('REVIEW:FAIL'));
|
|
196
194
|
if (review) {
|
|
197
195
|
verdict = review.text;
|
|
198
196
|
console.log(` 📋 Claude posted verdict`);
|
|
199
197
|
break;
|
|
200
198
|
}
|
|
201
199
|
// Check if Codex signaled completion (Claude may still be reviewing)
|
|
202
|
-
const implDone = recent.find((m) => m.text.includes(
|
|
200
|
+
const implDone = recent.find((m) => m.text.includes('IMPLEMENTATION COMPLETE'));
|
|
203
201
|
if (implDone) {
|
|
204
202
|
console.log(` 📋 Codex finished, waiting for Claude's review…`);
|
|
205
203
|
// Give Claude up to 60s more to post a verdict
|
|
@@ -207,7 +205,7 @@ while (iteration < MAX_ITERATIONS) {
|
|
|
207
205
|
while (Date.now() < reviewDeadline) {
|
|
208
206
|
await new Promise((r) => setTimeout(r, 3000));
|
|
209
207
|
const afterImpl = channelLog.slice(startLen);
|
|
210
|
-
const rv = afterImpl.find((m) => m.text.includes(
|
|
208
|
+
const rv = afterImpl.find((m) => m.text.includes('REVIEW:PASS') || m.text.includes('REVIEW:FAIL'));
|
|
211
209
|
if (rv) {
|
|
212
210
|
verdict = rv.text;
|
|
213
211
|
break;
|
|
@@ -218,7 +216,7 @@ while (iteration < MAX_ITERATIONS) {
|
|
|
218
216
|
// Check if either agent exited on its own
|
|
219
217
|
const archResult = await architect.waitForExit(0);
|
|
220
218
|
const buildResult = await builder.waitForExit(0);
|
|
221
|
-
if (archResult !==
|
|
219
|
+
if (archResult !== 'timeout' && buildResult !== 'timeout')
|
|
222
220
|
break;
|
|
223
221
|
await new Promise((r) => setTimeout(r, 5000));
|
|
224
222
|
}
|
|
@@ -227,7 +225,9 @@ while (iteration < MAX_ITERATIONS) {
|
|
|
227
225
|
try {
|
|
228
226
|
await agent.release();
|
|
229
227
|
}
|
|
230
|
-
catch {
|
|
228
|
+
catch {
|
|
229
|
+
/* already exited */
|
|
230
|
+
}
|
|
231
231
|
};
|
|
232
232
|
await Promise.all([cleanup(architect), cleanup(builder)]);
|
|
233
233
|
// ── Quality gate ────────────────────────────────────────────────────
|
|
@@ -240,14 +240,14 @@ while (iteration < MAX_ITERATIONS) {
|
|
|
240
240
|
continue;
|
|
241
241
|
}
|
|
242
242
|
// ── Check verdict ─────────────────────────────────────────────────────
|
|
243
|
-
if (verdict?.includes(
|
|
243
|
+
if (verdict?.includes('REVIEW:PASS')) {
|
|
244
244
|
storyPassed = true;
|
|
245
245
|
appendProgress(`✅ ${story.id} — ${story.title} — PASSED (round=${roundLabel})`);
|
|
246
246
|
console.log(` ✅ story passed!\n`);
|
|
247
247
|
break;
|
|
248
248
|
}
|
|
249
|
-
else if (verdict?.includes(
|
|
250
|
-
const failText = verdict.replace(
|
|
249
|
+
else if (verdict?.includes('REVIEW:FAIL')) {
|
|
250
|
+
const failText = verdict.replace('REVIEW:FAIL', '').trim();
|
|
251
251
|
reviewFeedback = failText;
|
|
252
252
|
appendProgress(`🔄 ${story.id} round=${roundLabel} — review failed: ${reviewFeedback.slice(0, 200)}`);
|
|
253
253
|
console.log(` 🔄 review failed, starting new round\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ralph-loop.js","sourceRoot":"","sources":["../../src/examples/ralph-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAA4B,MAAM,aAAa,CAAC;AAiBnE,+EAA+E;AAE/E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC;AACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC;AAClE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;AAChE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;AACrE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,eAAe,CAAC;AAC/D,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAE/E,+EAA+E;AAE/E,SAAS,OAAO;IACd,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,GAAQ;IACvB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC;IACxD,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"ralph-loop.js","sourceRoot":"","sources":["../../src/examples/ralph-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export * from './protocol.js';
|
|
|
2
2
|
export * from './types.js';
|
|
3
3
|
export { BrokerTransport, type BrokerTransportOptions, AgentRelayProtocolError, PtyInputStream, type PtyInputStreamOptions, type PtyInputWriteResult, } from './transport.js';
|
|
4
4
|
export { AgentRelayClient, type AgentRelayBrokerInitArgs, type AgentRelayClientOptions, type AgentRelaySpawnOptions, type SetInboundDeliveryModeResult, type SessionInfo, type WorkerStreamSubscriptionOptions, } from './client.js';
|
|
5
|
+
export { EventBus, type EventHandler, type EventMap } from './event-bus.js';
|
|
6
|
+
export type { AfterAgentReleaseContext, AfterAgentSpawnContext, AgentRelayEvents, BeforeAgentReleaseContext, BeforeAgentSpawnContext, BeforeAgentSpawnHandler, SpawnPatch, AgentExitRequestedPayload, AgentIdlePayload, ChannelSubscriptionPayload, WorkerOutputPayload, } from './lifecycle-hooks.js';
|
|
5
7
|
export * from './models.js';
|
|
6
8
|
export { RelayCast, RelayError, AgentClient } from '@relaycast/sdk';
|
|
7
9
|
export type { RelayCastOptions, ClientOptions } from '@relaycast/sdk';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,WAAW,EAChB,KAAK,+BAA+B,GACrC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,WAAW,EAChB,KAAK,+BAA+B,GACrC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from './protocol.js';
|
|
|
2
2
|
export * from './types.js';
|
|
3
3
|
export { BrokerTransport, AgentRelayProtocolError, PtyInputStream, } from './transport.js';
|
|
4
4
|
export { AgentRelayClient, } from './client.js';
|
|
5
|
+
export { EventBus } from './event-bus.js';
|
|
5
6
|
export * from './models.js';
|
|
6
7
|
export { RelayCast, RelayError, AgentClient } from '@relaycast/sdk';
|
|
7
8
|
export * from './pty.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,eAAe,EAEf,uBAAuB,EACvB,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,GAOjB,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,eAAe,EAEf,uBAAuB,EACvB,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,GAOjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAoC,MAAM,gBAAgB,CAAC;AAc5E,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|