agent-comms 3.20.0 → 3.22.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 (161) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +1 -1
  4. package/dist/bridges/cc-peer/front-runtime.d.ts.map +1 -1
  5. package/dist/bridges/cc-peer/front-runtime.js +2 -1
  6. package/dist/bridges/cc-peer/front-runtime.js.map +1 -1
  7. package/dist/bridges/cc-peer/run.d.ts.map +1 -1
  8. package/dist/bridges/cc-peer/run.js +2 -1
  9. package/dist/bridges/cc-peer/run.js.map +1 -1
  10. package/dist/bridges/user/web/actions.d.ts +59 -0
  11. package/dist/bridges/user/web/actions.d.ts.map +1 -0
  12. package/dist/bridges/user/web/actions.js +109 -0
  13. package/dist/bridges/user/web/actions.js.map +1 -0
  14. package/dist/bridges/user/web/contract.d.ts +1796 -0
  15. package/dist/bridges/user/web/contract.d.ts.map +1 -0
  16. package/dist/bridges/user/web/contract.js +120 -0
  17. package/dist/bridges/user/web/contract.js.map +1 -0
  18. package/dist/bridges/user/web/dist/bundle.js +1 -1
  19. package/dist/bridges/user/web/dist/sw.js +1 -1
  20. package/dist/bridges/user/web/event-publisher.d.ts +30 -0
  21. package/dist/bridges/user/web/event-publisher.d.ts.map +1 -0
  22. package/dist/bridges/user/web/event-publisher.js +84 -0
  23. package/dist/bridges/user/web/event-publisher.js.map +1 -0
  24. package/dist/bridges/user/web/frontend/components/App.d.ts.map +1 -1
  25. package/dist/bridges/user/web/frontend/components/App.js +1 -1
  26. package/dist/bridges/user/web/frontend/components/App.js.map +1 -1
  27. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts +3 -2
  28. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts.map +1 -1
  29. package/dist/bridges/user/web/frontend/components/ChatArea.js +6 -2
  30. package/dist/bridges/user/web/frontend/components/ChatArea.js.map +1 -1
  31. package/dist/bridges/user/web/frontend/main.js +5 -2
  32. package/dist/bridges/user/web/frontend/main.js.map +1 -1
  33. package/dist/bridges/user/web/router.d.ts +696 -0
  34. package/dist/bridges/user/web/router.d.ts.map +1 -0
  35. package/dist/bridges/user/web/router.js +50 -0
  36. package/dist/bridges/user/web/router.js.map +1 -0
  37. package/dist/bridges/user/web/server.d.ts +2 -0
  38. package/dist/bridges/user/web/server.d.ts.map +1 -1
  39. package/dist/bridges/user/web/server.js +94 -114
  40. package/dist/bridges/user/web/server.js.map +1 -1
  41. package/dist/bridges/user/web/test/contract.unit.test.d.ts +2 -0
  42. package/dist/bridges/user/web/test/contract.unit.test.d.ts.map +1 -0
  43. package/dist/bridges/user/web/test/contract.unit.test.js +56 -0
  44. package/dist/bridges/user/web/test/contract.unit.test.js.map +1 -0
  45. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +7 -0
  46. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts.map +1 -0
  47. package/dist/bridges/user/web/test/orpc-router.integration.test.js +214 -0
  48. package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +1 -0
  49. package/dist/core/bridge-mesh.d.ts +2 -0
  50. package/dist/core/bridge-mesh.d.ts.map +1 -1
  51. package/dist/core/bridge-mesh.js +5 -1
  52. package/dist/core/bridge-mesh.js.map +1 -1
  53. package/dist/core/bridge.d.ts +4 -0
  54. package/dist/core/bridge.d.ts.map +1 -1
  55. package/dist/core/bridge.js +19 -0
  56. package/dist/core/bridge.js.map +1 -1
  57. package/dist/core/data-frame-routing.d.ts +14 -0
  58. package/dist/core/data-frame-routing.d.ts.map +1 -0
  59. package/dist/core/data-frame-routing.js +37 -0
  60. package/dist/core/data-frame-routing.js.map +1 -0
  61. package/dist/core/gossip-directory.d.ts +11 -2
  62. package/dist/core/gossip-directory.d.ts.map +1 -1
  63. package/dist/core/gossip-directory.js +32 -4
  64. package/dist/core/gossip-directory.js.map +1 -1
  65. package/dist/core/hub-session.d.ts +5 -1
  66. package/dist/core/hub-session.d.ts.map +1 -1
  67. package/dist/core/hub-session.js +24 -0
  68. package/dist/core/hub-session.js.map +1 -1
  69. package/dist/core/mesh-graph-trace-tool.d.ts +12 -0
  70. package/dist/core/mesh-graph-trace-tool.d.ts.map +1 -0
  71. package/dist/core/mesh-graph-trace-tool.js +60 -0
  72. package/dist/core/mesh-graph-trace-tool.js.map +1 -0
  73. package/dist/core/mesh-graph.d.ts +14 -0
  74. package/dist/core/mesh-graph.d.ts.map +1 -0
  75. package/dist/core/mesh-graph.js +46 -0
  76. package/dist/core/mesh-graph.js.map +1 -0
  77. package/dist/core/mesh-network-actions.d.ts +28 -0
  78. package/dist/core/mesh-network-actions.d.ts.map +1 -0
  79. package/dist/core/mesh-network-actions.js +143 -0
  80. package/dist/core/mesh-network-actions.js.map +1 -0
  81. package/dist/core/mesh-store.d.ts +19 -1
  82. package/dist/core/mesh-store.d.ts.map +1 -1
  83. package/dist/core/mesh-store.js +56 -0
  84. package/dist/core/mesh-store.js.map +1 -1
  85. package/dist/core/package-version.d.ts +4 -0
  86. package/dist/core/package-version.d.ts.map +1 -1
  87. package/dist/core/package-version.js +2 -1
  88. package/dist/core/package-version.js.map +1 -1
  89. package/dist/core/peer-versions.d.ts +16 -0
  90. package/dist/core/peer-versions.d.ts.map +1 -0
  91. package/dist/core/peer-versions.js +42 -0
  92. package/dist/core/peer-versions.js.map +1 -0
  93. package/dist/core/room-lifecycle.d.ts +5 -5
  94. package/dist/core/room-lifecycle.d.ts.map +1 -1
  95. package/dist/core/room-lifecycle.js +11 -5
  96. package/dist/core/room-lifecycle.js.map +1 -1
  97. package/dist/core/room-lookup.d.ts +9 -0
  98. package/dist/core/room-lookup.d.ts.map +1 -0
  99. package/dist/core/room-lookup.js +26 -0
  100. package/dist/core/room-lookup.js.map +1 -0
  101. package/dist/core/room-messaging.d.ts +2 -2
  102. package/dist/core/room-messaging.d.ts.map +1 -1
  103. package/dist/core/room-messaging.js +5 -2
  104. package/dist/core/room-messaging.js.map +1 -1
  105. package/dist/core/tool.d.ts +19 -10
  106. package/dist/core/tool.d.ts.map +1 -1
  107. package/dist/core/tool.js +25 -151
  108. package/dist/core/tool.js.map +1 -1
  109. package/dist/core/transport.d.ts +39 -0
  110. package/dist/core/transport.d.ts.map +1 -1
  111. package/dist/core/types.d.ts +18 -0
  112. package/dist/core/types.d.ts.map +1 -1
  113. package/dist/core/types.js +10 -0
  114. package/dist/core/types.js.map +1 -1
  115. package/dist/core/version-report-actions.d.ts +18 -0
  116. package/dist/core/version-report-actions.d.ts.map +1 -0
  117. package/dist/core/version-report-actions.js +51 -0
  118. package/dist/core/version-report-actions.js.map +1 -0
  119. package/dist/core/wire-mesh-core-version.d.ts +6 -0
  120. package/dist/core/wire-mesh-core-version.d.ts.map +1 -0
  121. package/dist/core/wire-mesh-core-version.js +20 -0
  122. package/dist/core/wire-mesh-core-version.js.map +1 -0
  123. package/dist/core/wire-mesh-transport.d.ts +11 -2
  124. package/dist/core/wire-mesh-transport.d.ts.map +1 -1
  125. package/dist/core/wire-mesh-transport.js +29 -46
  126. package/dist/core/wire-mesh-transport.js.map +1 -1
  127. package/dist/test/agent-comms-version-gossip.integration.test.d.ts +5 -0
  128. package/dist/test/agent-comms-version-gossip.integration.test.d.ts.map +1 -0
  129. package/dist/test/agent-comms-version-gossip.integration.test.js +103 -0
  130. package/dist/test/agent-comms-version-gossip.integration.test.js.map +1 -0
  131. package/dist/test/mesh-graph-trace-tool.test.d.ts +2 -0
  132. package/dist/test/mesh-graph-trace-tool.test.d.ts.map +1 -0
  133. package/dist/test/mesh-graph-trace-tool.test.js +104 -0
  134. package/dist/test/mesh-graph-trace-tool.test.js.map +1 -0
  135. package/dist/test/mesh-graph-trace.integration.test.d.ts +5 -0
  136. package/dist/test/mesh-graph-trace.integration.test.d.ts.map +1 -0
  137. package/dist/test/mesh-graph-trace.integration.test.js +146 -0
  138. package/dist/test/mesh-graph-trace.integration.test.js.map +1 -0
  139. package/dist/test/peer-versions.test.d.ts +5 -0
  140. package/dist/test/peer-versions.test.d.ts.map +1 -0
  141. package/dist/test/peer-versions.test.js +68 -0
  142. package/dist/test/peer-versions.test.js.map +1 -0
  143. package/dist/test/query-version.integration.test.d.ts +5 -0
  144. package/dist/test/query-version.integration.test.d.ts.map +1 -0
  145. package/dist/test/query-version.integration.test.js +64 -0
  146. package/dist/test/query-version.integration.test.js.map +1 -0
  147. package/dist/test/send-by-room-name.test.d.ts +5 -0
  148. package/dist/test/send-by-room-name.test.d.ts.map +1 -0
  149. package/dist/test/send-by-room-name.test.js +77 -0
  150. package/dist/test/send-by-room-name.test.js.map +1 -0
  151. package/dist/test/tool-version-reporting.test.js +38 -0
  152. package/dist/test/tool-version-reporting.test.js.map +1 -1
  153. package/dist/test/version-report-actions.test.d.ts +5 -0
  154. package/dist/test/version-report-actions.test.d.ts.map +1 -0
  155. package/dist/test/version-report-actions.test.js +88 -0
  156. package/dist/test/version-report-actions.test.js.map +1 -0
  157. package/dist/test/wire-mesh-core-version.test.d.ts +5 -0
  158. package/dist/test/wire-mesh-core-version.test.d.ts.map +1 -0
  159. package/dist/test/wire-mesh-core-version.test.js +14 -0
  160. package/dist/test/wire-mesh-core-version.test.js.map +1 -0
  161. package/package.json +6 -3
