agent-comms 3.25.0 → 3.26.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.
@@ -5,50 +5,17 @@
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 { MeshEventPublisher } from "../event-publisher.js";
9
+ import type { AgentIdentity as CoreAgentIdentity, Room as CoreRoom, RoomMessage as CoreRoomMessage, DmMessage as CoreDmMessage } from "../../../../core/types.js";
8
10
  interface MessagePortLike {
9
11
  postMessage: (message: unknown) => void;
10
12
  close: () => void;
11
13
  onmessage: ((event: MessageEvent) => void) | null;
12
14
  }
13
- export interface AgentIdentity {
14
- id: string;
15
- name: string;
16
- harness: string;
17
- cwd: string;
18
- pid: number;
19
- startedAt: string;
20
- visibility: "visible" | "hidden" | "ghost";
21
- status: "active" | "idle" | "busy" | "offline";
22
- tags: string[];
23
- subscribedRooms: string[];
24
- }
25
- export interface Room {
26
- id: string;
27
- name: string;
28
- type: "public" | "private" | "secret";
29
- owner: string;
30
- createdAt: string;
31
- description: string;
32
- members: string[];
33
- invited: string[];
34
- }
35
- interface RoomMessage {
36
- id: string;
37
- from: string;
38
- room: string;
39
- content: string;
40
- timestamp: string;
41
- replyTo?: string | undefined;
42
- readBy: string[];
43
- }
44
- interface DmMessage {
45
- id: string;
46
- from: string;
47
- to: string;
48
- content: string;
49
- timestamp: string;
50
- readBy: string[];
51
- }
15
+ export type AgentIdentity = CoreAgentIdentity;
16
+ export type Room = CoreRoom;
17
+ type RoomMessage = CoreRoomMessage;
18
+ type DmMessage = CoreDmMessage;
52
19
  interface DeliveryEvent {
53
20
  type: string;
54
21
  [key: string]: unknown;
@@ -93,17 +60,66 @@ interface StateSnapshot {
93
60
  agents: AgentIdentity[];
94
61
  rooms: Room[];
95
62
  }
96
- export declare const agents: Map<string, AgentIdentity>;
97
- export declare const rooms: Map<string, Room>;
98
- export declare const messages: Map<string, RoomMessage[]>;
99
- export declare const dms: Map<string, DmMessage[]>;
63
+ export declare const agents: Map<string, {
64
+ id: string;
65
+ version: number;
66
+ name: string;
67
+ harness: string;
68
+ cwd: string;
69
+ pid: number;
70
+ startedAt: string;
71
+ visibility: "visible" | "hidden" | "ghost";
72
+ status: "active" | "idle" | "busy" | "offline";
73
+ tags: string[];
74
+ subscribedRooms: string[];
75
+ }>;
76
+ export declare const rooms: Map<string, {
77
+ id: string;
78
+ version: number;
79
+ name: string;
80
+ type: "public" | "private" | "secret";
81
+ owner: string;
82
+ createdAt: string;
83
+ description: string;
84
+ members: string[];
85
+ invited: string[];
86
+ memberJoins: Record<string, number>;
87
+ memberLeaves: Record<string, number>;
88
+ invitedJoins: Record<string, number>;
89
+ invitedLeaves: Record<string, number>;
90
+ }>;
91
+ export declare const messages: Map<string, {
92
+ id: string;
93
+ from: string;
94
+ room: string;
95
+ content: string;
96
+ timestamp: string;
97
+ readBy: string[];
98
+ replyTo?: string | undefined;
99
+ streamingBehavior?: "steer" | "followUp" | "info" | undefined;
100
+ }[]>;
101
+ export declare const dms: Map<string, {
102
+ id: string;
103
+ from: string;
104
+ to: string;
105
+ content: string;
106
+ timestamp: string;
107
+ readBy: string[];
108
+ streamingBehavior?: "steer" | "followUp" | "info" | undefined;
109
+ }[]>;
100
110
  export declare function applyStateSync(state: SerialisedState): void;
101
111
  /**
102
112
  * Applies one server-sent patch to local state. Never merges with the existing local copy -- the worker holds a single WebSocket connection to exactly one server, and the server has already computed the fully-merged, authoritative record (delivery-engine.ts's own version-gated CRDT merge) before ever broadcasting it, so whatever a patch carries IS the correct state, full stop. Merging on top of a possibly-stale local copy (the previous behaviour) can only make things worse -- e.g. resurrecting a room or member the server already removed, since the worker has no version field to know its own copy might already be the older one.
103
113
  */
104
114
  export declare function applyPatch(patch: MeshStatePatch): void;
105
115
  export declare function getStateSnapshot(): StateSnapshot;
116
+ /** 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. */
117
+ export declare const localPublisher: MeshEventPublisher;
106
118
  export declare function connect(url: string): void;
107
119
  export declare const ports: Set<MessagePortLike>;
120
+ /**
121
+ * 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.
122
+ */
123
+ export declare function upgradeTabRpcPort(port: Readonly<MessagePort>): void;
108
124
  export {};
109
125
  //# sourceMappingURL=mesh-worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-worker.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh-worker.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/frontend/mesh-worker.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@
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";
11
15
  // ---------------------------------------------------------------------------
12
16
  // Lightweight mesh state
13
17
  // ---------------------------------------------------------------------------
@@ -96,6 +100,8 @@ export function getStateSnapshot() {
96
100
  }
97
101
  let orpcClient;
98
102
  let eventPumpGeneration = 0;
103
+ /** 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. */
104
+ export const localPublisher = new MeshEventPublisher();
99
105
  function toOrpcUrl(legacyMeshUrl) {
100
106
  return legacyMeshUrl.replace(/\/ws\/mesh$/, "/ws/mesh-orpc");
101
107
  }
@@ -147,6 +153,8 @@ async function pumpEvents(client, generation) {
147
153
  const meta = getEventMeta(event);
148
154
  if (meta?.id !== undefined)
149
155
  lastEventId = meta.id;
156
+ // 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.
157
+ localPublisher.publish(event);
150
158
  switch (event.kind) {
151
159
  case "state_sync":
152
160
  applyStateSync(event.state);
@@ -157,7 +165,7 @@ async function pumpEvents(client, generation) {
157
165
  broadcastToPorts({ type: "patch", patch: event.patch });
158
166
  break;
159
167
  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.
168
+ // 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
169
  break;
162
170
  }
163
171
  }
@@ -277,9 +285,82 @@ function isWorkerInbound(value) {
277
285
  return (typeof t === "string" &&
278
286
  (t === "init" || t === "action" || t === "getState"));
279
287
  }
288
+ /** 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. */
289
+ function buildSerialisedState() {
290
+ return {
291
+ agents: Object.fromEntries(agents),
292
+ rooms: Object.fromEntries(rooms),
293
+ messages: Object.fromEntries(messages),
294
+ dms: Object.fromEntries(dms),
295
+ };
296
+ }
297
+ async function upstream(input) {
298
+ if (!orpcClient) {
299
+ return { content: "Not connected to mesh yet", isError: true };
300
+ }
301
+ return dispatchAction(orpcClient, input);
302
+ }
303
+ const tabImpl = implement(tabContract).$context();
304
+ // 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.
305
+ const tabRpcHandlerRef = {};
306
+ const tabRouter = {
307
+ send: tabImpl.send.handler(async ({ input }) => upstream({ action: "send", ...input })),
308
+ dm: tabImpl.dm.handler(async ({ input }) => upstream({ action: "dm", ...input })),
309
+ joinRoom: tabImpl.joinRoom.handler(async ({ input }) => upstream({ action: "join_room", room: input.room })),
310
+ leaveRoom: tabImpl.leaveRoom.handler(async ({ input }) => upstream({ action: "leave_room", room: input.room })),
311
+ createRoom: tabImpl.createRoom.handler(async ({ input }) => upstream({
312
+ action: "create_room",
313
+ name: input.name,
314
+ type: input.type,
315
+ description: input.description,
316
+ })),
317
+ listRooms: tabImpl.listRooms.handler(async () => upstream({ action: "list_rooms" })),
318
+ listAgents: tabImpl.listAgents.handler(async () => upstream({ action: "list_agents" })),
319
+ readRoom: tabImpl.readRoom.handler(async ({ input }) => upstream({ action: "read_room", room: input.room })),
320
+ destroyRoom: tabImpl.destroyRoom.handler(async ({ input }) => upstream({ action: "destroy_room", room: input.room })),
321
+ invite: tabImpl.invite.handler(async ({ input }) => upstream({ action: "invite", room: input.room, agent: input.agent })),
322
+ declineInvite: tabImpl.declineInvite.handler(async ({ input }) => upstream({
323
+ action: "decline_invite",
324
+ room: input.room,
325
+ reason: input.reason,
326
+ })),
327
+ kick: tabImpl.kick.handler(async ({ input }) => upstream({ action: "kick", room: input.room, agent: input.agent })),
328
+ renameAgent: tabImpl.renameAgent.handler(async ({ input }) => upstream({ action: "rename_agent", agent: input.agent, name: input.name })),
329
+ pushSubscribe: tabImpl.pushSubscribe.handler(async ({ input }) => upstream({
330
+ action: "push_subscribe",
331
+ subscription: input.subscription,
332
+ agentId: input.agentId,
333
+ })),
334
+ pushUnsubscribe: tabImpl.pushUnsubscribe.handler(async ({ input }) => upstream({ action: "push_unsubscribe", agentId: input.agentId })),
335
+ subscribeEvents: tabImpl.subscribeEvents.handler(async function* ({ input, signal, }) {
336
+ if (input.lastEventId === undefined) {
337
+ yield { kind: "state_sync", state: buildSerialisedState() };
338
+ }
339
+ yield* localPublisher.subscribe({
340
+ ...(signal ? { signal } : {}),
341
+ ...(input.lastEventId !== undefined
342
+ ? { lastEventId: input.lastEventId }
343
+ : {}),
344
+ });
345
+ }),
346
+ disconnect: tabImpl.disconnect.handler(async ({ context }) => {
347
+ // 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.
348
+ setTimeout(() => {
349
+ void tabRpcHandlerRef.current?.close(context.port);
350
+ }, 0);
351
+ return {};
352
+ }),
353
+ };
354
+ tabRpcHandlerRef.current = new RPCHandler(tabRouter);
280
355
  // ---------------------------------------------------------------------------
281
356
  // Entry point — listen for SharedWorker connections
282
357
  // ---------------------------------------------------------------------------
358
+ /**
359
+ * 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.
360
+ */
361
+ export function upgradeTabRpcPort(port) {
362
+ tabRpcHandlerRef.current?.upgrade(port, { context: { port } });
363
+ }
283
364
  /** 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
365
  if (typeof self !== "undefined") {
285
366
  self.addEventListener("connect", (event) => {
@@ -304,6 +385,8 @@ if (typeof self !== "undefined") {
304
385
  handlePortMessage(parsed);
305
386
  }
306
387
  };
388
+ // 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.
389
+ upgradeTabRpcPort(rawPort);
307
390
  });
308
391
  }
309
392
  //# 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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"}