agent-comms 3.28.0 → 3.29.1

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 (55) 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/dist/bundle.js +1 -1
  5. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  6. package/dist/bridges/user/web/dist/sw.js +1 -1
  7. package/dist/bridges/user/web/frontend/dispatch-action.d.ts +1 -1
  8. package/dist/bridges/user/web/frontend/dispatch-action.d.ts.map +1 -1
  9. package/dist/bridges/user/web/frontend/dispatch-action.js +26 -0
  10. package/dist/bridges/user/web/frontend/dispatch-action.js.map +1 -1
  11. package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +1 -1
  12. package/dist/bridges/user/web/frontend/mesh-worker.js +1 -5
  13. package/dist/bridges/user/web/frontend/mesh-worker.js.map +1 -1
  14. package/dist/bridges/user/web/server.d.ts +4 -19
  15. package/dist/bridges/user/web/server.d.ts.map +1 -1
  16. package/dist/bridges/user/web/server.js +13 -201
  17. package/dist/bridges/user/web/server.js.map +1 -1
  18. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +1 -1
  19. package/dist/bridges/user/web/test/orpc-router.integration.test.js +4 -4
  20. package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +1 -1
  21. package/dist/bridges/user/web/test/web-server.integration.test.js +9 -12
  22. package/dist/bridges/user/web/test/web-server.integration.test.js.map +1 -1
  23. package/dist/core/hub-session.d.ts +6 -5
  24. package/dist/core/hub-session.d.ts.map +1 -1
  25. package/dist/core/hub-session.js +5 -5
  26. package/dist/core/hub-session.js.map +1 -1
  27. package/dist/core/identity-store.d.ts.map +1 -1
  28. package/dist/core/identity-store.js +86 -24
  29. package/dist/core/identity-store.js.map +1 -1
  30. package/dist/core/mesh-graph.d.ts +4 -3
  31. package/dist/core/mesh-graph.d.ts.map +1 -1
  32. package/dist/core/mesh-graph.js +3 -3
  33. package/dist/core/mesh-graph.js.map +1 -1
  34. package/dist/core/room-router.d.ts +9 -4
  35. package/dist/core/room-router.d.ts.map +1 -1
  36. package/dist/core/room-router.js +2 -2
  37. package/dist/core/room-router.js.map +1 -1
  38. package/dist/test/hub-mode-session.integration.test.js +29 -0
  39. package/dist/test/hub-mode-session.integration.test.js.map +1 -1
  40. package/dist/test/hub-session-dispatch.test.js +24 -0
  41. package/dist/test/hub-session-dispatch.test.js.map +1 -1
  42. package/dist/test/identity-store-race-worker.d.ts +7 -0
  43. package/dist/test/identity-store-race-worker.d.ts.map +1 -0
  44. package/dist/test/identity-store-race-worker.js +33 -0
  45. package/dist/test/identity-store-race-worker.js.map +1 -0
  46. package/dist/test/identity-store-race.test.d.ts +5 -0
  47. package/dist/test/identity-store-race.test.d.ts.map +1 -0
  48. package/dist/test/identity-store-race.test.js +48 -0
  49. package/dist/test/identity-store-race.test.js.map +1 -0
  50. package/dist/test/mesh-graph.test.d.ts +1 -1
  51. package/dist/test/mesh-graph.test.js +36 -2
  52. package/dist/test/mesh-graph.test.js.map +1 -1
  53. package/dist/test/room-router.test.js +42 -0
  54. package/dist/test/room-router.test.js.map +1 -1
  55. package/package.json +1 -1
@@ -219,5 +219,29 @@ describe("dispatchHubRequest", () => {
219
219
  const [, handleArg] = handleRoomRequest.mock.calls[0] ?? [];
220
220
  expect(handleArg).toEqual({ id: deviceIdToHex(deviceIdBytes(SENDER_HEX)) });
221
221
  });
