agent-comms 9.0.4 → 9.0.5
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/dist/bridges/user/web/dist/bundle.js +1 -1
- package/dist/bridges/user/web/dist/mesh-worker.js +4 -4
- package/dist/bridges/user/web/dist/sw.js +1 -1
- package/dist/bridges/user/web/frontend/event-pump.d.ts +22 -0
- package/dist/bridges/user/web/frontend/event-pump.d.ts.map +1 -0
- package/dist/bridges/user/web/frontend/event-pump.js +73 -0
- package/dist/bridges/user/web/frontend/event-pump.js.map +1 -0
- package/dist/bridges/user/web/frontend/mesh-client.d.ts +2 -2
- package/dist/bridges/user/web/frontend/mesh-client.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/mesh-client.js +16 -24
- package/dist/bridges/user/web/frontend/mesh-client.js.map +1 -1
- package/dist/bridges/user/web/frontend/mesh-worker.d.ts +1 -1
- package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +1 -1
- package/dist/bridges/user/web/frontend/mesh-worker.js +31 -40
- package/dist/bridges/user/web/frontend/mesh-worker.js.map +1 -1
- package/package.json +1 -1
- package/src/bridges/user/web/dist/bundle.js +1 -1
- package/src/bridges/user/web/dist/mesh-worker.js +4 -4
- package/src/bridges/user/web/dist/sw.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){var e=`agent-comms-v1`,t=[{"revision":"
|
|
1
|
+
(function(){var e=`agent-comms-v1`,t=[{"revision":"41c6737126547228482ecc2b359801e6","url":"mesh-worker.js"},{"revision":"f1ee3afb8c9e8f0d7315fd93d6457316","url":"index.html"},{"revision":"3c68c960e2ae7cf0918c97b921c287da","url":"bundle.js"}].map(e=>e.url);self.addEventListener(`install`,n=>{n.waitUntil(self.caches.open(e).then(async e=>e.addAll(t)).then(async()=>self.skipWaiting()))}),self.addEventListener(`activate`,t=>{t.waitUntil(self.caches.keys().then(async t=>Promise.all(t.filter(t=>t!==e).map(async e=>self.caches.delete(e)))))});var n=200,r=300;function i(e,t){return e.method===`GET`&&t.status>=n&&t.status<r}self.addEventListener(`fetch`,t=>{if(new URL(t.request.url).pathname.startsWith(`/api/`)){t.respondWith(fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n}).catch(async()=>self.caches.open(e).then(async e=>e.match(t.request)).then(e=>e??new Response(`Offline`,{status:503}))));return}t.respondWith(self.caches.open(e).then(async e=>e.match(t.request)).then(async n=>n||fetch(t.request).then(n=>{if(i(t.request,n)){let r=n.clone();self.caches.open(e).then(async e=>e.put(t.request,r))}return n})))})})();
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The loop that keeps the dashboard's event stream flowing: subscribe, apply each event, and resume from the last event id after any transport failure. Shared by the page's client and the shared worker, which read the same stream.
|
|
3
|
+
*/
|
|
4
|
+
/** How long the first retry after a failed or dropped subscription waits. */
|
|
5
|
+
export declare const PUMP_RETRY_INITIAL_MS = 250;
|
|
6
|
+
/** The longest a retry waits, however many attempts in a row have failed. */
|
|
7
|
+
export declare const PUMP_RETRY_MAX_MS = 30000;
|
|
8
|
+
/** Each consecutive failure waits this many times as long as the one before, up to {@link PUMP_RETRY_MAX_MS}. */
|
|
9
|
+
export declare const PUMP_RETRY_FACTOR = 2;
|
|
10
|
+
/**
|
|
11
|
+
* Consumes an event stream until `signal` aborts, resuming by the last event id after a failure.
|
|
12
|
+
*
|
|
13
|
+
* A failed subscription, or a stream that drops mid-way, is retried after a wait that doubles from {@link PUMP_RETRY_INITIAL_MS} to {@link PUMP_RETRY_MAX_MS} and starts over once an event arrives, so a port that has gone away costs one timer every {@link PUMP_RETRY_MAX_MS} at most and never keeps the event loop busy. Nothing in a browser reports a closed message port or says a socket will not come back, so the pump ends only when `signal` aborts (the owner disconnected or started a newer pump; a wait in progress ends at once) or the server ends the stream normally.
|
|
14
|
+
*
|
|
15
|
+
* A failure thrown by `onEvent` is not a transport failure: it is passed to `onHandlerError`, the pump carries on with the next event, and that event's id is not recorded, so a later resume replays from the last event that was applied. A resubscribe never happens because of a handler.
|
|
16
|
+
* @param subscribe - Opens the stream, resuming after `lastEventId` when one is given.
|
|
17
|
+
* @param onEvent - Applies one event.
|
|
18
|
+
* @param onHandlerError - Receives what `onEvent` threw.
|
|
19
|
+
* @param signal - Aborted by the owner to end the pump.
|
|
20
|
+
*/
|
|
21
|
+
export declare function pumpEvents<Event extends object>(subscribe: (lastEventId: string | undefined) => Promise<AsyncIterable<Event>>, onEvent: (event: Event) => void, onHandlerError: (error: unknown) => void, signal: AbortSignal): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=event-pump.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-pump.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/event-pump.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,iHAAiH;AACjH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAwBnC;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,KAAK,SAAS,MAAM,EACnD,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAC7E,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC/B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EACxC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The loop that keeps the dashboard's event stream flowing: subscribe, apply each event, and resume from the last event id after any transport failure. Shared by the page's client and the shared worker, which read the same stream.
|
|
3
|
+
*/
|
|
4
|
+
import { getEventMeta } from "@orpc/client";
|
|
5
|
+
/** How long the first retry after a failed or dropped subscription waits. */
|
|
6
|
+
export const PUMP_RETRY_INITIAL_MS = 250;
|
|
7
|
+
/** The longest a retry waits, however many attempts in a row have failed. */
|
|
8
|
+
export const PUMP_RETRY_MAX_MS = 30_000;
|
|
9
|
+
/** Each consecutive failure waits this many times as long as the one before, up to {@link PUMP_RETRY_MAX_MS}. */
|
|
10
|
+
export const PUMP_RETRY_FACTOR = 2;
|
|
11
|
+
/** A plain function call is opaque to TypeScript's control-flow narrowing, so the abort that can flip during an await is not mistaken for "still false" at the re-check below it. */
|
|
12
|
+
function isAborted(signal) {
|
|
13
|
+
return signal.aborted;
|
|
14
|
+
}
|
|
15
|
+
/** Resolves after `ms` of the (possibly faked) timer clock, or at once when `signal` aborts, clearing the timer either way so nothing is retained. */
|
|
16
|
+
async function wait(ms, signal) {
|
|
17
|
+
return new Promise((resolve) => {
|
|
18
|
+
if (signal.aborted) {
|
|
19
|
+
resolve();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const timer = setTimeout(done, ms);
|
|
23
|
+
function done() {
|
|
24
|
+
clearTimeout(timer);
|
|
25
|
+
signal.removeEventListener("abort", done);
|
|
26
|
+
resolve();
|
|
27
|
+
}
|
|
28
|
+
signal.addEventListener("abort", done, { once: true });
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Consumes an event stream until `signal` aborts, resuming by the last event id after a failure.
|
|
33
|
+
*
|
|
34
|
+
* A failed subscription, or a stream that drops mid-way, is retried after a wait that doubles from {@link PUMP_RETRY_INITIAL_MS} to {@link PUMP_RETRY_MAX_MS} and starts over once an event arrives, so a port that has gone away costs one timer every {@link PUMP_RETRY_MAX_MS} at most and never keeps the event loop busy. Nothing in a browser reports a closed message port or says a socket will not come back, so the pump ends only when `signal` aborts (the owner disconnected or started a newer pump; a wait in progress ends at once) or the server ends the stream normally.
|
|
35
|
+
*
|
|
36
|
+
* A failure thrown by `onEvent` is not a transport failure: it is passed to `onHandlerError`, the pump carries on with the next event, and that event's id is not recorded, so a later resume replays from the last event that was applied. A resubscribe never happens because of a handler.
|
|
37
|
+
* @param subscribe - Opens the stream, resuming after `lastEventId` when one is given.
|
|
38
|
+
* @param onEvent - Applies one event.
|
|
39
|
+
* @param onHandlerError - Receives what `onEvent` threw.
|
|
40
|
+
* @param signal - Aborted by the owner to end the pump.
|
|
41
|
+
*/
|
|
42
|
+
export async function pumpEvents(subscribe, onEvent, onHandlerError, signal) {
|
|
43
|
+
let lastEventId;
|
|
44
|
+
let retryDelayMs = PUMP_RETRY_INITIAL_MS;
|
|
45
|
+
while (!signal.aborted) {
|
|
46
|
+
try {
|
|
47
|
+
const events = await subscribe(lastEventId);
|
|
48
|
+
for await (const event of events) {
|
|
49
|
+
if (isAborted(signal))
|
|
50
|
+
return;
|
|
51
|
+
retryDelayMs = PUMP_RETRY_INITIAL_MS;
|
|
52
|
+
try {
|
|
53
|
+
onEvent(event);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
onHandlerError(error);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const meta = getEventMeta(event);
|
|
60
|
+
if (meta?.id !== undefined)
|
|
61
|
+
lastEventId = meta.id;
|
|
62
|
+
}
|
|
63
|
+
// The server ended the stream normally: nothing left to resume.
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Transport dropped, or the subscription could not be opened: wait, then resume from lastEventId.
|
|
68
|
+
}
|
|
69
|
+
await wait(retryDelayMs, signal);
|
|
70
|
+
retryDelayMs = Math.min(retryDelayMs * PUMP_RETRY_FACTOR, PUMP_RETRY_MAX_MS);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=event-pump.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-pump.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/event-pump.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,iHAAiH;AACjH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qLAAqL;AACrL,SAAS,SAAS,CAAC,MAAmB;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,sJAAsJ;AACtJ,KAAK,UAAU,IAAI,CAAC,EAAU,EAAE,MAAmB;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,SAAS,IAAI;YACX,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAA6E,EAC7E,OAA+B,EAC/B,cAAwC,EACxC,MAAmB;IAEnB,IAAI,WAA+B,CAAC;IACpC,IAAI,YAAY,GAAG,qBAAqB,CAAC;IAEzC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,IAAI,SAAS,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAC9B,YAAY,GAAG,qBAAqB,CAAC;gBACrC,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,cAAc,CAAC,KAAK,CAAC,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS;oBAAE,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;YACpD,CAAC;YACD,gEAAgE;YAChE,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,kGAAkG;QACpG,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjC,YAAY,GAAG,IAAI,CAAC,GAAG,CACrB,YAAY,GAAG,iBAAiB,EAChC,iBAAiB,CAClB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -46,7 +46,7 @@ export declare class MeshClient {
|
|
|
46
46
|
private state;
|
|
47
47
|
private readonly listeners;
|
|
48
48
|
private readonly deliveryListeners;
|
|
49
|
-
private
|
|
49
|
+
private eventPump;
|
|
50
50
|
private readonly bridgePortBase;
|
|
51
51
|
/** Delegates each structured read to `this.client` fresh on every call, throwing "Not connected" the same way a real network failure would if called before connect() -- a stable object createTanstackQueryUtils below can be built from once, since the real tab client doesn't exist until connect() is called but these utils need a stable reference for the lifetime of the app. */
|
|
52
52
|
private readonly readsClient;
|
|
@@ -70,7 +70,7 @@ export declare class MeshClient {
|
|
|
70
70
|
/** Disconnect and clean up. */
|
|
71
71
|
disconnect(): void;
|
|
72
72
|
/**
|
|
73
|
-
* Consumes the worker's own subscribeEvents() stream
|
|
73
|
+
* Consumes the worker's own subscribeEvents() stream until `signal` aborts (see event-pump.ts, which the worker's own pump shares): resuming by lastEventId after any transport-level drop is this loop's own job, not something either RetryLinkPlugin or the underlying transport does transparently on its own (confirmed empirically in an earlier stage of this migration).
|
|
74
74
|
*/
|
|
75
75
|
private pumpEvents;
|
|
76
76
|
private applyMeshEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-client.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,eAAe,EACf,IAAI,EACJ,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAa,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mesh-client.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
*
|
|
10
10
|
* The public subscribe()/get()/disconnect()/sendAction()/connect() surface is unchanged from before the oRPC migration -- internally, agents/rooms are now driven by consuming the worker's own tab-contract.ts subscribeEvents() stream over a real oRPC message-port client, rather than parsing raw postMessage frames. The one signal the new stream doesn't yet carry as its own discrete event -- connected/disconnected, which describes the worker's own upstream socket state to the real server, not this class's own message-port channel to the worker -- is read from the legacy protocol's own "connected"/"disconnected" broadcasts, still fully live on the same port (mesh-worker.ts's own PR4 kept both protocols coexisting deliberately for exactly this kind of narrow reuse, rather than re-deriving an equivalent signal via a second, redundant mechanism).
|
|
11
11
|
*/
|
|
12
|
-
import { createORPCClient
|
|
12
|
+
import { createORPCClient } from "@orpc/client";
|
|
13
13
|
import { RPCLink } from "@orpc/client/message-port";
|
|
14
14
|
import { createTanstackQueryUtils } from "@orpc/tanstack-query";
|
|
15
15
|
import { probeForBridge } from "../bridge-port-range.js";
|
|
16
|
+
import { pumpEvents } from "./event-pump.js";
|
|
16
17
|
import { dispatchAction } from "./dispatch-action.js";
|
|
17
18
|
import { isServedByBridge } from "./served-by-bridge.js";
|
|
18
19
|
/**
|
|
@@ -57,7 +58,7 @@ export class MeshClient {
|
|
|
57
58
|
};
|
|
58
59
|
listeners = new Set();
|
|
59
60
|
deliveryListeners = new Set();
|
|
60
|
-
|
|
61
|
+
eventPump;
|
|
61
62
|
bridgePortBase;
|
|
62
63
|
/** Delegates each structured read to `this.client` fresh on every call, throwing "Not connected" the same way a real network failure would if called before connect() -- a stable object createTanstackQueryUtils below can be built from once, since the real tab client doesn't exist until connect() is called but these utils need a stable reference for the lifetime of the app. */
|
|
63
64
|
readsClient = buildReadsClient(() => this.requireClient());
|
|
@@ -102,7 +103,10 @@ export class MeshClient {
|
|
|
102
103
|
const link = new RPCLink({ port: worker.port });
|
|
103
104
|
const client = createORPCClient(link);
|
|
104
105
|
this.client = client;
|
|
105
|
-
|
|
106
|
+
this.eventPump?.abort();
|
|
107
|
+
const pump = new AbortController();
|
|
108
|
+
this.eventPump = pump;
|
|
109
|
+
void this.pumpEvents(client, pump.signal);
|
|
106
110
|
// Discover the web server: look through the bridge port range, the one a bridge binds from. If served by a bridge's own server (loopback, or plain http over the LAN), use that origin directly. Otherwise probe localhost.
|
|
107
111
|
if (isServedByBridge(location)) {
|
|
108
112
|
const proto = location.protocol === "https:" ? "wss:" : "ws:";
|
|
@@ -146,7 +150,8 @@ export class MeshClient {
|
|
|
146
150
|
const client = this.client;
|
|
147
151
|
this.worker = undefined;
|
|
148
152
|
this.client = undefined;
|
|
149
|
-
this.
|
|
153
|
+
this.eventPump?.abort();
|
|
154
|
+
this.eventPump = undefined;
|
|
150
155
|
if (!worker)
|
|
151
156
|
return;
|
|
152
157
|
if (client) {
|
|
@@ -165,27 +170,14 @@ export class MeshClient {
|
|
|
165
170
|
}
|
|
166
171
|
}
|
|
167
172
|
/**
|
|
168
|
-
* Consumes the worker's own subscribeEvents() stream
|
|
173
|
+
* Consumes the worker's own subscribeEvents() stream until `signal` aborts (see event-pump.ts, which the worker's own pump shares): resuming by lastEventId after any transport-level drop is this loop's own job, not something either RetryLinkPlugin or the underlying transport does transparently on its own (confirmed empirically in an earlier stage of this migration).
|
|
169
174
|
*/
|
|
170
|
-
async pumpEvents(client,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (generation !== this.eventPumpGeneration)
|
|
177
|
-
return;
|
|
178
|
-
const meta = getEventMeta(event);
|
|
179
|
-
if (meta?.id !== undefined)
|
|
180
|
-
lastEventId = meta.id;
|
|
181
|
-
this.applyMeshEvent(event);
|
|
182
|
-
}
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
catch {
|
|
186
|
-
// Transport dropped mid-stream. Loop back and resume from lastEventId once subscribeEvents() can succeed again.
|
|
187
|
-
}
|
|
188
|
-
}
|
|
175
|
+
async pumpEvents(client, signal) {
|
|
176
|
+
await pumpEvents(async (lastEventId) => client.subscribeEvents(lastEventId === undefined ? {} : { lastEventId }), (event) => {
|
|
177
|
+
this.applyMeshEvent(event);
|
|
178
|
+
}, (error) => {
|
|
179
|
+
console.error("Agent Comms dashboard: applying an event failed", error);
|
|
180
|
+
}, signal);
|
|
189
181
|
}
|
|
190
182
|
applyMeshEvent(event) {
|
|
191
183
|
switch (event.kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-client.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"mesh-client.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,7 +117,7 @@ export declare function getStateSnapshot(): StateSnapshot;
|
|
|
117
117
|
export declare const localPublisher: MeshEventPublisher;
|
|
118
118
|
export declare function connect(url: string): void;
|
|
119
119
|
/**
|
|
120
|
-
* Deliberately tears down the current upstream connection:
|
|
120
|
+
* Deliberately tears down the current upstream connection: ends the event pump first (aborting its signal the same way a fresh connect() does, so the pump stops at once, even mid-wait, instead of treating the socket closing next as something to reconnect and resume from), clears orpcClient so upstream()/requireOrpcClient() correctly report "not connected" for anything called afterward, then closes the actual socket. Nothing else closed this worker's own upstream connection on purpose, so a caller tearing down the server this worker was talking to (integration tests in particular) needs this to close its half of the connection first: otherwise the server's own WebSocketServer.close() waits indefinitely for a client it still tracks, since ws's WebSocketServer.close() callback only fires once every tracked client connection has closed.
|
|
121
121
|
*/
|
|
122
122
|
export declare function disconnect(): void;
|
|
123
123
|
export declare const ports: Set<MessagePortLike>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-worker.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"mesh-worker.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Built as a separate IIFE bundle (mesh-worker.js) so the SharedWorker runs in its own global scope independent of the main app bundle.
|
|
7
7
|
*/
|
|
8
|
-
import { createORPCClient
|
|
8
|
+
import { createORPCClient } from "@orpc/client";
|
|
9
9
|
import { RPCLink } from "@orpc/client/websocket";
|
|
10
10
|
import { RetryLinkPlugin } from "@orpc/client/plugins";
|
|
11
11
|
import { implement } from "@orpc/server";
|
|
12
12
|
import { RPCHandler } from "@orpc/server/message-port";
|
|
13
13
|
import { MeshEventPublisher } from "../event-publisher.js";
|
|
14
14
|
import { tabContract } from "./tab-contract.js";
|
|
15
|
+
import { pumpEvents } from "./event-pump.js";
|
|
15
16
|
import { dispatchAction } from "./dispatch-action.js";
|
|
16
17
|
// ---------------------------------------------------------------------------
|
|
17
18
|
// Lightweight mesh state
|
|
@@ -100,7 +101,7 @@ export function getStateSnapshot() {
|
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
103
|
let orpcClient;
|
|
103
|
-
let
|
|
104
|
+
let eventPump;
|
|
104
105
|
/** The current upstream WebSocket, tracked so disconnect() can close it deliberately -- reassigned every time RPCLink's own connect callback runs (the initial dial and every reconnect attempt), so it always names the actual live connection, never a stale one from an earlier attempt. */
|
|
105
106
|
let currentSocket;
|
|
106
107
|
/** Republishes every event this worker receives from the real server to any tab subscribed via the worker's own oRPC downstream (tab-contract.ts's subscribeEvents). Resumable the same way the server's own publisher is -- a tab's oRPC client can reconnect to this worker (a new MessagePort, or the same one after a drop) and resume from its own lastEventId. */
|
|
@@ -138,56 +139,46 @@ export function connect(url) {
|
|
|
138
139
|
});
|
|
139
140
|
const client = createORPCClient(link);
|
|
140
141
|
orpcClient = client;
|
|
141
|
-
|
|
142
|
+
eventPump?.abort();
|
|
143
|
+
const pump = new AbortController();
|
|
144
|
+
eventPump = pump;
|
|
145
|
+
void pumpUpstreamEvents(client, pump.signal);
|
|
142
146
|
}
|
|
143
147
|
/**
|
|
144
|
-
* Deliberately tears down the current upstream connection:
|
|
148
|
+
* Deliberately tears down the current upstream connection: ends the event pump first (aborting its signal the same way a fresh connect() does, so the pump stops at once, even mid-wait, instead of treating the socket closing next as something to reconnect and resume from), clears orpcClient so upstream()/requireOrpcClient() correctly report "not connected" for anything called afterward, then closes the actual socket. Nothing else closed this worker's own upstream connection on purpose, so a caller tearing down the server this worker was talking to (integration tests in particular) needs this to close its half of the connection first: otherwise the server's own WebSocketServer.close() waits indefinitely for a client it still tracks, since ws's WebSocketServer.close() callback only fires once every tracked client connection has closed.
|
|
145
149
|
*/
|
|
146
150
|
export function disconnect() {
|
|
147
|
-
|
|
151
|
+
eventPump?.abort();
|
|
152
|
+
eventPump = undefined;
|
|
148
153
|
orpcClient = undefined;
|
|
149
154
|
currentSocket?.close();
|
|
150
155
|
currentSocket = undefined;
|
|
151
156
|
}
|
|
152
157
|
/**
|
|
153
|
-
* Consumes the unified event stream
|
|
158
|
+
* Consumes the unified event stream until `signal` aborts: a fresh connect() call (a new "init" message) aborts the previous pump instead of running two concurrently against the same worker state.
|
|
154
159
|
*
|
|
155
|
-
*
|
|
160
|
+
* RetryLinkPlugin does not transparently resume an already-active subscribeEvents() call across a transport-level drop: the in-flight for-await throws (an AbortError from the closed socket) instead of pausing and resuming underneath the same iterator. Resuming from lastEventId after such a drop, with a wait between attempts, is event-pump.ts's job, which the page's own client shares.
|
|
156
161
|
*/
|
|
157
|
-
async function
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
broadcastToPorts({ type: "state", state: getStateSnapshot() });
|
|
174
|
-
break;
|
|
175
|
-
case "state_patch":
|
|
176
|
-
applyPatch(event.patch);
|
|
177
|
-
broadcastToPorts({ type: "patch", patch: event.patch });
|
|
178
|
-
break;
|
|
179
|
-
case "delivery":
|
|
180
|
-
// Not part of the legacy postMessage protocol's own WorkerOutbound union -- delivery events reach tabs exclusively through the oRPC tab-contract.ts subscribeEvents stream, via localPublisher.publish(event) above (applied uniformly to every event kind, not just this one).
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
// The server ended the stream normally -- nothing left to resume.
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
catch {
|
|
188
|
-
// Transport dropped mid-stream. Loop back and resume from lastEventId once subscribeEvents() can succeed again.
|
|
162
|
+
async function pumpUpstreamEvents(client, signal) {
|
|
163
|
+
await pumpEvents(async (lastEventId) => client.subscribeEvents(lastEventId === undefined ? {} : { lastEventId }), (event) => {
|
|
164
|
+
// Republish to the worker's own downstream (tab-contract.ts's subscribeEvents) with a fresh, worker-assigned id (a separate resumability domain from the server's own, since a tab resumes against this worker, not against the server directly).
|
|
165
|
+
localPublisher.publish(event);
|
|
166
|
+
switch (event.kind) {
|
|
167
|
+
case "state_sync":
|
|
168
|
+
applyStateSync(event.state);
|
|
169
|
+
broadcastToPorts({ type: "state", state: getStateSnapshot() });
|
|
170
|
+
break;
|
|
171
|
+
case "state_patch":
|
|
172
|
+
applyPatch(event.patch);
|
|
173
|
+
broadcastToPorts({ type: "patch", patch: event.patch });
|
|
174
|
+
break;
|
|
175
|
+
case "delivery":
|
|
176
|
+
// Not part of the legacy postMessage protocol's own WorkerOutbound union: delivery events reach tabs exclusively through the oRPC tab-contract.ts subscribeEvents stream, via localPublisher.publish(event) above (applied uniformly to every event kind, not just this one).
|
|
177
|
+
break;
|
|
189
178
|
}
|
|
190
|
-
}
|
|
179
|
+
}, (error) => {
|
|
180
|
+
console.error("Agent Comms worker: applying an event failed", error);
|
|
181
|
+
}, signal);
|
|
191
182
|
}
|
|
192
183
|
// ---------------------------------------------------------------------------
|
|
193
184
|
// Port management — fan-out to all connected main-thread tabs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-worker.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mesh-worker.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED