agent-comms 3.25.0 → 3.27.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.
@@ -8,6 +8,11 @@
8
8
  import { createORPCClient, getEventMeta } from "@orpc/client";
9
9
  import { RPCLink } from "@orpc/client/websocket";
10
10
  import { RetryLinkPlugin } from "@orpc/client/plugins";
11
+ import { implement } from "@orpc/server";
12
+ import { RPCHandler } from "@orpc/server/message-port";
13
+ import { MeshEventPublisher } from "../event-publisher.js";
14
+ import { tabContract } from "./tab-contract.js";
15
+ import { dispatchAction } from "./dispatch-action.js";
11
16
  // ---------------------------------------------------------------------------
12
17
  // Lightweight mesh state
13
18
  // ---------------------------------------------------------------------------
@@ -96,6 +101,8 @@ export function getStateSnapshot() {
96
101
  }
97
102
  let orpcClient;
98
103
  let eventPumpGeneration = 0;
104
+ /** 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. */
105
+ export const localPublisher = new MeshEventPublisher();
99
106
  function toOrpcUrl(legacyMeshUrl) {
100
107
  return legacyMeshUrl.replace(/\/ws\/mesh$/, "/ws/mesh-orpc");
101
108
  }
@@ -147,6 +154,8 @@ async function pumpEvents(client, generation) {
147
154
  const meta = getEventMeta(event);
148
155
  if (meta?.id !== undefined)
149
156
  lastEventId = meta.id;
157
+ // 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.
158
+ localPublisher.publish(event);
150
159
  switch (event.kind) {
151
160
  case "state_sync":
152
161
  applyStateSync(event.state);
@@ -157,7 +166,7 @@ async function pumpEvents(client, generation) {
157
166
  broadcastToPorts({ type: "patch", patch: event.patch });
158
167
  break;
159
168
  case "delivery":
160
- // Not yet part of the worker's tab-facing protocol -- delivery events still flow to tabs over the separate legacy chat socket (main.tsx's CommsWs) until that cutover lands.
169
+ // Not yet part of the worker's LEGACY tab-facing protocol -- delivery events still flow to tabs over the separate legacy chat socket (main.tsx's CommsWs) until that cutover lands. The new oRPC tab-contract.ts subscribeEvents above already carries it via localPublisher.
161
170
  break;
162
171
  }
163
172
  }
@@ -169,62 +178,6 @@ async function pumpEvents(client, generation) {
169
178
  }
170
179
  }
171
180
  }
172
- async function dispatchAction(client, action) {
173
- const str = (key) => {
174
- const value = action[key];
175
- return typeof value === "string" ? value : "";
176
- };
177
- const optStr = (key) => {
178
- const value = action[key];
179
- return typeof value === "string" ? value : undefined;
180
- };
181
- const roomType = () => {
182
- const value = action.type;
183
- return value === "public" || value === "private" || value === "secret"
184
- ? value
185
- : "public";
186
- };
187
- switch (action.action) {
188
- case "send":
189
- return client.send({ target: str("target"), content: str("content") });
190
- case "dm":
191
- return client.dm({ target: str("target"), content: str("content") });
192
- case "join_room":
193
- return client.joinRoom({ room: str("room") });
194
- case "leave_room":
195
- return client.leaveRoom({ room: optStr("room") });
196
- case "create_room":
197
- return client.createRoom({
198
- name: str("name"),
199
- type: roomType(),
200
- description: optStr("description"),
201
- });
202
- case "list_rooms":
203
- return client.listRooms({});
204
- case "list_agents":
205
- return client.listAgents({});
206
- case "read_room":
207
- return client.readRoom({ room: optStr("room") });
208
- case "destroy_room":
209
- return client.destroyRoom({ room: str("room") });
210
- case "invite":
211
- return client.invite({ room: str("room"), agent: str("agent") });
212
- case "decline_invite":
213
- return client.declineInvite({
214
- room: str("room"),
215
- reason: str("reason"),
216
- });
217
- case "kick":
218
- return client.kick({ room: str("room"), agent: str("agent") });
219
- case "rename_agent":
220
- return client.renameAgent({ agent: str("agent"), name: str("name") });
221
- default:
222
- return {
223
- content: `Unknown action: ${String(action.action)}`,
224
- isError: true,
225
- };
226
- }
227
- }
228
181
  // ---------------------------------------------------------------------------
229
182
  // Port management — fan-out to all connected main-thread tabs
230
183
  // ---------------------------------------------------------------------------
@@ -277,9 +230,82 @@ function isWorkerInbound(value) {
277
230
  return (typeof t === "string" &&
278
231
  (t === "init" || t === "action" || t === "getState"));
279
232
  }
