@agent-relay/sdk 0.1.0 → 2.0.4

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 CHANGED
@@ -1,15 +1,17 @@
1
1
  # @agent-relay/sdk
2
2
 
3
- Dead simple agent-to-agent communication.
3
+ Dead simple agent-to-agent communication for AI agent systems.
4
4
 
5
5
  ## Install
6
6
 
7
7
  ```bash
8
- npm install @agent-relay/sdk @agent-relay/daemon
8
+ npm install @agent-relay/sdk
9
9
  ```
10
10
 
11
11
  ## Quick Start
12
12
 
13
+ ### Standalone (In-Process Daemon)
14
+
13
15
  ```typescript
14
16
  import { createRelay } from '@agent-relay/sdk';
15
17
 
@@ -32,9 +34,7 @@ alice.sendMessage('Bob', 'Hello!');
32
34
  await relay.stop();
33
35
  ```
34
36
 
35
- That's it. No daemon to start, no config files, no setup.
36
-
37
- ## Even Simpler: Two Agents
37
+ ### Two-Agent Shortcut
38
38
 
39
39
  ```typescript
40
40
  import { createPair } from '@agent-relay/sdk';
@@ -47,56 +47,163 @@ alice.sendMessage('bob', 'Hey!');
47
47
  await stop();
48
48
  ```
49
49
 
50
- ## Features
50
+ ### With External Daemon
51
51
 
52
- | Feature | Description |
53
- |---------|-------------|
54
- | **Zero config** | Just import and go |
55
- | **Auto-reconnect** | Handles disconnections automatically |
56
- | **Message deduplication** | No duplicate deliveries |
57
- | **Sync messaging** | Wait for acknowledgment |
58
- | **Broadcast** | Send to all agents with `*` |
59
- | **Channels** | Group messaging with `#channel` |
52
+ If you're running `agent-relay up` separately:
60
53
 
61
- ## API Reference
54
+ ```typescript
55
+ import { RelayClient } from '@agent-relay/sdk';
56
+
57
+ // Socket path is auto-discovered from your project's .agent-relay/relay.sock
58
+ const client = new RelayClient({ agentName: 'MyAgent' });
62
59
 
63
- ### createRelay(config?)
60
+ await client.connect();
61
+ client.sendMessage('OtherAgent', 'Hello!');
62
+ ```
64
63
 
65
- Creates a standalone relay with an in-process daemon.
64
+ ## Socket Discovery
65
+
66
+ The SDK automatically discovers the daemon socket in this order:
67
+
68
+ 1. `RELAY_SOCKET` environment variable
69
+ 2. Cloud workspace socket (if `WORKSPACE_ID` is set)
70
+ 3. **Project-local socket** (`{projectRoot}/.agent-relay/relay.sock`)
71
+ 4. Legacy fallback (`/tmp/agent-relay.sock`)
72
+
73
+ You can also use the discovery API directly:
66
74
 
67
75
  ```typescript
68
- const relay = await createRelay({
69
- socketPath: '/tmp/my-relay.sock', // Optional custom socket
70
- quiet: true, // Suppress logs (default: true)
71
- });
76
+ import { discoverSocket, getDefaultSocketPath } from '@agent-relay/sdk';
72
77
 
73
- // Create clients
74
- const agent = await relay.client('MyAgent');
78
+ // Get detailed discovery info
79
+ const { socketPath, projectId, source } = discoverSocket();
80
+ console.log(`Using socket: ${socketPath} (source: ${source})`);
75
81
 
76
- // Stop everything
77
- await relay.stop();
82
+ // Or just get the path
83
+ const socketPath = getDefaultSocketPath();
78
84
  ```
79
85
 
80
- ### createPair(name1, name2, config?)
86
+ ## Integration Guide (for Libraries like AgentSwarm)
81
87
 
82
- Shortcut to create two connected agents.
88
+ If you're building a library that integrates with Agent Relay:
89
+
90
+ ### Option 1: Use the SDK Client (Recommended)
83
91
 
84
92
  ```typescript
85
- const { alice, bob, stop } = await createPair('alice', 'bob');
93
+ import { RelayClient, discoverSocket } from '@agent-relay/sdk';
94
+
95
+ class MyAgentOrchestrator {
96
+ private client: RelayClient;
97
+
98
+ async connect(agentName: string) {
99
+ // Auto-discovers socket path
100
+ this.client = new RelayClient({
101
+ agentName,
102
+ reconnect: true, // Auto-reconnect on disconnect
103
+ });
104
+
105
+ await this.client.connect();
106
+ }
107
+
108
+ async sendTask(to: string, task: string) {
109
+ return this.client.sendMessage(to, task);
110
+ }
111
+
112
+ async waitForResponse(to: string, message: string, timeoutMs = 30000) {
113
+ return this.client.sendAndWait(to, message, { timeoutMs });
114
+ }
115
+
116
+ onMessage(handler: (from: string, body: string) => void) {
117
+ this.client.onMessage = (from, payload) => {
118
+ handler(from, payload.body);
119
+ };
120
+ }
121
+ }
86
122
  ```
