agent-comms 2.18.2 → 2.18.4

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 (100) 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/frontend/project-tree.js +3 -3
  6. package/dist/bridges/user/web/frontend/project-tree.js.map +1 -1
  7. package/dist/bridges/user/web/test/port-discovery.unit.test.js +10 -11
  8. package/dist/bridges/user/web/test/port-discovery.unit.test.js.map +1 -1
  9. package/dist/bridges/user/web/test/web-server.integration.test.js +12 -13
  10. package/dist/bridges/user/web/test/web-server.integration.test.js.map +1 -1
  11. package/dist/core/identity-store.d.ts.map +1 -1
  12. package/dist/core/identity-store.js +16 -5
  13. package/dist/core/identity-store.js.map +1 -1
  14. package/dist/core/identity.d.ts +6 -5
  15. package/dist/core/identity.d.ts.map +1 -1
  16. package/dist/core/identity.js +13 -11
  17. package/dist/core/identity.js.map +1 -1
  18. package/dist/core/test/bridge.unit.test.js +11 -12
  19. package/dist/core/test/bridge.unit.test.js.map +1 -1
  20. package/dist/core/test/identity.unit.test.js +21 -22
  21. package/dist/core/test/identity.unit.test.js.map +1 -1
  22. package/dist/test/approval.integration.test.js +52 -45
  23. package/dist/test/approval.integration.test.js.map +1 -1
  24. package/dist/test/become-coordinator-actual-port.integration.test.d.ts +0 -2
  25. package/dist/test/become-coordinator-actual-port.integration.test.d.ts.map +1 -1
  26. package/dist/test/become-coordinator-actual-port.integration.test.js +14 -39
  27. package/dist/test/become-coordinator-actual-port.integration.test.js.map +1 -1
  28. package/dist/test/bridge-mesh.test.js +9 -10
  29. package/dist/test/bridge-mesh.test.js.map +1 -1
  30. package/dist/test/broadcast-window.integration.test.js +4 -7
  31. package/dist/test/broadcast-window.integration.test.js.map +1 -1
  32. package/dist/test/coordinator-socket-error.integration.test.js +3 -4
  33. package/dist/test/coordinator-socket-error.integration.test.js.map +1 -1
  34. package/dist/test/create-room-mints-owner-grant.test.js +9 -8
  35. package/dist/test/create-room-mints-owner-grant.test.js.map +1 -1
  36. package/dist/test/create-room-name-sanitisation.test.js +6 -7
  37. package/dist/test/create-room-name-sanitisation.test.js.map +1 -1
  38. package/dist/test/dm-admission.integration.test.js +10 -11
  39. package/dist/test/dm-admission.integration.test.js.map +1 -1
  40. package/dist/test/federation.integration.test.js +21 -20
  41. package/dist/test/federation.integration.test.js.map +1 -1
  42. package/dist/test/filestore.test.js +16 -17
  43. package/dist/test/filestore.test.js.map +1 -1
  44. package/dist/test/handshake.test.js +26 -27
  45. package/dist/test/handshake.test.js.map +1 -1
  46. package/dist/test/identity-cert.test.js +3 -4
  47. package/dist/test/identity-cert.test.js.map +1 -1
  48. package/dist/test/identity-device-id.test.js +6 -7
  49. package/dist/test/identity-device-id.test.js.map +1 -1
  50. package/dist/test/identity-restart.integration.test.js +9 -10
  51. package/dist/test/identity-restart.integration.test.js.map +1 -1
  52. package/dist/test/identity-store.test.js +36 -21
  53. package/dist/test/identity-store.test.js.map +1 -1
  54. package/dist/test/listener-policy.integration.test.js +63 -56
  55. package/dist/test/listener-policy.integration.test.js.map +1 -1
  56. package/dist/test/mcp-registry-retry.test.js +10 -11
  57. package/dist/test/mcp-registry-retry.test.js.map +1 -1
  58. package/dist/test/mesh-e2e.integration.test.js +26 -19
  59. package/dist/test/mesh-e2e.integration.test.js.map +1 -1
  60. package/dist/test/presence-readvertise.integration.test.js +5 -6
  61. package/dist/test/presence-readvertise.integration.test.js.map +1 -1
  62. package/dist/test/random-id.test.js +3 -4
  63. package/dist/test/random-id.test.js.map +1 -1
  64. package/dist/test/room-admission-tool-actions.test.js +20 -15
  65. package/dist/test/room-admission-tool-actions.test.js.map +1 -1
  66. package/dist/test/room-destroy-revocation.integration.test.js +3 -4
  67. package/dist/test/room-destroy-revocation.integration.test.js.map +1 -1
  68. package/dist/test/room-invite-directed.integration.test.js +13 -12
  69. package/dist/test/room-invite-directed.integration.test.js.map +1 -1
  70. package/dist/test/room-join-admission.test.js +31 -24
  71. package/dist/test/room-join-admission.test.js.map +1 -1
  72. package/dist/test/room-kick-revocation.integration.test.js +5 -6
  73. package/dist/test/room-kick-revocation.integration.test.js.map +1 -1
  74. package/dist/test/room-leave-revocation.integration.test.js +10 -9
  75. package/dist/test/room-leave-revocation.integration.test.js.map +1 -1
  76. package/dist/test/room-path.test.js +16 -17
  77. package/dist/test/room-path.test.js.map +1 -1
  78. package/dist/test/room-read-directed.integration.test.js +14 -11
  79. package/dist/test/room-read-directed.integration.test.js.map +1 -1
  80. package/dist/test/room-router.test.js +27 -29
  81. package/dist/test/room-router.test.js.map +1 -1
  82. package/dist/test/room-send-directed.integration.test.js +11 -12
  83. package/dist/test/room-send-directed.integration.test.js.map +1 -1
  84. package/dist/test/room-send-retry-queue.test.js +10 -11
  85. package/dist/test/room-send-retry-queue.test.js.map +1 -1
  86. package/dist/test/room-send-retry.integration.test.js +5 -8
  87. package/dist/test/room-send-retry.integration.test.js.map +1 -1
  88. package/dist/test/room-state-sync.integration.test.js +18 -15
  89. package/dist/test/room-state-sync.integration.test.js.map +1 -1
  90. package/dist/test/room-token-store.test.js +21 -22
  91. package/dist/test/room-token-store.test.js.map +1 -1
  92. package/dist/test/room-token-verification.test.js +19 -20
  93. package/dist/test/room-token-verification.test.js.map +1 -1
  94. package/dist/test/state-sync-convergence.test.js +25 -26
  95. package/dist/test/state-sync-convergence.test.js.map +1 -1
  96. package/dist/test/visibility.integration.test.js +48 -49
  97. package/dist/test/visibility.integration.test.js.map +1 -1
  98. package/dist/test/wire-mesh-identity.test.js +7 -8
  99. package/dist/test/wire-mesh-identity.test.js.map +1 -1
  100. package/package.json +4 -4
