@agent-relay/wrapper 0.1.0
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/dist/__fixtures__/claude-outputs.d.ts +49 -0
- package/dist/__fixtures__/claude-outputs.d.ts.map +1 -0
- package/dist/__fixtures__/claude-outputs.js +443 -0
- package/dist/__fixtures__/claude-outputs.js.map +1 -0
- package/dist/__fixtures__/codex-outputs.d.ts +9 -0
- package/dist/__fixtures__/codex-outputs.d.ts.map +1 -0
- package/dist/__fixtures__/codex-outputs.js +94 -0
- package/dist/__fixtures__/codex-outputs.js.map +1 -0
- package/dist/__fixtures__/gemini-outputs.d.ts +19 -0
- package/dist/__fixtures__/gemini-outputs.d.ts.map +1 -0
- package/dist/__fixtures__/gemini-outputs.js +144 -0
- package/dist/__fixtures__/gemini-outputs.js.map +1 -0
- package/dist/__fixtures__/index.d.ts +68 -0
- package/dist/__fixtures__/index.d.ts.map +1 -0
- package/dist/__fixtures__/index.js +44 -0
- package/dist/__fixtures__/index.js.map +1 -0
- package/dist/auth-detection.d.ts +49 -0
- package/dist/auth-detection.d.ts.map +1 -0
- package/dist/auth-detection.js +199 -0
- package/dist/auth-detection.js.map +1 -0
- package/dist/base-wrapper.d.ts +225 -0
- package/dist/base-wrapper.d.ts.map +1 -0
- package/dist/base-wrapper.js +572 -0
- package/dist/base-wrapper.js.map +1 -0
- package/dist/client.d.ts +254 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +801 -0
- package/dist/client.js.map +1 -0
- package/dist/id-generator.d.ts +35 -0
- package/dist/id-generator.d.ts.map +1 -0
- package/dist/id-generator.js +60 -0
- package/dist/id-generator.js.map +1 -0
- package/dist/idle-detector.d.ts +110 -0
- package/dist/idle-detector.d.ts.map +1 -0
- package/dist/idle-detector.js +304 -0
- package/dist/idle-detector.js.map +1 -0
- package/dist/inbox.d.ts +37 -0
- package/dist/inbox.d.ts.map +1 -0
- package/dist/inbox.js +73 -0
- package/dist/inbox.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/parser.d.ts +236 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +1238 -0
- package/dist/parser.js.map +1 -0
- package/dist/prompt-composer.d.ts +67 -0
- package/dist/prompt-composer.d.ts.map +1 -0
- package/dist/prompt-composer.js +168 -0
- package/dist/prompt-composer.js.map +1 -0
- package/dist/relay-pty-orchestrator.d.ts +407 -0
- package/dist/relay-pty-orchestrator.d.ts.map +1 -0
- package/dist/relay-pty-orchestrator.js +1885 -0
- package/dist/relay-pty-orchestrator.js.map +1 -0
- package/dist/shared.d.ts +201 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +341 -0
- package/dist/shared.js.map +1 -0
- package/dist/stuck-detector.d.ts +161 -0
- package/dist/stuck-detector.d.ts.map +1 -0
- package/dist/stuck-detector.js +402 -0
- package/dist/stuck-detector.js.map +1 -0
- package/dist/tmux-resolver.d.ts +55 -0
- package/dist/tmux-resolver.d.ts.map +1 -0
- package/dist/tmux-resolver.js +175 -0
- package/dist/tmux-resolver.js.map +1 -0
- package/dist/tmux-wrapper.d.ts +345 -0
- package/dist/tmux-wrapper.d.ts.map +1 -0
- package/dist/tmux-wrapper.js +1747 -0
- package/dist/tmux-wrapper.js.map +1 -0
- package/dist/trajectory-integration.d.ts +292 -0
- package/dist/trajectory-integration.d.ts.map +1 -0
- package/dist/trajectory-integration.js +979 -0
- package/dist/trajectory-integration.js.map +1 -0
- package/dist/wrapper-types.d.ts +41 -0
- package/dist/wrapper-types.d.ts.map +1 -0
- package/dist/wrapper-types.js +7 -0
- package/dist/wrapper-types.js.map +1 -0
- package/package.json +63 -0
- package/src/__fixtures__/claude-outputs.ts +471 -0
- package/src/__fixtures__/codex-outputs.ts +99 -0
- package/src/__fixtures__/gemini-outputs.ts +151 -0
- package/src/__fixtures__/index.ts +47 -0
- package/src/auth-detection.ts +244 -0
- package/src/base-wrapper.test.ts +540 -0
- package/src/base-wrapper.ts +741 -0
- package/src/client.test.ts +262 -0
- package/src/client.ts +984 -0
- package/src/id-generator.test.ts +71 -0
- package/src/id-generator.ts +69 -0
- package/src/idle-detector.test.ts +390 -0
- package/src/idle-detector.ts +370 -0
- package/src/inbox.test.ts +233 -0
- package/src/inbox.ts +89 -0
- package/src/index.ts +170 -0
- package/src/parser.regression.test.ts +251 -0
- package/src/parser.test.ts +1359 -0
- package/src/parser.ts +1477 -0
- package/src/prompt-composer.test.ts +219 -0
- package/src/prompt-composer.ts +231 -0
- package/src/relay-pty-orchestrator.test.ts +1027 -0
- package/src/relay-pty-orchestrator.ts +2270 -0
- package/src/shared.test.ts +221 -0
- package/src/shared.ts +454 -0
- package/src/stuck-detector.test.ts +303 -0
- package/src/stuck-detector.ts +511 -0
- package/src/tmux-resolver.test.ts +104 -0
- package/src/tmux-resolver.ts +207 -0
- package/src/tmux-wrapper.test.ts +316 -0
- package/src/tmux-wrapper.ts +2010 -0
- package/src/trajectory-detection.test.ts +151 -0
- package/src/trajectory-integration.ts +1261 -0
- package/src/wrapper-types.ts +45 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relay Client
|
|
3
|
+
* Connects to the daemon and handles message sending/receiving.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated **MIGRATION REQUIRED** - This module will be removed in a future version.
|
|
6
|
+
*
|
|
7
|
+
* ## Migration Path
|
|
8
|
+
*
|
|
9
|
+
* Replace imports from `@agent-relay/wrapper` with `@agent-relay/sdk`:
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // BEFORE (deprecated)
|
|
13
|
+
* import { RelayClient } from '@agent-relay/wrapper';
|
|
14
|
+
*
|
|
15
|
+
* // AFTER (recommended)
|
|
16
|
+
* import { RelayClient } from '@agent-relay/sdk';
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* The `@agent-relay/sdk` provides the same API with:
|
|
20
|
+
* - Identical method signatures
|
|
21
|
+
* - Same configuration options
|
|
22
|
+
* - Compatible event handlers
|
|
23
|
+
*
|
|
24
|
+
* ## Timeline
|
|
25
|
+
*
|
|
26
|
+
* - Current: Deprecation warning on first use
|
|
27
|
+
* - Next minor: TypeScript deprecation errors
|
|
28
|
+
* - Next major: This module will be removed
|
|
29
|
+
*
|
|
30
|
+
* ## Internal Use Only
|
|
31
|
+
*
|
|
32
|
+
* This client is retained only for internal daemon/wrapper integration.
|
|
33
|
+
* External consumers should always use `@agent-relay/sdk`.
|
|
34
|
+
*
|
|
35
|
+
* Optimizations:
|
|
36
|
+
* - Monotonic ID generation (faster than UUID)
|
|
37
|
+
* - Write coalescing (batch socket writes)
|
|
38
|
+
* - Circular dedup cache (O(1) eviction)
|
|
39
|
+
*/
|
|
40
|
+
import { type Envelope, type SendPayload, type SendMeta, type AckPayload, type PayloadKind, type SpeakOnTrigger, type EntityType } from '@agent-relay/protocol/types';
|
|
41
|
+
import type { ChannelMessagePayload, MessageAttachment } from '@agent-relay/protocol/channels';
|
|
42
|
+
export type ClientState = 'DISCONNECTED' | 'CONNECTING' | 'HANDSHAKING' | 'READY' | 'BACKOFF';
|
|
43
|
+
export interface SyncOptions {
|
|
44
|
+
timeoutMs?: number;
|
|
45
|
+
kind?: PayloadKind;
|
|
46
|
+
data?: Record<string, unknown>;
|
|
47
|
+
thread?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface ClientConfig {
|
|
50
|
+
socketPath: string;
|
|
51
|
+
agentName: string;
|
|
52
|
+
/** Entity type: 'agent' (default) or 'user' for human users */
|
|
53
|
+
entityType?: EntityType;
|
|
54
|
+
/** Optional CLI identifier to surface to the dashboard */
|
|
55
|
+
cli?: string;
|
|
56
|
+
/** Optional program identifier (e.g., 'claude', 'gpt-4o') */
|
|
57
|
+
program?: string;
|
|
58
|
+
/** Optional model identifier (e.g., 'claude-3-opus-2024-xx') */
|
|
59
|
+
model?: string;
|
|
60
|
+
/** Optional task description for registry/dashboard */
|
|
61
|
+
task?: string;
|
|
62
|
+
/** Optional working directory to surface in registry/dashboard */
|
|
63
|
+
workingDirectory?: string;
|
|
64
|
+
/** Display name for human users */
|
|
65
|
+
displayName?: string;
|
|
66
|
+
/** Avatar URL for human users */
|
|
67
|
+
avatarUrl?: string;
|
|
68
|
+
/** Suppress client-side console logging */
|
|
69
|
+
quiet?: boolean;
|
|
70
|
+
reconnect: boolean;
|
|
71
|
+
maxReconnectAttempts: number;
|
|
72
|
+
reconnectDelayMs: number;
|
|
73
|
+
reconnectMaxDelayMs: number;
|
|
74
|
+
/** Internal flag to suppress deprecation warning (for wrapper internal use only) */
|
|
75
|
+
_internal?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @deprecated Use `RelayClient` from `@agent-relay/sdk` instead.
|
|
79
|
+
* This class will be removed in a future major version.
|
|
80
|
+
*/
|
|
81
|
+
export declare class RelayClient {
|
|
82
|
+
/** Track if deprecation warning has been shown (warn once per process) */
|
|
83
|
+
private static _deprecationWarningShown;
|
|
84
|
+
private config;
|
|
85
|
+
private socket?;
|
|
86
|
+
private parser;
|
|
87
|
+
private _state;
|
|
88
|
+
private sessionId?;
|
|
89
|
+
private resumeToken?;
|
|
90
|
+
private reconnectAttempts;
|
|
91
|
+
private reconnectDelay;
|
|
92
|
+
private reconnectTimer?;
|
|
93
|
+
private _destroyed;
|
|
94
|
+
private dedupeCache;
|
|
95
|
+
private writeQueue;
|
|
96
|
+
private writeScheduled;
|
|
97
|
+
private pendingSyncAcks;
|
|
98
|
+
/**
|
|
99
|
+
* Handler for incoming messages.
|
|
100
|
+
* @param from - The sender agent name
|
|
101
|
+
* @param payload - The message payload
|
|
102
|
+
* @param messageId - Unique message ID
|
|
103
|
+
* @param meta - Optional message metadata
|
|
104
|
+
* @param originalTo - Original 'to' field from sender (e.g., '*' for broadcasts)
|
|
105
|
+
*/
|
|
106
|
+
onMessage?: (from: string, payload: SendPayload, messageId: string, meta?: SendMeta, originalTo?: string) => void;
|
|
107
|
+
/**
|
|
108
|
+
* Callback for channel messages.
|
|
109
|
+
* @param from - Sender name
|
|
110
|
+
* @param channel - Channel name
|
|
111
|
+
* @param body - Message content
|
|
112
|
+
* @param envelope - Full envelope for additional data
|
|
113
|
+
*/
|
|
114
|
+
onChannelMessage?: (from: string, channel: string, body: string, envelope: Envelope<ChannelMessagePayload>) => void;
|
|
115
|
+
onStateChange?: (state: ClientState) => void;
|
|
116
|
+
onError?: (error: Error) => void;
|
|
117
|
+
constructor(config?: Partial<ClientConfig>);
|
|
118
|
+
get state(): ClientState;
|
|
119
|
+
get agentName(): string;
|
|
120
|
+
/** Get the session ID assigned by the server */
|
|
121
|
+
get currentSessionId(): string | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Connect to the relay daemon.
|
|
124
|
+
*/
|
|
125
|
+
connect(): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Disconnect from the relay daemon.
|
|
128
|
+
*/
|
|
129
|
+
disconnect(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Permanently destroy the client. Disconnects and prevents any reconnection.
|
|
132
|
+
*/
|
|
133
|
+
destroy(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Send a message to another agent.
|
|
136
|
+
* @param to - Target agent name or '*' for broadcast
|
|
137
|
+
* @param body - Message body
|
|
138
|
+
* @param kind - Message type (default: 'message')
|
|
139
|
+
* @param data - Optional structured data
|
|
140
|
+
* @param thread - Optional thread ID for grouping related messages
|
|
141
|
+
* @param meta - Optional message metadata (importance, replyTo, etc.)
|
|
142
|
+
*/
|
|
143
|
+
sendMessage(to: string, body: string, kind?: PayloadKind, data?: Record<string, unknown>, thread?: string, meta?: SendMeta): boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Send an ACK for a delivered message.
|
|
146
|
+
*/
|
|
147
|
+
sendAck(payload: AckPayload): boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Send a message and wait for a correlated ACK response.
|
|
150
|
+
*/
|
|
151
|
+
sendAndWait(to: string, body: string, options?: SyncOptions): Promise<AckPayload>;
|
|
152
|
+
/**
|
|
153
|
+
* Broadcast a message to all agents.
|
|
154
|
+
*/
|
|
155
|
+
broadcast(body: string, kind?: PayloadKind, data?: Record<string, unknown>): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Join a channel.
|
|
158
|
+
* @param channel - Channel name (e.g., '#general', 'dm:alice:bob')
|
|
159
|
+
* @param displayName - Optional display name for this member
|
|
160
|
+
*/
|
|
161
|
+
joinChannel(channel: string, displayName?: string): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Admin join: Add any member to a channel (does not require member to be connected).
|
|
164
|
+
* Used by dashboard to sync channel memberships for agents.
|
|
165
|
+
* @param channel - Channel name (e.g., '#general')
|
|
166
|
+
* @param member - Name of the member to add
|
|
167
|
+
*/
|
|
168
|
+
adminJoinChannel(channel: string, member: string): boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Leave a channel.
|
|
171
|
+
* @param channel - Channel name to leave
|
|
172
|
+
* @param reason - Optional reason for leaving
|
|
173
|
+
*/
|
|
174
|
+
leaveChannel(channel: string, reason?: string): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Admin remove: Remove any member from a channel (does not require member to be connected).
|
|
177
|
+
* Used by dashboard to remove channel members.
|
|
178
|
+
* @param channel - Channel name (e.g., '#general')
|
|
179
|
+
* @param member - Name of the member to remove
|
|
180
|
+
*/
|
|
181
|
+
adminRemoveMember(channel: string, member: string): boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Send a message to a channel.
|
|
184
|
+
* @param channel - Channel name
|
|
185
|
+
* @param body - Message content
|
|
186
|
+
* @param options - Optional thread, mentions, attachments
|
|
187
|
+
*/
|
|
188
|
+
sendChannelMessage(channel: string, body: string, options?: {
|
|
189
|
+
thread?: string;
|
|
190
|
+
mentions?: string[];
|
|
191
|
+
attachments?: MessageAttachment[];
|
|
192
|
+
data?: Record<string, unknown>;
|
|
193
|
+
}): boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Subscribe to a topic.
|
|
196
|
+
*/
|
|
197
|
+
subscribe(topic: string): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Unsubscribe from a topic.
|
|
200
|
+
*/
|
|
201
|
+
unsubscribe(topic: string): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Bind this agent as a shadow to a primary agent.
|
|
204
|
+
* As a shadow, this agent will receive copies of messages to/from the primary.
|
|
205
|
+
* @param primaryAgent - The agent to shadow
|
|
206
|
+
* @param options - Shadow configuration options
|
|
207
|
+
*/
|
|
208
|
+
bindAsShadow(primaryAgent: string, options?: {
|
|
209
|
+
/** When this shadow should speak (default: ['EXPLICIT_ASK']) */
|
|
210
|
+
speakOn?: SpeakOnTrigger[];
|
|
211
|
+
/** Receive copies of messages TO the primary (default: true) */
|
|
212
|
+
receiveIncoming?: boolean;
|
|
213
|
+
/** Receive copies of messages FROM the primary (default: true) */
|
|
214
|
+
receiveOutgoing?: boolean;
|
|
215
|
+
}): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* Unbind this agent from a primary agent (stop shadowing).
|
|
218
|
+
* @param primaryAgent - The agent to stop shadowing
|
|
219
|
+
*/
|
|
220
|
+
unbindAsShadow(primaryAgent: string): boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Send log/output data to the daemon for dashboard streaming.
|
|
223
|
+
* Used by daemon-connected agents (not spawned workers) to stream their output.
|
|
224
|
+
* @param data - The log/output data to send
|
|
225
|
+
* @returns true if sent successfully, false otherwise
|
|
226
|
+
*/
|
|
227
|
+
sendLog(data: string): boolean;
|
|
228
|
+
private setState;
|
|
229
|
+
private sendHello;
|
|
230
|
+
private send;
|
|
231
|
+
/**
|
|
232
|
+
* Flush all queued writes in a single syscall.
|
|
233
|
+
*/
|
|
234
|
+
private flushWrites;
|
|
235
|
+
private handleData;
|
|
236
|
+
private processFrame;
|
|
237
|
+
private handleWelcome;
|
|
238
|
+
private handleDeliver;
|
|
239
|
+
private handleAck;
|
|
240
|
+
private handleChannelMessage;
|
|
241
|
+
private handlePing;
|
|
242
|
+
private handleErrorFrame;
|
|
243
|
+
private handleDisconnect;
|
|
244
|
+
private handleError;
|
|
245
|
+
private rejectPendingSyncAcks;
|
|
246
|
+
private scheduleReconnect;
|
|
247
|
+
/**
|
|
248
|
+
* Check if message was already delivered (deduplication).
|
|
249
|
+
* Uses circular buffer for O(1) eviction.
|
|
250
|
+
* @returns true if the message has already been seen.
|
|
251
|
+
*/
|
|
252
|
+
private markDelivered;
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|