87
123
 
88
- ### RelayClient
124
+ ### Option 2: Use MCP Simple API (If Using MCP)
89
125
 
90
- The client for agent communication.
126
+ If your agents use MCP, the `@agent-relay/mcp` package has an even simpler API:
91
127
 
92
128
  ```typescript
129
+ import { createTools } from '@agent-relay/mcp';
130
+
131
+ const tools = createTools('Orchestrator');
132
+
133
+ // Send messages
134
+ await tools.send('Worker1', 'Run the test suite');
135
+
136
+ // Spawn workers
137
+ await tools.spawn({
138
+ name: 'Worker1',
139
+ cli: 'claude',
140
+ task: 'Run tests and report results',
141
+ });
142
+
143
+ // Check messages
144
+ const messages = await tools.inbox();
145
+
146
+ // List online agents
147
+ const agents = await tools.who();
148
+
149
+ // Release workers
150
+ await tools.release('Worker1');
151
+ ```
152
+
153
+ ### Option 3: HTTP API (For Non-Node Environments)
154
+
155
+ If the daemon is running with dashboard, use the HTTP API:
156
+
157
+ ```bash
158
+ # Spawn an agent
159
+ curl -X POST http://localhost:3888/api/spawn \
160
+ -H 'Content-Type: application/json' \
161
+ -d '{"name": "Worker1", "cli": "claude", "task": "Run tests"}'
162
+
163
+ # List agents
164
+ curl http://localhost:3888/api/spawned
165
+
166
+ # Release an agent
167
+ curl -X DELETE http://localhost:3888/api/spawned/Worker1
168
+ ```
169
+
170
+ ## Features
171
+
172
+ | Feature | Description |
173
+ |---------|-------------|
174
+ | **Auto-discovery** | Finds daemon socket automatically |
175
+ | **Auto-reconnect** | Handles disconnections automatically |
176
+ | **Message deduplication** | No duplicate deliveries |
177
+ | **Sync messaging** | Wait for acknowledgment |
178
+ | **Broadcast** | Send to all agents with `*` |
179
+ | **Channels** | Group messaging with `#channel` |
180
+
181
+ ## API Reference
182
+
183
+ ### RelayClient
184
+
185
+ ```typescript
186
+ import { RelayClient } from '@agent-relay/sdk';
187
+
188
+ const client = new RelayClient({
189
+ agentName: 'MyAgent', // Required: your agent's name
190
+ socketPath: '/custom/path', // Optional: override auto-discovery
191
+ reconnect: true, // Optional: auto-reconnect (default: true)
192
+ quiet: false, // Optional: suppress logs (default: false)
193
+ });
194
+
195
+ // Connect to daemon
196
+ await client.connect();
197
+
93
198
  // Send messages
94
199
  client.sendMessage('OtherAgent', 'Hello!');
95
200
  client.sendMessage('#general', 'Channel message');
96
201
  client.sendMessage('*', 'Broadcast to everyone');
97
202
 
98
203
  // Wait for acknowledgment
99
- const ack = await client.sendAndWait('OtherAgent', 'Important message');
204
+ const ack = await client.sendAndWait('OtherAgent', 'Important message', {
205
+ timeoutMs: 30000,
206
+ });
100
207
 
101
208
  // Receive messages
102
209
  client.onMessage = (from, payload, messageId, meta, originalTo) => {
@@ -117,23 +224,20 @@ client.onStateChange = (state) => {
117
224
  client.disconnect();
118
225
  ```
119
226
 
120
- ## Using with External Daemon
121
-
122
- If you're running `agent-relay up` separately (e.g., for the dashboard), use the client directly:
227
+ ### Socket Discovery
123
228
 
124
229
  ```typescript
125
- import { RelayClient } from '@agent-relay/sdk';
230
+ import { discoverSocket, getDefaultSocketPath } from '@agent-relay/sdk';
126
231
 
127
- const client = new RelayClient({
128
- agentName: 'MyAgent',
129
- socketPath: '/tmp/agent-relay.sock',
130
- });
232
+ // Get full discovery result
233
+ const result = discoverSocket();
234
+ // { socketPath: string, projectId: string, source: 'env' | 'cloud' | 'project' | 'legacy' }
131
235
 
132
- await client.connect();
133
- client.sendMessage('OtherAgent', 'Hello!');
236
+ // Get just the path
237
+ const socketPath = getDefaultSocketPath();
134
238
  ```