222
+ it("threads the given hubAddress through to handleRoomRequest as origin.relayHubAddress (agent-comms#216)", async () => {
223
+ const { request } = fakeRequest({
224
+ verb: "room:member",
225
+ fromDevice: SENDER_HEX,
226
+ });
227
+ const handleRoomRequest = vi.fn().mockResolvedValue(undefined);
228
+ const deps = fakeDeps({ isTrusted: () => false, handleRoomRequest });
229
+ await dispatchHubRequest(request, OWN_HEX, deps, fakeOnKnownPeer(), "wss://hub.example/");
230
+ expect(handleRoomRequest).toHaveBeenCalledTimes(1);
231
+ const [, , originArg] = handleRoomRequest.mock.calls[0] ?? [];
232
+ expect(originArg).toEqual({ relayHubAddress: "wss://hub.example/" });
233
+ });
234
+ it("passes an empty origin to handleRoomRequest when no hubAddress was given", async () => {
235
+ const { request } = fakeRequest({
236
+ verb: "room:member",
237
+ fromDevice: SENDER_HEX,
238
+ });
239
+ const handleRoomRequest = vi.fn().mockResolvedValue(undefined);
240
+ const deps = fakeDeps({ isTrusted: () => false, handleRoomRequest });
241
+ await dispatchHubRequest(request, OWN_HEX, deps, fakeOnKnownPeer());
242
+ expect(handleRoomRequest).toHaveBeenCalledTimes(1);
243
+ const [, , originArg] = handleRoomRequest.mock.calls[0] ?? [];
244
+ expect(originArg).toEqual({});
245
+ });
222
246
  });
223
247
  //# sourceMappingURL=hub-session-dispatch.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub-session-dispatch.test.js","sourceRoot":"","sources":["../../src/test/hub-session-dispatch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub-session-dispatch.test.js","sourceRoot":"","sources":["../../src/test/hub-session-dispatch.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Fixture process for identity-store-race.test.ts -- spawned as a real, separate Node process (not an in-process call) because the race under test is between the filesystem operations of genuinely concurrent OS processes sharing one identity slot, the same way two Playwright e2e workers (or two bridges started against the same cwd) do. Busy-waits until an absolute deadline given by its parent before calling loadOrCreateIdentity/saveRoomToken, so every sibling worker the parent spawned for the same round starts the actual race at effectively the same instant rather than whenever this process happened to finish starting up.
