@agent-relay/mcp 2.1.13 → 2.1.14

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 (70) hide show
  1. package/README.md +31 -0
  2. package/dist/bin.js +18 -5
  3. package/dist/bin.js.map +1 -1
  4. package/dist/{client.d.ts → client-adapter.d.ts} +22 -36
  5. package/dist/client-adapter.d.ts.map +1 -0
  6. package/dist/client-adapter.js +230 -0
  7. package/dist/client-adapter.js.map +1 -0
  8. package/dist/hybrid-client.d.ts +1 -31
  9. package/dist/hybrid-client.d.ts.map +1 -1
  10. package/dist/hybrid-client.js +3 -153
  11. package/dist/hybrid-client.js.map +1 -1
  12. package/dist/index.d.ts +2 -3
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +4 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/resources/agents.d.ts +1 -1
  17. package/dist/resources/agents.d.ts.map +1 -1
  18. package/dist/resources/inbox.d.ts +1 -1
  19. package/dist/resources/inbox.d.ts.map +1 -1
  20. package/dist/resources/project.d.ts +1 -1
  21. package/dist/resources/project.d.ts.map +1 -1
  22. package/dist/server.d.ts +5 -1
  23. package/dist/server.d.ts.map +1 -1
  24. package/dist/server.js.map +1 -1
  25. package/dist/simple.d.ts +1 -1
  26. package/dist/simple.d.ts.map +1 -1
  27. package/dist/simple.js +1 -1
  28. package/dist/simple.js.map +1 -1
  29. package/dist/tools/relay-broadcast.d.ts +1 -1
  30. package/dist/tools/relay-broadcast.d.ts.map +1 -1
  31. package/dist/tools/relay-channel.d.ts +1 -1
  32. package/dist/tools/relay-channel.d.ts.map +1 -1
  33. package/dist/tools/relay-connected.d.ts +1 -1
  34. package/dist/tools/relay-connected.d.ts.map +1 -1
  35. package/dist/tools/relay-consensus.d.ts +7 -7
  36. package/dist/tools/relay-consensus.d.ts.map +1 -1
  37. package/dist/tools/relay-continuity.d.ts +1 -1
  38. package/dist/tools/relay-continuity.d.ts.map +1 -1
  39. package/dist/tools/relay-health.d.ts +1 -1
  40. package/dist/tools/relay-health.d.ts.map +1 -1
  41. package/dist/tools/relay-inbox.d.ts +2 -2
  42. package/dist/tools/relay-inbox.d.ts.map +1 -1
  43. package/dist/tools/relay-logs.d.ts +1 -1
  44. package/dist/tools/relay-logs.d.ts.map +1 -1
  45. package/dist/tools/relay-messages.d.ts +7 -7
  46. package/dist/tools/relay-messages.d.ts.map +1 -1
  47. package/dist/tools/relay-metrics.d.ts +1 -1
  48. package/dist/tools/relay-metrics.d.ts.map +1 -1
  49. package/dist/tools/relay-metrics.js +4 -4
  50. package/dist/tools/relay-metrics.js.map +1 -1
  51. package/dist/tools/relay-release.d.ts +1 -1
  52. package/dist/tools/relay-release.d.ts.map +1 -1
  53. package/dist/tools/relay-remove-agent.d.ts +1 -1
  54. package/dist/tools/relay-remove-agent.d.ts.map +1 -1
  55. package/dist/tools/relay-send.d.ts +3 -3
  56. package/dist/tools/relay-send.d.ts.map +1 -1
  57. package/dist/tools/relay-shadow.d.ts +1 -1
  58. package/dist/tools/relay-shadow.d.ts.map +1 -1
  59. package/dist/tools/relay-spawn.d.ts +3 -3
  60. package/dist/tools/relay-spawn.d.ts.map +1 -1
  61. package/dist/tools/relay-status.d.ts +1 -1
  62. package/dist/tools/relay-status.d.ts.map +1 -1
  63. package/dist/tools/relay-subscribe.d.ts +1 -1
  64. package/dist/tools/relay-subscribe.d.ts.map +1 -1
  65. package/dist/tools/relay-who.d.ts +1 -1
  66. package/dist/tools/relay-who.d.ts.map +1 -1
  67. package/package.json +13 -4
  68. package/dist/client.d.ts.map +0 -1
  69. package/dist/client.js +0 -320
  70. package/dist/client.js.map +0 -1