@@ -0,0 +1,50 @@
1
+ /**
2
+ * oRPC router -- implements meshContract against a real ChatController.
3
+ *
4
+ * Every mutating procedure is a one-line passthrough to the plain action functions in actions.ts, the same functions the legacy REST /api/action dispatcher calls, so both paths share one implementation. subscribeEvents is the one genuinely new procedure: it unifies the old chat socket's delivery frames and the old mesh socket's state_sync/state_update methods into a single resumable stream, backed by a per-handle MeshEventPublisher.
5
+ */
6
+ import { implement } from "@orpc/server";
7
+ import { createRoomAction, declineInviteAction, destroyRoomAction, dmAction, inviteAction, joinRoomAction, kickAction, leaveRoomAction, listAgentsAction, listRoomsAction, pushSubscribeAction, pushUnsubscribeAction, readRoomAction, renameAgentAction, sendAction, } from "./actions.js";
8
+ import { meshContract } from "./contract.js";
9
+ /** Drops deliveryQueues -- mesh-internal replay state for offline agents, not something a browser tab needs to see -- from a MeshStore snapshot before it goes out as a state_sync event. */
10
+ function toBrowserState(state) {
11
+ return {
12
+ agents: state.agents,
13
+ rooms: state.rooms,
14
+ messages: state.messages,
15
+ dms: state.dms,
16
+ };
17
+ }
18
+ const impl = implement(meshContract).$context();
19
+ export const meshRouter = {
20
+ send: impl.send.handler(async ({ context, input }) => sendAction(context.controller, input)),
21
+ dm: impl.dm.handler(async ({ context, input }) => dmAction(context.controller, input)),
22
+ joinRoom: impl.joinRoom.handler(async ({ context, input }) => joinRoomAction(context.controller, input)),
23
+ leaveRoom: impl.leaveRoom.handler(async ({ context, input }) => leaveRoomAction(context.controller, input)),
24
+ createRoom: impl.createRoom.handler(async ({ context, input }) => createRoomAction(context.controller, input)),
25
+ listRooms: impl.listRooms.handler(async ({ context }) => listRoomsAction(context.controller)),
26
+ listAgents: impl.listAgents.handler(async ({ context }) => listAgentsAction(context.controller)),
27
+ readRoom: impl.readRoom.handler(async ({ context, input }) => readRoomAction(context.controller, input)),
28
+ destroyRoom: impl.destroyRoom.handler(async ({ context, input }) => destroyRoomAction(context.controller, input)),
29
+ invite: impl.invite.handler(async ({ context, input }) => inviteAction(context.controller, input)),
30
+ declineInvite: impl.declineInvite.handler(async ({ context, input }) => declineInviteAction(context.controller, input)),
31
+ kick: impl.kick.handler(async ({ context, input }) => kickAction(context.controller, input)),
32
+ renameAgent: impl.renameAgent.handler(async ({ context, input }) => renameAgentAction(context.controller, input)),
33
+ pushSubscribe: impl.pushSubscribe.handler(async ({ context, input }) => pushSubscribeAction(context.controller, context.pushManager, input)),
34
+ pushUnsubscribe: impl.pushUnsubscribe.handler(async ({ context, input }) => pushUnsubscribeAction(context.controller, context.pushManager, input)),
35
+ subscribeEvents: impl.subscribeEvents.handler(async function* ({ context, input, signal, lastEventId, }) {
36
+ // lastEventId is set two ways: oRPC's own RetryLinkPlugin threads it automatically on a mid-stream reconnect (the protocol-level `lastEventId` above); a tab that reconnects from cold (a fresh subscribeEvents call, e.g. after being closed and reopened) has to pass it explicitly as input instead, since there's no in-flight call for the protocol layer to resume.
37
+ const resumeFrom = lastEventId ?? input.lastEventId;
38
+ if (resumeFrom === undefined) {
39
+ yield {
40
+ kind: "state_sync",
41
+ state: toBrowserState(context.controller.meshStore.serialise()),
42
+ };
43
+ }
44
+ yield* context.publisher.subscribe({
45
+ ...(signal ? { signal } : {}),
46
+ ...(resumeFrom !== undefined ? { lastEventId: resumeFrom } : {}),
47
+ });
48
+ }),
49
+ };
50
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/bridges/user/web/router.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,13 @@ import { WebSocketServer } from "ws";
20
20
  import { PushManager } from "../../../core/push-manager.js";
