@agent-relay/sdk 10.4.0 → 10.6.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 (38) hide show
  1. package/bin/agent-relay-broker-darwin-arm64 +0 -0
  2. package/bin/agent-relay-broker-darwin-x64 +0 -0
  3. package/bin/agent-relay-broker-linux-arm64 +0 -0
  4. package/bin/agent-relay-broker-linux-x64 +0 -0
  5. package/bin/agent-relay-broker-win32-x64.exe +0 -0
  6. package/dist/agent-relay.d.ts +23 -0
  7. package/dist/agent-relay.d.ts.map +1 -1
  8. package/dist/agent-relay.js +57 -5
  9. package/dist/agent-relay.js.map +1 -1
  10. package/dist/delivery/types.d.ts +5 -1
  11. package/dist/delivery/types.d.ts.map +1 -1
  12. package/dist/listeners.d.ts.map +1 -1
  13. package/dist/listeners.js +16 -4
  14. package/dist/listeners.js.map +1 -1
  15. package/dist/messaging/event-fanin.d.ts +54 -0
  16. package/dist/messaging/event-fanin.d.ts.map +1 -0
  17. package/dist/messaging/event-fanin.js +293 -0
  18. package/dist/messaging/event-fanin.js.map +1 -0
  19. package/dist/messaging/index.d.ts +2 -0
  20. package/dist/messaging/index.d.ts.map +1 -1
  21. package/dist/messaging/index.js +2 -0
  22. package/dist/messaging/index.js.map +1 -1
  23. package/dist/messaging/normalize.d.ts.map +1 -1
  24. package/dist/messaging/normalize.js +479 -509
  25. package/dist/messaging/normalize.js.map +1 -1
  26. package/dist/messaging/observer-source.d.ts +80 -0
  27. package/dist/messaging/observer-source.d.ts.map +1 -0
  28. package/dist/messaging/observer-source.js +502 -0
  29. package/dist/messaging/observer-source.js.map +1 -0
  30. package/dist/messaging/relaycast-client.d.ts +2 -1
  31. package/dist/messaging/relaycast-client.d.ts.map +1 -1
  32. package/dist/messaging/relaycast-client.js.map +1 -1
  33. package/dist/messaging/relaycast-translate.d.ts.map +1 -1
  34. package/dist/messaging/relaycast-translate.js +9 -1
  35. package/dist/messaging/relaycast-translate.js.map +1 -1
  36. package/dist/messaging/types.d.ts +133 -107
  37. package/dist/messaging/types.d.ts.map +1 -1
  38. package/package.json +5 -3