package/README.md CHANGED
@@ -19,6 +19,37 @@ The wizard will:
19
19
  2. Offer to start the daemon
20
20
  3. Show you how to use the relay tools
21
21
 
22
+ ## Breaking Changes
23
+
24
+ ### v1.x: Client Module Restructure
25
+
26
+ The internal client module has been restructured. **Main package exports are unchanged** - only direct file imports are affected.
27
+
28
+ **If you import from the main package (recommended), no changes needed:**
29
+
30
+ ```typescript
31
+ // This still works - no changes required
32
+ import { createRelayClient } from '@agent-relay/mcp';
33
+ ```
34
+
35
+ **If you import directly from source files, update your imports:**
36
+
37
+ ```typescript
38
+ // OLD (no longer works):
39
+ import { createRelayClient } from '@agent-relay/mcp/src/client.js';
40
+
41
+ // NEW:
42
+ import { createRelayClient } from '@agent-relay/mcp';
43
+
44
+ // Alternative (if you need direct file import):
45
+ import { createRelayClient } from '@agent-relay/mcp/src/client-adapter.js';
46
+ ```
47
+
48
+ **What changed:**
49
+ - `packages/mcp/src/client.ts` has been deleted
50
+ - Functionality moved to `packages/mcp/src/client-adapter.ts`
51
+ - Main package exports (`@agent-relay/mcp`) continue to work unchanged
52
+
22
53
  ## Manual Installation
23
54
 
24
55
  ### Install MCP for Editors
package/dist/bin.js CHANGED
@@ -10,6 +10,8 @@
10
10
  */
11
11
  import { parseArgs } from 'node:util';
12
12
  import { runInstall, validateEditor, getValidEditors } from './install-cli.js';