21
21
  import { ChatController } from "../controller.js";
22
22
  import type { WebUrlStatus } from "../../../core/tool.js";
23
+ import { MeshEventPublisher } from "./event-publisher.js";
23
24
  export interface WebServerHandle {
24
25
  server: http.Server;
25
26
  controller: ChatController;
26
27
  wss: WebSocketServer;
27
28
  pushManager: PushManager;
29
+ publisher: MeshEventPublisher;
28
30
  }
29
31
  /** Resolve the listening port from a running web server handle, or undefined if the OS hasn't assigned one yet. */
30
32
  export declare function getWebPort(handle: WebServerHandle): number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,mHAAmH;AACnH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,oVAAoV;AACpV,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,YAAY,CAKd;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,SAAI,EACR,kBAAkB,CAAC,EAAE,cAAc,EACnC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CA4C1B;AAgBD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BtE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAgB1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAmE1D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,eAAe,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,mHAAmH;AACnH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED,oVAAoV;AACpV,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,YAAY,CAKd;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,SAAI,EACR,kBAAkB,CAAC,EAAE,cAAc,EACnC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CAuE1B;AAgBD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BtE"}
@@ -20,8 +20,12 @@ import * as http from "node:http";
20
20
  import * as path from "node:path";
21
21
  import { fileURLToPath } from "node:url";
