agent-relay 0.1.0 → 1.0.1
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 +56 -730
- package/dist/cli/index.d.ts +6 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +109 -1521
- package/dist/cli/index.js.map +1 -1
- package/dist/daemon/connection.d.ts.map +1 -1
- package/dist/daemon/connection.js +1 -2
- package/dist/daemon/connection.js.map +1 -1
- package/dist/daemon/server.d.ts +14 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +48 -7
- package/dist/daemon/server.js.map +1 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +27 -8
- package/dist/dashboard/server.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/storage/adapter.d.ts +43 -0
- package/dist/storage/adapter.d.ts.map +1 -1
- package/dist/storage/adapter.js +106 -1
- package/dist/storage/adapter.js.map +1 -1
- package/dist/storage/sqlite-adapter.d.ts +1 -0
- package/dist/storage/sqlite-adapter.d.ts.map +1 -1
- package/dist/storage/sqlite-adapter.js +29 -0
- package/dist/storage/sqlite-adapter.js.map +1 -1
- package/dist/utils/project-namespace.d.ts +46 -0
- package/dist/utils/project-namespace.d.ts.map +1 -0
- package/dist/utils/project-namespace.js +111 -0
- package/dist/utils/project-namespace.js.map +1 -0
- package/dist/wrapper/client.d.ts +1 -1
- package/dist/wrapper/client.d.ts.map +1 -1
- package/dist/wrapper/client.js +1 -1
- package/dist/wrapper/client.js.map +1 -1
- package/dist/wrapper/index.d.ts +0 -1
- package/dist/wrapper/index.d.ts.map +1 -1
- package/dist/wrapper/index.js +2 -3
- package/dist/wrapper/index.js.map +1 -1
- package/dist/wrapper/tmux-wrapper.d.ts +5 -0
- package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
- package/dist/wrapper/tmux-wrapper.js +96 -21
- package/dist/wrapper/tmux-wrapper.js.map +1 -1
- package/docs/AGENTS.md +386 -0
- package/docs/CLI-SIMPLIFICATION-COMPLETE.md +48 -0
- package/docs/CONTRIBUTING.md +151 -0
- package/docs/TMUX_IMPLEMENTATION_NOTES.md +364 -0
- package/docs/removable-code-analysis.md +24 -0
- package/install.sh +10 -2
- package/package.json +3 -4
- package/dist/games/index.d.ts +0 -2
- package/dist/games/index.d.ts.map +0 -1
- package/dist/games/index.js +0 -2
- package/dist/games/index.js.map +0 -1
- package/dist/games/tictactoe.d.ts +0 -24
- package/dist/games/tictactoe.d.ts.map +0 -1
- package/dist/games/tictactoe.js +0 -160
- package/dist/games/tictactoe.js.map +0 -1
- package/dist/supervisor/inbox.d.ts +0 -38
- package/dist/supervisor/inbox.d.ts.map +0 -1
- package/dist/supervisor/inbox.js +0 -162
- package/dist/supervisor/inbox.js.map +0 -1
- package/dist/supervisor/index.d.ts +0 -10
- package/dist/supervisor/index.d.ts.map +0 -1
- package/dist/supervisor/index.js +0 -10
- package/dist/supervisor/index.js.map +0 -1
- package/dist/supervisor/spawner.d.ts +0 -54
- package/dist/supervisor/spawner.d.ts.map +0 -1
- package/dist/supervisor/spawner.js +0 -282
- package/dist/supervisor/spawner.js.map +0 -1
- package/dist/supervisor/state.d.ts +0 -132
- package/dist/supervisor/state.d.ts.map +0 -1
- package/dist/supervisor/state.js +0 -465
- package/dist/supervisor/state.js.map +0 -1
- package/dist/supervisor/supervisor.d.ts +0 -67
- package/dist/supervisor/supervisor.d.ts.map +0 -1
- package/dist/supervisor/supervisor.js +0 -263
- package/dist/supervisor/supervisor.js.map +0 -1
- package/dist/supervisor/types.d.ts +0 -139
- package/dist/supervisor/types.d.ts.map +0 -1
- package/dist/supervisor/types.js +0 -12
- package/dist/supervisor/types.js.map +0 -1
- package/dist/webhook/spawner.d.ts +0 -79
- package/dist/webhook/spawner.d.ts.map +0 -1
- package/dist/webhook/spawner.js +0 -288
- package/dist/webhook/spawner.js.map +0 -1
- package/dist/wrapper/pty-wrapper.d.ts +0 -125
- package/dist/wrapper/pty-wrapper.d.ts.map +0 -1
- package/dist/wrapper/pty-wrapper.js +0 -494
- package/dist/wrapper/pty-wrapper.js.map +0 -1
- /package/{CHANGELOG.md → docs/CHANGELOG.md} +0 -0
- /package/{PROTOCOL.md → docs/PROTOCOL.md} +0 -0
|
@@ -35,6 +35,7 @@ export class TmuxWrapper {
|
|
|
35
35
|
// Track processed output to avoid re-parsing
|
|
36
36
|
processedOutputLength = 0;
|
|
37
37
|
lastDebugLog = 0;
|
|
38
|
+
cliType;
|
|
38
39
|
constructor(config) {
|
|
39
40
|
this.config = {
|
|
40
41
|
cols: process.stdout.columns || 120,
|
|
@@ -44,8 +45,26 @@ export class TmuxWrapper {
|
|
|
44
45
|
injectRetryMs: 500,
|
|
45
46
|
debug: true,
|
|
46
47
|
debugLogIntervalMs: 0,
|
|
48
|
+
mouseMode: true, // Enable mouse scroll passthrough by default
|
|
47
49
|
...config,
|
|
48
50
|
};
|
|
51
|
+
// Detect CLI type from command for special handling
|
|
52
|
+
const cmdLower = config.command.toLowerCase();
|
|
53
|
+
if (config.cliType) {
|
|
54
|
+
this.cliType = config.cliType;
|
|
55
|
+
}
|
|
56
|
+
else if (cmdLower.includes('gemini')) {
|
|
57
|
+
this.cliType = 'gemini';
|
|
58
|
+
}
|
|
59
|
+
else if (cmdLower.includes('codex')) {
|
|
60
|
+
this.cliType = 'codex';
|
|
61
|
+
}
|
|
62
|
+
else if (cmdLower.includes('claude')) {
|
|
63
|
+
this.cliType = 'claude';
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.cliType = 'other';
|
|
67
|
+
}
|
|
49
68
|
// Generate unique session name
|
|
50
69
|
this.sessionName = `relay-${config.name}-${process.pid}`;
|
|
51
70
|
this.client = new RelayClient({
|
|
@@ -61,8 +80,8 @@ export class TmuxWrapper {
|
|
|
61
80
|
});
|
|
62
81
|
}
|
|
63
82
|
// Handle incoming messages from relay
|
|
64
|
-
this.client.onMessage = (from, payload) => {
|
|
65
|
-
this.handleIncomingMessage(from, payload);
|
|
83
|
+
this.client.onMessage = (from, payload, messageId) => {
|
|
84
|
+
this.handleIncomingMessage(from, payload, messageId);
|
|
66
85
|
};
|
|
67
86
|
this.client.onStateChange = (state) => {
|
|
68
87
|
// Only log to stderr, never stdout (user is in tmux)
|
|
@@ -147,6 +166,28 @@ export class TmuxWrapper {
|
|
|
147
166
|
cwd: this.config.cwd ?? process.cwd(),
|
|
148
167
|
stdio: 'pipe',
|
|
149
168
|
});
|
|
169
|
+
// Configure tmux for seamless scrolling
|
|
170
|
+
// Mouse mode passes scroll events to the application when in alternate screen
|
|
171
|
+
const tmuxSettings = [
|
|
172
|
+
'set -g set-clipboard on', // Enable clipboard
|
|
173
|
+
'set -g history-limit 50000', // Large scrollback for when needed
|
|
174
|
+
'setw -g alternate-screen on', // Ensure alternate screen works
|
|
175
|
+
// Pass through mouse scroll to application in alternate screen mode
|
|
176
|
+
'set -ga terminal-overrides ",xterm*:Tc"',
|
|
177
|
+
];
|
|
178
|
+
// Add mouse mode if enabled (allows scroll passthrough to CLI apps)
|
|
179
|
+
if (this.config.mouseMode) {
|
|
180
|
+
tmuxSettings.unshift('set -g mouse on');
|
|
181
|
+
this.logStderr('Mouse mode enabled (scroll should work in app)');
|
|
182
|
+
}
|
|
183
|
+
for (const setting of tmuxSettings) {
|
|
184
|
+
try {
|
|
185
|
+
execSync(`tmux ${setting}`, { stdio: 'pipe' });
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
// Some settings may not be available in older tmux versions
|
|
189
|
+
}
|
|
190
|
+
}
|
|
150
191
|
// Set environment variables
|
|
151
192
|
for (const [key, value] of Object.entries({
|
|
152
193
|
...this.config.env,
|
|
@@ -309,10 +350,10 @@ export class TmuxWrapper {
|
|
|
309
350
|
/**
|
|
310
351
|
* Handle incoming message from relay
|
|
311
352
|
*/
|
|
312
|
-
handleIncomingMessage(from, payload) {
|
|
353
|
+
handleIncomingMessage(from, payload, messageId) {
|
|
313
354
|
this.logStderr(`← ${from}: ${payload.body.substring(0, 40)}...`);
|
|
314
355
|
// Queue for injection
|
|
315
|
-
this.messageQueue.push({ from, body: payload.body });
|
|
356
|
+
this.messageQueue.push({ from, body: payload.body, messageId });
|
|
316
357
|
// Write to inbox if enabled
|
|
317
358
|
if (this.inbox) {
|
|
318
359
|
this.inbox.addMessage(from, payload.body);
|
|
@@ -347,26 +388,54 @@ export class TmuxWrapper {
|
|
|
347
388
|
if (!msg)
|
|
348
389
|
return;
|
|
349
390
|
this.isInjecting = true;
|
|
350
|
-
this.logStderr(`Injecting message from ${msg.from}`);
|
|
391
|
+
this.logStderr(`Injecting message from ${msg.from} (cli: ${this.cliType})`);
|
|
351
392
|
try {
|
|
352
393
|
let sanitizedBody = msg.body.replace(/[\r\n]+/g, ' ').trim();
|
|
353
|
-
//
|
|
354
|
-
const
|
|
394
|
+
// Short message ID for display (first 8 chars)
|
|
395
|
+
const shortId = msg.messageId.substring(0, 8);
|
|
396
|
+
// Truncate very long messages to avoid display issues
|
|
397
|
+
const maxLen = 2000;
|
|
398
|
+
let wasTruncated = false;
|
|
355
399
|
if (sanitizedBody.length > maxLen) {
|
|
356
|
-
sanitizedBody = sanitizedBody.substring(0, maxLen) + '...
|
|
400
|
+
sanitizedBody = sanitizedBody.substring(0, maxLen) + '...';
|
|
401
|
+
wasTruncated = true;
|
|
402
|
+
}
|
|
403
|
+
// Always include message ID; add lookup hint if truncated
|
|
404
|
+
const idTag = `[${shortId}]`;
|
|
405
|
+
const truncationHint = wasTruncated
|
|
406
|
+
? ` [TRUNCATED - run "agent-relay read ${msg.messageId}"]`
|
|
407
|
+
: '';
|
|
408
|
+
// Gemini CLI interprets input as shell commands, so we need special handling
|
|
409
|
+
if (this.cliType === 'gemini') {
|
|
410
|
+
// For Gemini: Use echo command to display the message
|
|
411
|
+
const echoMsg = `echo "[relay ${idTag} ← ${msg.from}] ${sanitizedBody.replace(/"/g, '\\"')}${truncationHint.replace(/"/g, '\\"')}"`;
|
|
412
|
+
// Clear any partial input
|
|
413
|
+
await this.sendKeys('Escape');
|
|
414
|
+
await this.sleep(30);
|
|
415
|
+
await this.sendKeys('C-u');
|
|
416
|
+
await this.sleep(30);
|
|
417
|
+
// Send echo command to display the message
|
|
418
|
+
await this.sendKeysLiteral(echoMsg);
|
|
419
|
+
await this.sleep(50);
|
|
420
|
+
await this.sendKeys('Enter');
|
|
421
|
+
this.logStderr(`Injection complete (gemini echo mode)`);
|
|
422
|
+
}
|
|
423
|
+
else {
|
|
424
|
+
// Standard injection for Claude, Codex, etc.
|
|
425
|
+
// Format: Relay message from Sender [abc12345]: content
|
|
426
|
+
const injection = `Relay message from ${msg.from} ${idTag}: ${sanitizedBody}${truncationHint}`;
|
|
427
|
+
// Clear any partial input
|
|
428
|
+
await this.sendKeys('Escape');
|
|
429
|
+
await this.sleep(30);
|
|
430
|
+
await this.sendKeys('C-u');
|
|
431
|
+
await this.sleep(30);
|
|
432
|
+
// Type the message
|
|
433
|
+
await this.sendKeysLiteral(injection);
|
|
434
|
+
await this.sleep(50);
|
|
435
|
+
// Submit
|
|
436
|
+
await this.sendKeys('Enter');
|
|
437
|
+
this.logStderr(`Injection complete`);
|
|
357
438
|
}
|
|
358
|
-
const injection = `Relay message from ${msg.from}: ${sanitizedBody}`;
|
|
359
|
-
// Clear any partial input
|
|
360
|
-
await this.sendKeys('Escape');
|
|
361
|
-
await this.sleep(30);
|
|
362
|
-
await this.sendKeys('C-u');
|
|
363
|
-
await this.sleep(30);
|
|
364
|
-
// Type the message
|
|
365
|
-
await this.sendKeysLiteral(injection);
|
|
366
|
-
await this.sleep(50);
|
|
367
|
-
// Submit
|
|
368
|
-
await this.sendKeys('Enter');
|
|
369
|
-
this.logStderr(`Injection complete`);
|
|
370
439
|
}
|
|
371
440
|
catch (err) {
|
|
372
441
|
this.logStderr(`Injection failed: ${err.message}`, true);
|
|
@@ -389,7 +458,13 @@ export class TmuxWrapper {
|
|
|
389
458
|
*/
|
|
390
459
|
async sendKeysLiteral(text) {
|
|
391
460
|
// Escape for shell and use -l for literal
|
|
392
|
-
|
|
461
|
+
// Must escape: \ " $ ` !
|
|
462
|
+
const escaped = text
|
|
463
|
+
.replace(/\\/g, '\\\\')
|
|
464
|
+
.replace(/"/g, '\\"')
|
|
465
|
+
.replace(/\$/g, '\\$')
|
|
466
|
+
.replace(/`/g, '\\`')
|
|
467
|
+
.replace(/!/g, '\\!');
|
|
393
468
|
await execAsync(`tmux send-keys -t ${this.sessionName} -l "${escaped}"`);
|
|
394
469
|
}
|
|
395
470
|
sleep(ms) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-wrapper.js","sourceRoot":"","sources":["../../src/wrapper/tmux-wrapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux-wrapper.js","sourceRoot":"","sources":["../../src/wrapper/tmux-wrapper.ts"],"names":[],"mappings":"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"}
|
package/docs/AGENTS.md
ADDED
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
* Use the `bd` tool instead of markdown to coordinate all work and tasks.
|
|
2
|
+
* NEVER commit changes unless the user explicitly asks you to.
|
|
3
|
+
|
|
4
|
+
# Using bv as an AI sidecar
|
|
5
|
+
|
|
6
|
+
bv is a fast terminal UI for Beads projects (.beads/beads.jsonl). It renders lists/details and precomputes dependency metrics (PageRank, critical path, cycles, etc.) so you instantly see blockers and execution order. For agents, it's a graph sidecar: instead of parsing JSONL or risking hallucinated traversal, call the robot flags to get deterministic, dependency-aware outputs.
|
|
7
|
+
|
|
8
|
+
*IMPORTANT: As an agent, you must ONLY use bv with the robot flags, otherwise you'll get stuck in the interactive TUI that's intended for human usage only!*
|
|
9
|
+
|
|
10
|
+
- bv --robot-help — shows all AI-facing commands.
|
|
11
|
+
- bv --robot-insights — JSON graph metrics (PageRank, betweenness, HITS, critical path, cycles) with top-N summaries for quick triage.
|
|
12
|
+
- bv --robot-plan — JSON execution plan: parallel tracks, items per track, and unblocks lists showing what each item frees up.
|
|
13
|
+
- bv --robot-priority — JSON priority recommendations with reasoning and confidence.
|
|
14
|
+
- bv --robot-recipes — list recipes (default, actionable, blocked, etc.); apply via bv --recipe <name> to pre-filter/sort before other flags.
|
|
15
|
+
- bv --robot-diff --diff-since <commit|date> — JSON diff of issue changes, new/closed items, and cycles introduced/resolved.
|
|
16
|
+
|
|
17
|
+
Use these commands instead of hand-rolling graph logic; bv already computes the hard parts so agents can act safely and quickly.
|
|
18
|
+
|
|
19
|
+
## Integrating with Beads (dependency-aware task planning)
|
|
20
|
+
|
|
21
|
+
Beads provides a lightweight, dependency-aware issue database and a CLI (`bd`) for selecting "ready work," setting priorities, and tracking status. Project: [steveyegge/beads](https://github.com/steveyegge/beads)
|
|
22
|
+
|
|
23
|
+
Recommended conventions
|
|
24
|
+
- **Single source of truth**: Use **Beads** for task status/priority/dependencies.
|
|
25
|
+
- **Shared identifiers**: Use the Beads issue id (e.g., `bd-123`) as identifiers and prefix message subjects with `[bd-123]`.
|
|
26
|
+
|
|
27
|
+
Typical flow (agents)
|
|
28
|
+
1) **Pick ready work** (Beads)
|
|
29
|
+
- `bd ready --json` → choose one item (highest priority, no blockers)
|
|
30
|
+
2) **Announce start**
|
|
31
|
+
- Update status: `bd update <id> --status=in_progress`
|
|
32
|
+
3) **Work and update**
|
|
33
|
+
- Make progress on the task
|
|
34
|
+
4) **Complete**
|
|
35
|
+
- `bd close <id> --reason "Completed"` (Beads is status authority)
|
|
36
|
+
|
|
37
|
+
Pitfalls to avoid
|
|
38
|
+
- Don't create or manage tasks in markdown; treat Beads as the single task queue.
|
|
39
|
+
- Always include `bd-###` in commit messages for traceability.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
# Agent Instructions for agent-relay
|
|
44
|
+
|
|
45
|
+
> **Copy this file to your project** to enable AI agents to communicate with each other using agent-relay.
|
|
46
|
+
|
|
47
|
+
## Overview
|
|
48
|
+
|
|
49
|
+
This project uses [agent-relay](https://github.com/khaliqgant/agent-relay) for real-time agent-to-agent messaging. There are two communication modes:
|
|
50
|
+
|
|
51
|
+
1. **Tmux Wrapper Mode (Recommended)** - Real-time messaging via Unix sockets with tmux session management
|
|
52
|
+
2. **File-Based Team Mode** - Asynchronous messaging via file system (simpler, more reliable)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Quick Start: Tmux Wrapper (Recommended)
|
|
57
|
+
|
|
58
|
+
Use the tmux wrapper for real-time messaging:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Start daemon (dashboard starts automatically)
|
|
62
|
+
relay -f # foreground mode with dashboard
|
|
63
|
+
|
|
64
|
+
# Wrap your agent with tmux (real-time)
|
|
65
|
+
relay wrap -n PlayerX claude
|
|
66
|
+
relay wrap -n PlayerO claude
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Flags
|
|
70
|
+
- `-q, --quiet` - Disable debug logging
|
|
71
|
+
- `--no-dashboard` - Disable web dashboard
|
|
72
|
+
- `--stop` - Stop the daemon
|
|
73
|
+
- `--status` - Show daemon status
|
|
74
|
+
|
|
75
|
+
### Why tmux?
|
|
76
|
+
- Real terminal: you attach directly to tmux (no double PTY).
|
|
77
|
+
- Background capture/parse of `@relay:` without touching stdout.
|
|
78
|
+
- Reliable injection via `tmux send-keys`.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Team Communication
|
|
83
|
+
|
|
84
|
+
If you have an INSTRUCTIONS.md file in `/tmp/agent-relay-team/{YourName}/`, use these commands:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Check your inbox (non-blocking)
|
|
88
|
+
relay team check -n YourName --no-wait
|
|
89
|
+
|
|
90
|
+
# Send message to teammate
|
|
91
|
+
relay team send -n YourName -t RecipientName -m "Your message"
|
|
92
|
+
|
|
93
|
+
# Broadcast to all
|
|
94
|
+
relay team send -n YourName -t "*" -m "Your message"
|
|
95
|
+
|
|
96
|
+
# Team status
|
|
97
|
+
relay team status
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Check your inbox periodically and broadcast status updates!**
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Quick Reference
|
|
105
|
+
|
|
106
|
+
### Sending Messages (Real-Time Mode)
|
|
107
|
+
|
|
108
|
+
**Inline format** (simple messages):
|
|
109
|
+
```
|
|
110
|
+
@relay:AgentName Your message here
|
|
111
|
+
@relay:* Broadcast to all agents
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Block format** (structured data):
|
|
115
|
+
```
|
|
116
|
+
[[RELAY]]{"to":"AgentName","type":"message","body":"Your message"}[[/RELAY]]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Receiving Messages
|
|
120
|
+
|
|
121
|
+
Messages appear in your terminal as:
|
|
122
|
+
```
|
|
123
|
+
Relay message from SenderName: Message content here
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Or in your inbox file as:
|
|
127
|
+
```markdown
|
|
128
|
+
## Message from SenderName | 2024-01-15T10:30:00Z
|
|
129
|
+
Message content here
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Mode 1: Tmux Wrapper (Real-Time) - RECOMMENDED
|
|
135
|
+
|
|
136
|
+
Use this when you're wrapped with `relay wrap`.
|
|
137
|
+
|
|
138
|
+
### CRITICAL: How to Send Messages
|
|
139
|
+
|
|
140
|
+
**You (the AI agent) must OUTPUT the @relay pattern as part of your response.** Do not wait for user input. The pattern is detected from your terminal output.
|
|
141
|
+
|
|
142
|
+
**Correct - Output this directly:**
|
|
143
|
+
```
|
|
144
|
+
@relay:PlayerO I've finished the API refactor. Ready for your review.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Wrong - Don't use bash commands for real-time messaging:**
|
|
148
|
+
```bash
|
|
149
|
+
# This uses file-based inbox, NOT real-time socket delivery
|
|
150
|
+
relay team send -n MyName -t PlayerO -m "message"
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Pattern Requirements
|
|
154
|
+
|
|
155
|
+
The `@relay:` pattern must appear on its own line. It can have common terminal/markdown prefixes:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
@relay:AgentName message Works
|
|
159
|
+
@relay:AgentName message Works (leading whitespace OK)
|
|
160
|
+
> @relay:AgentName message Works (input prompt OK)
|
|
161
|
+
$ @relay:AgentName message Works (shell prompt OK)
|
|
162
|
+
- @relay:AgentName message Works (list items OK)
|
|
163
|
+
* @relay:AgentName message Works (asterisk lists OK)
|
|
164
|
+
Some text @relay:AgentName msg Won't work (not at line start)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Examples
|
|
168
|
+
|
|
169
|
+
**Direct message:**
|
|
170
|
+
```
|
|
171
|
+
@relay:PlayerO Your turn! I played X at center.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Broadcast to all agents:**
|
|
175
|
+
```
|
|
176
|
+
@relay:* I've completed the authentication module. Ready for review.
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Structured data:**
|
|
180
|
+
```
|
|
181
|
+
[[RELAY]]
|
|
182
|
+
{"to": "PlayerO", "type": "action", "body": "Task completed", "data": {"files": ["auth.ts"]}}
|
|
183
|
+
[[/RELAY]]
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Receiving Messages
|
|
187
|
+
|
|
188
|
+
When another agent sends you a message, it appears in your terminal as:
|
|
189
|
+
```
|
|
190
|
+
Relay message from PlayerO: Their message content here
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Respond by outputting another `@relay:` pattern.
|
|
194
|
+
|
|
195
|
+
### IMPORTANT: Handling Truncated Messages
|
|
196
|
+
|
|
197
|
+
Long messages (>500 chars) are truncated to prevent terminal flooding. You'll see:
|
|
198
|
+
```
|
|
199
|
+
Relay message from PlayerO: Beginning of message... [TRUNCATED - run "relay read abc123def" for full message]
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**When you see a truncated message, you MUST run the command to read the full content:**
|
|
203
|
+
```bash
|
|
204
|
+
relay read abc123def
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
This retrieves the complete message from the database. Always do this before responding to ensure you have the full context.
|
|
208
|
+
|
|
209
|
+
### Escaping
|
|
210
|
+
|
|
211
|
+
To output literal `@relay:` without triggering the parser:
|
|
212
|
+
```
|
|
213
|
+
\@relay: This won't be sent as a message
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Mode 2: File-Based Team Mode (Asynchronous)
|
|
219
|
+
|
|
220
|
+
Use this for scripts, automation, or when tmux wrapping isn't available.
|
|
221
|
+
|
|
222
|
+
### Setup a Team
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Create team from JSON config
|
|
226
|
+
relay team setup -f team-config.json
|
|
227
|
+
|
|
228
|
+
# Or use inline JSON
|
|
229
|
+
relay team setup -c '{"name":"myteam","agents":[{"name":"Dev","cli":"claude","role":"Developer"}]}'
|
|
230
|
+
|
|
231
|
+
# Start a team (setup + listen for messages)
|
|
232
|
+
relay team start -f team-config.json
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Sending Messages
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# Send to one agent
|
|
239
|
+
relay team send -n YourName -t RecipientName -m "Your message"
|
|
240
|
+
|
|
241
|
+
# Broadcast to all agents
|
|
242
|
+
relay team send -n YourName -t "*" -m "Broadcast message"
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Reading Messages
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Read inbox (non-blocking)
|
|
249
|
+
relay team check -n YourName --no-wait
|
|
250
|
+
|
|
251
|
+
# Wait for messages (blocking)
|
|
252
|
+
relay team check -n YourName
|
|
253
|
+
|
|
254
|
+
# Read and clear inbox
|
|
255
|
+
relay team check -n YourName --clear
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Message Format in Inbox
|
|
259
|
+
|
|
260
|
+
Messages in your inbox file look like:
|
|
261
|
+
```markdown
|
|
262
|
+
## Message from SenderName | 2024-01-15T10:30:00Z
|
|
263
|
+
The actual message content here.
|
|
264
|
+
|
|
265
|
+
## Message from AnotherAgent | 2024-01-15T10:31:00Z
|
|
266
|
+
Another message.
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Available Commands
|
|
272
|
+
|
|
273
|
+
Just 4 commands:
|
|
274
|
+
|
|
275
|
+
| Command | Description |
|
|
276
|
+
|---------|-------------|
|
|
277
|
+
| `relay` | Start daemon + dashboard (`--no-dashboard` to disable, `--stop`, `--status`) |
|
|
278
|
+
| `relay wrap` | Wrap agent CLI with relay messaging |
|
|
279
|
+
| `relay team` | Team operations (subcommands below) |
|
|
280
|
+
| `relay read` | Read full message by ID (for truncated messages) |
|
|
281
|
+
|
|
282
|
+
### Team Subcommands
|
|
283
|
+
|
|
284
|
+
| Subcommand | Description |
|
|
285
|
+
|------------|-------------|
|
|
286
|
+
| `relay team setup` | Create a team from JSON config |
|
|
287
|
+
| `relay team status` | Show team status with message counts |
|
|
288
|
+
| `relay team send` | Send message to teammate(s) |
|
|
289
|
+
| `relay team check` | Check your inbox |
|
|
290
|
+
| `relay team listen` | Watch inboxes and spawn agents on messages |
|
|
291
|
+
| `relay team start` | Start a team (setup + listen + spawn) |
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Message Types
|
|
296
|
+
|
|
297
|
+
| Type | Use Case |
|
|
298
|
+
|------|----------|
|
|
299
|
+
| `message` | General communication (default) |
|
|
300
|
+
| `action` | Commands, task assignments |
|
|
301
|
+
| `state` | Status updates, progress reports |
|
|
302
|
+
| `thinking` | Share reasoning (for transparency) |
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Coordination Patterns
|
|
307
|
+
|
|
308
|
+
### Task Handoff
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
@relay:Developer TASK: Implement user registration endpoint
|
|
312
|
+
Requirements:
|
|
313
|
+
- POST /api/register
|
|
314
|
+
- Validate email format
|
|
315
|
+
- Hash password with bcrypt
|
|
316
|
+
- Return JWT token
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Status Updates
|
|
320
|
+
|
|
321
|
+
```
|
|
322
|
+
@relay:* STATUS: Starting work on authentication module
|
|
323
|
+
@relay:* DONE: Authentication module complete, ready for review
|
|
324
|
+
@relay:Reviewer REVIEW: Please review src/auth/*.ts
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Requesting Help
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
@relay:Architect QUESTION: Should we use JWT or session-based auth?
|
|
331
|
+
@relay:* BLOCKED: Need database credentials to proceed
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Code Review Flow
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
# Developer requests review
|
|
338
|
+
@relay:Reviewer REVIEW: src/api/users.ts - Added pagination support
|
|
339
|
+
|
|
340
|
+
# Reviewer provides feedback
|
|
341
|
+
@relay:Developer FEEDBACK: Line 45 - Consider using cursor-based pagination for better performance
|
|
342
|
+
|
|
343
|
+
# Developer confirms fix
|
|
344
|
+
@relay:Reviewer FIXED: Updated to cursor-based pagination, please re-review
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Agent Naming
|
|
350
|
+
|
|
351
|
+
Agent names follow the AdjectiveNoun format:
|
|
352
|
+
- `BlueLake`, `GreenCastle`, `RedMountain`, `SwiftFalcon`
|
|
353
|
+
|
|
354
|
+
Names are auto-generated if not specified, or you can set your own with `-n`:
|
|
355
|
+
```bash
|
|
356
|
+
relay wrap -n MyCustomName claude
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## Troubleshooting
|
|
362
|
+
|
|
363
|
+
| Issue | Solution |
|
|
364
|
+
|-------|----------|
|
|
365
|
+
| Messages not sending | Check daemon: `relay --status` |
|
|
366
|
+
| Inbox empty | Verify agent name and data directory |
|
|
367
|
+
| Socket not found | Start daemon: `relay -f` |
|
|
368
|
+
| Permission denied | Check data directory permissions |
|
|
369
|
+
|
|
370
|
+
### Check Daemon Status
|
|
371
|
+
```bash
|
|
372
|
+
relay --status
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Restart Daemon
|
|
376
|
+
```bash
|
|
377
|
+
relay --stop && relay -f
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## More Information
|
|
383
|
+
|
|
384
|
+
- [Full Documentation](https://github.com/khaliqgant/agent-relay)
|
|
385
|
+
- [Protocol Specification](https://github.com/khaliqgant/agent-relay/blob/main/docs/PROTOCOL.md)
|
|
386
|
+
- [Examples](https://github.com/khaliqgant/agent-relay/tree/main/examples)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# CLI Simplification - Complete
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
Reduced CLI from **14 commands** to **4 commands**.
|
|
5
|
+
|
|
6
|
+
## New CLI Structure
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
relay # Start daemon + dashboard (default)
|
|
10
|
+
relay --no-dashboard # Start without dashboard
|
|
11
|
+
relay --stop # Stop daemon
|
|
12
|
+
relay --status # Check status
|
|
13
|
+
relay -f # Foreground mode
|
|
14
|
+
|
|
15
|
+
relay wrap <cmd> # Wrap agent CLI with messaging
|
|
16
|
+
relay wrap -n Name claude
|
|
17
|
+
|
|
18
|
+
relay team setup # Create team from JSON
|
|
19
|
+
relay team status # Show team status
|
|
20
|
+
relay team send # Send message
|
|
21
|
+
relay team check # Check inbox
|
|
22
|
+
relay team listen # Watch for messages
|
|
23
|
+
relay team start # All-in-one start
|
|
24
|
+
|
|
25
|
+
relay read <id> # Read full truncated message
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Files Changed
|
|
29
|
+
- `src/cli/index.ts` - Simplified main CLI (was 1100+ lines, now ~200)
|
|
30
|
+
- `src/cli/team.ts` - New team subcommand module
|
|
31
|
+
- `docs/AGENTS.md` - Updated documentation
|
|
32
|
+
|
|
33
|
+
## Beads Tasks Closed
|
|
34
|
+
- agent-relay-cli-simplify (main issue)
|
|
35
|
+
- agent-relay-85z (dashboard → start)
|
|
36
|
+
- agent-relay-4ft (project → status)
|
|
37
|
+
- agent-relay-bd0 (team-* → team subcommand)
|
|
38
|
+
- agent-relay-f3q (msg-read → read)
|
|
39
|
+
- agent-relay-7yo (docs update)
|
|
40
|
+
|
|
41
|
+
## Remaining
|
|
42
|
+
- agent-relay-8z1: Add CLI tests (optional)
|
|
43
|
+
|
|
44
|
+
## Key Changes
|
|
45
|
+
1. Dashboard starts by default (use --no-dashboard to disable)
|
|
46
|
+
2. All team commands under `relay team` namespace
|
|
47
|
+
3. Removed: project, send, dashboard as separate commands
|
|
48
|
+
4. Status/stop are now flags on main command
|