135
239
 
136
- ## Advanced: Channels
240
+ ### Channels
137
241
 
138
242
  ```typescript
139
243
  // Join a channel
@@ -151,7 +255,7 @@ client.onChannelMessage = (from, channel, body, envelope) => {
151
255
  client.leaveChannel('#general');
152
256
  ```
153
257
 
154
- ## Advanced: Shadow Agents
258
+ ### Shadow Agents
155
259
 
156
260
  Monitor another agent's communication:
157
261
 
@@ -166,6 +270,19 @@ client.bindAsShadow('PrimaryAgent', {
166
270
  client.unbindAsShadow('PrimaryAgent');
167
271
  ```
168
272
 
273
+ ## Environment Variables
274
+
275
+ | Variable | Description |
276
+ |----------|-------------|
277
+ | `RELAY_SOCKET` | Override daemon socket path |
278
+ | `RELAY_PROJECT` | Override project name |
279
+ | `WORKSPACE_ID` | Cloud workspace ID (auto-detects cloud socket) |
280
+
281
+ ## Requirements
282
+
283
+ - Node.js 18+
284
+ - Agent Relay daemon running (`agent-relay up`)
285
+
169
286
  ## License
170
287
 
171
288
  MIT
package/dist/client.d.ts CHANGED
@@ -45,7 +45,39 @@ export interface ClientConfig {
45
45
  reconnectMaxDelayMs: number;
46
46
  }
47
47
  /**
48
- * RelayClient for agent-to-agent communication.
48
+ * RelayClient - Agent-to-agent communication client for Agent Relay.
49
+ *
50
+ * The client automatically discovers the daemon socket path. You only need to provide
51
+ * your agent name. Use `connect()` to establish a connection, then send/receive messages.
52
+ *
53
+ * @example Basic Usage
54
+ * ```typescript
55
+ * import { RelayClient } from '@agent-relay/sdk';
56
+ *
57
+ * const client = new RelayClient({ agentName: 'MyAgent' });
58
+ * await client.connect();
59
+ *
60
+ * // Send messages
61
+ * client.sendMessage('OtherAgent', 'Hello!');
62
+ * client.sendMessage('#general', 'Channel message');
63
+ * client.sendMessage('*', 'Broadcast');
64
+ *
65
+ * // Receive messages
66
+ * client.onMessage = (from, payload) => {
67
+ * console.log(`${from}: ${payload.body}`);
68
+ * };
69
+ *
70
+ * // Disconnect when done
71
+ * client.disconnect();
72
+ * ```
73
+ *
74
+ * @example Wait for Response
75
+ * ```typescript
76
+ * const response = await client.sendAndWait('Worker', 'Do this task', {
77
+ * timeoutMs: 30000,
78
+ * });
79
+ * console.log(`Worker replied: ${response.content}`);
80
+ * ```
49
81
  */
50
82
  export declare class RelayClient {
51
83
  private config;
@@ -62,12 +94,32 @@ export declare class RelayClient {
62
94
  private writeQueue;
63
95
  private writeScheduled;
64
96
  private pendingSyncAcks;
97
+ /**
98
+ * Callback for receiving direct messages.
99
+ * @param from - Name of the sending agent
100
+ * @param payload - Message payload containing body, kind, and optional data
101
+ * @param messageId - Unique message identifier
102
+ * @param meta - Optional metadata (sync info, etc.)
103
+ * @param originalTo - Original recipient (useful for detecting broadcasts when originalTo='*')
104
+ */
65
105
  onMessage?: (from: string, payload: SendPayload, messageId: string, meta?: SendMeta, originalTo?: string) => void;
66
106
  /**
67
107
  * Callback for channel messages.
108
+ * @param from - Name of the sending agent
109
+ * @param channel - Channel name (e.g., '#general')
110
+ * @param body - Message body text
111
+ * @param envelope - Full message envelope with metadata
68
112
  */
69
113
  onChannelMessage?: (from: string, channel: string, body: string, envelope: Envelope<ChannelMessagePayload>) => void;
114
+ /**
115
+ * Callback for connection state changes.
116
+ * @param state - New connection state: 'DISCONNECTED' | 'CONNECTING' | 'HANDSHAKING' | 'READY' | 'BACKOFF'
117
+ */
70
118
  onStateChange?: (state: ClientState) => void;
119
+ /**
120
+ * Callback for errors.
121
+ * @param error - The error that occurred
122
+ */
71
123
  onError?: (error: Error) => void;
72
124
  constructor(config?: Partial<ClientConfig>);
73
125
  get state(): ClientState;
@@ -86,7 +138,30 @@ export declare class RelayClient {
86
138
  */
87
139
  destroy(): void;
88
140
  /**
89
- * Send a message to another agent.
141
+ * Send a message to another agent, channel, or broadcast.
142
+ *
143
+ * @param to - Recipient: agent name, '#channel', or '*' for broadcast
144
+ * @param body - Message content
145
+ * @param kind - Message type (default: 'message')
146
+ * @param data - Optional structured data to include
147
+ * @param thread - Optional thread ID for conversation threading
148
+ * @param meta - Optional metadata (sync info, etc.)
149
+ * @returns true if message was queued, false if not connected
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * // Direct message
154
+ * client.sendMessage('Worker1', 'Start the task');
155
+ *
156
+ * // Channel message
157
+ * client.sendMessage('#general', 'Team update');
158
+ *
159
+ * // Broadcast to all agents
160
+ * client.sendMessage('*', 'System announcement');
161
+ *
162
+ * // With structured data
163
+ * client.sendMessage('Worker1', 'Process this', 'task', { priority: 'high' });
164
+ * ```
90
165
  */
91
166
  sendMessage(to: string, body: string, kind?: PayloadKind, data?: Record<string, unknown>, thread?: string, meta?: SendMeta): boolean;
92
167
  /**
@@ -94,7 +169,28 @@ export declare class RelayClient {
94
169
  */
95
170
  sendAck(payload: AckPayload): boolean;
96
171
  /**
97
- * Send a message and wait for ACK response.
172
+ * Send a message and wait for acknowledgment response.
173
+ *
174
+ * This is useful for request-response patterns where you need to wait for
175
+ * the recipient to process your message and reply.
176
+ *
177
+ * @param to - Recipient agent name
178
+ * @param body - Message content
179
+ * @param options - Options including timeout, thread, etc.
180
+ * @returns Promise that resolves with the ACK payload when recipient responds
181
+ * @throws Error if client not ready or timeout exceeded
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * try {
186
+ * const response = await client.sendAndWait('Worker', 'Process this task', {
187
+ * timeoutMs: 30000, // 30 second timeout
188
+ * });
189
+ * console.log('Worker responded:', response);
190
+ * } catch (err) {
191
+ * console.error('Worker did not respond in time');
192
+ * }
193
+ * ```
98
194
  */
99
195
  sendAndWait(to: string, body: string, options?: SyncOptions): Promise<AckPayload>;
100
196
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -6,11 +6,19 @@
6
6
  */
7
7
  import net from 'node:net';
8
8
  import { randomUUID } from 'node:crypto';
9
+ import { getDefaultSocketPath } from './discovery.js';
9
10
  import { PROTOCOL_VERSION, } from './protocol/types.js';
10
11
  import { encodeFrameLegacy, FrameParser } from './protocol/framing.js';
11
- const DEFAULT_SOCKET_PATH = '/tmp/agent-relay.sock';
12
+ // Socket path is discovered lazily to allow environment to be set up first
13
+ let _discoveredSocketPath = null;
14
+ function getDiscoveredSocketPath() {
15
+ if (_discoveredSocketPath === null) {
16
+ _discoveredSocketPath = getDefaultSocketPath();
17
+ }
18
+ return _discoveredSocketPath;
19
+ }
12
20
  const DEFAULT_CLIENT_CONFIG = {
13
- socketPath: DEFAULT_SOCKET_PATH,
21
+ socketPath: '', // Will be set in constructor if not provided
14
22
  agentName: 'agent',
15
23
  cli: undefined,
16
24
  quiet: false,
@@ -56,7 +64,39 @@ class CircularDedupeCache {
56
64
  }
57
65
  }
58
66
  /**
59
- * RelayClient for agent-to-agent communication.
67
+ * RelayClient - Agent-to-agent communication client for Agent Relay.
68
+ *
69
+ * The client automatically discovers the daemon socket path. You only need to provide
70
+ * your agent name. Use `connect()` to establish a connection, then send/receive messages.
71
+ *
72
+ * @example Basic Usage
73
+ * ```typescript
74
+ * import { RelayClient } from '@agent-relay/sdk';
75
+ *
76
+ * const client = new RelayClient({ agentName: 'MyAgent' });
77
+ * await client.connect();
78
+ *
79
+ * // Send messages
80
+ * client.sendMessage('OtherAgent', 'Hello!');
81
+ * client.sendMessage('#general', 'Channel message');
82
+ * client.sendMessage('*', 'Broadcast');
83
+ *
84
+ * // Receive messages
85
+ * client.onMessage = (from, payload) => {
86
+ * console.log(`${from}: ${payload.body}`);
87
+ * };
88
+ *
89
+ * // Disconnect when done
90
+ * client.disconnect();
91
+ * ```
92
+ *
93
+ * @example Wait for Response
94
+ * ```typescript
95
+ * const response = await client.sendAndWait('Worker', 'Do this task', {
96
+ * timeoutMs: 30000,
97
+ * });
98
+ * console.log(`Worker replied: ${response.content}`);
99
+ * ```
60
100
  */
61
101
  export class RelayClient {
62
102
  config;
@@ -73,16 +113,39 @@ export class RelayClient {
73
113
  writeQueue = [];
74
114
  writeScheduled = false;
75
115
  pendingSyncAcks = new Map();
76
- // Event handlers
116
+ /**
117
+ * Callback for receiving direct messages.
118
+ * @param from - Name of the sending agent
119
+ * @param payload - Message payload containing body, kind, and optional data
120
+ * @param messageId - Unique message identifier
121
+ * @param meta - Optional metadata (sync info, etc.)
122
+ * @param originalTo - Original recipient (useful for detecting broadcasts when originalTo='*')
123
+ */
77
124
  onMessage;
78
125
  /**
79
126
  * Callback for channel messages.
127
+ * @param from - Name of the sending agent
128
+ * @param channel - Channel name (e.g., '#general')
129
+ * @param body - Message body text
130
+ * @param envelope - Full message envelope with metadata
80
131
  */
81
132
  onChannelMessage;
133
+ /**
134
+ * Callback for connection state changes.
135
+ * @param state - New connection state: 'DISCONNECTED' | 'CONNECTING' | 'HANDSHAKING' | 'READY' | 'BACKOFF'
136
+ */
82
137
  onStateChange;
138
+ /**
139
+ * Callback for errors.
140
+ * @param error - The error that occurred
141
+ */
83
142
  onError;
84
143
  constructor(config = {}) {
85
144
  this.config = { ...DEFAULT_CLIENT_CONFIG, ...config };
145
+ // Use discovered socket path if not explicitly provided
146
+ if (!this.config.socketPath) {
147
+ this.config.socketPath = getDiscoveredSocketPath();
148
+ }
86
149
  this.parser = new FrameParser();
87
150
  this.parser.setLegacyMode(true);
88
151
  this.reconnectDelay = this.config.reconnectDelayMs;
@@ -177,7 +240,30 @@ export class RelayClient {
177
240
  this.disconnect();
178
241
  }
179
242
  /**
180
- * Send a message to another agent.
243
+ * Send a message to another agent, channel, or broadcast.
244
+ *
245
+ * @param to - Recipient: agent name, '#channel', or '*' for broadcast
246
+ * @param body - Message content
247
+ * @param kind - Message type (default: 'message')
248
+ * @param data - Optional structured data to include
249
+ * @param thread - Optional thread ID for conversation threading
250
+ * @param meta - Optional metadata (sync info, etc.)
251
+ * @returns true if message was queued, false if not connected
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * // Direct message
256
+ * client.sendMessage('Worker1', 'Start the task');
257
+ *
258
+ * // Channel message
259
+ * client.sendMessage('#general', 'Team update');
260
+ *
261
+ * // Broadcast to all agents
262
+ * client.sendMessage('*', 'System announcement');
263
+ *
264
+ * // With structured data
265
+ * client.sendMessage('Worker1', 'Process this', 'task', { priority: 'high' });
266
+ * ```
181
267
  */
182
268
  sendMessage(to, body, kind = 'message', data, thread, meta) {
183
269
  if (this._state !== 'READY') {
@@ -216,7 +302,28 @@ export class RelayClient {
216
302
  return this.send(envelope);
217
303
  }
218
304
  /**
219
- * Send a message and wait for ACK response.
305
+ * Send a message and wait for acknowledgment response.
306
+ *
307
+ * This is useful for request-response patterns where you need to wait for
308
+ * the recipient to process your message and reply.
309
+ *
310
+ * @param to - Recipient agent name
311
+ * @param body - Message content
312
+ * @param options - Options including timeout, thread, etc.
313
+ * @returns Promise that resolves with the ACK payload when recipient responds
314
+ * @throws Error if client not ready or timeout exceeded
315
+ *
316
+ * @example
317
+ * ```typescript
318
+ * try {
319
+ * const response = await client.sendAndWait('Worker', 'Process this task', {
320
+ * timeoutMs: 30000, // 30 second timeout
321
+ * });
322
+ * console.log('Worker responded:', response);
323
+ * } catch (err) {
324
+ * console.error('Worker did not respond in time');
325
+ * }
326
+ * ```
220
327
  */
221
328
  async sendAndWait(to, body, options = {}) {
222
329
  if (this._state !== 'READY') {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Socket Discovery for Agent Relay SDK
3
+ *
4
+ * Discovers the daemon socket path for local development and cloud environments.
5
+ */
6
+ export interface DiscoveryResult {
7
+ socketPath: string;
8
+ projectId: string;
9
+ source: 'env' | 'cloud' | 'project' | 'legacy';
10
+ }
11
+ /**
12
+ * Discover the relay daemon socket path.
13
+ *
14
+ * Discovery order:
15
+ * 1. RELAY_SOCKET environment variable (explicit override)
16
+ * 2. Cloud workspace socket (if WORKSPACE_ID is set)
17
+ * 3. Project-local socket ({projectRoot}/.agent-relay/relay.sock)
18
+ * 4. Legacy fallback (/tmp/agent-relay.sock)
19
+ *
20
+ * @param cwd - Working directory to start search from (default: process.cwd())
21
+ * @returns Discovery result with socket path and metadata
22
+ */
23
+ export declare function discoverSocket(cwd?: string): DiscoveryResult;
24
+ /**
25
+ * Get the default socket path using discovery.
26
+ * Convenience function that returns just the path.
27
+ */
28
+ export declare function getDefaultSocketPath(cwd?: string): string;
29
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;CAChD;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,CAkF5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Socket Discovery for Agent Relay SDK
3
+ *
4
+ * Discovers the daemon socket path for local development and cloud environments.
5
+ */
6
+ import { existsSync, readFileSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ import { homedir } from 'node:os';
9
+ /**
10
+ * Find project root by looking for common markers.
11
+ * Scans up from startDir until it finds a marker or hits the filesystem root.
12
+ */
13
+ function findProjectRoot(startDir = process.cwd()) {
14
+ let current = startDir;
15
+ const markers = ['.git', 'package.json', 'Cargo.toml', 'go.mod', 'pyproject.toml', '.agent-relay'];
16
+ // Limit iterations to prevent infinite loops
17
+ for (let i = 0; i < 100; i++) {
18
+ for (const marker of markers) {
19
+ if (existsSync(join(current, marker))) {
20
+ return current;
21
+ }
22
+ }
23
+ const parent = join(current, '..');
24
+ if (parent === current)
25
+ break; // Reached root
26
+ current = parent;
27
+ }
28
+ return null;
29
+ }
30
+ /**
31
+ * Discover the relay daemon socket path.
32
+ *
33
+ * Discovery order:
34
+ * 1. RELAY_SOCKET environment variable (explicit override)
35
+ * 2. Cloud workspace socket (if WORKSPACE_ID is set)
36
+ * 3. Project-local socket ({projectRoot}/.agent-relay/relay.sock)
37
+ * 4. Legacy fallback (/tmp/agent-relay.sock)
38
+ *
39
+ * @param cwd - Working directory to start search from (default: process.cwd())
40
+ * @returns Discovery result with socket path and metadata
41
+ */
42
+ export function discoverSocket(cwd) {
43
+ const startDir = cwd || process.cwd();
44
+ // 1. Explicit socket path from environment
45
+ const socketEnv = process.env.RELAY_SOCKET;
46
+ if (socketEnv && existsSync(socketEnv)) {
47
+ return {
48
+ socketPath: socketEnv,
49
+ projectId: process.env.RELAY_PROJECT || 'env',
50
+ source: 'env',
51
+ };
52
+ }
53
+ // 2. Cloud workspace socket (if WORKSPACE_ID is set)
54
+ const workspaceId = process.env.WORKSPACE_ID;
55
+ if (workspaceId) {
56
+ const cloudSocket = `/tmp/relay/${workspaceId}/sockets/daemon.sock`;
57
+ if (existsSync(cloudSocket)) {
58
+ return {
59
+ socketPath: cloudSocket,
60
+ projectId: workspaceId,
61
+ source: 'cloud',
62
+ };
63
+ }
64
+ }
65
+ // 3. Project-local socket
66
+ // First try cwd, then scan up to find project root
67
+ const projectRoot = findProjectRoot(startDir);
68
+ const searchDirs = [startDir];
69
+ if (projectRoot && projectRoot !== startDir) {
70
+ searchDirs.push(projectRoot);
71
+ }
72
+ for (const dir of searchDirs) {
73
+ const projectLocalSocket = join(dir, '.agent-relay', 'relay.sock');
74
+ if (existsSync(projectLocalSocket)) {
75
+ // Read project ID from marker file if available
76
+ let projectId = 'local';
77
+ const markerPath = join(dir, '.agent-relay', '.project');
78
+ if (existsSync(markerPath)) {
79
+ try {
80
+ const marker = JSON.parse(readFileSync(markerPath, 'utf-8'));
81
+ projectId = marker.projectId || 'local';
82
+ }
83
+ catch {
84
+ // Ignore marker read errors
85
+ }
86
+ }
87
+ return {
88
+ socketPath: projectLocalSocket,
89
+ projectId,
90
+ source: 'project',
91
+ };
92
+ }
93
+ }
94
+ // 4. Legacy fallback
95
+ const legacySocket = '/tmp/agent-relay.sock';
96
+ if (existsSync(legacySocket)) {
97
+ return {
98
+ socketPath: legacySocket,
99
+ projectId: 'legacy',
100
+ source: 'legacy',
101
+ };
102
+ }
103
+ // Also check ~/.agent-relay for legacy global installations
104
+ const homeSocket = join(homedir(), '.agent-relay', 'relay.sock');
105
+ if (existsSync(homeSocket)) {
106
+ return {
107
+ socketPath: homeSocket,
108
+ projectId: 'home',
109
+ source: 'legacy',
110
+ };
111
+ }
112
+ // Return legacy path even if it doesn't exist (will fail on connect)
113
+ return {
114
+ socketPath: legacySocket,
115
+ projectId: 'unknown',
116
+ source: 'legacy',
117
+ };
118
+ }
119
+ /**
120
+ * Get the default socket path using discovery.
121
+ * Convenience function that returns just the path.
122
+ */
123
+ export function getDefaultSocketPath(cwd) {
124
+ return discoverSocket(cwd).socketPath;
125
+ }
126
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -29,4 +29,5 @@ export { RelayClient, type ClientState, type ClientConfig, type SyncOptions, } f
29
29
  export { createRelay, createPair, type Relay, type RelayConfig, } from './standalone.js';
30
30
  export { PROTOCOL_VERSION, type MessageType, type PayloadKind, type Envelope, type EntityType, type SendPayload, type SendMeta, type SyncMeta, type DeliveryInfo, type AckPayload, type ErrorCode, type ErrorPayload, type SpeakOnTrigger, type ShadowConfig, type SpawnPayload, type SpawnResultPayload, type ReleasePayload, type ReleaseResultPayload, type ChannelMessagePayload, type ChannelJoinPayload, type ChannelLeavePayload, } from './protocol/index.js';
31
31
  export { encodeFrame, encodeFrameLegacy, FrameParser, MAX_FRAME_BYTES, } from './protocol/index.js';
32
+ export { discoverSocket, getDefaultSocketPath, type DiscoveryResult, } from './discovery.js';
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,UAAU,EACV,KAAK,KAAK,EACV,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,UAAU,EACV,KAAK,KAAK,EACV,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -33,4 +33,6 @@ export { createRelay, createPair, } from './standalone.js';
33
33
  export { PROTOCOL_VERSION, } from './protocol/index.js';
34
34
  // Framing utilities
35
35
  export { encodeFrame, encodeFrameLegacy, FrameParser, MAX_FRAME_BYTES, } from './protocol/index.js';
36
+ // Socket discovery utilities
37
+ export { discoverSocket, getDefaultSocketPath, } from './discovery.js';
36
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc;AACd,OAAO,EACL,WAAW,GAIZ,MAAM,aAAa,CAAC;AAErB,4DAA4D;AAC5D,OAAO,EACL,WAAW,EACX,UAAU,GAGX,MAAM,iBAAiB,CAAC;AAEzB,6CAA6C;AAC7C,OAAO,EACL,gBAAgB,GAuBjB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc;AACd,OAAO,EACL,WAAW,GAIZ,MAAM,aAAa,CAAC;AAErB,4DAA4D;AAC5D,OAAO,EACL,WAAW,EACX,UAAU,GAGX,MAAM,iBAAiB,CAAC;AAEzB,6CAA6C;AAC7C,OAAO,EACL,gBAAgB,GAuBjB,MAAM,qBAAqB,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,cAAc,EACd,oBAAoB,GAErB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAS7D,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,6CAA6C;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,gDAAgD;IAChD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,WAAW,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CA2D1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,WAAgB,GACvB,OAAO,CAAC;KACR,CAAC,IAAI,OAAO,KAAK,GAAG,WAAW;CACjC,GAAG;KACD,CAAC,IAAI,OAAO,KAAK,GAAG,WAAW;CACjC,GAAG;IACF,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC,CAWD;AAGD,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAS7D,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,6CAA6C;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,gDAAgD;IAChD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,WAAW,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CA4D1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,WAAgB,GACvB,OAAO,CAAC;KACR,CAAC,IAAI,OAAO,KAAK,GAAG,WAAW;CACjC,GAAG;KACD,CAAC,IAAI,OAAO,KAAK,GAAG,WAAW;CACjC,GAAG;IACF,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC,CAWD;AAGD,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -52,6 +52,7 @@ export async function createRelay(config = {}) {
52
52
  // Lazy-load daemon to keep SDK lightweight for client-only users
53
53
  let Daemon;
54
54
  try {
55
+ // @ts-ignore - daemon is an optional peer dependency, may not be installed
55
56
  const daemonModule = await import('@agent-relay/daemon');
56
57
  Daemon = daemonModule.Daemon;
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AA2B7D,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAsB,EAAE;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IAEnC,iEAAiE;IACjE,IAAI,MAA2D,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,yDAAyD;YACzD,uCAAuC;YACvC,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,UAAU;QACV,SAAS,EAAE,KAAK,EAAE,gCAAgC;QAClD,SAAS,EAAE,KAAK,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,eAAsC,EAAE;YACjE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;gBAC7B,SAAS,EAAE,IAAI;gBACf,UAAU;gBACV,KAAK;gBACL,SAAS,EAAE,IAAI;gBACf,GAAG,YAAY;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI;YACR,+BAA+B;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,kBAAkB;YAClB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,SAAS;YACX,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,SAAsB,EAAE;IASxB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,CAAC,KAAK,CAAC,EAAE,OAAO;QAChB,CAAC,KAAK,CAAC,EAAE,OAAO;QAChB,KAAK;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;KAClB,CAAC;AACX,CAAC;AAED,mCAAmC;AACnC,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AA2B7D,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAsB,EAAE;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IAEnC,iEAAiE;IACjE,IAAI,MAA2D,CAAC;IAChE,IAAI,CAAC;QACH,2EAA2E;QAC3E,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,yDAAyD;YACzD,uCAAuC;YACvC,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,UAAU;QACV,SAAS,EAAE,KAAK,EAAE,gCAAgC;QAClD,SAAS,EAAE,KAAK,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,eAAsC,EAAE;YACjE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;gBAC7B,SAAS,EAAE,IAAI;gBACf,UAAU;gBACV,KAAK;gBACL,SAAS,EAAE,IAAI;gBACf,GAAG,YAAY;aAChB,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,IAAI;YACR,+BAA+B;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,kBAAkB;YAClB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,SAAS;YACX,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,SAAsB,EAAE;IASxB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,CAAC,KAAK,CAAC,EAAE,OAAO;QAChB,CAAC,KAAK,CAAC,EAAE,OAAO;QAChB,KAAK;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;KAClB,CAAC;AACX,CAAC;AAED,mCAAmC;AACnC,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/sdk",
3
- "version": "0.1.0",
3
+ "version": "2.0.4",
4
4
  "description": "Lightweight SDK for agent-to-agent communication via Agent Relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -55,13 +55,13 @@
55
55
  "access": "public"
56
56
  },
57
57
  "dependencies": {
58
- "@agent-relay/protocol": "^0.1.2"
58
+ "@agent-relay/protocol": "2.0.4"
59
59
  },
60
60
  "engines": {
61
61
  "node": ">=18.0.0"
62
62
  },
63
63
  "peerDependencies": {
64
- "@agent-relay/daemon": "^0.1.0"
64
+ "@agent-relay/daemon": "*"
65
65
  },
66
66
  "peerDependenciesMeta": {
67
67
  "@agent-relay/daemon": {
@@ -72,7 +72,7 @@
72
72
  "@msgpack/msgpack": "^3.0.0"
73
73
  },
74
74
  "devDependencies": {
75
- "@agent-relay/daemon": "^0.1.0",
75
+ "@agent-relay/daemon": "*",
76
76
  "@types/node": "^22.19.3",
77
77
  "typescript": "^5.9.3",
78
78
  "vitest": "^3.0.0"