13
+ import { RelayClient } from '@agent-relay/sdk';
14
+ import { createRelayClientAdapter } from './client-adapter.js';
13
15
  const { values, positionals } = parseArgs({
14
16
  allowPositionals: true,
15
17
  options: {
@@ -104,7 +106,7 @@ switch (command) {
104
106
  (async () => {
105
107
  try {
106
108
  const { runMCPServer, discoverSocket, discoverAgentName } = await import('./index.js');
107
- const { createHybridClient, discoverProjectRoot } = await import('./hybrid-client.js');
109
+ const { discoverProjectRoot } = await import('./hybrid-client.js');
108
110
  const { join } = await import('node:path');
109
111
  const { existsSync } = await import('node:fs');
110
112
  // Use explicit project path if provided (for MCP servers invoked from different contexts)
@@ -123,7 +125,7 @@ switch (command) {
123
125
  }
124
126
  const discovery = discoverSocket();
125
127
  const agentName = discoverAgentName(discovery) || `mcp-${process.pid}`;
126
- // Discover project root for file-based transport
128
+ // Discover project root
127
129
  if (!projectRoot) {
128
130
  projectRoot = discoverProjectRoot() ?? undefined;
129
131
  }
@@ -139,14 +141,25 @@ switch (command) {
139
141
  console.error('Run "agent-relay up" in the project to start the daemon first');
140
142
  process.exit(1);
141
143
  }
142
- // Create hybrid client (file-based writes, socket queries)
143
- const client = createHybridClient({
144
+ const client = new RelayClient({
144
145
  agentName,
146
+ socketPath: socketPath || discovery?.socketPath,
147
+ quiet: values.quiet,
148
+ reconnect: true,
149
+ });
150
+ await client.connect();
151
+ const mcpClient = createRelayClientAdapter(client, {
152
+ agentName,
153
+ project: discovery?.project,
145
154
  projectRoot,
146
155
  socketPath: socketPath || discovery?.socketPath,
156
+ });
157
+ await runMCPServer(mcpClient, {
158
+ projectRoot,
147
159
  project: discovery?.project,
160
+ socketPath: socketPath || discovery?.socketPath,
161
+ agentName,
148
162
  });
149
- await runMCPServer(client);
150
163
  }
151
164
  catch (err) {
152
165
  const message = err instanceof Error ? err.message : String(err);
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,8 @@
1
- /**
2
- * RelayClient - Client for connecting to the Agent Relay daemon
3
- *
4
- * This module uses @agent-relay/protocol for wire format handling
5
- * to avoid code duplication with the SDK.
6
- */
7
- import { type AckPayload, type HealthResponsePayload, type MetricsResponsePayload, type MessagesResponsePayload } from '@agent-relay/protocol';
8
- import { type SpawnResult, type ReleaseResult } from '@agent-relay/utils/client-helpers';
1
+ import { RelayClient as SdkRelayClient, type AckPayload, type AgentInfo, type HealthResponsePayload, type MetricsResponsePayload, type MessagesResponsePayload, type SpawnResult, type ReleaseResultPayload } from '@agent-relay/sdk';
2
+ export type QueryMessage = MessagesResponsePayload['messages'][number];
9
3
  export type HealthResponse = HealthResponsePayload;
10
4
  export type MetricsResponse = MetricsResponsePayload;
11
5
  export type MessagesResponse = MessagesResponsePayload;
12
- export type QueryMessage = MessagesResponsePayload['messages'][number];
13
6
  export interface RelayClient {
14
7
  send(to: string, message: string, options?: {
15
8
  thread?: string;
@@ -24,15 +17,16 @@ export interface RelayClient {
24
17
  }): Promise<AckPayload>;
25
18
  broadcast(message: string, options?: {
26
19
  kind?: string;
20
+ data?: Record<string, unknown>;
27
21
  }): Promise<void>;
28
22
  spawn(options: {
29
23
  name: string;
30
24
  cli: string;
31
- task: string;
25
+ task?: string;
32
26
  model?: string;
33
27
  cwd?: string;
34
28
  }): Promise<SpawnResult>;
35
- release(name: string, reason?: string): Promise<ReleaseResult>;
29
+ release(name: string, reason?: string): Promise<ReleaseResultPayload>;
36
30
  subscribe(topic: string): Promise<{
37
31
  success: boolean;
38
32
  error?: string;
@@ -52,12 +46,10 @@ export interface RelayClient {
52
46
  sendChannelMessage(channel: string, message: string, options?: {
53
47
  thread?: string;
54
48
  }): Promise<void>;
55
- /** Admin join: Add any member to a channel (does not require member to be connected) */
56
49
  adminJoinChannel(channel: string, member: string): Promise<{
57
50
  success: boolean;
58
51
  error?: string;
59
52
  }>;
60
- /** Admin remove: Remove any member from a channel */
61
53
  adminRemoveMember(channel: string, member: string): Promise<{
62
54
  success: boolean;
63
55
  error?: string;
@@ -113,20 +105,10 @@ export interface RelayClient {
113
105
  listAgents(options?: {
114
106
  include_idle?: boolean;
115
107
  project?: string;
116
- }): Promise<Array<{
117
- name: string;
118
- cli?: string;
119
- idle?: boolean;
120
- parent?: string;
121
- }>>;
108
+ }): Promise<AgentInfo[]>;
122
109
  listConnectedAgents(options?: {
123
110
  project?: string;
124
- }): Promise<Array<{
125
- name: string;
126
- cli?: string;
127
- idle?: boolean;
128
- parent?: string;
129
- }>>;
111
+ }): Promise<AgentInfo[]>;
130
112
  removeAgent(name: string, options?: {
131
113
  removeMessages?: boolean;
132
114
  }): Promise<{
@@ -137,33 +119,37 @@ export interface RelayClient {
137
119
  getHealth(options?: {
138
120
  include_crashes?: boolean;
139
121
  include_alerts?: boolean;
140
- }): Promise<HealthResponse>;
122
+ }): Promise<HealthResponsePayload>;
141
123
  getMetrics(options?: {
142
124
  agent?: string;
143
- }): Promise<MetricsResponse>;
144
- /**
145
- * Query all messages (not filtered by recipient).
146
- * Useful for dashboard views and message history.
147
- */
125
+ }): Promise<MetricsResponsePayload>;
148
126
  queryMessages(options?: {
149
127
  limit?: number;
150
128
  sinceTs?: number;
129
+ since_ts?: number;
151
130
  from?: string;
152
131
  to?: string;
153
132
  thread?: string;
154
133
  order?: 'asc' | 'desc';
155
134
  }): Promise<QueryMessage[]>;
156
- /**
157
- * Send log output to the daemon for dashboard streaming.
158
- */
159
135
  sendLog(data: string): Promise<void>;
160
136
  }
137
+ export interface RelayClientAdapterOptions {
138
+ agentName: string;
139
+ project?: string;
140
+ projectRoot?: string;
141
+ socketPath?: string;
142
+ }
143
+ export declare function createRelayClientAdapter(client: SdkRelayClient, ctx: RelayClientAdapterOptions): RelayClient;
161
144
  export interface RelayClientOptions {
162
145
  agentName: string;
163
146
  socketPath?: string;
164
147
  project?: string;
148
+ quiet?: boolean;
165
149
  timeout?: number;
166
150
  }
151
+ /**
152
+ * Factory that creates an SDK RelayClient and wraps it with the MCP adapter.
153
+ */
167
154
  export declare function createRelayClient(options: RelayClientOptions): RelayClient;
168
- export default createRelayClient;
169
- //# sourceMappingURL=client.d.ts.map
155
+ //# sourceMappingURL=client-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-adapter.d.ts","sourceRoot":"","sources":["../src/client-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ import { RelayClient as SdkRelayClient } from '@agent-relay/sdk';
2
+ import { PROTOCOL_VERSION } from '@agent-relay/protocol';
3
+ import { randomUUID } from 'node:crypto';
4
+ async function ensureReady(client) {
5
+ if (client.state !== 'READY') {
6
+ await client.connect();
7
+ }
8
+ }
9
+ function boolResult(ok, action) {
10
+ return ok ? { success: true } : { success: false, error: `Failed to ${action}` };
11
+ }
12
+ export function createRelayClientAdapter(client, ctx) {
13
+ const project = ctx.projectRoot ?? ctx.project ?? 'default';
14
+ const socketPath = ctx.socketPath ?? '';
15
+ return {
16
+ async send(to, message, opts = {}) {
17
+ await ensureReady(client);
18
+ const ok = client.sendMessage(to, message, opts.kind ?? 'message', opts.data, opts.thread);
19
+ if (!ok)
20
+ throw new Error('Failed to send message');
21
+ },
22
+ async sendAndWait(to, message, opts = {}) {
23
+ await ensureReady(client);
24
+ return client.sendAndWait(to, message, {
25
+ thread: opts.thread,
26
+ timeoutMs: opts.timeoutMs,
27
+ kind: opts.kind,
28
+ data: opts.data,
29
+ });
30
+ },
31
+ async broadcast(message, opts = {}) {
32
+ await ensureReady(client);
33
+ const ok = client.broadcast(message, opts.kind ?? 'message', opts.data);
34
+ if (!ok)
35
+ throw new Error('Failed to broadcast message');
36
+ },
37
+ async subscribe(topic) {
38
+ await ensureReady(client);
39
+ const ok = client.subscribe(topic);
40
+ return boolResult(ok, 'subscribe');
41
+ },
42
+ async unsubscribe(topic) {
43
+ await ensureReady(client);
44
+ const ok = client.unsubscribe(topic);
45
+ return boolResult(ok, 'unsubscribe');
46
+ },
47
+ async joinChannel(channel, displayName) {
48
+ await ensureReady(client);
49
+ const ok = client.joinChannel(channel, displayName);
50
+ return boolResult(ok, 'join channel');
51
+ },
52
+ async leaveChannel(channel, reason) {
53
+ await ensureReady(client);
54
+ const ok = client.leaveChannel(channel, reason);
55
+ return boolResult(ok, 'leave channel');
56
+ },
57
+ async sendChannelMessage(channel, message, options = {}) {
58
+ await ensureReady(client);
59
+ const ok = client.sendChannelMessage(channel, message, { thread: options.thread });
60
+ if (!ok)
61
+ throw new Error('Failed to send channel message');
62
+ },
63
+ async adminJoinChannel(channel, member) {
64
+ await ensureReady(client);
65
+ const ok = client.adminJoinChannel(channel, member);
66
+ return boolResult(ok, 'add member to channel');
67
+ },
68
+ async adminRemoveMember(channel, member) {
69
+ await ensureReady(client);
70
+ const ok = client.adminRemoveMember(channel, member);
71
+ return boolResult(ok, 'remove member from channel');
72
+ },
73
+ async bindAsShadow(primaryAgent, opts = {}) {
74
+ await ensureReady(client);
75
+ const ok = client.bindAsShadow(primaryAgent, { speakOn: opts.speakOn });
76
+ return boolResult(ok, 'bind as shadow');
77
+ },
78
+ async unbindAsShadow(primaryAgent) {
79
+ await ensureReady(client);
80
+ const ok = client.unbindAsShadow(primaryAgent);
81
+ return boolResult(ok, 'unbind shadow');
82
+ },
83
+ async createProposal(opts) {
84
+ await ensureReady(client);
85
+ const envelope = {
86
+ v: PROTOCOL_VERSION,
87
+ type: 'PROPOSAL_CREATE',
88
+ id: randomUUID(),
89
+ ts: Date.now(),
90
+ payload: {
91
+ id: opts.id,
92
+ description: opts.description,
93
+ options: opts.options,
94
+ votingMethod: opts.votingMethod ?? 'majority',
95
+ deadline: opts.deadline,
96
+ },
97
+ };
98
+ const ok = client.send?.(envelope) ?? false;
99
+ return boolResult(ok, 'create proposal');
100
+ },
101
+ async vote(opts) {
102
+ await ensureReady(client);
103
+ const envelope = {
104
+ v: PROTOCOL_VERSION,
105
+ type: 'VOTE',
106
+ id: randomUUID(),
107
+ ts: Date.now(),
108
+ payload: {
109
+ proposalId: opts.proposalId,
110
+ vote: opts.vote,
111
+ reason: opts.reason,
112
+ },
113
+ };
114
+ const ok = client.send?.(envelope) ?? false;
115
+ return boolResult(ok, 'vote');
116
+ },
117
+ async spawn(options) {
118
+ await ensureReady(client);
119
+ return client.spawn(options);
120
+ },
121
+ async release(name, reason) {
122
+ await ensureReady(client);
123
+ // Type assertion needed until SDK is published with reason parameter
124
+ // SDK 2.1.13 has: release(name, timeoutMs?)
125
+ // SDK 2.1.14+ has: release(name, reason?, timeoutMs?)
126
+ return client.release(name, reason);
127
+ },
128
+ async getStatus() {
129
+ try {
130
+ await ensureReady(client);
131
+ const status = await client.getStatus();
132
+ return {
133
+ connected: true,
134
+ agentName: ctx.agentName,
135
+ project,
136
+ socketPath,
137
+ daemonVersion: status.version,
138
+ uptime: status.uptime ? `${Math.floor(status.uptime / 1000)}s` : undefined,
139
+ };
140
+ }
141
+ catch {
142
+ return {
143
+ connected: false,
144
+ agentName: ctx.agentName,
145
+ project,
146
+ socketPath,
147
+ };
148
+ }
149
+ },
150
+ async getInbox(options = {}) {
151
+ await ensureReady(client);
152
+ const messages = await client.getInbox({
153
+ limit: options.limit,
154
+ unreadOnly: options.unread_only,
155
+ from: options.from,
156
+ channel: options.channel,
157
+ });
158
+ return messages.map((m) => ({
159
+ id: m.id,
160
+ from: m.from,
161
+ content: m.body,
162
+ channel: m.channel,
163
+ thread: m.thread,
164
+ }));
165
+ },
166
+ async listAgents(options = {}) {
167
+ await ensureReady(client);
168
+ return client.listAgents({
169
+ includeIdle: options.include_idle,
170
+ project: options.project,
171
+ });
172
+ },
173
+ async listConnectedAgents(options = {}) {
174
+ await ensureReady(client);
175
+ return client.listConnectedAgents({
176
+ project: options.project,
177
+ });
178
+ },
179
+ async removeAgent(name, options = {}) {
180
+ await ensureReady(client);
181
+ return client.removeAgent(name, { removeMessages: options.removeMessages });
182
+ },
183
+ async getHealth(options = {}) {
184
+ await ensureReady(client);
185
+ return client.getHealth({
186
+ includeCrashes: options.include_crashes,
187
+ includeAlerts: options.include_alerts,
188
+ });
189
+ },
190
+ async getMetrics(options = {}) {
191
+ await ensureReady(client);
192
+ return client.getMetrics({ agent: options.agent });
193
+ },
194
+ async queryMessages(options = {}) {
195
+ await ensureReady(client);
196
+ const response = await client.queryMessages({
197
+ limit: options.limit,
198
+ sinceTs: options.sinceTs ?? options.since_ts,
199
+ from: options.from,
200
+ to: options.to,
201
+ thread: options.thread,
202
+ order: options.order,
203
+ });
204
+ return response || [];
205
+ },
206
+ async sendLog(data) {
207
+ await ensureReady(client);
208
+ const ok = client.sendLog(data);
209
+ if (!ok)
210
+ throw new Error('Failed to send log');
211
+ },
212
+ };
213
+ }
214
+ /**
215
+ * Factory that creates an SDK RelayClient and wraps it with the MCP adapter.
216
+ */
217
+ export function createRelayClient(options) {
218
+ const sdkClient = new SdkRelayClient({
219
+ agentName: options.agentName,
220
+ socketPath: options.socketPath,
221
+ quiet: options.quiet,
222
+ reconnect: true,
223
+ });
224
+ return createRelayClientAdapter(sdkClient, {
225
+ agentName: options.agentName,
226
+ project: options.project,
227
+ socketPath: options.socketPath,
228
+ });
229
+ }
230
+ //# sourceMappingURL=client-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-adapter.js","sourceRoot":"","sources":["../src/client-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,5 @@
1
1
  /**
2
- * Hybrid Client for MCP Tools
3
- *
4
- * IMPORTANT: The file-based writes ONLY work when relay-pty is wrapping the agent.
5
- * relay-pty watches for ->relay-file:* triggers in agent output and processes outbox files.
6
- * The daemon does NOT watch outbox directories directly.
7
- *
8
- * For pure MCP tools (not wrapped by relay-pty), use createRelayClient() instead,
9
- * which communicates directly with the daemon via socket.
10
- *
11
- * This hybrid client is designed for scenarios where:
12
- * - An agent is wrapped by relay-pty
13
- * - File-based writes avoid socket connection overhead
14
- * - Socket is still used for queries (getInbox, listAgents, etc.)
15
- */
16
- import type { RelayClient } from './client.js';
17
- export interface HybridClientOptions {
18
- /** Agent name */
19
- agentName: string;
20
- /** Project root directory (where .agent-relay lives) */
21
- projectRoot: string;
22
- /** Socket path (optional, will discover if not provided) */
23
- socketPath?: string;
24
- /** Project ID */
25
- project?: string;
26
- }
27
- /**
28
- * Create a hybrid client that uses file-based for writes, socket for queries.
29
- */
30
- export declare function createHybridClient(options: HybridClientOptions): RelayClient;
31
- /**
32
- * Discover project root from socket path or environment.
2
+ * Discover project root by locating a .agent-relay directory.
33
3
  */
34
4
  export declare function discoverProjectRoot(): string | null;
35
5
  //# sourceMappingURL=hybrid-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-client.d.ts","sourceRoot":"","sources":["../src/hybrid-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,MAAM,WAAW,mBAAmB;IAClC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,CA+J5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAqBnD"}
1
+ {"version":3,"file":"hybrid-client.d.ts","sourceRoot":"","sources":["../src/hybrid-client.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAkBnD"}