agent-comms 3.21.0 → 3.23.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 (86) 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/user/web/actions.d.ts +59 -0
  5. package/dist/bridges/user/web/actions.d.ts.map +1 -0
  6. package/dist/bridges/user/web/actions.js +109 -0
  7. package/dist/bridges/user/web/actions.js.map +1 -0
  8. package/dist/bridges/user/web/contract.d.ts +2 -0
  9. package/dist/bridges/user/web/contract.d.ts.map +1 -1
  10. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  11. package/dist/bridges/user/web/dist/sw.js +1 -1
  12. package/dist/bridges/user/web/event-publisher.d.ts +30 -0
  13. package/dist/bridges/user/web/event-publisher.d.ts.map +1 -0
  14. package/dist/bridges/user/web/event-publisher.js +84 -0
  15. package/dist/bridges/user/web/event-publisher.js.map +1 -0
  16. package/dist/bridges/user/web/frontend/mesh-worker.d.ts +10 -8
  17. package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +1 -1
  18. package/dist/bridges/user/web/frontend/mesh-worker.js +143 -90
  19. package/dist/bridges/user/web/frontend/mesh-worker.js.map +1 -1
  20. package/dist/bridges/user/web/router.d.ts +696 -0
  21. package/dist/bridges/user/web/router.d.ts.map +1 -0
  22. package/dist/bridges/user/web/router.js +50 -0
  23. package/dist/bridges/user/web/router.js.map +1 -0
  24. package/dist/bridges/user/web/server.d.ts +3 -0
  25. package/dist/bridges/user/web/server.d.ts.map +1 -1
  26. package/dist/bridges/user/web/server.js +95 -114
  27. package/dist/bridges/user/web/server.js.map +1 -1
  28. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +7 -0
  29. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts.map +1 -0
  30. package/dist/bridges/user/web/test/orpc-router.integration.test.js +214 -0
  31. package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +1 -0
  32. package/dist/core/bridge.d.ts +3 -0
  33. package/dist/core/bridge.d.ts.map +1 -1
  34. package/dist/core/bridge.js +14 -0
  35. package/dist/core/bridge.js.map +1 -1
  36. package/dist/core/data-frame-routing.d.ts +14 -0
  37. package/dist/core/data-frame-routing.d.ts.map +1 -0
  38. package/dist/core/data-frame-routing.js +37 -0
  39. package/dist/core/data-frame-routing.js.map +1 -0
  40. package/dist/core/gossip-directory.d.ts +5 -0
  41. package/dist/core/gossip-directory.d.ts.map +1 -1
  42. package/dist/core/gossip-directory.js +7 -0
  43. package/dist/core/gossip-directory.js.map +1 -1
  44. package/dist/core/hub-session.d.ts +5 -1
  45. package/dist/core/hub-session.d.ts.map +1 -1
  46. package/dist/core/hub-session.js +24 -0
  47. package/dist/core/hub-session.js.map +1 -1
  48. package/dist/core/mesh-graph-trace-tool.d.ts +12 -0
  49. package/dist/core/mesh-graph-trace-tool.d.ts.map +1 -0
  50. package/dist/core/mesh-graph-trace-tool.js +60 -0
  51. package/dist/core/mesh-graph-trace-tool.js.map +1 -0
  52. package/dist/core/mesh-graph.d.ts +14 -0
  53. package/dist/core/mesh-graph.d.ts.map +1 -0
  54. package/dist/core/mesh-graph.js +46 -0
  55. package/dist/core/mesh-graph.js.map +1 -0
  56. package/dist/core/mesh-network-actions.d.ts +28 -0
  57. package/dist/core/mesh-network-actions.d.ts.map +1 -0
  58. package/dist/core/mesh-network-actions.js +143 -0
  59. package/dist/core/mesh-network-actions.js.map +1 -0
  60. package/dist/core/mesh-store.d.ts +5 -1
  61. package/dist/core/mesh-store.d.ts.map +1 -1
  62. package/dist/core/mesh-store.js +16 -0
  63. package/dist/core/mesh-store.js.map +1 -1
  64. package/dist/core/tool.d.ts +3 -10
  65. package/dist/core/tool.d.ts.map +1 -1
  66. package/dist/core/tool.js +15 -147
  67. package/dist/core/tool.js.map +1 -1
  68. package/dist/core/transport.d.ts +35 -0
  69. package/dist/core/transport.d.ts.map +1 -1
  70. package/dist/core/types.d.ts +12 -0
  71. package/dist/core/types.d.ts.map +1 -1
  72. package/dist/core/types.js +6 -0
  73. package/dist/core/types.js.map +1 -1
  74. package/dist/core/wire-mesh-transport.d.ts +7 -2
  75. package/dist/core/wire-mesh-transport.d.ts.map +1 -1
  76. package/dist/core/wire-mesh-transport.js +22 -38
  77. package/dist/core/wire-mesh-transport.js.map +1 -1
  78. package/dist/test/mesh-graph-trace-tool.test.d.ts +2 -0
  79. package/dist/test/mesh-graph-trace-tool.test.d.ts.map +1 -0
  80. package/dist/test/mesh-graph-trace-tool.test.js +104 -0
  81. package/dist/test/mesh-graph-trace-tool.test.js.map +1 -0
  82. package/dist/test/mesh-graph-trace.integration.test.d.ts +5 -0
  83. package/dist/test/mesh-graph-trace.integration.test.d.ts.map +1 -0
  84. package/dist/test/mesh-graph-trace.integration.test.js +146 -0
  85. package/dist/test/mesh-graph-trace.integration.test.js.map +1 -0
  86. package/package.json +2 -2
