@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.
Files changed (115) hide show
  1. package/dist/__fixtures__/claude-outputs.d.ts +49 -0
  2. package/dist/__fixtures__/claude-outputs.d.ts.map +1 -0
  3. package/dist/__fixtures__/claude-outputs.js +443 -0
  4. package/dist/__fixtures__/claude-outputs.js.map +1 -0
  5. package/dist/__fixtures__/codex-outputs.d.ts +9 -0
  6. package/dist/__fixtures__/codex-outputs.d.ts.map +1 -0
  7. package/dist/__fixtures__/codex-outputs.js +94 -0
  8. package/dist/__fixtures__/codex-outputs.js.map +1 -0
  9. package/dist/__fixtures__/gemini-outputs.d.ts +19 -0
  10. package/dist/__fixtures__/gemini-outputs.d.ts.map +1 -0
  11. package/dist/__fixtures__/gemini-outputs.js +144 -0
  12. package/dist/__fixtures__/gemini-outputs.js.map +1 -0
  13. package/dist/__fixtures__/index.d.ts +68 -0
  14. package/dist/__fixtures__/index.d.ts.map +1 -0
  15. package/dist/__fixtures__/index.js +44 -0
  16. package/dist/__fixtures__/index.js.map +1 -0
  17. package/dist/auth-detection.d.ts +49 -0
  18. package/dist/auth-detection.d.ts.map +1 -0
  19. package/dist/auth-detection.js +199 -0
  20. package/dist/auth-detection.js.map +1 -0
  21. package/dist/base-wrapper.d.ts +225 -0
  22. package/dist/base-wrapper.d.ts.map +1 -0
  23. package/dist/base-wrapper.js +572 -0
  24. package/dist/base-wrapper.js.map +1 -0
  25. package/dist/client.d.ts +254 -0
  26. package/dist/client.d.ts.map +1 -0
  27. package/dist/client.js +801 -0
  28. package/dist/client.js.map +1 -0
  29. package/dist/id-generator.d.ts +35 -0
  30. package/dist/id-generator.d.ts.map +1 -0
  31. package/dist/id-generator.js +60 -0
  32. package/dist/id-generator.js.map +1 -0
  33. package/dist/idle-detector.d.ts +110 -0
  34. package/dist/idle-detector.d.ts.map +1 -0
  35. package/dist/idle-detector.js +304 -0
  36. package/dist/idle-detector.js.map +1 -0
  37. package/dist/inbox.d.ts +37 -0
  38. package/dist/inbox.d.ts.map +1 -0
  39. package/dist/inbox.js +73 -0
  40. package/dist/inbox.js.map +1 -0
  41. package/dist/index.d.ts +37 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +47 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/parser.d.ts +236 -0
  46. package/dist/parser.d.ts.map +1 -0
  47. package/dist/parser.js +1238 -0
  48. package/dist/parser.js.map +1 -0
  49. package/dist/prompt-composer.d.ts +67 -0
  50. package/dist/prompt-composer.d.ts.map +1 -0
  51. package/dist/prompt-composer.js +168 -0
  52. package/dist/prompt-composer.js.map +1 -0
  53. package/dist/relay-pty-orchestrator.d.ts +407 -0
  54. package/dist/relay-pty-orchestrator.d.ts.map +1 -0
  55. package/dist/relay-pty-orchestrator.js +1885 -0
  56. package/dist/relay-pty-orchestrator.js.map +1 -0
  57. package/dist/shared.d.ts +201 -0
  58. package/dist/shared.d.ts.map +1 -0
  59. package/dist/shared.js +341 -0
  60. package/dist/shared.js.map +1 -0
  61. package/dist/stuck-detector.d.ts +161 -0
  62. package/dist/stuck-detector.d.ts.map +1 -0
  63. package/dist/stuck-detector.js +402 -0
  64. package/dist/stuck-detector.js.map +1 -0
  65. package/dist/tmux-resolver.d.ts +55 -0
  66. package/dist/tmux-resolver.d.ts.map +1 -0
  67. package/dist/tmux-resolver.js +175 -0
  68. package/dist/tmux-resolver.js.map +1 -0
  69. package/dist/tmux-wrapper.d.ts +345 -0
  70. package/dist/tmux-wrapper.d.ts.map +1 -0
  71. package/dist/tmux-wrapper.js +1747 -0
  72. package/dist/tmux-wrapper.js.map +1 -0
  73. package/dist/trajectory-integration.d.ts +292 -0
  74. package/dist/trajectory-integration.d.ts.map +1 -0
  75. package/dist/trajectory-integration.js +979 -0
  76. package/dist/trajectory-integration.js.map +1 -0
  77. package/dist/wrapper-types.d.ts +41 -0
  78. package/dist/wrapper-types.d.ts.map +1 -0
  79. package/dist/wrapper-types.js +7 -0
  80. package/dist/wrapper-types.js.map +1 -0
  81. package/package.json +63 -0
  82. package/src/__fixtures__/claude-outputs.ts +471 -0
  83. package/src/__fixtures__/codex-outputs.ts +99 -0
  84. package/src/__fixtures__/gemini-outputs.ts +151 -0
  85. package/src/__fixtures__/index.ts +47 -0
  86. package/src/auth-detection.ts +244 -0
  87. package/src/base-wrapper.test.ts +540 -0
  88. package/src/base-wrapper.ts +741 -0
  89. package/src/client.test.ts +262 -0
  90. package/src/client.ts +984 -0
  91. package/src/id-generator.test.ts +71 -0
  92. package/src/id-generator.ts +69 -0
  93. package/src/idle-detector.test.ts +390 -0
  94. package/src/idle-detector.ts +370 -0
  95. package/src/inbox.test.ts +233 -0
  96. package/src/inbox.ts +89 -0
  97. package/src/index.ts +170 -0
  98. package/src/parser.regression.test.ts +251 -0
  99. package/src/parser.test.ts +1359 -0
  100. package/src/parser.ts +1477 -0
  101. package/src/prompt-composer.test.ts +219 -0
  102. package/src/prompt-composer.ts +231 -0
  103. package/src/relay-pty-orchestrator.test.ts +1027 -0
  104. package/src/relay-pty-orchestrator.ts +2270 -0
  105. package/src/shared.test.ts +221 -0
  106. package/src/shared.ts +454 -0
  107. package/src/stuck-detector.test.ts +303 -0
  108. package/src/stuck-detector.ts +511 -0
  109. package/src/tmux-resolver.test.ts +104 -0
  110. package/src/tmux-resolver.ts +207 -0
  111. package/src/tmux-wrapper.test.ts +316 -0
  112. package/src/tmux-wrapper.ts +2010 -0
  113. package/src/trajectory-detection.test.ts +151 -0
  114. package/src/trajectory-integration.ts +1261 -0
  115. package/src/wrapper-types.ts +45 -0
@@ -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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"}