3
+ *
4
+ * Usage: tsx identity-store-race-worker.ts <dir> <harness> <startAtEpochMs>
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=identity-store-race-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-store-race-worker.d.ts","sourceRoot":"","sources":["../../src/test/identity-store-race-worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Fixture process for identity-store-race.test.ts -- spawned as a real, separate Node process (not an in-process call) because the race under test is between the filesystem operations of genuinely concurrent OS processes sharing one identity slot, the same way two Playwright e2e workers (or two bridges started against the same cwd) do. Busy-waits until an absolute deadline given by its parent before calling loadOrCreateIdentity/saveRoomToken, so every sibling worker the parent spawned for the same round starts the actual race at effectively the same instant rather than whenever this process happened to finish starting up.
3
+ *
4
+ * Usage: tsx identity-store-race-worker.ts <dir> <harness> <startAtEpochMs>
5
+ */
6
+ import { loadOrCreateIdentity, saveRoomToken, } from "../core/identity-store.js";
7
+ const [, , dir, harness, startAtRaw] = process.argv;
8
+ if (dir === undefined || harness === undefined || startAtRaw === undefined) {
9
+ console.error("usage: identity-store-race-worker.ts <dir> <harness> <startAtEpochMs>");
10
+ process.exit(1);
11
+ }
12
+ const startAt = Number.parseInt(startAtRaw, 10);
13
+ while (Date.now() < startAt) {
14
+ // Busy-wait for the shared start deadline -- deliberately not setTimeout, whose own scheduling jitter is exactly the imprecision this barrier exists to remove.
15
+ }
16
+ const slot = { harness, cwd: "/tmp/race-project", dir };
17
+ // Not a real, cryptographically minted token -- saveRoomToken only serializes a CapabilityToken's byte-string fields, so a structurally valid stand-in exercises the identical read-modify-write path a genuine one would without needing the async minting machinery here.
18
+ const fakeToken = [
19
+ Uint8Array.from([1]),
20
+ {},
21
+ null,
22
+ Uint8Array.from([2]),
23
+ ];
24
+ try {
25
+ loadOrCreateIdentity(slot);
26
+ saveRoomToken(slot, "race-room", fakeToken);
27
+ process.exit(0);
28
+ }
29
+ catch (err) {
30
+ console.error(err instanceof Error ? err.message : String(err));
31
+ process.exit(1);
32
+ }
33
+ //# sourceMappingURL=identity-store-race-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-store-race-worker.js","sourceRoot":"","sources":["../../src/test/identity-store-race-worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,aAAa,GAEd,MAAM,2BAA2B,CAAC;AAGnC,MAAM,CAAC,EAAE,AAAD,EAAG,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACpD,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;IAC3E,OAAO,CAAC,KAAK,CACX,uEAAuE,CACxE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAChD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAC5B,gKAAgK;AAClK,CAAC;AAED,MAAM,IAAI,GAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC;AAEtE,4QAA4Q;AAC5Q,MAAM,SAAS,GAAoB;IACjC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,EAAE;IACF,IAAI;IACJ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CACrB,CAAC;AAEF,IAAI,CAAC;IACH,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * agent-comms#222 -- two or more real processes sharing one identity slot (harness, cwd) racing loadOrCreateIdentity+saveRoomToken concurrently against a slot that has never been touched before must never throw or corrupt the persisted identity, mirroring several independent Playwright e2e workers each starting a ChatController against the same cwd-derived slot.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=identity-store-race.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-store-race.test.d.ts","sourceRoot":"","sources":["../../src/test/identity-store-race.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * agent-comms#222 -- two or more real processes sharing one identity slot (harness, cwd) racing loadOrCreateIdentity+saveRoomToken concurrently against a slot that has never been touched before must never throw or corrupt the persisted identity, mirroring several independent Playwright e2e workers each starting a ChatController against the same cwd-derived slot.
3
+ */
4
+ import * as fs from "node:fs";
5
+ import { tmpdir } from "node:os";
6
+ import path from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+ import { spawn } from "node:child_process";
9
+ import { test, expect } from "vitest";
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+ const WORKER_SCRIPT = path.join(__dirname, "identity-store-race-worker.ts");
12
+ // How far into the future the shared start deadline is set, giving every spawned worker's own Node+tsx startup enough headroom to finish before the deadline arrives -- too short and slower workers would blow past the deadline and race the busy-wait instead of the identity slot, defeating the barrier's purpose.
13
+ const START_DELAY_MS = 600;
14
+ // Concurrent workers racing the same fresh slot per round -- high enough that, pre-fix, the race is hit reliably rather than occasionally.
15
+ const WORKER_COUNT = 12;
16
+ // Independent rounds, each against its own fresh slot dir, to guard against a single lucky/unlucky round misrepresenting how reliably the race reproduces.
17
+ const ROUND_COUNT = 5;
18
+ // Headroom added on top of the start delay, per round, for the vitest test timeout -- covers the workers' own busy-wait plus their actual identity-store work.
19
+ const PER_ROUND_TIMEOUT_HEADROOM_MS = 5000;
20
+ async function runWorker(dir, harness, startAt) {
21
+ return new Promise((resolve, reject) => {
22
+ const child = spawn(process.execPath, ["--import", "tsx/esm", WORKER_SCRIPT, dir, harness, String(startAt)], { stdio: ["ignore", "ignore", "pipe"] });
23
+ let stderr = "";
24
+ child.stderr.on("data", (chunk) => {
25
+ stderr += chunk.toString("utf-8");
26
+ });
27
+ child.on("error", reject);
28
+ child.on("exit", (exitCode) => {
29
+ resolve({ exitCode, stderr });
30
+ });
31
+ });
32
+ }
33
+ async function raceRound() {
34
+ const dir = fs.mkdtempSync(path.join(tmpdir(), "agent-comms-identity-race-"));
35
+ const startAt = Date.now() + START_DELAY_MS;
36
+ const workers = Array.from({ length: WORKER_COUNT }, async () => runWorker(dir, "user", startAt));
37
+ return Promise.all(workers);
38
+ }
39
+ test("concurrent processes racing a fresh identity slot never throw 'no identity persisted for this slot yet'", {
40
+ timeout: (START_DELAY_MS + PER_ROUND_TIMEOUT_HEADROOM_MS) * ROUND_COUNT,
41
+ }, async () => {
42
+ for (let round = 0; round < ROUND_COUNT; round++) {
43
+ const results = await raceRound();
44
+ const failures = results.filter((r) => r.exitCode !== 0);
45
+ expect(failures, `round ${String(round)}: ${String(failures.length)}/${String(WORKER_COUNT)} workers failed:\n${failures.map((f) => f.stderr).join("\n")}`).toEqual([]);
46
+ }
47
+ });
48
+ //# sourceMappingURL=identity-store-race.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-store-race.test.js","sourceRoot":"","sources":["../../src/test/identity-store-race.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Unit tests for computeMeshGraph (agent-comms#199/#201).
2
+ * Unit tests for computeMeshGraph (agent-comms#199/#201) and handlePathTraceRequest (agent-comms#199/#216).
3
3
  */
4
4
  export {};
5
5
  //# sourceMappingURL=mesh-graph.test.d.ts.map
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Unit tests for computeMeshGraph (agent-comms#199/#201).
2
+ * Unit tests for computeMeshGraph (agent-comms#199/#201) and handlePathTraceRequest (agent-comms#199/#216).
3
3
  */
4
4
  import { describe, expect, it } from "vitest";
5
5
  import { deviceIdFromHex, deviceIdToHex, } from "wire-mesh-core/domain/device-id";
6
- import { computeMeshGraph } from "../core/mesh-graph.js";
6
+ import { computeMeshGraph, handlePathTraceRequest, } from "../core/mesh-graph.js";
7
7
  /** A device-id is a hex-encoded SHA-256 hash: 32 bytes, 64 hex characters. */
8
8
  const DEVICE_ID_HEX_LENGTH = 64;
9
9
  const DEVICE_A_HEX = "a".repeat(DEVICE_ID_HEX_LENGTH);
@@ -84,4 +84,38 @@ describe("computeMeshGraph", () => {
84
84
  }
85
85
  });
86
86
  });