@@ -1,27 +1,26 @@
1
1
  /**
2
2
  * toIdentityPort must produce the identical device-id identity.ts's own deriveDeviceId already computes for the same keypair -- the two are meant to be the same identity wrapped in two different envelopes, not two independent derivations that happen to usually agree.
3
3
  */
4
- import * as assert from "node:assert/strict";
5
- import { test } from "node:test";
4
+ import { test, expect } from "vitest";
6
5
  import { generateIdentity } from "../core/identity.js";
7
6
  import { toIdentityPort } from "../core/wire-mesh-identity.js";
8
- void test("toIdentityPort's deviceId matches identity.ts's own deriveDeviceId", async () => {
7
+ test("toIdentityPort's deviceId matches identity.ts's own deriveDeviceId", async () => {
9
8
  const identity = generateIdentity();
10
9
  const port = await toIdentityPort(identity);
11
- assert.equal(Buffer.from(port.deviceId).toString("hex"), Buffer.from(identity.deviceId).toString("hex"));
10
+ expect(Buffer.from(port.deviceId).toString("hex")).toBe(Buffer.from(identity.deviceId).toString("hex"));
12
11
  });
13
- void test("toIdentityPort can sign and verify its own signature", async () => {
12
+ test("toIdentityPort can sign and verify its own signature", async () => {
14
13
  const identity = generateIdentity();
15
14
  const port = await toIdentityPort(identity);
16
15
  const message = Buffer.from("hello wire-mesh");
17
16
  const signature = await port.sign(message);
18
17
  const valid = await port.verify(port.identityKey, message, signature);
19
- assert.equal(valid, true);
18
+ expect(valid).toBe(true);
20
19
  });
21
- void test("toIdentityPort's own deriveDeviceId agrees with its own deviceId for its own key", async () => {
20
+ test("toIdentityPort's own deriveDeviceId agrees with its own deviceId for its own key", async () => {
22
21
  const identity = generateIdentity();
23
22
  const port = await toIdentityPort(identity);
24
23
  const rederived = await port.deriveDeviceId(port.identityKey["public-key"]);
25
- assert.equal(Buffer.from(rederived).toString("hex"), Buffer.from(port.deviceId).toString("hex"));
24
+ expect(Buffer.from(rederived).toString("hex")).toBe(Buffer.from(port.deviceId).toString("hex"));
26
25
  });
27
26
  //# sourceMappingURL=wire-mesh-identity.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wire-mesh-identity.test.js","sourceRoot":"","sources":["../../src/test/wire-mesh-identity.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,KAAK,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACzF,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC/C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,KAAK,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,KAAK,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;IACvG,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wire-mesh-identity.test.js","sourceRoot":"","sources":["../../src/test/wire-mesh-identity.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC/C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACtE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;IAClG,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-comms",
3
- "version": "2.18.2",
3
+ "version": "2.18.4",
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@10.33.0",
@@ -52,11 +52,10 @@
52
52
  "generate:server-json": "tsx scripts/sync-release-metadata.ts",
53
53
  "publish:mcp-registry": "tsx scripts/publish-mcp-registry.ts",
54
54
  "lint": "eslint .",
55
- "test": "tsx --test --test-concurrency=1 'src/test/**/*.test.ts'",
55
+ "test": "vitest run",
56
56
  "test:delivery": "tsx src/test/delivery-receipt.runner.ts",
57
57
  "test:smoke": "pnpm build && tsx --test src/test/mesh-smoke.runner.ts",
58
58
  "test:all": "pnpm test && pnpm test:delivery && pnpm test:smoke",
59
- "test:frontend": "tsx --test src/bridges/user/web/frontend/test/**/*.unit.test.ts",
60
59
  "test:e2e": "playwright test",
61
60
  "typecheck": "tsc --noEmit"
62
61
  },
@@ -90,7 +89,8 @@
90
89
  "semantic-release": "25.0.7",
91
90
  "tsx": "^4.23.1",
92
91
  "typescript": "^6.0.3",
93
- "typescript-eslint": "8.69.0"
92
+ "typescript-eslint": "8.69.0",
93
+ "vitest": "5.0.0"
94
94
  },
95
95
  "dependencies": {
96
96
  "@modelcontextprotocol/sdk": "1.30.0",