@@ -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,14 @@ 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;
28
+ orpcWss: WebSocketServer;
27
29
  pushManager: PushManager;
30
+ publisher: MeshEventPublisher;
28
31
  }
29
32
  /** Resolve the listening port from a running web server handle, or undefined if the OS hasn't assigned one yet. */
30
33
  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,OAAO,EAAE,eAAe,CAAC;IACzB,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,CA6BtE"}
@@ -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, orpcWss, pushManager, publisher };
137
168
  }
138
169
  class HandleRef {
139
170
  handle;
@@ -161,6 +192,7 @@ export async function runWeb(userName, port = 0) {
161
192
  // Graceful shutdown
162
193
  const cleanup = async () => {
163
194
  handle.wss.close();
195
+ handle.orpcWss.close();
164
196
  handle.server.close();
165
197
  await handle.controller.shutdown();
166
198
  process.exit(0);
@@ -388,16 +420,17 @@ function handleWebSocket(ws, controller, pushManager) {
388
420
  // ---------------------------------------------------------------------------
389
421
  /** Active mesh WS connections — shared across handler invocations. */
390
422
  const meshPeers = new Set();
391
- /** Whether the global onPatch listener has been wired. */
392
- let meshPatchListenerActive = false;
393
423
  /**
394
- * Ensures the global MeshStore.onPatch forwards patches to all mesh peers.
395
- * Called once on first connection; subsequent calls are no-ops.
424
+ * 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.
425
+ */
426
+ const patchListenerWiredStores = new WeakSet();
427
+ /**
428
+ * 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
429
  */
397
- function ensurePatchListener(store) {
398
- if (meshPatchListenerActive)
430
+ function ensurePatchListener(store, publisher) {
431
+ if (patchListenerWiredStores.has(store))
399
432
  return;
400
- meshPatchListenerActive = true;
433
+ patchListenerWiredStores.add(store);
401
434
  store.onPatch = (patch) => {
402
435
  const msg = {
403
436
  method: "state_update",
@@ -409,19 +442,17 @@ function ensurePatchListener(store) {
409
442
  peer.send(data);
410
443
  }
411
444
  }
445
+ publisher.publish({ kind: "state_patch", patch });
412
446
  };
413
447
  }
414
448
  /**
415
449
  * Handles a WebSocket connection on /ws/mesh.
416
450
  *
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.
451
+ * 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
452
  */
421
453
  function handleMeshWebSocket(ws, controller) {
422
454
  const store = controller.meshStore;
423
455
  meshPeers.add(ws);
424
- ensurePatchListener(store);
425
456
  // Send initial state_sync
426
457
  const state = store.serialise();
427
458
  if (ws.readyState === WebSocket.OPEN) {
@@ -464,108 +495,58 @@ function handleMeshWebSocket(ws, controller) {
464
495
  async function executeAction(controller, params) {
465
496
  const action = params.action;
466
497
  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
- }
498
+ case "send":
499
+ return sendAction(controller, {
500
+ target: getString(params, "target") ?? "",
501
+ content: getString(params, "content") ?? "",
502
+ });
503
+ case "dm":
504
+ return dmAction(controller, {
505
+ target: getString(params, "target") ?? "",
506
+ content: getString(params, "content") ?? "",
507
+ });
508
+ case "join_room":
509
+ return joinRoomAction(controller, {
510
+ room: getString(params, "room") ?? "",
511
+ });
512
+ case "leave_room":
513
+ return leaveRoomAction(controller, { room: getString(params, "room") });
514
+ case "create_room":
515
+ return createRoomAction(controller, {
516
+ name: getString(params, "name") ?? "",
517
+ type: getRoomType(params, "type") ?? "public",
518
+ description: getString(params, "description"),
519
+ });
515
520
  case "list_rooms":
516
- return controller.listRooms();
521
+ return listRoomsAction(controller);
517
522
  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
- }
523
+ return listAgentsAction(controller);
524
+ case "read_room":
525
+ return readRoomAction(controller, { room: getString(params, "room") });
526
+ case "destroy_room":
527
+ return destroyRoomAction(controller, {
528
+ room: getString(params, "room") ?? "",
529
+ });
530
+ case "invite":
531
+ return inviteAction(controller, {
532
+ room: getString(params, "room") ?? "",
533
+ agent: getString(params, "agent") ?? "",
534
+ });
535
+ case "decline_invite":
536
+ return declineInviteAction(controller, {
537
+ room: getString(params, "room") ?? "",
538
+ reason: getString(params, "reason") ?? "",
539
+ });
540
+ case "kick":
541
+ return kickAction(controller, {
542
+ room: getString(params, "room") ?? "",
543
+ agent: getString(params, "agent") ?? "",
544
+ });
545
+ case "rename_agent":
546
+ return renameAgentAction(controller, {
547
+ agent: getString(params, "agent") ?? "",
548
+ name: getString(params, "name") ?? "",
549
+ });
569
550
  default:
570
551
  return { content: `Unknown action: ${String(action)}`, isError: true };
571
552
  }
@@ -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,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"}