87
+ const TEST_HANDLE = { id: DEVICE_A_HEX };
88
+ function fakeIncomingRequest(fromDeviceHex) {
89
+ return {
90
+ requestId: 1,
91
+ command: { verb: "path:trace", params: {} },
92
+ scope: { kind: "room" },
93
+ ...(fromDeviceHex !== undefined
94
+ ? { fromDevice: deviceIdFromHex(fromDeviceHex) }
95
+ : {}),
96
+ respond: async () => undefined,
97
+ };
98
+ }
99
+ describe("handlePathTraceRequest", () => {
100
+ it("reports relayHubAddress from origin as the response's own hub-address extension, for a relayed request", async () => {
101
+ const outcome = await handlePathTraceRequest(fakeIncomingRequest(DEVICE_B_HEX), TEST_HANDLE, { relayHubAddress: "wss://hub.example/" });
102
+ expect(outcome).toEqual({
103
+ result: "ok",
104
+ relayed: true,
105
+ "hub-address": "wss://hub.example/",
106
+ });
107
+ });
108
+ it("omits hub-address when origin carries no relayHubAddress, even for a relayed request", async () => {
109
+ const outcome = await handlePathTraceRequest(fakeIncomingRequest(DEVICE_B_HEX), TEST_HANDLE, {});
110
+ expect(outcome).toEqual({ result: "ok", relayed: true });
111
+ });
112
+ it("omits hub-address when the caller supplies no origin at all", async () => {
113
+ const outcome = await handlePathTraceRequest(fakeIncomingRequest(DEVICE_B_HEX), TEST_HANDLE);
114
+ expect(outcome).toEqual({ result: "ok", relayed: true });
115
+ });
116
+ it("omits hub-address for a direct (non-relayed) request even when origin carries relayHubAddress", async () => {
117
+ const outcome = await handlePathTraceRequest(fakeIncomingRequest(), TEST_HANDLE, { relayHubAddress: "wss://hub.example/" });
118
+ expect(outcome).toEqual({ result: "ok", relayed: false });
119
+ });
120
+ });
87
121
  //# sourceMappingURL=mesh-graph.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-graph.test.js","sourceRoot":"","sources":["../../src/test/mesh-graph.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh-graph.test.js","sourceRoot":"","sources":["../../src/test/mesh-graph.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,8EAA8E;AAC9E,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEtD,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAEnD,SAAS,SAAS,CAChB,SAAiB,EACjB,QAGC;IAED,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,EAAE;QACb,kBAAkB,EAAE,CAAC;QACrB,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC;gBACE,CAAC,yBAAyB,CAAC,EAAE;oBAC3B,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;oBACpD,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5C,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;wBACjC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChE,CAAC,CAAC;iBACJ;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,kcAAkc;QAClc,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACpE,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE;SACzD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,GAAG,EAAE;QACvG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B;gBACE,YAAY;gBACZ,SAAS,CAAC,YAAY,EAAE;oBACtB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;iBACvD,CAAC;aACH;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAC1B;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,EAAE,EAAE,YAAY;gBAChB,GAAG,EAAE,YAAY;aAClB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACpE,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAqB,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AAE3D,SAAS,mBAAmB,CAC1B,aAAsB;IAEtB,OAAO;QACL,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,GAAG,CAAC,aAAa,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,aAAa,CAAC,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,KAAK,IAAmB,EAAE,CAAC,SAAS;KAC9C,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;QACtH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,mBAAmB,CAAC,YAAY,CAAC,EACjC,WAAW,EACX,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAC1C,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,oBAAoB;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,OAAO,GAAkB,MAAM,sBAAsB,CACzD,mBAAmB,CAAC,YAAY,CAAC,EACjC,WAAW,EACX,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,mBAAmB,CAAC,YAAY,CAAC,EACjC,WAAW,CACZ,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAC1C,mBAAmB,EAAE,EACrB,WAAW,EACX,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAC1C,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -121,5 +121,47 @@ describe("createRoomRouter", () => {
