agent-relay 1.0.9 → 1.0.12

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.
Files changed (94) hide show
  1. package/README.md +27 -56
  2. package/bin/.gitkeep +0 -0
  3. package/bin/tmux +0 -0
  4. package/dist/bridge/config.d.ts.map +1 -1
  5. package/dist/bridge/multi-project-client.d.ts.map +1 -1
  6. package/dist/bridge/multi-project-client.js +1 -1
  7. package/dist/bridge/multi-project-client.js.map +1 -1
  8. package/dist/bridge/spawner.d.ts +47 -9
  9. package/dist/bridge/spawner.d.ts.map +1 -1
  10. package/dist/bridge/spawner.js +177 -73
  11. package/dist/bridge/spawner.js.map +1 -1
  12. package/dist/bridge/types.d.ts +4 -2
  13. package/dist/bridge/types.d.ts.map +1 -1
  14. package/dist/cli/index.js +192 -295
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/daemon/router.d.ts.map +1 -1
  17. package/dist/daemon/router.js.map +1 -1
  18. package/dist/dashboard-server/metrics.d.ts.map +1 -0
  19. package/dist/dashboard-server/metrics.js.map +1 -0
  20. package/dist/dashboard-server/needs-attention.d.ts.map +1 -0
  21. package/dist/dashboard-server/needs-attention.js.map +1 -0
  22. package/dist/dashboard-server/server.d.ts.map +1 -0
  23. package/dist/{dashboard → dashboard-server}/server.js +20 -14
  24. package/dist/dashboard-server/server.js.map +1 -0
  25. package/dist/dashboard-server/start.d.ts.map +1 -0
  26. package/dist/dashboard-server/start.js.map +1 -0
  27. package/dist/utils/tmux-resolver.d.ts +55 -0
  28. package/dist/utils/tmux-resolver.d.ts.map +1 -0
  29. package/dist/utils/tmux-resolver.js +175 -0
  30. package/dist/utils/tmux-resolver.js.map +1 -0
  31. package/dist/utils/update-checker.d.ts +26 -0
  32. package/dist/utils/update-checker.d.ts.map +1 -0
  33. package/dist/utils/update-checker.js +174 -0
  34. package/dist/utils/update-checker.js.map +1 -0
  35. package/dist/wrapper/pty-wrapper.d.ts +129 -0
  36. package/dist/wrapper/pty-wrapper.d.ts.map +1 -0
  37. package/dist/wrapper/pty-wrapper.js +442 -0
  38. package/dist/wrapper/pty-wrapper.js.map +1 -0
  39. package/dist/wrapper/tmux-wrapper.d.ts +2 -1
  40. package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
  41. package/dist/wrapper/tmux-wrapper.js +23 -19
  42. package/dist/wrapper/tmux-wrapper.js.map +1 -1
  43. package/docs/AGENTS.md +43 -30
  44. package/docs/INTEGRATION-GUIDE.md +1 -1
  45. package/docs/PROTOCOL.md +16 -10
  46. package/docs/agent-relay-snippet.md +21 -17
  47. package/package.json +10 -6
  48. package/scripts/dev/PUBLIC_RELEASE_PLAN.md +88 -0
  49. package/scripts/dev/dev-team-setup.sh +431 -0
  50. package/scripts/e2e-test.sh +119 -0
  51. package/scripts/games/game-protocol.md +79 -0
  52. package/scripts/games/hearts-setup.sh +264 -0
  53. package/scripts/postinstall.js +254 -0
  54. package/scripts/tictactoe-setup.sh +181 -0
  55. package/dist/dashboard/metrics.d.ts.map +0 -1
  56. package/dist/dashboard/metrics.js.map +0 -1
  57. package/dist/dashboard/needs-attention.d.ts.map +0 -1
  58. package/dist/dashboard/needs-attention.js.map +0 -1
  59. package/dist/dashboard/public/bridge.html +0 -1272
  60. package/dist/dashboard/public/index.html +0 -2262
  61. package/dist/dashboard/public/js/app.js +0 -184
  62. package/dist/dashboard/public/js/app.js.map +0 -7
  63. package/dist/dashboard/public/metrics.html +0 -999
  64. package/dist/dashboard/server.d.ts.map +0 -1
  65. package/dist/dashboard/server.js.map +0 -1
  66. package/dist/dashboard/start.d.ts.map +0 -1
  67. package/dist/dashboard/start.js.map +0 -1
  68. package/dist/dashboard-v2/index.d.ts +0 -10
  69. package/dist/dashboard-v2/index.d.ts.map +0 -1
  70. package/dist/dashboard-v2/index.js +0 -54
  71. package/dist/dashboard-v2/index.js.map +0 -1
  72. package/dist/dashboard-v2/lib/api.d.ts +0 -95
  73. package/dist/dashboard-v2/lib/api.d.ts.map +0 -1
  74. package/dist/dashboard-v2/lib/api.js +0 -270
  75. package/dist/dashboard-v2/lib/api.js.map +0 -1
  76. package/dist/dashboard-v2/lib/colors.d.ts +0 -61
  77. package/dist/dashboard-v2/lib/colors.d.ts.map +0 -1
  78. package/dist/dashboard-v2/lib/colors.js +0 -198
  79. package/dist/dashboard-v2/lib/colors.js.map +0 -1
  80. package/dist/dashboard-v2/lib/hierarchy.d.ts +0 -74
  81. package/dist/dashboard-v2/lib/hierarchy.d.ts.map +0 -1
  82. package/dist/dashboard-v2/lib/hierarchy.js +0 -196
  83. package/dist/dashboard-v2/lib/hierarchy.js.map +0 -1
  84. package/dist/dashboard-v2/types/index.d.ts +0 -154
  85. package/dist/dashboard-v2/types/index.d.ts.map +0 -1
  86. package/dist/dashboard-v2/types/index.js +0 -6
  87. package/dist/dashboard-v2/types/index.js.map +0 -1
  88. /package/dist/{dashboard → dashboard-server}/metrics.d.ts +0 -0
  89. /package/dist/{dashboard → dashboard-server}/metrics.js +0 -0
  90. /package/dist/{dashboard → dashboard-server}/needs-attention.d.ts +0 -0
  91. /package/dist/{dashboard → dashboard-server}/needs-attention.js +0 -0
  92. /package/dist/{dashboard → dashboard-server}/server.d.ts +0 -0
  93. /package/dist/{dashboard → dashboard-server}/start.d.ts +0 -0
  94. /package/dist/{dashboard → dashboard-server}/start.js +0 -0
