@@ -30,15 +30,30 @@ const relay = new AgentRelay();
3030
3131// Log messages as they flow between agents.
3232relay .onMessageReceived = (msg ) => {
33- if (msg .text ) console .log (` ${msg .from } → ${msg .to }: ${msg .text } ` );
33+ if (msg .text ) {
34+ console .log (` ${msg .from } → ${msg .to }: ${msg .text } ` );
35+ }
3436};
3537
3638// Spawn three agents.
37- const planner = await relay .claude .spawn ({ name: ' Planner' , model: Models .Claude .OPUS });
38- const coder = await relay .codex .spawn ({ name: ' Coder' , model: Models .Codex .GPT_5_3_CODEX });
39- const reviewer = await relay .opencode .spawn ({ name: ' Reviewer' , model: Models .Opencode .OPENAI_GPT_5_2 });
39+ const planner = await relay .claude .spawn ({
40+ name: ' Planner' ,
41+ model: Models .Claude .OPUS ,
42+ });
43+ const coder = await relay .codex .spawn ({
44+ name: ' Coder' ,
45+ model: Models .Codex .GPT_5_3_CODEX ,
46+ });
47+ const reviewer = await relay .opencode .spawn ({
48+ name: ' Reviewer' ,
49+ model: Models .Opencode .OPENAI_GPT_5_2 ,
50+ });
4051
41- await Promise .all ([planner .waitForReady (), coder .waitForReady (), reviewer .waitForReady ()]);
52+ await Promise .all ([
53+ planner .waitForReady (),
54+ coder .waitForReady (),
55+ reviewer .waitForReady (),
56+ ]);
4257
4358// Kick off the collaboration.
4459await relay .system ().sendMessage ({
@@ -47,7 +62,11 @@ text: 'Collaborate with Coder and Reviewer to implement feature ID 7.',
4762});
4863
4964// Wait for everyone to finish, then shut down.
50- await Promise .all ([planner .waitForIdle (), coder .waitForIdle (), reviewer .waitForIdle ()]);
65+ await Promise .all ([
66+ planner .waitForIdle (),
67+ coder .waitForIdle (),
68+ reviewer .waitForIdle (),
69+ ]);
5170await relay .shutdown ();
5271
5372````
@@ -61,13 +80,20 @@ async def main():
6180
6281 # Log messages as they flow between agents.
6382 relay.on_message_received = lambda msg: (
64- print(f"{msg.from_name} → {msg.to}: {msg.text}") if msg.text else None
83+ print(f"{msg.from_name} → {msg.to}: {msg.text}")
84+ if msg.text else None
6585 )
6686
6787 # Spawn three agents.
68- planner = await relay.claude.spawn(name="Planner", model=Models.Claude.OPUS)
69- coder = await relay.codex.spawn(name="Coder", model=Models.Codex.GPT_5_3_CODEX)
70- reviewer = await relay.opencode.spawn(name="Reviewer", model=Models.Opencode.OPENAI_GPT_5_2)
88+ planner = await relay.claude.spawn(
89+ name="Planner", model=Models.Claude.OPUS,
90+ )
91+ coder = await relay.codex.spawn(
92+ name="Coder", model=Models.Codex.GPT_5_3_CODEX,
93+ )
94+ reviewer = await relay.opencode.spawn(
95+ name="Reviewer", model=Models.Opencode.OPENAI_GPT_5_2,
96+ )
7197
7298 await asyncio.gather(
7399 relay.wait_for_agent_ready("Planner"),
0 commit comments