121
121
  await router.handleRequest(request, TEST_HANDLE);
122
122
  expect(responses).toEqual([{ result: "error", code: "unsupported_verb" }]);
123
123
  });
124
+ it("passes the given origin through to the registered handler (agent-comms#216)", async () => {
125
+ const events = fakeEvents();
126
+ const receivedOrigins = [];
127
+ const router = createRoomRouter({
128
+ events,
129
+ handlers: {
130
+ "room.send": async (_request, _handle, origin) => {
131
+ receivedOrigins.push(origin);
132
+ return { result: "ok" };
133
+ },
134
+ },
135
+ });
136
+ const { request } = fakeRequest({
137
+ verb: "room:member",
138
+ params: { verb: "room.send", text: "hi" },
139
+ });
140
+ await router.handleRequest(request, TEST_HANDLE, {
141
+ relayHubAddress: "wss://hub.example/",
142
+ });
143
+ expect(receivedOrigins).toEqual([
144
+ { relayHubAddress: "wss://hub.example/" },
145
+ ]);
146
+ });
147
+ it("defaults origin to an empty object when the caller supplies none (agent-comms#216)", async () => {
148
+ const events = fakeEvents();
149
+ const receivedOrigins = [];
150
+ const router = createRoomRouter({
151
+ events,
152
+ handlers: {
153
+ "room.send": async (_request, _handle, origin) => {
154
+ receivedOrigins.push(origin);
155
+ return { result: "ok" };
156
+ },
157
+ },
158
+ });
159
+ const { request } = fakeRequest({
160
+ verb: "room:member",
161
+ params: { verb: "room.send", text: "hi" },
162
+ });
163
+ await router.handleRequest(request, TEST_HANDLE);
164
+ expect(receivedOrigins).toEqual([{}]);
165
+ });
124
166
  });
125
167
  //# sourceMappingURL=room-router.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"room-router.test.js","sourceRoot":"","sources":["../../src/test/room-router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-router.test.js","sourceRoot":"","sources":["../../src/test/room-router.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-comms",
3
- "version": "3.28.0",
3
+ "version": "3.29.1",
4
4
  "description": "Cross-harness communication mesh for LLM agents — rooms, DMs, presence, and real-time push delivery over TCP",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@12.4.1+sha512.2e81e399d73fe8390dab25e06aa788ab7a5908248d2f5a370f82b481147a6a7a367bf8048f9a6fdb6460f21a66f0542dedb8b94ca2c8723596741920b1656d4c",