@@ -19,6 +19,7 @@ import { OutputParser, parseSummaryWithDetails, parseSessionEndFromOutput } from
19
19
  import { InboxManager } from './inbox.js';
20
20
  import { SqliteStorageAdapter } from '../storage/sqlite-adapter.js';
21
21
  import { getProjectPaths } from '../utils/project-namespace.js';
22
+ import { getTmuxPath } from '../utils/tmux-resolver.js';
22
23
  const execAsync = promisify(exec);
23
24
  const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
24
25
  // Constants for cursor stability detection in waitForClearInput
@@ -34,7 +35,7 @@ const RELAY_LOG_TRUNCATE_LENGTH = 50;
34
35
  * Get the default relay prefix for a given CLI type.
35
36
  * All agents now use '->relay:' as the unified prefix.
36
37
  */
37
- export function getDefaultPrefix(cliType) {
38
+ export function getDefaultPrefix(_cliType) {
38
39
  // Unified prefix for all agent types
39
40
  return '->relay:';
40
41
  }
@@ -73,6 +74,7 @@ export class TmuxWrapper {
73
74
  receivedMessageIdSet = new Set();
74
75
  receivedMessageIdOrder = [];
75
76
  MAX_RECEIVED_MESSAGES = 2000;
77
+ tmuxPath; // Resolved path to tmux binary (system or bundled)
76
78
  constructor(config) {
77
79
  this.config = {
78
80
  cols: process.stdout.columns || 120,
@@ -112,6 +114,8 @@ export class TmuxWrapper {
112
114
  this.relayPrefix = config.relayPrefix ?? getDefaultPrefix(this.cliType);
113
115
  // Session name (one agent per name - starting a duplicate kills the existing one)
114
116
  this.sessionName = `relay-${config.name}`;
117
+ // Resolve tmux path early so we fail fast if tmux isn't available
118
+ this.tmuxPath = getTmuxPath();
115
119
  this.client = new RelayClient({
116
120
  agentName: config.name,
117
121
  socketPath: config.socketPath,
@@ -199,7 +203,7 @@ export class TmuxWrapper {
199
203
  */
200
204
  async sessionExists() {
201
205
  try {
202
- await execAsync(`tmux has-session -t ${this.sessionName} 2>/dev/null`);
206
+ await execAsync(`"${this.tmuxPath}" has-session -t ${this.sessionName} 2>/dev/null`);
203
207
  return true;
204
208
  }
205
209
  catch {
@@ -223,7 +227,7 @@ export class TmuxWrapper {
223
227
  });
224
228
  // Kill any existing session with this name
225
229
  try {
226
- execSync(`tmux kill-session -t ${this.sessionName} 2>/dev/null`);
230
+ execSync(`"${this.tmuxPath}" kill-session -t ${this.sessionName} 2>/dev/null`);
227
231
  }
228
232
  catch {
229
233
  // Session doesn't exist, that's fine
@@ -234,7 +238,7 @@ export class TmuxWrapper {
234
238
  this.logStderr(`Prefix: ${this.relayPrefix} (use ${this.relayPrefix}AgentName to send)`);
235
239
  // Create tmux session
236
240
  try {
237
- execSync(`tmux new-session -d -s ${this.sessionName} -x ${this.config.cols} -y ${this.config.rows}`, {
241
+ execSync(`"${this.tmuxPath}" new-session -d -s ${this.sessionName} -x ${this.config.cols} -y ${this.config.rows}`, {
238
242
  cwd: this.config.cwd ?? process.cwd(),
239
243
  stdio: 'pipe',
240
244
  });
@@ -256,7 +260,7 @@ export class TmuxWrapper {
256
260
  }
257
261
  for (const setting of tmuxSettings) {
258
262
  try {
259
- execSync(`tmux ${setting}`, { stdio: 'pipe' });
263
+ execSync(`"${this.tmuxPath}" ${setting}`, { stdio: 'pipe' });
260
264
  }
261
265
  catch {
262
266
  // Some settings may not be available in older tmux versions
@@ -274,7 +278,7 @@ export class TmuxWrapper {
274
278
  ];
275
279
  for (const setting of tmuxMouseBindings) {
276
280
  try {
277
- execSync(`tmux ${setting}`, { stdio: 'pipe' });
281
+ execSync(`"${this.tmuxPath}" ${setting}`, { stdio: 'pipe' });
278
282
  }
279
283
  catch {
280
284
  // Ignore on older tmux versions lacking these key tables
@@ -287,7 +291,7 @@ export class TmuxWrapper {
287
291
  TERM: 'xterm-256color',
288
292
  })) {
289
293
  const escaped = value.replace(/"/g, '\\"');
290
- execSync(`tmux setenv -t ${this.sessionName} ${key} "${escaped}"`);
294
+ execSync(`"${this.tmuxPath}" setenv -t ${this.sessionName} ${key} "${escaped}"`);
291
295
  }
292
296
  // Wait for shell to be ready (look for prompt)
293
297
  await this.waitForShellReady();
@@ -361,7 +365,7 @@ export class TmuxWrapper {
361
365
  try {
362
366
  const { stdout } = await execAsync(
363
367
  // -J joins wrapped lines so long prompts/messages stay intact
364
- `tmux capture-pane -t ${this.sessionName} -p -J 2>/dev/null`);
368
+ `"${this.tmuxPath}" capture-pane -t ${this.sessionName} -p -J 2>/dev/null`);
365
369
  // Check if the last non-empty line looks like a prompt
366
370
  const lines = stdout.split('\n').filter(l => l.trim());
367
371
  const lastLine = lines[lines.length - 1] || '';
@@ -385,7 +389,7 @@ export class TmuxWrapper {
385
389
  * This spawns tmux attach and lets it take over stdin/stdout
386
390
  */
387
391
  attachToSession() {
388
- this.attachProcess = spawn('tmux', ['attach-session', '-t', this.sessionName], {
392
+ this.attachProcess = spawn(this.tmuxPath, ['attach-session', '-t', this.sessionName], {
389
393
  stdio: 'inherit', // User's terminal connects directly to tmux
390
394
  });
391
395
  this.attachProcess.on('exit', (code) => {
@@ -426,7 +430,7 @@ export class TmuxWrapper {
426
430
  // Capture scrollback
427
431
  const { stdout } = await execAsync(
428
432
  // -J joins wrapped lines to avoid truncating ->relay commands mid-line
429
- `tmux capture-pane -t ${this.sessionName} -p -J -S - 2>/dev/null`);
433
+ `"${this.tmuxPath}" capture-pane -t ${this.sessionName} -p -J -S - 2>/dev/null`);
430
434
  // Always parse the FULL capture for ->relay commands
431
435
  // This handles terminal UIs that rewrite content in place
432
436
  const cleanContent = this.stripAnsi(stdout);
@@ -890,7 +894,7 @@ export class TmuxWrapper {
890
894
  * Send special keys to tmux
891
895
  */
892
896
  async sendKeys(keys) {
893
- await execAsync(`tmux send-keys -t ${this.sessionName} ${keys}`);
897
+ await execAsync(`"${this.tmuxPath}" send-keys -t ${this.sessionName} ${keys}`);
894
898
  }
895
899
  /**
896
900
  * Send literal text to tmux
@@ -905,7 +909,7 @@ export class TmuxWrapper {
905
909
  .replace(/\$/g, '\\$')
906
910
  .replace(/`/g, '\\`')
907
911
  .replace(/!/g, '\\!');
908
- await execAsync(`tmux send-keys -t ${this.sessionName} -l "${escaped}"`);
912
+ await execAsync(`"${this.tmuxPath}" send-keys -t ${this.sessionName} -l "${escaped}"`);
909
913
  }
910
914
  /**
911
915
  * Paste text using tmux buffer with optional bracketed paste to avoid interleaving with ongoing output.
@@ -922,13 +926,13 @@ export class TmuxWrapper {
922
926
  .replace(/!/g, '\\!');
923
927
  // Set tmux buffer then paste
924
928
  // Skip bracketed paste (-p) for CLIs that don't handle it properly (droid, other)
925
- await execAsync(`tmux set-buffer -- "${escaped}"`);
929
+ await execAsync(`"${this.tmuxPath}" set-buffer -- "${escaped}"`);
926
930
  const useBracketedPaste = this.cliType === 'claude' || this.cliType === 'codex' || this.cliType === 'gemini';
927
931
  if (useBracketedPaste) {
928
- await execAsync(`tmux paste-buffer -t ${this.sessionName} -p`);
932
+ await execAsync(`"${this.tmuxPath}" paste-buffer -t ${this.sessionName} -p`);
929
933
  }
930
934
  else {
931
- await execAsync(`tmux paste-buffer -t ${this.sessionName}`);
935
+ await execAsync(`"${this.tmuxPath}" paste-buffer -t ${this.sessionName}`);
932
936
  }
933
937
  }
934
938
  sleep(ms) {
@@ -960,7 +964,7 @@ export class TmuxWrapper {
960
964
  */
961
965
  async getLastLine() {
962
966
  try {
963
- const { stdout } = await execAsync(`tmux capture-pane -t ${this.sessionName} -p -J 2>/dev/null`);
967
+ const { stdout } = await execAsync(`"${this.tmuxPath}" capture-pane -t ${this.sessionName} -p -J 2>/dev/null`);
964
968
  const lines = stdout.split('\n').filter(l => l.length > 0);
965
969
  return lines[lines.length - 1] || '';
966
970
  }
@@ -1003,7 +1007,7 @@ export class TmuxWrapper {
1003
1007
  */
1004
1008
  async getCursorX() {
1005
1009
  try {
1006
- const { stdout } = await execAsync(`tmux display-message -t ${this.sessionName} -p "#{cursor_x}" 2>/dev/null`);
1010
+ const { stdout } = await execAsync(`"${this.tmuxPath}" display-message -t ${this.sessionName} -p "#{cursor_x}" 2>/dev/null`);
1007
1011
  return parseInt(stdout.trim(), 10) || 0;
1008
1012
  }
1009
1013
  catch {
@@ -1055,7 +1059,7 @@ export class TmuxWrapper {
1055
1059
  */
1056
1060
  async capturePaneSignature() {
1057
1061
  try {
1058
- const { stdout } = await execAsync(`tmux capture-pane -t ${this.sessionName} -p -J -S - 2>/dev/null`);
1062
+ const { stdout } = await execAsync(`"${this.tmuxPath}" capture-pane -t ${this.sessionName} -p -J -S - 2>/dev/null`);
1059
1063
  const hash = crypto.createHash('sha1').update(stdout).digest('hex');
1060
1064
  return `${stdout.length}:${hash}`;
1061
1065
  }
@@ -1108,7 +1112,7 @@ export class TmuxWrapper {
1108
1112
  }
1109
1113
  // Kill tmux session
1110
1114
  try {
1111
- execSync(`tmux kill-session -t ${this.sessionName} 2>/dev/null`);
1115
+ execSync(`"${this.tmuxPath}" kill-session -t ${this.sessionName} 2>/dev/null`);
1112
1116
  }
1113
1117
  catch {
1114
1118
  // Ignore
@@ -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 CHANGED
@@ -159,21 +159,20 @@ relay team status
159
159
 
160
160
  ### Sending Messages (Real-Time Mode)
161
161
 
162
- **Inline format** (simple messages):
163
- ```
164
- ->relay:AgentName Your message here
165
- ->relay:* Broadcast to all agents
166
- ```
162
+ **Always use the fenced format** for reliable message delivery:
167
163
 
168
- **Fenced format** (multi-line with blank lines/code):
169
164
  ```
170
165
  ->relay:AgentName <<<
171
- Multi-line message here.
166
+ Your message here.>>>
167
+ ```
172
168
 
173
- Can include blank lines and code.
174
- >>>
169
+ ```
170
+ ->relay:* <<<
171
+ Broadcast to all agents.>>>
175
172
  ```
176
173
 
174
+ **CRITICAL:** Always end with `>>>` at the end of the last line of content!
175
+
177
176
  **Block format** (structured data):
178
177
  ```
179
178
  [[RELAY]]{"to":"AgentName","type":"message","body":"Your message"}[[/RELAY]]
@@ -200,11 +199,12 @@ Use this when you're wrapped with `relay wrap`.
200
199
 
201
200
  ### CRITICAL: How to Send Messages
202
201
 
203
- **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.
202
+ **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. **Always use the fenced format.**
204
203
 
205
204
  **Correct - Output this directly:**
206
205
  ```
207
- ->relay:PlayerO I've finished the API refactor. Ready for your review.
206
+ ->relay:PlayerO <<<
207
+ I've finished the API refactor. Ready for your review.>>>
208
208
  ```
209
209
 
210
210
  **Wrong - Don't use bash commands for real-time messaging:**
@@ -218,25 +218,26 @@ relay team send -n MyName -t PlayerO -m "message"
218
218
  The `->relay:` pattern must appear on its own line. It can have common terminal/markdown prefixes:
219
219
 
220
220
  ```
221
- ->relay:AgentName message Works
222
- ->relay:AgentName message Works (leading whitespace OK)
223
- > ->relay:AgentName message Works (input prompt OK)
224
- $ ->relay:AgentName message Works (shell prompt OK)
225
- - ->relay:AgentName message Works (list items OK)
226
- * ->relay:AgentName message Works (asterisk lists OK)
227
- Some text ->relay:AgentName msg Won't work (not at line start)
221
+ ->relay:AgentName <<< Works
222
+ ->relay:AgentName <<< Works (leading whitespace OK)
223
+ > ->relay:AgentName <<< Works (input prompt OK)
224
+ $ ->relay:AgentName <<< Works (shell prompt OK)
225
+ - ->relay:AgentName <<< Works (list items OK)
226
+ Some text ->relay:AgentName <<< Won't work (not at line start)
228
227
  ```
229
228
 
230
229
  ### Examples
231
230
 
232
231
  **Direct message:**
233
232
  ```
234
- ->relay:PlayerO Your turn! I played X at center.
233
+ ->relay:PlayerO <<<
234
+ Your turn! I played X at center.>>>
235
235
  ```
236
236
 
237
237
  **Broadcast to all agents:**
238
238
  ```
239
- ->relay:* I've completed the authentication module. Ready for review.
239
+ ->relay:* <<<
240
+ I've completed the authentication module. Ready for review.>>>
240
241
  ```
241
242
 
242
243
  **Structured data:**
@@ -380,40 +381,52 @@ Just 4 commands:
380
381
  ### Task Handoff
381
382
 
382
383
  ```
383
- ->relay:Developer TASK: Implement user registration endpoint
384
+ ->relay:Developer <<<
385
+ TASK: Implement user registration endpoint
384
386
  Requirements:
385
387
  - POST /api/register
386
388
  - Validate email format
387
389
  - Hash password with bcrypt
388
- - Return JWT token
390
+ - Return JWT token>>>
389
391
  ```
390
392
 
391
393
  ### Status Updates
392
394
 
393
395
  ```
394
- ->relay:* STATUS: Starting work on authentication module
395
- ->relay:* DONE: Authentication module complete, ready for review
396
- ->relay:Reviewer REVIEW: Please review src/auth/*.ts
396
+ ->relay:* <<<
397
+ STATUS: Starting work on authentication module>>>
398
+
399
+ ->relay:* <<<
400
+ DONE: Authentication module complete, ready for review>>>
401
+
402
+ ->relay:Reviewer <<<
403
+ REVIEW: Please review src/auth/*.ts>>>
397
404
  ```
398
405
 
399
406
  ### Requesting Help
400
407
 
401
408
  ```
402
- ->relay:Architect QUESTION: Should we use JWT or session-based auth?
403
- ->relay:* BLOCKED: Need database credentials to proceed
409
+ ->relay:Architect <<<
410
+ QUESTION: Should we use JWT or session-based auth?>>>
411
+
412
+ ->relay:* <<<
413
+ BLOCKED: Need database credentials to proceed>>>
404
414
  ```
405
415
 
406
416
  ### Code Review Flow
407
417
 
408
418
  ```
409
419
  # Developer requests review
410
- ->relay:Reviewer REVIEW: src/api/users.ts - Added pagination support
420
+ ->relay:Reviewer <<<
421
+ REVIEW: src/api/users.ts - Added pagination support>>>
411
422
 
412
423
  # Reviewer provides feedback
413
- ->relay:Developer FEEDBACK: Line 45 - Consider using cursor-based pagination for better performance
424
+ ->relay:Developer <<<
425
+ FEEDBACK: Line 45 - Consider using cursor-based pagination for better performance>>>
414
426
 
415
427
  # Developer confirms fix
416
- ->relay:Reviewer FIXED: Updated to cursor-based pagination, please re-review
428
+ ->relay:Reviewer <<<
429
+ FIXED: Updated to cursor-based pagination, please re-review>>>
417
430
  ```
418
431
 
419
432
  ---
@@ -17,7 +17,7 @@ How to integrate agent-relay, claude-mem, and agent-trajectories into a cohesive
17
17
  │ │ CLAUDE-MEM │ │ AGENT-RELAY │ │
18
18
  │ │ (Observations) │ │ (Messaging) │ │
19
19
  │ │ │ │ │ │
20
- │ │ • Tool calls │ │ • ->relay:Agent │ │
20
+ │ │ • Tool calls │ │ • ->relay: <<< │ │
21
21
  │ │ • Concepts │ │ • Broadcasting │ │
22
22
  │ │ • Sessions │ │ • Persistence │ │
23
23
  │ └────────┬────────┘ └────────┬────────┘ │
package/docs/PROTOCOL.md CHANGED
@@ -279,26 +279,32 @@ Client should send fresh HELLO.
279
279
 
280
280
  ## 9. PTY Pattern Extractor
281
281
 
282
- ### Block Format (preferred)
282
+ ### Fenced Format (default, recommended)
283
283
 
284
284
  ```
285
- [[RELAY]]
286
- {"to": "*", "type": "message", "body": "Hello everyone"}
287
- [[/RELAY]]
285
+ ->relay:codex-1 <<<
286
+ Your turn to play>>>
287
+
288
+ ->relay:* <<<
289
+ Hello everyone>>>
288
290
  ```
289
291
 
290
- ### Inline Format (single line only)
292
+ **Always use the fenced format** for reliable message delivery. The `<<<` opens, `>>>` closes at end of last line.
293
+
294
+ ### Block Format (structured data)
291
295
 
292
296
  ```
293
- ->relay:codex-1 Your turn to play
294
- ->thinking:* Considering the Queen...
297
+ [[RELAY]]
298
+ {"to": "*", "type": "message", "body": "Hello everyone"}
299
+ [[/RELAY]]
295
300
  ```
296
301
 
297
302
  ### Rules
298
303
 
299
- 1. Block: Only parse when `[[RELAY]]` at start of line
300
- 2. Inline: Only at start of line, not in code fences
301
- 3. Escape: `\->relay:` outputs literal `->relay:`
304
+ 1. Fenced: `->relay:AgentName <<<` starts message, `>>>` ends it
305
+ 2. Block: Only parse when `[[RELAY]]` at start of line
306
+ 3. Pattern must be at start of line, not in code fences
307
+ 4. Escape: `\->relay:` outputs literal `->relay:`
302
308
 
303
309
  ---
304
310
 
@@ -4,24 +4,19 @@ Real-time agent-to-agent messaging. Output `->relay:` patterns to communicate.
4
4
 
5
5
  ## Sending Messages
6
6
 
7
- ```
8
- ->relay:AgentName Your message here
9
- ->relay:* Broadcast to all agents
10
- ```
11
-
12
- ### Multi-line Messages
13
-
14
- For messages with blank lines or code:
7
+ **Always use the fenced format** for reliable message delivery:
15
8
 
16
9
  ```
17
10
  ->relay:AgentName <<<
18
- Your multi-line message here.
11
+ Your message here.>>>
12
+ ```
19
13
 
20
- Can include blank lines and code.
21
- >>>
14
+ ```
15
+ ->relay:* <<<
16
+ Broadcast to all agents.>>>
22
17
  ```
23
18
 
24
- **CRITICAL:** Always end with `>>>` on its own line!
19
+ **CRITICAL:** Always end with `>>>` at the end of the last line of content!
25
20
 
26
21
  ## Receiving Messages
27
22
 
@@ -47,11 +42,20 @@ Spawn workers to delegate tasks:
47
42
  ## Common Patterns
48
43
 
49
44
  ```
50
- ->relay:* STATUS: Starting work on auth module
51
- ->relay:* DONE: Auth module complete
52
- ->relay:Developer TASK: Implement /api/register
53
- ->relay:Reviewer REVIEW: Please check src/auth/*.ts
54
- ->relay:Architect QUESTION: JWT or sessions?
45
+ ->relay:* <<<
46
+ STATUS: Starting work on auth module>>>
47
+
48
+ ->relay:* <<<
49
+ DONE: Auth module complete>>>
50
+
51
+ ->relay:Developer <<<
52
+ TASK: Implement /api/register>>>
53
+
54
+ ->relay:Reviewer <<<
55
+ REVIEW: Please check src/auth/*.ts>>>
56
+
57
+ ->relay:Architect <<<
58
+ QUESTION: JWT or sessions?>>>
55
59
  ```
56
60
 
57
61
  ## Rules
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-relay",
3
- "version": "1.0.9",
3
+ "version": "1.0.12",
4
4
  "description": "Real-time agent-to-agent communication system",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -10,6 +10,8 @@
10
10
  },
11
11
  "files": [
12
12
  "dist/",
13
+ "bin/",
14
+ "scripts/",
13
15
  "install.sh",
14
16
  "README.md",
15
17
  "LICENSE",
@@ -19,17 +21,17 @@
19
21
  "access": "public"
20
22
  },
21
23
  "scripts": {
22
- "postinstall": "npm rebuild better-sqlite3",
23
- "build": "npm run clean && tsc && npm run build:frontend",
24
- "build:frontend": "esbuild src/dashboard/frontend/app.ts --bundle --outfile=src/dashboard/public/js/app.js --format=esm --target=es2022 --minify --sourcemap",
25
- "postbuild": "cp -r src/dashboard/public dist/dashboard/ && chmod +x dist/cli/index.js",
24
+ "postinstall": "npm rebuild better-sqlite3 && node scripts/postinstall.js",
25
+ "build": "npm run clean && tsc && npm run build:dashboard",
26
+ "build:dashboard": "cd src/dashboard && npm run build",
27
+ "postbuild": "chmod +x dist/cli/index.js",
26
28
  "dev": "tsc -w",
27
29
  "dev:local": "npm run build && npm link && echo '✓ agent-relay linked globally'",
28
30
  "dev:unlink": "npm unlink -g agent-relay && echo '✓ agent-relay unlinked'",
29
31
  "dev:rebuild": "npm run build && echo '✓ Rebuilt (linked version updated)'",
30
32
  "start": "node dist/cli/index.js",
31
33
  "daemon": "node dist/daemon/server.js",
32
- "dashboard": "node dist/dashboard/start.js",
34
+ "dashboard": "node dist/dashboard-server/start.js",
33
35
  "pretest": "npm run build",
34
36
  "test": "vitest run",
35
37
  "pretest:coverage": "npm run build",
@@ -62,8 +64,10 @@
62
64
  "better-sqlite3": "^9.4.3",
63
65
  "chokidar": "^5.0.0",
64
66
  "commander": "^12.1.0",
67
+ "compare-versions": "^6.1.1",
65
68
  "dotenv": "^17.2.3",
66
69
  "express": "^5.2.1",
70
+ "http-proxy-middleware": "^3.0.5",
67
71
  "node-pty": "^1.0.0",
68
72
  "uuid": "^10.0.0",
69
73
  "ws": "^8.18.3"