@agent-relay/sdk 2.3.14 → 2.3.15

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 (182) hide show
  1. package/README.md +68 -838
  2. package/bin/agent-relay-broker-darwin-arm64 +0 -0
  3. package/bin/agent-relay-broker-darwin-x64 +0 -0
  4. package/bin/agent-relay-broker-linux-arm64 +0 -0
  5. package/bin/agent-relay-broker-linux-x64 +0 -0
  6. package/dist/__tests__/contract-fixtures.test.d.ts +2 -0
  7. package/dist/__tests__/contract-fixtures.test.d.ts.map +1 -0
  8. package/dist/__tests__/contract-fixtures.test.js +85 -0
  9. package/dist/__tests__/contract-fixtures.test.js.map +1 -0
  10. package/dist/__tests__/facade.test.d.ts +2 -0
  11. package/dist/__tests__/facade.test.d.ts.map +1 -0
  12. package/dist/__tests__/facade.test.js +305 -0
  13. package/dist/__tests__/facade.test.js.map +1 -0
  14. package/dist/__tests__/integration.test.d.ts +2 -0
  15. package/dist/__tests__/integration.test.d.ts.map +1 -0
  16. package/dist/__tests__/integration.test.js +169 -0
  17. package/dist/__tests__/integration.test.js.map +1 -0
  18. package/dist/__tests__/pty.test.d.ts +2 -0
  19. package/dist/__tests__/pty.test.d.ts.map +1 -0
  20. package/dist/__tests__/pty.test.js +20 -0
  21. package/dist/__tests__/pty.test.js.map +1 -0
  22. package/dist/__tests__/quickstart.test.d.ts +2 -0
  23. package/dist/__tests__/quickstart.test.d.ts.map +1 -0
  24. package/dist/__tests__/quickstart.test.js +176 -0
  25. package/dist/__tests__/quickstart.test.js.map +1 -0
  26. package/dist/__tests__/spawn-from-env.test.d.ts +2 -0
  27. package/dist/__tests__/spawn-from-env.test.d.ts.map +1 -0
  28. package/dist/__tests__/spawn-from-env.test.js +206 -0
  29. package/dist/__tests__/spawn-from-env.test.js.map +1 -0
  30. package/dist/__tests__/unit.test.d.ts +2 -0
  31. package/dist/__tests__/unit.test.d.ts.map +1 -0
  32. package/dist/__tests__/unit.test.js +347 -0
  33. package/dist/__tests__/unit.test.js.map +1 -0
  34. package/dist/browser.d.ts +16 -0
  35. package/dist/browser.d.ts.map +1 -0
  36. package/dist/browser.js +19 -0
  37. package/dist/browser.js.map +1 -0
  38. package/dist/client.d.ts +140 -526
  39. package/dist/client.d.ts.map +1 -1
  40. package/dist/client.js +430 -1509
  41. package/dist/client.js.map +1 -1
  42. package/dist/consensus-helpers.d.ts +103 -0
  43. package/dist/consensus-helpers.d.ts.map +1 -0
  44. package/dist/consensus-helpers.js +147 -0
  45. package/dist/consensus-helpers.js.map +1 -0
  46. package/dist/consensus.d.ts +72 -0
  47. package/dist/consensus.d.ts.map +1 -0
  48. package/dist/consensus.js +378 -0
  49. package/dist/consensus.js.map +1 -0
  50. package/dist/examples/demo.d.ts +2 -0
  51. package/dist/examples/demo.d.ts.map +1 -0
  52. package/dist/examples/demo.js +63 -0
  53. package/dist/examples/demo.js.map +1 -0
  54. package/dist/examples/example.d.ts +2 -0
  55. package/dist/examples/example.d.ts.map +1 -0
  56. package/dist/examples/example.js +80 -0
  57. package/dist/examples/example.js.map +1 -0
  58. package/dist/examples/quickstart.d.ts +2 -0
  59. package/dist/examples/quickstart.d.ts.map +1 -0
  60. package/dist/examples/quickstart.js +56 -0
  61. package/dist/examples/quickstart.js.map +1 -0
  62. package/dist/examples/ralph-loop.d.ts +2 -0
  63. package/dist/examples/ralph-loop.d.ts.map +1 -0
  64. package/dist/examples/ralph-loop.js +281 -0
  65. package/dist/examples/ralph-loop.js.map +1 -0
  66. package/dist/examples/workflow-superiority.d.ts +32 -0
  67. package/dist/examples/workflow-superiority.d.ts.map +1 -0
  68. package/dist/examples/workflow-superiority.js +1421 -0
  69. package/dist/examples/workflow-superiority.js.map +1 -0
  70. package/dist/index.d.ts +13 -20
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +12 -26
  73. package/dist/index.js.map +1 -1
  74. package/dist/logs.d.ts +70 -25
  75. package/dist/logs.d.ts.map +1 -1
  76. package/dist/logs.js +238 -42
  77. package/dist/logs.js.map +1 -1
  78. package/dist/models.d.ts +9 -0
  79. package/dist/models.d.ts.map +1 -0
  80. package/dist/models.js +17 -0
  81. package/dist/models.js.map +1 -0
  82. package/dist/protocol.d.ts +366 -0
  83. package/dist/protocol.d.ts.map +1 -0
  84. package/dist/protocol.js +2 -0
  85. package/dist/protocol.js.map +1 -0
  86. package/dist/pty.d.ts +8 -0
  87. package/dist/pty.d.ts.map +1 -0
  88. package/dist/pty.js +26 -0
  89. package/dist/pty.js.map +1 -0
  90. package/dist/relay-adapter.d.ts +139 -0
  91. package/dist/relay-adapter.d.ts.map +1 -0
  92. package/dist/relay-adapter.js +210 -0
  93. package/dist/relay-adapter.js.map +1 -0
  94. package/dist/relay.d.ts +304 -0
  95. package/dist/relay.d.ts.map +1 -0
  96. package/dist/relay.js +910 -0
  97. package/dist/relay.js.map +1 -0
  98. package/dist/shadow.d.ts +101 -0
  99. package/dist/shadow.d.ts.map +1 -0
  100. package/dist/shadow.js +174 -0
  101. package/dist/shadow.js.map +1 -0
  102. package/dist/spawn-from-env.d.ts +77 -0
  103. package/dist/spawn-from-env.d.ts.map +1 -0
  104. package/dist/spawn-from-env.js +172 -0
  105. package/dist/spawn-from-env.js.map +1 -0
  106. package/dist/workflows/barrier.d.ts +72 -0
  107. package/dist/workflows/barrier.d.ts.map +1 -0
  108. package/dist/workflows/barrier.js +162 -0
  109. package/dist/workflows/barrier.js.map +1 -0
  110. package/dist/workflows/builder.d.ts +114 -0
  111. package/dist/workflows/builder.d.ts.map +1 -0
  112. package/dist/workflows/builder.js +201 -0
  113. package/dist/workflows/builder.js.map +1 -0
  114. package/dist/workflows/cli.d.ts +11 -0
  115. package/dist/workflows/cli.d.ts.map +1 -0
  116. package/dist/workflows/cli.js +144 -0
  117. package/dist/workflows/cli.js.map +1 -0
  118. package/dist/workflows/coordinator.d.ts +73 -0
  119. package/dist/workflows/coordinator.d.ts.map +1 -0
  120. package/dist/workflows/coordinator.js +647 -0
  121. package/dist/workflows/coordinator.js.map +1 -0
  122. package/dist/workflows/custom-steps.d.ts +73 -0
  123. package/dist/workflows/custom-steps.d.ts.map +1 -0
  124. package/dist/workflows/custom-steps.js +321 -0
  125. package/dist/workflows/custom-steps.js.map +1 -0
  126. package/dist/workflows/dry-run-format.d.ts +6 -0
  127. package/dist/workflows/dry-run-format.d.ts.map +1 -0
  128. package/dist/workflows/dry-run-format.js +68 -0
  129. package/dist/workflows/dry-run-format.js.map +1 -0
  130. package/dist/workflows/file-db.d.ts +33 -0
  131. package/dist/workflows/file-db.d.ts.map +1 -0
  132. package/dist/workflows/file-db.js +108 -0
  133. package/dist/workflows/file-db.js.map +1 -0
  134. package/dist/workflows/index.d.ts +15 -0
  135. package/dist/workflows/index.d.ts.map +1 -0
  136. package/dist/workflows/index.js +15 -0
  137. package/dist/workflows/index.js.map +1 -0
  138. package/dist/workflows/memory-db.d.ts +17 -0
  139. package/dist/workflows/memory-db.d.ts.map +1 -0
  140. package/dist/workflows/memory-db.js +33 -0
  141. package/dist/workflows/memory-db.js.map +1 -0
  142. package/dist/workflows/run.d.ts +38 -0
  143. package/dist/workflows/run.d.ts.map +1 -0
  144. package/dist/workflows/run.js +25 -0
  145. package/dist/workflows/run.js.map +1 -0
  146. package/dist/workflows/runner.d.ts +320 -0
  147. package/dist/workflows/runner.d.ts.map +1 -0
  148. package/dist/workflows/runner.js +2821 -0
  149. package/dist/workflows/runner.js.map +1 -0
  150. package/dist/workflows/state.d.ts +77 -0
  151. package/dist/workflows/state.d.ts.map +1 -0
  152. package/dist/workflows/state.js +140 -0
  153. package/dist/workflows/state.js.map +1 -0
  154. package/dist/workflows/templates.d.ts +47 -0
  155. package/dist/workflows/templates.d.ts.map +1 -0
  156. package/dist/workflows/templates.js +405 -0
  157. package/dist/workflows/templates.js.map +1 -0
  158. package/dist/workflows/trajectory.d.ts +87 -0
  159. package/dist/workflows/trajectory.d.ts.map +1 -0
  160. package/dist/workflows/trajectory.js +441 -0
  161. package/dist/workflows/trajectory.js.map +1 -0
  162. package/dist/workflows/types.d.ts +306 -0
  163. package/dist/workflows/types.d.ts.map +1 -0
  164. package/dist/workflows/types.js +23 -0
  165. package/dist/workflows/types.js.map +1 -0
  166. package/dist/workflows/validator.d.ts +11 -0
  167. package/dist/workflows/validator.d.ts.map +1 -0
  168. package/dist/workflows/validator.js +128 -0
  169. package/dist/workflows/validator.js.map +1 -0
  170. package/package.json +59 -53
  171. package/dist/discovery.d.ts +0 -10
  172. package/dist/discovery.d.ts.map +0 -1
  173. package/dist/discovery.js +0 -22
  174. package/dist/discovery.js.map +0 -1
  175. package/dist/errors.d.ts +0 -9
  176. package/dist/errors.d.ts.map +0 -1
  177. package/dist/errors.js +0 -9
  178. package/dist/errors.js.map +0 -1
  179. package/dist/protocol/index.d.ts +0 -8
  180. package/dist/protocol/index.d.ts.map +0 -1
  181. package/dist/protocol/index.js +0 -8
  182. package/dist/protocol/index.js.map +0 -1