@@ -0,0 +1,502 @@
1
+ import { normalizeMessagingEvent } from './normalize.js';
2
+ /**
3
+ * Strip trailing `/` characters in linear time. A regex like `/\/+$/` is a
4
+ * polynomial-ReDoS hazard on attacker-influenced strings (CodeQL flags it), so
5
+ * we walk the tail explicitly instead.
6
+ */
7
+ function stripTrailingSlashes(value) {
8
+ let end = value.length;
9
+ while (end > 0 && value.charCodeAt(end - 1) === 47 /* '/' */)
10
+ end -= 1;
11
+ return value.slice(0, end);
12
+ }
13
+ /**
14
+ * Build the observer stream URL. The scheme is always `wss:` except for
15
+ * loopback hosts (local self-hosted engines), and the URL never carries the
16
+ * token — authentication travels in the `Authorization` header where the
17
+ * runtime supports it, with an explicit query-token downgrade only when it
18
+ * does not (see {@link createRawObserverStream}).
19
+ */
20
+ function observerWsUrl(baseUrl, opts = {}) {
21
+ const url = new URL(baseUrl);
22
+ const loopback = url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '[::1]';
23
+ url.protocol = url.protocol === 'http:' && loopback ? 'ws:' : 'wss:';
24
+ url.pathname = `${stripTrailingSlashes(url.pathname)}/v1/ws`;
25
+ if (opts.includeToken !== undefined) {
26
+ url.searchParams.set('token', opts.includeToken);
27
+ }
28
+ return url.toString();
29
+ }
30
+ /**
31
+ * Whether the current runtime is Node.js. Node's `undici` WebSocket accepts an
32
+ * `Authorization` header via its constructor-options extension, so Node never
33
+ * needs to fall back to the token-in-URL convention — keeping the token out of
34
+ * request lines and access logs.
35
+ */
36
+ function isNodeRuntime() {
37
+ return typeof process !== 'undefined' && !!process.versions?.node;
38
+ }
39
+ /**
40
+ * Raw observer WebSocket with capped-backoff auto-reconnect. Uses the global
41
+ * `WebSocket` (Node >= 22, all browsers), or an injected implementation for
42
+ * runtimes without one (e.g. Node < 22 with the `ws` package). Frames are
43
+ * parsed as JSON and handed to `on.any` handlers verbatim, preserving the
44
+ * top-level `seq`.
45
+ *
46
+ * Authentication: the token is sent as an `Authorization: Bearer` header via
47
+ * the Node (undici) constructor options extension, keeping it out of the URL.
48
+ * Only browser-like runtimes, whose `WebSocket` rejects or silently ignores
49
+ * constructor options per the WHATWG signature, fall back to the server's
50
+ * `?token=` query convention — and only after the constructor throws or two
51
+ * consecutive header attempts close before ever opening, so a single transient
52
+ * network blip on Node can never trigger a persistent token-in-URL downgrade.
53
+ */
54
+ function createRawObserverStream(baseUrl, token, report, webSocketImpl) {
55
+ const anyHandlers = new Set();
56
+ const openHandlers = new Set();
57
+ const nodeRuntime = isNodeRuntime();
58
+ let socket;
59
+ let closed = false;
60
+ let attempts = 0;
61
+ let timer;
62
+ /** Whether header auth has been observed working (any successful open). */
63
+ let everOpened = false;
64
+ /** Downgrade flag: the runtime cannot send headers, use the query token. */
65
+ let useQueryToken = false;
66
+ /** Consecutive header-auth attempts that closed before opening (browser probe). */
67
+ let headerCloseStreak = 0;
68
+ const scheduleReconnect = (delayOverrideMs) => {
69
+ if (closed || timer !== undefined)
70
+ return;
71
+ attempts += 1;
72
+ const delay = delayOverrideMs ?? Math.min(30_000, 1_000 * 2 ** Math.min(attempts - 1, 5));
73
+ timer = setTimeout(() => {
74
+ timer = undefined;
75
+ open();
76
+ }, delay);
77
+ timer.unref?.();
78
+ };
79
+ const construct = (WebSocketImpl) => {
80
+ if (useQueryToken) {
81
+ return new WebSocketImpl(observerWsUrl(baseUrl, { includeToken: token }));
82
+ }
83
+ try {
84
+ // Node's undici WebSocket accepts { headers } as a non-standard
85
+ // extension; browsers throw on a non-protocols second argument.
86
+ return new WebSocketImpl(observerWsUrl(baseUrl), {
87
+ headers: { authorization: `Bearer ${token}` },
88
+ });
89
+ }
90
+ catch {
91
+ useQueryToken = true;
92
+ return new WebSocketImpl(observerWsUrl(baseUrl, { includeToken: token }));
93
+ }
94
+ };
95
+ const open = () => {
96
+ if (closed || socket)
97
+ return;
98
+ const WebSocketImpl = webSocketImpl ?? globalThis.WebSocket;
99
+ if (!WebSocketImpl) {
100
+ report(new Error('No WebSocket implementation available for the observer stream. Node exposes a ' +
101
+ 'global `WebSocket` only from v22; on earlier supported runtimes (Node >= 20.9) ' +
102
+ 'install one as `globalThis.WebSocket` (e.g. the `ws` package) or pass ' +
103
+ '`webSocketImpl`/`createLiveStream` to observer mode.'));
104
+ return;
105
+ }
106
+ let ws;
107
+ try {
108
+ ws = construct(WebSocketImpl);
109
+ }
110
+ catch (error) {
111
+ report(error);
112
+ scheduleReconnect();
113
+ return;
114
+ }
115
+ let openedHere = false;
116
+ socket = ws;
117
+ ws.onopen = () => {
118
+ attempts = 0;
119
+ everOpened = true;
120
+ openedHere = true;
121
+ headerCloseStreak = 0;
122
+ for (const handler of openHandlers)
123
+ handler();
124
+ };
125
+ ws.onmessage = (message) => {
126
+ let frame;
127
+ try {
128
+ frame = JSON.parse(String(message.data));
129
+ }
130
+ catch {
131
+ return; // Non-JSON frames carry nothing for us.
132
+ }
133
+ for (const handler of anyHandlers)
134
+ handler(frame);
135
+ };
136
+ ws.onclose = (event) => {
137
+ if (socket === ws)
138
+ socket = undefined;
139
+ if (closed)
140
+ return; // Intentional teardown owns its own cleanup.
141
+ // A close before the first successful open on a header-auth attempt can
142
+ // mean the runtime accepted the options object but ignored the headers
143
+ // (browsers). Only browser-like runtimes downgrade to the query token,
144
+ // and only after two such probe closes — a Node runtime keeps header
145
+ // auth (and never leaks the token into the URL) even across transient
146
+ // failures.
147
+ if (!useQueryToken && !everOpened && !openedHere) {
148
+ if (!nodeRuntime) {
149
+ headerCloseStreak += 1;
150
+ if (headerCloseStreak >= 2) {
151
+ useQueryToken = true;
152
+ scheduleReconnect(0);
153
+ return;
154
+ }
155
+ scheduleReconnect(0);
156
+ return;
157
+ }
158
+ }
159
+ // Surface abnormal closures so invalid tokens / server rejections are not
160
+ // hidden behind a silent reconnect loop; clean closes (code 1000) stay quiet.
161
+ const code = event?.code;
162
+ const clean = event?.wasClean === true || code === 1000;
163
+ if (!clean) {
164
+ report(new Error(`observer WebSocket closed unexpectedly${code !== undefined ? ` (code ${code}${event?.reason ? `: ${event.reason}` : ''})` : ''}`));
165
+ }
166
+ scheduleReconnect();
167
+ };
168
+ ws.onerror = () => {
169
+ // Abnormal closures are reported in onclose; onerror carries no extra detail.
170
+ };
171
+ };
172
+ return {
173
+ connect: open,
174
+ disconnect: () => {
175
+ closed = true;
176
+ if (timer !== undefined) {
177
+ clearTimeout(timer);
178
+ timer = undefined;
179
+ }
180
+ const ws = socket;
181
+ socket = undefined;
182
+ try {
183
+ ws?.close();
184
+ }
185
+ catch {
186
+ // Already closed.
187
+ }
188
+ },
189
+ on: {
190
+ any: (handler) => {
191
+ anyHandlers.add(handler);
192
+ return () => anyHandlers.delete(handler);
193
+ },
194
+ open: (handler) => {
195
+ openHandlers.add(handler);
196
+ return () => openHandlers.delete(handler);
197
+ },
198
+ },
199
+ };
200
+ }
201
+ const DEFAULT_BASE_URL = 'https://cast.agentrelay.com';
202
+ const MAX_BACKFILL_PAGE_SIZE = 500;
203
+ const DEFAULT_BACKFILL_TIMEOUT_MS = 30_000;
204
+ function isRecord(value) {
205
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
206
+ }
207
+ /**
208
+ * Read the per-workspace monotonic sequence number stamped on a live frame.
209
+ * Frames without a `seq` were never appended to the durable log (server-side
210
+ * append failure) and are treated as live-only.
211
+ */
212
+ function readSeq(raw) {
213
+ if (!isRecord(raw))
214
+ return undefined;
215
+ const value = raw.seq;
216
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
217
+ }
218
+ function parseBackfillEvents(payload) {
219
+ const record = isRecord(payload) ? payload : {};
220
+ const data = isRecord(record.data) ? record.data : {};
221
+ const rows = Array.isArray(data.events) ? data.events : [];
222
+ const events = [];
223
+ for (const row of rows) {
224
+ if (!isRecord(row))
225
+ continue;
226
+ const seq = typeof row.seq === 'number' && Number.isFinite(row.seq) ? row.seq : undefined;
227
+ if (seq === undefined)
228
+ continue;
229
+ events.push({ seq, payload: row.payload });
230
+ }
231
+ const latestSeq = typeof data.latest_seq === 'number' && Number.isFinite(data.latest_seq) ? data.latest_seq : 0;
232
+ // Scoped-token resume cursor: the seq of the last row the server's scan
233
+ // consumed (visible or filtered). Absent on older engines.
234
+ const nextSince = typeof data.next_since === 'number' && Number.isFinite(data.next_since) ? data.next_since : undefined;
235
+ return { events, latestSeq, nextSince };
236
+ }
237
+ /**
238
+ * Create a {@link RelayMessagingEventsSurface} backed by the workspace
239
+ * observer plane: the durable per-workspace event log plus the live
240
+ * observer WebSocket stream.
241
+ *
242
+ * On `connect()` the source:
243
+ *
244
+ * 1. opens the live stream and buffers incoming frames,
245
+ * 2. REST-backfills `GET /v1/workspace/events` from the in-memory cursor
246
+ * (starting at `sinceSeq`, default `0`), paginating until `latest_seq`,
247
+ * 3. emits the backfilled events, then the buffered/live frames — deduped
248
+ * and ordered by `seq`. Frames without a `seq` pass straight through.
249
+ *
250
+ * When the backfill endpoint is missing (404 on older engines) or fails,
251
+ * the source degrades to live-only streaming. Raw frames flow through
252
+ * {@link normalizeMessagingEvent}, so listeners receive the same public event
253
+ * shapes as every other source.
254
+ *
255
+ * @param options - Observer token, cursor, and injectable transports.
256
+ * @returns An events surface suitable as an event fan-in source.
257
+ */
258
+ export function createObserverEventSource(options) {
259
+ const baseUrl = stripTrailingSlashes(options.baseUrl ?? DEFAULT_BASE_URL);
260
+ const pageSize = Math.min(Math.max(options.backfillPageSize ?? MAX_BACKFILL_PAGE_SIZE, 1), MAX_BACKFILL_PAGE_SIZE);
261
+ const fetchImpl = options.fetch ?? globalThis.fetch;
262
+ const backfillTimeoutMs = options.backfillTimeoutMs ?? DEFAULT_BACKFILL_TIMEOUT_MS;
263
+ const createLiveStream = options.createLiveStream ??
264
+ (() => createRawObserverStream(baseUrl, options.observerToken, report, options.webSocketImpl));
265
+ const handlers = new Map();
266
+ /** Highest durable-log sequence emitted so far; events at or below it are duplicates. */
267
+ let cursor = options.sinceSeq ?? 0;
268
+ let live;
269
+ let offLive;
270
+ let offOpen;
271
+ /** Raw live frames received while the backfill is still running, in arrival order. */
272
+ let pending = [];
273
+ let backfillDone = false;
274
+ /** Invalidates in-flight backfills when the source is disconnected. */
275
+ let epoch = 0;
276
+ const report = (error) => {
277
+ if (options.onError) {
278
+ try {
279
+ options.onError(error);
280
+ }
281
+ catch {
282
+ // Error hooks must not throw into the event source.
283
+ }
284
+ return;
285
+ }
286
+ console.warn('[agent-relay] observer stream:', error);
287
+ };
288
+ const emit = (event) => {
289
+ for (const key of [event.type, 'any']) {
290
+ for (const handler of handlers.get(key) ?? []) {
291
+ try {
292
+ void Promise.resolve(handler(event)).catch(report);
293
+ }
294
+ catch (error) {
295
+ report(error);
296
+ }
297
+ }
298
+ }
299
+ };
300
+ const advanceCursor = (seq) => {
301
+ cursor = seq;
302
+ if (options.onCursor) {
303
+ try {
304
+ options.onCursor(seq);
305
+ }
306
+ catch {
307
+ // Cursor hooks must not throw into the event source.
308
+ }
309
+ }
310
+ };
311
+ /** Emit a raw frame, deduping seq-stamped frames against the cursor. */
312
+ const deliver = (raw) => {
313
+ const seq = readSeq(raw);
314
+ if (seq !== undefined) {
315
+ if (seq <= cursor)
316
+ return;
317
+ advanceCursor(seq);
318
+ }
319
+ emit(normalizeMessagingEvent(raw));
320
+ };
321
+ const handleLiveFrame = (raw) => {
322
+ if (!backfillDone) {
323
+ pending.push(raw);
324
+ return;
325
+ }
326
+ deliver(raw);
327
+ };
328
+ /**
329
+ * Flush frames buffered during the backfill. Seq-stamped frames are ordered
330
+ * by `seq` among themselves (stable sort — frames without a `seq` keep their
331
+ * arrival position) and deduped against the cursor; the rest pass through.
332
+ */
333
+ const flushPending = () => {
334
+ backfillDone = true;
335
+ const buffered = pending;
336
+ pending = [];
337
+ // Order seq-stamped frames among themselves; seq-less frames keep their
338
+ // arrival slot. Sorting the whole array with a comparator that returns 0
339
+ // for any pair involving a seq-less frame is not a total order (a higher
340
+ // seq could sort ahead of a lower one across a seq-less gap and advance the
341
+ // cursor past it), so we sort the sequenced frames out-of-band and splice
342
+ // them back into the seq-less skeleton.
343
+ const sequenced = buffered
344
+ .map((raw) => ({ raw, seq: readSeq(raw) }))
345
+ .filter((item) => item.seq !== undefined)
346
+ .sort((a, b) => a.seq - b.seq);
347
+ let nextSequenced = 0;
348
+ for (const raw of buffered) {
349
+ deliver(readSeq(raw) === undefined ? raw : sequenced[nextSequenced++].raw);
350
+ }
351
+ };
352
+ const backfillPage = async (since) => {
353
+ const url = `${baseUrl}/v1/workspace/events?since=${since}&limit=${pageSize}`;
354
+ // Bound each page fetch so a hung backfill endpoint can't buffer live frames
355
+ // forever; on timeout the caller degrades to live-only.
356
+ const controller = new AbortController();
357
+ const timeout = setTimeout(() => controller.abort(), backfillTimeoutMs);
358
+ timeout.unref?.();
359
+ let response;
360
+ try {
361
+ response = await fetchImpl(url, {
362
+ headers: { Authorization: `Bearer ${options.observerToken}` },
363
+ signal: controller.signal,
364
+ });
365
+ }
366
+ finally {
367
+ clearTimeout(timeout);
368
+ }
369
+ // Older engines have no durable event log; observer mode then works
370
+ // live-only and the cursor advances from seq-stamped live frames.
371
+ if (response.status === 404)
372
+ return undefined;
373
+ if (!response.ok) {
374
+ throw new Error(`observer backfill failed: HTTP ${response.status} for GET /v1/workspace/events`);
375
+ }
376
+ return parseBackfillEvents(await response.json());
377
+ };
378
+ const runBackfill = async () => {
379
+ const startedEpoch = epoch;
380
+ try {
381
+ for (;;) {
382
+ const before = cursor;
383
+ const page = await backfillPage(cursor);
384
+ if (epoch !== startedEpoch)
385
+ return;
386
+ if (!page)
387
+ break;
388
+ for (const event of page.events) {
389
+ if (event.seq <= cursor)
390
+ continue;
391
+ advanceCursor(event.seq);
392
+ emit(normalizeMessagingEvent(event.payload));
393
+ }
394
+ // For scoped observer tokens a page can be empty while hidden rows
395
+ // were consumed server-side; `next_since` advances the cursor past
396
+ // them (events hidden from this token will never be delivered live
397
+ // either, so skipping their seqs is safe).
398
+ if (page.nextSince !== undefined && page.nextSince > cursor) {
399
+ advanceCursor(page.nextSince);
400
+ }
401
+ if (cursor >= page.latestSeq)
402
+ break;
403
+ // No progress this page (older engine without next_since returning
404
+ // only hidden rows): stop rather than loop forever, but surface it —
405
+ // historical events after this point may never be backfilled.
406
+ if (cursor <= before) {
407
+ report(new Error(`observer backfill stopped early: engine returned no visible events and no next_since ` +
408
+ `cursor at seq ${cursor} (latest ${page.latestSeq}); historical events past this ` +
409
+ `point may be skipped. Upgrade the engine for next_since-based scoped backfill.`));
410
+ break;
411
+ }
412
+ }
413
+ }
414
+ catch (error) {
415
+ if (epoch !== startedEpoch)
416
+ return;
417
+ // Backfill is best-effort: degrade to live-only rather than losing the
418
+ // stream entirely.
419
+ report(error);
420
+ }
421
+ if (epoch !== startedEpoch)
422
+ return;
423
+ flushPending();
424
+ };
425
+ return {
426
+ connect: () => {
427
+ if (live)
428
+ return;
429
+ backfillDone = false;
430
+ pending = [];
431
+ try {
432
+ live = createLiveStream();
433
+ offLive = live.on.any(handleLiveFrame);
434
+ // Frames missed while the socket was down are only in the durable
435
+ // log: on every reopen after the first, buffer live frames again and
436
+ // re-backfill from the cursor to close the gap.
437
+ let hadOpen = false;
438
+ offOpen = live.on.open?.(() => {
439
+ if (hadOpen) {
440
+ backfillDone = false;
441
+ void runBackfill();
442
+ }
443
+ hadOpen = true;
444
+ });
445
+ live.connect();
446
+ }
447
+ catch (error) {
448
+ // A partially initialized stream would make later connect() calls
449
+ // return early (live is set) and never retry. Tear it down so a fresh
450
+ // stream can be built on the next connect().
451
+ offLive?.();
452
+ offLive = undefined;
453
+ offOpen?.();
454
+ offOpen = undefined;
455
+ const stream = live;
456
+ live = undefined;
457
+ try {
458
+ stream?.disconnect();
459
+ }
460
+ catch {
461
+ // Best-effort cleanup after a failed live-stream initialization.
462
+ }
463
+ report(error);
464
+ // With no live stream, backfilled events are all we can deliver;
465
+ // don't hold them hostage in the buffer.
466
+ }
467
+ void runBackfill();
468
+ },
469
+ disconnect: async () => {
470
+ epoch += 1;
471
+ backfillDone = false;
472
+ pending = [];
473
+ offLive?.();
474
+ offLive = undefined;
475
+ offOpen?.();
476
+ offOpen = undefined;
477
+ const stream = live;
478
+ live = undefined;
479
+ if (stream) {
480
+ try {
481
+ stream.disconnect();
482
+ }
483
+ catch (error) {
484
+ report(error);
485
+ }
486
+ }
487
+ },
488
+ // The observer stream is workspace-wide; there is no per-channel
489
+ // subscription surface on the observer socket.
490
+ subscribe: () => { },
491
+ unsubscribe: () => { },
492
+ on: (event, handler) => {
493
+ const set = handlers.get(event) ?? new Set();
494
+ set.add(handler);
495
+ handlers.set(event, set);
496
+ return () => {
497
+ set.delete(handler);
498
+ };
499
+ },
500
+ };
501
+ }
502
+ //# sourceMappingURL=observer-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-source.js","sourceRoot":"","sources":["../../src/messaging/observer-source.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { AgentClientOptions, RelayCastOptions } from '@relaycast/sdk';
2
+ import type { DeliveryStatus } from '@relaycast/types';
2
3
  import { type RelaycastTelemetryOptions } from '../relaycast-telemetry.js';