233
+ /** The worker's own merged state, in the same SerialisedState shape the server's state_sync carries -- built from all four local Maps, not just the narrower "agents, rooms" StateSnapshot broadcastToPorts uses for the legacy protocol. */
234
+ function buildSerialisedState() {
235
+ return {
236
+ agents: Object.fromEntries(agents),
237
+ rooms: Object.fromEntries(rooms),
238
+ messages: Object.fromEntries(messages),
239
+ dms: Object.fromEntries(dms),
240
+ };
241
+ }
242
+ async function upstream(input) {
243
+ if (!orpcClient) {
244
+ return { content: "Not connected to mesh yet", isError: true };
245
+ }
246
+ return dispatchAction(orpcClient, input);
247
+ }
248
+ const tabImpl = implement(tabContract).$context();
249
+ // Declared ahead of tabRouter (its .current assigned after it, below) so disconnect's own handler -- itself a value inside tabRouter -- can close over this ref; the closure only reads it once a real call arrives, well after the assignment below has run.
250
+ const tabRpcHandlerRef = {};
251
+ const tabRouter = {
252
+ send: tabImpl.send.handler(async ({ input }) => upstream({ action: "send", ...input })),
253
+ dm: tabImpl.dm.handler(async ({ input }) => upstream({ action: "dm", ...input })),
254
+ joinRoom: tabImpl.joinRoom.handler(async ({ input }) => upstream({ action: "join_room", room: input.room })),
255
+ leaveRoom: tabImpl.leaveRoom.handler(async ({ input }) => upstream({ action: "leave_room", room: input.room })),
256
+ createRoom: tabImpl.createRoom.handler(async ({ input }) => upstream({
257
+ action: "create_room",
258
+ name: input.name,
259
+ type: input.type,
260
+ description: input.description,
261
+ })),
262
+ listRooms: tabImpl.listRooms.handler(async () => upstream({ action: "list_rooms" })),
263
+ listAgents: tabImpl.listAgents.handler(async () => upstream({ action: "list_agents" })),
264
+ readRoom: tabImpl.readRoom.handler(async ({ input }) => upstream({ action: "read_room", room: input.room })),
265
+ destroyRoom: tabImpl.destroyRoom.handler(async ({ input }) => upstream({ action: "destroy_room", room: input.room })),
266
+ invite: tabImpl.invite.handler(async ({ input }) => upstream({ action: "invite", room: input.room, agent: input.agent })),
267
+ declineInvite: tabImpl.declineInvite.handler(async ({ input }) => upstream({
268
+ action: "decline_invite",
269
+ room: input.room,
270
+ reason: input.reason,
271
+ })),
272
+ kick: tabImpl.kick.handler(async ({ input }) => upstream({ action: "kick", room: input.room, agent: input.agent })),
273
+ renameAgent: tabImpl.renameAgent.handler(async ({ input }) => upstream({ action: "rename_agent", agent: input.agent, name: input.name })),
274
+ pushSubscribe: tabImpl.pushSubscribe.handler(async ({ input }) => upstream({
275
+ action: "push_subscribe",
276
+ subscription: input.subscription,
277
+ agentId: input.agentId,
278
+ })),
279
+ pushUnsubscribe: tabImpl.pushUnsubscribe.handler(async ({ input }) => upstream({ action: "push_unsubscribe", agentId: input.agentId })),
280
+ subscribeEvents: tabImpl.subscribeEvents.handler(async function* ({ input, signal, }) {
281
+ if (input.lastEventId === undefined) {
282
+ yield { kind: "state_sync", state: buildSerialisedState() };
283
+ }
284
+ yield* localPublisher.subscribe({
285
+ ...(signal ? { signal } : {}),
286
+ ...(input.lastEventId !== undefined
287
+ ? { lastEventId: input.lastEventId }
288
+ : {}),
289
+ });
290
+ }),
291
+ disconnect: tabImpl.disconnect.handler(async ({ context }) => {
292
+ // Closing the peer synchronously, before this handler returns, tears down the same port the RPC response itself still needs to go out over -- confirmed empirically (a real hang, not assumed): awaiting close() here means the client's disconnect() call never resolves at all. A microtask defer wasn't enough separation either (still hung) -- a macrotask (setTimeout) is what actually lets the response finish being posted before the port closes.
293
+ setTimeout(() => {
294
+ void tabRpcHandlerRef.current?.close(context.port);
295
+ }, 0);
296
+ return {};
297
+ }),
298
+ };
299
+ tabRpcHandlerRef.current = new RPCHandler(tabRouter);
280
300
  // ---------------------------------------------------------------------------
281
301
  // Entry point — listen for SharedWorker connections
282
302
  // ---------------------------------------------------------------------------
303
+ /**
304
+ * Wires the new oRPC tab-contract.ts downstream onto a port -- dark, nothing in mesh-client.ts speaks it yet, but it's real and independently reachable. Exported (read-only: never assigns any of the port's own properties, unlike the legacy protocol's onmessage wiring below) so a test can drive it directly against a real MessagePort pair without simulating a real SharedWorker "connect" event.
305
+ */
306
+ export function upgradeTabRpcPort(port) {
307
+ tabRpcHandlerRef.current?.upgrade(port, { context: { port } });
308
+ }
283
309
  /** Registers the real SharedWorker entry point. Guarded on `self` actually existing as a SharedWorkerGlobalScope: this module is imported directly (not just bundled) by unit tests exercising the pure reducer functions above, and a plain Node test environment has no global `self` at all. */
284
310
  if (typeof self !== "undefined") {
285
311
  self.addEventListener("connect", (event) => {
@@ -304,6 +330,8 @@ if (typeof self !== "undefined") {
304
330
  handlePortMessage(parsed);
305
331
  }
306
332
  };
333
+ // The new oRPC downstream, dark: wired via addEventListener (confirmed against the installed adapter's own source, not assumed), which coexists safely alongside the legacy onmessage assignment above on the same port -- both fire independently, and each side's own message-shape check ignores frames meant for the other.
334
+ upgradeTabRpcPort(rawPort);
307
335
  });
308
336
  }
309
337
  //# sourceMappingURL=mesh-worker.js.map
@@ -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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"}