22
22
  import { WebSocketServer, WebSocket } from "ws";
23
+ import { RPCHandler } from "@orpc/server/websocket";
23
24
  import { PushManager } from "../../../core/push-manager.js";
24
25
  import { ChatController } from "../controller.js";
26
+ import { createRoomAction, declineInviteAction, destroyRoomAction, dmAction, inviteAction, joinRoomAction, kickAction, leaveRoomAction, listAgentsAction, listRoomsAction, readRoomAction, renameAgentAction, sendAction, } from "./actions.js";
27
+ import { MeshEventPublisher } from "./event-publisher.js";
28
+ import { meshRouter } from "./router.js";
25
29
  const WEB_HOST = "127.0.0.1";
26
30
  const HTTP_NO_CONTENT = 204;
27
31
  const HTTP_OK = 200;
@@ -107,11 +111,23 @@ export async function createWebServer(port = 0, existingController, coordinatorP
107
111
  handleRequest(req, res, controller);
108
112
  });
109
113
  const pushManager = new PushManager();
110
- // Separate WS servers for chat and mesh bridge endpoints
114
+ const publisher = new MeshEventPublisher();
115
+ ensurePatchListener(controller.meshStore, publisher);
116
+ controller.on("message", (event) => {
117
+ publisher.publish({ kind: "delivery", event });
118
+ });
119
+ // Separate WS servers for chat, legacy mesh bridge, and the new oRPC mesh endpoints -- /ws/mesh-orpc is a dark-launched addition, kept fully side-by-side with the other two until PR7 retires them.
111
120
  const wss = new WebSocketServer({ noServer: true });