3
4
  import type { RelayCreateChannelInput, RelayListNodesOptions, RelayMessageBlock, RelayMessageListOptions, RelayUpdateChannelInput } from './types.js';
4
5
  export type RelaycastWorkspaceLike = {
@@ -68,7 +69,7 @@ export type RelaycastWorkspaceLike = {
68
69
  any(handler: (event: unknown) => void): () => void;
69
70
  };
70
71
  };
71
- export type RelaycastDeliveryStatus = 'accepted' | 'delivered' | 'deferred' | 'failed';
72
+ export type RelaycastDeliveryStatus = DeliveryStatus;
72
73
  /** The durable delivery methods an agent client must expose for server-backed inbox state. */
73
74
  export type RelaycastAgentDeliverySurface = Required<Pick<RelaycastAgentLike, 'deliveries' | 'ackDelivery' | 'failDelivery' | 'deferDelivery'>>;
74
75
  export type RelaycastAgentLike = {
@@ -1 +1 @@
1
- {"version":3,"file":"relaycast-client.d.ts","sourceRoot":"","sources":["../../src/messaging/relaycast-client.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAA6B,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtG,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE;QACN,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,0EAA0E;QAC1E,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;KAChC,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACrC,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3C,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtE,CAAC;IACF,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,CAAC;IAIF,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACrC,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QACzB,UAAU,CAAC,EAAE;YACX,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YACxB,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;IAG9E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;KAAE,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEvF,8FAA8F;AAC9F,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAClD,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC,CAC1F,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACtC,IAAI,CACF,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,CACH,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAClE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,EAAE,CACA,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,GAAG,EAAE;QACH,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,WAAW,CACT,OAAO,EAAE;YAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,EAClD,WAAW,CAAC,EAAE;YAAE,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,GACxC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpB,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;YACR,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;YACxB,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,GACA,OAAO,CAAC,OAAO,CAAC,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACR,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACrC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGtD,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,uBAAuB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,WAAW,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvG,aAAa,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7F,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACxE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACzF,CAAC;IACF,EAAE,EAAE;QACF,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;QACnD,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;KAC/D,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,sBAAsB,CAkBhG"}
1
+ {"version":3,"file":"relaycast-client.d.ts","sourceRoot":"","sources":["../../src/messaging/relaycast-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relaycast-client.js","sourceRoot":"","sources":["../../src/messaging/relaycast-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,yBAAyB,EAAkC,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAuM1D,MAAM,UAAU,qBAAqB,CAAC,OAAkC;IACtE,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,IAAI,SAAS,CAClB,cAAc,CAAC;QACb,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,yBAAyB,CAAC;YAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;KACH,CAAqB,CACc,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"relaycast-client.js","sourceRoot":"","sources":["../../src/messaging/relaycast-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,OAAO,EAAE,yBAAyB,EAAkC,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAuM1D,MAAM,UAAU,qBAAqB,CAAC,OAAkC;IACtE,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,IAAI,SAAS,CAClB,cAAc,CAAC;QACb,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,yBAAyB,CAAC;YAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;KACH,CAAqB,CACc,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"relaycast-translate.d.ts","sourceRoot":"","sources":["../../src/messaging/relaycast-translate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAIpB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIhE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAM9F;AAuCD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYpG;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GACpD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,gGAAgG;AAChG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMvG;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAU/D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAoBnD;AASD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAOvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAUzD;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,8BAA8B,CAO7F;AAED,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CAoBnF;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CAsB7E;AAED,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAYzE;AAED,gFAAgF;AAChF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CAanF;AAID,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAExF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,GAAG,SAAS,CAO3G;AAED,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,2BAA2B,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAKrG"}
1
+ {"version":3,"file":"relaycast-translate.d.ts","sourceRoot":"","sources":["../../src/messaging/relaycast-translate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACnB,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAIpB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIhE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAM9F;AAuCD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYpG;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GACpD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,gGAAgG;AAChG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMvG;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAU/D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAoBnD;AAgBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAOvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAUzD;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,8BAA8B,CAO7F;AAED,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CAoBnF;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CAsB7E;AAED,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAYzE;AAED,gFAAgF;AAChF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CAanF;AAID,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAExF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,GAAG,SAAS,CAO3G;AAED,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,2BAA2B,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAKrG"}
@@ -124,7 +124,15 @@ function readRepoKeys(node) {
124
124
  if (direct)
125
125
  return direct;
126
126
  const repoPaths = readRecord(node, 'repoPaths', 'repo_paths');
127
- return repoPaths ? Object.keys(repoPaths).filter(Boolean) : undefined;
127
+ if (repoPaths)
128
+ return Object.keys(repoPaths).filter(Boolean);
129
+ // Registration carries repo advertisement as `repo:<key>` tags (the engine
130
+ // roster row has no dedicated repo field), so placement reads them here.
131
+ const tagged = readStringArray(node, 'tags')
132
+ ?.filter((tag) => tag.startsWith('repo:'))
133
+ .map((tag) => tag.slice('repo:'.length))
134
+ .filter(Boolean);
135
+ return tagged && tagged.length > 0 ? tagged : undefined;
128
136
  }
129
137
  export function toRelayNodeCapability(raw) {
130
138
  const capability = (raw ?? {});