@@ -0,0 +1,366 @@
1
+ export declare const PROTOCOL_VERSION: 1;
2
+ export type AgentRuntime = 'pty' | 'headless_claude';
3
+ export interface RestartPolicy {
4
+ enabled?: boolean;
5
+ max_restarts?: number;
6
+ cooldown_ms?: number;
7
+ max_consecutive_failures?: number;
8
+ }
9
+ export interface AgentSpec {
10
+ name: string;
11
+ runtime: AgentRuntime;
12
+ cli?: string;
13
+ args?: string[];
14
+ channels?: string[];
15
+ model?: string;
16
+ cwd?: string;
17
+ team?: string;
18
+ shadow_of?: string;
19
+ shadow_mode?: string;
20
+ restart_policy?: RestartPolicy;
21
+ }
22
+ export interface RelayDelivery {
23
+ delivery_id: string;
24
+ event_id: string;
25
+ from: string;
26
+ target: string;
27
+ body: string;
28
+ thread_id?: string;
29
+ priority?: number;
30
+ }
31
+ export interface ProtocolEnvelope<TPayload> {
32
+ v: number;
33
+ type: string;
34
+ request_id?: string;
35
+ payload: TPayload;
36
+ }
37
+ export type SdkToBroker = {
38
+ type: 'hello';
39
+ payload: {
40
+ client_name: string;
41
+ client_version: string;
42
+ };
43
+ } | {
44
+ type: 'spawn_agent';
45
+ payload: {
46
+ agent: AgentSpec;
47
+ initial_task?: string;
48
+ };
49
+ } | {
50
+ type: 'send_message';
51
+ payload: {
52
+ to: string;
53
+ text: string;
54
+ from?: string;
55
+ thread_id?: string;
56
+ priority?: number;
57
+ data?: Record<string, unknown>;
58
+ };
59
+ } | {
60
+ type: 'release_agent';
61
+ payload: {
62
+ name: string;
63
+ reason?: string;
64
+ };
65
+ } | {
66
+ type: 'send_input';
67
+ payload: {
68
+ name: string;
69
+ data: string;
70
+ };
71
+ } | {
72
+ type: 'set_model';
73
+ payload: {
74
+ name: string;
75
+ model: string;
76
+ timeout_ms?: number;
77
+ };
78
+ } | {
79
+ type: 'get_metrics';
80
+ payload: {
81
+ agent?: string;
82
+ };
83
+ } | {
84
+ type: 'list_agents';
85
+ payload: Record<string, never>;
86
+ } | {
87
+ type: 'get_status';
88
+ payload: Record<string, never>;
89
+ } | {
90
+ type: 'get_crash_insights';
91
+ payload: Record<string, never>;
92
+ } | {
93
+ type: 'shutdown';
94
+ payload: Record<string, never>;
95
+ } | {
96
+ /** Pre-register a batch of agents with Relaycast before their steps execute.
97
+ * Broker warms its token cache in parallel; subsequent spawn_agent calls hit
98
+ * the cache instead of waiting on individual HTTP registrations. */
99
+ type: 'preflight_agents';
100
+ payload: {
101
+ agents: Array<{
102
+ name: string;
103
+ cli: string;
104
+ }>;
105
+ };
106
+ };
107
+ export interface PendingDeliveryInfo {
108
+ delivery_id: string;
109
+ worker_name: string;
110
+ event_id: string;
111
+ attempts: number;
112
+ }
113
+ export interface BrokerStatus {
114
+ agent_count: number;
115
+ agents: Array<{
116
+ name: string;
117
+ runtime: AgentRuntime;
118
+ cli?: string;
119
+ model?: string;
120
+ team?: string;
121
+ channels: string[];
122
+ parent?: string;
123
+ pid?: number;
124
+ }>;
125
+ pending_delivery_count: number;
126
+ pending_deliveries: PendingDeliveryInfo[];
127
+ }
128
+ export type BrokerAgentStatus = 'healthy' | 'restarting' | 'dead' | 'released';
129
+ export interface AgentStats {
130
+ spawns: number;
131
+ crashes: number;
132
+ restarts: number;
133
+ releases: number;
134
+ status: BrokerAgentStatus;
135
+ current_uptime_secs: number;
136
+ memory_bytes: number;
137
+ }
138
+ export interface BrokerStats {
139
+ uptime_secs: number;
140
+ total_agents_spawned: number;
141
+ total_crashes: number;
142
+ total_restarts: number;
143
+ active_agents: number;
144
+ }
145
+ export type CrashCategory = 'oom' | 'segfault' | 'error' | 'signal' | 'unknown';
146
+ export interface CrashRecord {
147
+ agent_name: string;
148
+ exit_code?: number;
149
+ signal?: string;
150
+ timestamp: number;
151
+ uptime_secs: number;
152
+ category: CrashCategory;
153
+ description: string;
154
+ }
155
+ export interface CrashPattern {
156
+ category: CrashCategory;
157
+ count: number;
158
+ agents: string[];
159
+ }
160
+ export interface CrashInsightsResponse {
161
+ total_crashes: number;
162
+ recent: CrashRecord[];
163
+ patterns: CrashPattern[];
164
+ health_score: number;
165
+ }
166
+ export interface ProtocolError {
167
+ code: string;
168
+ message: string;
169
+ retryable: boolean;
170
+ data?: unknown;
171
+ }
172
+ export type BrokerEvent = {
173
+ kind: 'agent_spawned';
174
+ name: string;
175
+ runtime: AgentRuntime;
176
+ cli?: string;
177
+ model?: string;
178
+ parent?: string;
179
+ pid?: number;
180
+ source?: string;
181
+ } | {
182
+ kind: 'agent_released';
183
+ name: string;
184
+ } | {
185
+ kind: 'agent_exit';
186
+ name: string;
187
+ reason: string;
188
+ } | {
189
+ kind: 'agent_exited';
190
+ name: string;
191
+ code?: number;
192
+ signal?: string;
193
+ } | {
194
+ kind: 'relay_inbound';
195
+ event_id: string;
196
+ from: string;
197
+ target: string;
198
+ body: string;
199
+ thread_id?: string;
200
+ } | {
201
+ kind: 'worker_stream';
202
+ name: string;
203
+ stream: string;
204
+ chunk: string;
205
+ } | {
206
+ kind: 'delivery_retry';
207
+ name: string;
208
+ delivery_id: string;
209
+ event_id: string;
210
+ attempts: number;
211
+ } | {
212
+ kind: 'delivery_dropped';
213
+ name: string;
214
+ count: number;
215
+ reason: string;
216
+ } | {
217
+ kind: 'delivery_queued';
218
+ name: string;
219
+ delivery_id: string;
220
+ event_id: string;
221
+ timestamp?: unknown;
222
+ } | {
223
+ kind: 'delivery_injected';
224
+ name: string;
225
+ delivery_id: string;
226
+ event_id: string;
227
+ timestamp?: unknown;
228
+ } | {
229
+ kind: 'delivery_verified';
230
+ name: string;
231
+ delivery_id: string;
232
+ event_id: string;
233
+ } | {
234
+ kind: 'delivery_failed';
235
+ name: string;
236
+ delivery_id: string;
237
+ event_id: string;
238
+ reason: string;
239
+ } | {
240
+ kind: 'delivery_active';
241
+ name: string;
242
+ delivery_id: string;
243
+ event_id: string;
244
+ } | {
245
+ kind: 'delivery_ack';
246
+ name: string;
247
+ delivery_id: string;
248
+ event_id: string;
249
+ } | {
250
+ kind: 'worker_ready';
251
+ name: string;
252
+ runtime: AgentRuntime;
253
+ cli?: string;
254
+ model?: string;
255
+ } | {
256
+ kind: 'worker_error';
257
+ name: string;
258
+ code: string;
259
+ message: string;
260
+ } | {
261
+ kind: 'relaycast_published';
262
+ event_id: string;
263
+ to: string;
264
+ target_type: string;
265
+ } | {
266
+ kind: 'relaycast_publish_failed';
267
+ event_id: string;
268
+ to: string;
269
+ reason: string;
270
+ } | {
271
+ kind: 'acl_denied';
272
+ name: string;
273
+ sender: string;
274
+ owner_chain: string[];
275
+ } | {
276
+ kind: 'agent_idle';
277
+ name: string;
278
+ idle_secs: number;
279
+ } | {
280
+ kind: 'agent_restarting';
281
+ name: string;
282
+ code?: number;
283
+ signal?: string;
284
+ restart_count: number;
285
+ delay_ms: number;
286
+ } | {
287
+ kind: 'agent_restarted';
288
+ name: string;
289
+ restart_count: number;
290
+ } | {
291
+ kind: 'agent_permanently_dead';
292
+ name: string;
293
+ reason: string;
294
+ };
295
+ export type BrokerToSdk = {
296
+ type: 'hello_ack';
297
+ payload: {
298
+ broker_version: string;
299
+ protocol_version: number;
300
+ };
301
+ } | {
302
+ type: 'ok';
303
+ payload: {
304
+ result: unknown;
305
+ };
306
+ } | {
307
+ type: 'error';
308
+ payload: ProtocolError;
309
+ } | {
310
+ type: 'event';
311
+ payload: BrokerEvent;
312
+ };
313
+ export type BrokerToWorker = {
314
+ type: 'init_worker';
315
+ payload: {
316
+ agent: AgentSpec;
317
+ };
318
+ } | {
319
+ type: 'deliver_relay';
320
+ payload: RelayDelivery;
321
+ } | {
322
+ type: 'shutdown_worker';
323
+ payload: {
324
+ reason: string;
325
+ grace_ms?: number;
326
+ };
327
+ } | {
328
+ type: 'ping';
329
+ payload: {
330
+ ts_ms: number;
331
+ };
332
+ };
333
+ export type WorkerToBroker = {
334
+ type: 'worker_ready';
335
+ payload: {
336
+ name: string;
337
+ runtime: AgentRuntime;
338
+ };
339
+ } | {
340
+ type: 'delivery_ack';
341
+ payload: {
342
+ delivery_id: string;
343
+ event_id: string;
344
+ };
345
+ } | {
346
+ type: 'worker_stream';
347
+ payload: {
348
+ stream: string;
349
+ chunk: string;
350
+ };
351
+ } | {
352
+ type: 'worker_error';
353
+ payload: ProtocolError;
354
+ } | {
355
+ type: 'worker_exited';
356
+ payload: {
357
+ code?: number;
358
+ signal?: string;
359
+ };
360
+ } | {
361
+ type: 'pong';
362
+ payload: {
363
+ ts_ms: number;
364
+ };
365
+ };
366
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const PROTOCOL_VERSION = 1;
2
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,CAAC"}
package/dist/pty.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * PTY stream utilities — ANSI stripping and line extraction.
3
+ */
4
+ /** Strip ANSI escape sequences from a string. */
5
+ export declare function stripAnsi(s: string): string;
6
+ /** Strip ANSI, split on newlines, trim, and drop empty lines. */
7
+ export declare function cleanLines(raw: string): string[];
8
+ //# sourceMappingURL=pty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS3C;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD"}
package/dist/pty.js ADDED
@@ -0,0 +1,26 @@
1
+ /**
2
+ * PTY stream utilities — ANSI stripping and line extraction.
3
+ */
4
+ // eslint-disable-next-line no-control-regex
5
+ const ANSI_RE = /\x1b(?:\[[0-9;?]*[A-Za-z]|\][^\x07\x1b]*(?:\x07|\x1b\\)?|[()][0-9A-Za-z]|[\x20-\x2f]*[\x40-\x7e])|\x1b/g;
6
+ // eslint-disable-next-line no-control-regex
7
+ const CURSOR_FORWARD_CSI_RE = /\x1b\[(\d*)C/g;
8
+ // eslint-disable-next-line no-control-regex
9
+ const ORPHANED_CURSOR_FORWARD_CSI_RE = /\[(\d*)C/g;
10
+ function cursorForwardSpaces(countText) {
11
+ const count = Number.parseInt(countText || "1", 10);
12
+ const width = Number.isFinite(count) && count > 0 ? count : 1;
13
+ return " ".repeat(width);
14
+ }
15
+ /** Strip ANSI escape sequences from a string. */
16
+ export function stripAnsi(s) {
17
+ let result = s.replace(CURSOR_FORWARD_CSI_RE, (_match, count) => cursorForwardSpaces(count));
18
+ result = result.replace(ANSI_RE, "");
19
+ result = result.replace(ORPHANED_CURSOR_FORWARD_CSI_RE, (_match, count) => cursorForwardSpaces(count));
20
+ return result;
21
+ }
22
+ /** Strip ANSI, split on newlines, trim, and drop empty lines. */
23
+ export function cleanLines(raw) {
24
+ return stripAnsi(raw).split(/\r?\n/).map(l => l.trimEnd()).filter(Boolean);
25
+ }
26
+ //# sourceMappingURL=pty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pty.js","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4CAA4C;AAC5C,MAAM,OAAO,GAAG,yGAAyG,CAAC;AAE1H,4CAA4C;AAC5C,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAE9C,4CAA4C;AAC5C,MAAM,8BAA8B,GAAG,WAAW,CAAC;AAEnD,SAAS,mBAAmB,CAAC,SAA6B;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE,CACtE,mBAAmB,CAAC,KAAK,CAAC,CAC3B,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE,CAChF,mBAAmB,CAAC,KAAK,CAAC,CAC3B,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * RelayAdapter — high-level interface over the broker SDK.
3
+ *
4
+ * Wraps AgentRelayClient with auto-start, safe result patterns,
5
+ * and convenience methods. Usable by any integration: dashboard,
6
+ * MCP, ACP bridge, CLI, or custom tooling.
7
+ *
8
+ * Usage:
9
+ * import { RelayAdapter } from '@agent-relay/sdk';
10
+ *
11
+ * const relay = new RelayAdapter({ cwd: projectRoot });
12
+ * await relay.start();
13
+ *
14
+ * await relay.spawn({ name: 'Worker1', cli: 'claude', task: 'Build auth' });
15
+ * const agents = await relay.listAgents();
16
+ * await relay.sendMessage({ to: 'Worker1', text: 'status?' });
17
+ * await relay.release('Worker1');
18
+ *
19
+ * await relay.shutdown();
20
+ */
21
+ import { AgentRelayClient, type SendMessageInput } from './client.js';
22
+ import type { BrokerEvent, BrokerStats, BrokerStatus, CrashInsightsResponse } from './protocol.js';
23
+ export interface RelayAdapterOptions {
24
+ /** Project root directory (required — the broker locks per project). */
25
+ cwd: string;
26
+ /** Path to the agent-relay binary. Falls back to bundled/PATH resolution. */
27
+ binaryPath?: string;
28
+ /** Default channels for spawned agents. */
29
+ channels?: string[];
30
+ /** Environment variables forwarded to the broker process. */
31
+ env?: NodeJS.ProcessEnv;
32
+ /** Client name reported in the hello handshake. */
33
+ clientName?: string;
34
+ }
35
+ export interface RelaySpawnRequest {
36
+ name: string;
37
+ cli: string;
38
+ task?: string;
39
+ team?: string;
40
+ cwd?: string;
41
+ model?: string;
42
+ interactive?: boolean;
43
+ shadowMode?: string;
44
+ shadowOf?: string;
45
+ shadowAgent?: string;
46
+ shadowTriggers?: string;
47
+ shadowSpeakOn?: string;
48
+ spawnerName?: string;
49
+ userId?: string;
50
+ includeWorkflowConventions?: boolean;
51
+ }
52
+ export interface RelaySpawnResult {
53
+ success: boolean;
54
+ name: string;
55
+ pid?: number;
56
+ error?: string;
57
+ }
58
+ export interface RelayAgentInfo {
59
+ name: string;
60
+ cli?: string;
61
+ pid?: number;
62
+ channels: string[];
63
+ parent?: string;
64
+ runtime: string;
65
+ }
66
+ export interface RelayReleaseResult {
67
+ success: boolean;
68
+ name: string;
69
+ error?: string;
70
+ }
71
+ export declare class RelayAdapter {
72
+ private client;
73
+ private started;
74
+ constructor(opts: RelayAdapterOptions);
75
+ /** Start the broker process. Idempotent. */
76
+ start(): Promise<void>;
77
+ /** Shut down the broker and all spawned agents. */
78
+ shutdown(): Promise<void>;
79
+ /** Spawn an agent via the broker's PTY runtime. */
80
+ spawn(req: RelaySpawnRequest): Promise<RelaySpawnResult>;
81
+ /** Release (stop) a spawned agent. */
82
+ release(name: string, reason?: string): Promise<RelayReleaseResult>;
83
+ /** List all agents managed by this broker instance. */
84
+ listAgents(): Promise<RelayAgentInfo[]>;
85
+ /** Check if a specific agent is spawned. */
86
+ hasAgent(name: string): Promise<boolean>;
87
+ /** Get broker status (agent count, pending deliveries). */
88
+ getStatus(): Promise<BrokerStatus>;
89
+ /** Send a message to an agent or channel. */
90
+ sendMessage(input: SendMessageInput): Promise<{
91
+ event_id: string;
92
+ targets: string[];
93
+ }>;
94
+ /**
95
+ * Send raw input to an agent's PTY stdin.
96
+ * Useful for interrupts (ESC sequences), confirmations, etc.
97
+ */
98
+ sendInput(name: string, data: string): Promise<void>;
99
+ /**
100
+ * Send an interrupt (ESC ESC) to an agent.
101
+ * Convenience wrapper around sendInput.
102
+ */
103
+ interruptAgent(name: string): Promise<boolean>;
104
+ /** Switch an agent's model at runtime. */
105
+ setModel(name: string, model: string, opts?: {
106
+ timeoutMs?: number;
107
+ }): Promise<{
108
+ success: boolean;
109
+ name: string;
110
+ model: string;
111
+ }>;
112
+ /** Get resource metrics for agents (memory, uptime) and broker stats. */
113
+ getMetrics(agent?: string): Promise<{
114
+ agents: Array<{
115
+ name: string;
116
+ pid: number;
117
+ memory_bytes: number;
118
+ uptime_secs: number;
119
+ }>;
120
+ broker?: BrokerStats;
121
+ }>;
122
+ /** Get crash insights: recent crashes, patterns, and health score. */
123
+ getCrashInsights(): Promise<CrashInsightsResponse>;
124
+ /**
125
+ * Subscribe to broker events (agent_spawned, agent_released,
126
+ * relay_inbound, worker_stream, etc.).
127
+ *
128
+ * Returns an unsubscribe function.
129
+ */
130
+ onEvent(listener: (event: BrokerEvent) => void): () => void;
131
+ /**
132
+ * Subscribe to broker stderr output (debug logs from the Rust binary).
133
+ * Returns an unsubscribe function.
134
+ */
135
+ onStderr(listener: (line: string) => void): () => void;
136
+ /** Access the underlying AgentRelayClient for advanced operations. */
137
+ get raw(): AgentRelayClient;
138
+ }
139
+ //# sourceMappingURL=relay-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-adapter.d.ts","sourceRoot":"","sources":["../src/relay-adapter.ts"],"names":[],"mappings":"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"}