112
121
  const meshWss = new WebSocketServer({ noServer: true });
122
+ const orpcWss = new WebSocketServer({ noServer: true });
123
+ const rpcHandler = new RPCHandler(meshRouter);
113
124
  server.on("upgrade", (req, socket, head) => {
114
- if (req.url === "/ws/mesh") {
125
+ if (req.url === "/ws/mesh-orpc") {
126
+ orpcWss.handleUpgrade(req, socket, head, (ws) => {
127
+ orpcWss.emit("connection", ws, req);
128
+ });
129
+ }
130
+ else if (req.url === "/ws/mesh") {
115
131
  meshWss.handleUpgrade(req, socket, head, (ws) => {
116
132
  meshWss.emit("connection", ws, req);
117
133
  });
@@ -128,12 +144,27 @@ export async function createWebServer(port = 0, existingController, coordinatorP
128
144
  meshWss.on("connection", (ws) => {
129
145
  handleMeshWebSocket(ws, controller);
130
146
  });
147
+ orpcWss.on("connection", (ws) => {
148
+ // RPCHandler.upgrade() wants a DOM-shaped WebSocket (addEventListener's overload set), which "ws"'s own type declarations don't structurally satisfy (its addEventListener options param is narrower than DOM's) -- .message()/.close() accept the looser { send } shape "ws" does satisfy, and are the documented manual equivalent to .upgrade().
149
+ const context = { controller, publisher, pushManager };
150
+ ws.on("message", (data, isBinary) => {
151
+ // "ws" types incoming data as Buffer | ArrayBuffer | Buffer[] regardless of frame type; normalise to a real Buffer first so both branches below have a type they can trust rather than calling .toString()/Uint8Array.from() on a union that could be an ArrayBuffer.
152
+ const raw = Array.isArray(data) ? Buffer.concat(data) : data;
153
+ const bytes = raw instanceof ArrayBuffer ? Buffer.from(raw) : raw;
154
+ // Buffer's .buffer is typed ArrayBufferLike (Buffer can wrap a SharedArrayBuffer); RPCHandler.message() wants the narrower Uint8Array<ArrayBuffer> -- a fresh Uint8Array.from() copy is always backed by a plain ArrayBuffer, satisfying that exactly.
155
+ const payload = isBinary ? Uint8Array.from(bytes) : bytes.toString();
156
+ void rpcHandler.message(ws, payload, { context });
157
+ });
158
+ ws.on("close", () => {
159
+ void rpcHandler.close(ws);
160
+ });
161
+ });
131
162
  server.listen(port, WEB_HOST, () => {
132
163
  const addr = server.address();
133
164
  const actualPort = typeof addr === "object" && addr ? addr.port : port;
134
165
  console.log(`Agent Comms web UI: http://${WEB_HOST}:${String(actualPort)}`);
135
166
  });
136
- return { server, controller, wss, pushManager };
167
+ return { server, controller, wss, pushManager, publisher };
137
168
  }
138
169
  class HandleRef {
139
170
  handle;
@@ -388,16 +419,17 @@ function handleWebSocket(ws, controller, pushManager) {
388
419
  // ---------------------------------------------------------------------------
389
420
  /** Active mesh WS connections — shared across handler invocations. */
390
421
  const meshPeers = new Set();
391
- /** Whether the global onPatch listener has been wired. */
392
- let meshPatchListenerActive = false;
393
422
  /**
394
- * Ensures the global MeshStore.onPatch forwards patches to all mesh peers.
395
- * Called once on first connection; subsequent calls are no-ops.
423
+ * Stores this wiring has already been applied to. A WeakSet (not a single boolean) because a process can run multiple concurrent WebServerHandle instances, each with its own MeshStore (multiple bridges each starting their own web UI) -- a single once-ever flag would silently wire only the first store any handle in the process ever created, leaving every later handle's store.onPatch never set and its publisher never fed. Confirmed directly: this was the original bug behind the single boolean this replaces (frontend/mesh-worker.ts's own module-level meshPatchListenerActive), caught by a multi-test-in-one-process run where only the first test's server ever received state_patch events.
424
+ */
425
+ const patchListenerWiredStores = new WeakSet();
426
+ /**
427
+ * Wires the given store's single MeshStore.onPatch callback to do two things on every patch: forward it to legacy mesh peers (unchanged behaviour) and publish it as a state_patch MeshEvent on the new oRPC event stream. Called once per WebServerHandle at server-start time (createWebServer), rather than lazily on first /ws/mesh connection as before -- store.onPatch is a single overwritable field, so both consumers have to share one registration or the second one silently clobbers the first. Idempotent per store, not per process.
396
428
  */
397
- function ensurePatchListener(store) {
398
- if (meshPatchListenerActive)
429
+ function ensurePatchListener(store, publisher) {
430
+ if (patchListenerWiredStores.has(store))
399
431
  return;
400
- meshPatchListenerActive = true;
432
+ patchListenerWiredStores.add(store);
401
433
  store.onPatch = (patch) => {
402
434
  const msg = {
403
435
  method: "state_update",
@@ -409,19 +441,17 @@ function ensurePatchListener(store) {
409
441
  peer.send(data);
410
442
  }
411
443
  }
444
+ publisher.publish({ kind: "state_patch", patch });
412
445
  };
413
446
  }
414
447
  /**
415
448
  * Handles a WebSocket connection on /ws/mesh.
416
449
  *
417
- * Sends the current mesh state as a state_sync message on connect,
418
- * then forwards all mesh state patches in real-time. Browser peers
419
- * send action objects which are executed through the ChatController.
450
+ * Sends the current mesh state as a state_sync message on connect, then forwards all mesh state patches in real-time. Browser peers send action objects which are executed through the ChatController.
420
451
  */
421
452
  function handleMeshWebSocket(ws, controller) {
422
453
  const store = controller.meshStore;
423
454
  meshPeers.add(ws);
424
- ensurePatchListener(store);
425
455
  // Send initial state_sync
426
456
  const state = store.serialise();
427
457
  if (ws.readyState === WebSocket.OPEN) {
@@ -464,108 +494,58 @@ function handleMeshWebSocket(ws, controller) {
464
494
  async function executeAction(controller, params) {
465
495
  const action = params.action;
466
496
  switch (action) {
467
- case "send": {
468
- const target = getString(params, "target");
469
- const content = getString(params, "content");
470
- if (target === undefined ||
471
- target === "" ||
472
- content === undefined ||
473
- content === "") {
474
- return { content: "Missing target or content", isError: true };
475
- }
476
- return controller.send(target, content);
477
- }
478
- case "dm": {
479
- const target = getString(params, "target");
480
- const content = getString(params, "content");
481
- if (target === undefined ||
482
- target === "" ||
483
- content === undefined ||
484
- content === "") {
485
- return { content: "Missing target or content", isError: true };
486
- }
487
- return controller.dm(target, content);
488
- }
489
- case "join_room": {
490
- const room = getString(params, "room");
491
- if (room === undefined || room === "")
492
- return { content: "Missing room", isError: true };
493
- const result = await controller.switchRoom(room);
494
- if (!result.isError) {
495
- const msgs = await controller.readRoom();
496
- return {
497
- content: `${result.content}\n${msgs.content}`,
498
- isError: false,
499
- };
500
- }
501
- return result;
502
- }
503
- case "leave_room": {
504
- const room = getString(params, "room");
505
- return controller.leaveRoom(room);
506
- }
507
- case "create_room": {
508
- const name = getString(params, "name");
509
- const type = getRoomType(params, "type") ?? "public";
510
- const description = getString(params, "description") ?? "";
511
- if (name === undefined || name === "")
512
- return { content: "Missing name", isError: true };
513
- return controller.createRoom(name, type, description);
514
- }
497
+ case "send":
498
+ return sendAction(controller, {
499
+ target: getString(params, "target") ?? "",
500
+ content: getString(params, "content") ?? "",
501
+ });
502
+ case "dm":
503
+ return dmAction(controller, {
504
+ target: getString(params, "target") ?? "",
505
+ content: getString(params, "content") ?? "",
506
+ });
507
+ case "join_room":
508
+ return joinRoomAction(controller, {
509
+ room: getString(params, "room") ?? "",
510
+ });
511
+ case "leave_room":
512
+ return leaveRoomAction(controller, { room: getString(params, "room") });
513
+ case "create_room":
514
+ return createRoomAction(controller, {
515
+ name: getString(params, "name") ?? "",
516
+ type: getRoomType(params, "type") ?? "public",
517
+ description: getString(params, "description"),
518
+ });
515
519
  case "list_rooms":
516
- return controller.listRooms();
520
+ return listRoomsAction(controller);
517
521
  case "list_agents":
518
- return controller.listAgents();
519
- case "read_room": {
520
- const room = getString(params, "room");
521
- return controller.readRoom(room);
522
- }
523
- case "destroy_room": {
524
- const room = getString(params, "room");
525
- if (room === undefined || room === "")
526
- return { content: "Missing room", isError: true };
527
- return controller.destroyRoom(room);
528
- }
529
- case "invite": {
530
- const room = getString(params, "room");
531
- const agent = getString(params, "agent");
532
- if (room === undefined ||
533
- room === "" ||
534
- agent === undefined ||
535
- agent === "")
536
- return { content: "Missing room or agent", isError: true };
537
- return controller.invite(room, agent);
538
- }
539
- case "decline_invite": {
540
- const room = getString(params, "room");
541
- const reason = getString(params, "reason");
542
- if (room === undefined ||
543
- room === "" ||
544
- reason === undefined ||
545
- reason === "")
546
- return { content: "Missing room or reason", isError: true };
547
- return controller.declineInvite(room, reason);
548
- }
549
- case "kick": {
550
- const room = getString(params, "room");
551
- const agent = getString(params, "agent");
552
- if (room === undefined ||
553
- room === "" ||
554
- agent === undefined ||
555
- agent === "")
556
- return { content: "Missing room or agent", isError: true };
557
- return controller.kick(room, agent);
558
- }
559
- case "rename_agent": {
560
- const agent = getString(params, "agent");
561
- const name = getString(params, "name");
562
- if (agent === undefined ||
563
- agent === "" ||
564
- name === undefined ||
565
- name === "")
566
- return { content: "Missing agent or name", isError: true };
567
- return controller.renameAgent(agent, name);
568
- }
522
+ return listAgentsAction(controller);
523
+ case "read_room":
524
+ return readRoomAction(controller, { room: getString(params, "room") });
525
+ case "destroy_room":
526
+ return destroyRoomAction(controller, {
527
+ room: getString(params, "room") ?? "",
528
+ });
529
+ case "invite":
530
+ return inviteAction(controller, {
531
+ room: getString(params, "room") ?? "",
532
+ agent: getString(params, "agent") ?? "",
533
+ });
534
+ case "decline_invite":
535
+ return declineInviteAction(controller, {
536
+ room: getString(params, "room") ?? "",
537
+ reason: getString(params, "reason") ?? "",
538
+ });
539
+ case "kick":
540
+ return kickAction(controller, {
541
+ room: getString(params, "room") ?? "",
542
+ agent: getString(params, "agent") ?? "",
543
+ });
544
+ case "rename_agent":
545
+ return renameAgentAction(controller, {
546
+ agent: getString(params, "agent") ?? "",
547
+ name: getString(params, "name") ?? "",
548
+ });
569
549
  default:
570
550
  return { content: `Unknown action: ${String(action)}`, isError: true };
571
551
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/bridges/user/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/bridges/user/web/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contract.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.unit.test.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/test/contract.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { meshContract } from "../contract.js";
3
+ /**
4
+ * Every current Action variant (frontend/types.ts) must map onto exactly one contract procedure whose input schema accepts that variant's real shape (minus the `action` discriminant, which becomes the procedure name instead of a field). This is a fixture test, not a round-trip test -- it proves the contract is a complete, correctly-shaped superset of today's Action union before anything is wired to it.
5
+ */
6
+ describe("meshContract", () => {
7
+ const fixtures = {
8
+ send: { target: "room-1", content: "hi" },
9
+ dm: { target: "agent-1", content: "hi" },
10
+ join_room: { room: "room-1" },
11
+ leave_room: {},
12
+ create_room: { name: "room-1", type: "public" },
13
+ list_rooms: {},
14
+ list_agents: {},
15
+ read_room: {},
16
+ destroy_room: { room: "room-1" },
17
+ invite: { room: "room-1", agent: "agent-1" },
18
+ decline_invite: { room: "room-1", reason: "busy" },
19
+ kick: { room: "room-1", agent: "agent-1" },
20
+ rename_agent: { agent: "agent-1", name: "new-name" },
21
+ };
22
+ const procedureNames = {
23
+ send: "send",
24
+ dm: "dm",
25
+ join_room: "joinRoom",
26
+ leave_room: "leaveRoom",
27
+ create_room: "createRoom",
28
+ list_rooms: "listRooms",
29
+ list_agents: "listAgents",
30
+ read_room: "readRoom",
31
+ destroy_room: "destroyRoom",
32
+ invite: "invite",
33
+ decline_invite: "declineInvite",
34
+ kick: "kick",
35
+ rename_agent: "renameAgent",
36
+ };
37
+ for (const [action, input] of Object.entries(fixtures)) {
38
+ it(`maps "${action}" onto a contract procedure accepting its fields`, async () => {
39
+ const procedureName = procedureNames[action];
40
+ const procedure = meshContract[procedureName];
41
+ const inputSchema = procedure["~orpc"].inputSchemas?.[0];
42
+ if (!inputSchema)
43
+ throw new Error(`${procedureName} has no input schema`);
44
+ const result = await inputSchema["~standard"].validate(input);
45
+ expect(result.issues).toBeUndefined();
46
+ });
47
+ }
48
+ it("has push_subscribe/push_unsubscribe as first-class typed procedures", () => {
49
+ expect(meshContract.pushSubscribe).toBeDefined();
50
+ expect(meshContract.pushUnsubscribe).toBeDefined();
51
+ });
52
+ it("has a single subscribeEvents procedure for the unified event stream", () => {
53
+ expect(meshContract.subscribeEvents).toBeDefined();
54
+ });
55
+ });
56
+ //# sourceMappingURL=contract.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.unit.test.js","sourceRoot":"","sources":["../../../../../src/bridges/user/web/test/contract.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;GAEG;AACH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,QAAQ,GAAqC;QACjD,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;QACzC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;QACxC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/C,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;QAC5C,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAClD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;QAC1C,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;KACrD,CAAC;IAEF,MAAM,cAAc,GAAwD;QAC1E,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,eAAe;QAC/B,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,aAAa;KAC5B,CAAC;IAEF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,EAAE,CAAC,SAAS,MAAM,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,aAAa,GAAG,cAAc,CAAC,MAA0B,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,sBAAsB,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Integration tests for the dark-launched oRPC router (/ws/mesh-orpc).
3
+ *
4
+ * Drives every procedure through a real oRPC client over a real WebSocket connection against a real running server -- not a mocked transport -- including a resume/lastEventId replay test proving subscribeEvents actually closes the gap the plan set out to close: an event published while a subscriber is disconnected is still delivered once it reconnects with its last-received event id.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=orpc-router.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orpc-router.integration.test.d.ts","sourceRoot":"","sources":["../../../../../src/bridges/user/web/test/orpc-router.integration.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}