agent-comms 8.4.1 → 8.5.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 (189) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +13 -3
  4. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  5. package/dist/bridges/user/web/dist/sw.js +1 -1
  6. package/dist/core/agent-registry.d.ts.map +1 -1
  7. package/dist/core/agent-registry.js +2 -0
  8. package/dist/core/agent-registry.js.map +1 -1
  9. package/dist/core/atomic-file.d.ts +12 -0
  10. package/dist/core/atomic-file.d.ts.map +1 -0
  11. package/dist/core/atomic-file.js +37 -0
  12. package/dist/core/atomic-file.js.map +1 -0
  13. package/dist/core/bridge-mesh.d.ts.map +1 -1
  14. package/dist/core/bridge-mesh.js +4 -0
  15. package/dist/core/bridge-mesh.js.map +1 -1
  16. package/dist/core/bridge.d.ts +1 -0
  17. package/dist/core/bridge.d.ts.map +1 -1
  18. package/dist/core/bridge.js +4 -0
  19. package/dist/core/bridge.js.map +1 -1
  20. package/dist/core/device-membership-verification.d.ts +23 -9
  21. package/dist/core/device-membership-verification.d.ts.map +1 -1
  22. package/dist/core/device-membership-verification.js +38 -11
  23. package/dist/core/device-membership-verification.js.map +1 -1
  24. package/dist/core/device-membership.d.ts +12 -3
  25. package/dist/core/device-membership.d.ts.map +1 -1
  26. package/dist/core/device-membership.js +10 -7
  27. package/dist/core/device-membership.js.map +1 -1
  28. package/dist/core/directory-admission.d.ts +5 -3
  29. package/dist/core/directory-admission.d.ts.map +1 -1
  30. package/dist/core/directory-admission.js +55 -32
  31. package/dist/core/directory-admission.js.map +1 -1
  32. package/dist/core/gateway-trust-actions.d.ts +5 -8
  33. package/dist/core/gateway-trust-actions.d.ts.map +1 -1
  34. package/dist/core/gateway-trust-actions.js +79 -15
  35. package/dist/core/gateway-trust-actions.js.map +1 -1
  36. package/dist/core/gateway-trust.d.ts +38 -17
  37. package/dist/core/gateway-trust.d.ts.map +1 -1
  38. package/dist/core/gateway-trust.js +86 -37
  39. package/dist/core/gateway-trust.js.map +1 -1
  40. package/dist/core/gossip-directory.d.ts +23 -3
  41. package/dist/core/gossip-directory.d.ts.map +1 -1
  42. package/dist/core/gossip-directory.js +45 -6
  43. package/dist/core/gossip-directory.js.map +1 -1
  44. package/dist/core/gossip-extensions.d.ts +2 -0
  45. package/dist/core/gossip-extensions.d.ts.map +1 -1
  46. package/dist/core/gossip-extensions.js +1 -0
  47. package/dist/core/gossip-extensions.js.map +1 -1
  48. package/dist/core/group-proofs.d.ts +43 -0
  49. package/dist/core/group-proofs.d.ts.map +1 -0
  50. package/dist/core/group-proofs.js +69 -0
  51. package/dist/core/group-proofs.js.map +1 -0
  52. package/dist/core/identity-store.d.ts +5 -4
  53. package/dist/core/identity-store.d.ts.map +1 -1
  54. package/dist/core/identity-store.js +13 -16
  55. package/dist/core/identity-store.js.map +1 -1
  56. package/dist/core/issuer-identity-file.d.ts +25 -0
  57. package/dist/core/issuer-identity-file.d.ts.map +1 -0
  58. package/dist/core/issuer-identity-file.js +124 -0
  59. package/dist/core/issuer-identity-file.js.map +1 -0
  60. package/dist/core/machine-grouping.d.ts +34 -0
  61. package/dist/core/machine-grouping.d.ts.map +1 -0
  62. package/dist/core/machine-grouping.js +66 -0
  63. package/dist/core/machine-grouping.js.map +1 -0
  64. package/dist/core/machine-identity.d.ts +15 -0
  65. package/dist/core/machine-identity.d.ts.map +1 -0
  66. package/dist/core/machine-identity.js +18 -0
  67. package/dist/core/machine-identity.js.map +1 -0
  68. package/dist/core/machine-list-groups.d.ts +12 -0
  69. package/dist/core/machine-list-groups.d.ts.map +1 -0
  70. package/dist/core/machine-list-groups.js +41 -0
  71. package/dist/core/machine-list-groups.js.map +1 -0
  72. package/dist/core/membership-proof.d.ts +20 -9
  73. package/dist/core/membership-proof.d.ts.map +1 -1
  74. package/dist/core/membership-proof.js +41 -15
  75. package/dist/core/membership-proof.js.map +1 -1
  76. package/dist/core/membership-proofs.d.ts +14 -8
  77. package/dist/core/membership-proofs.d.ts.map +1 -1
  78. package/dist/core/membership-proofs.js +21 -10
  79. package/dist/core/membership-proofs.js.map +1 -1
  80. package/dist/core/mesh-store-shared.d.ts +2 -1
  81. package/dist/core/mesh-store-shared.d.ts.map +1 -1
  82. package/dist/core/mesh-store-shared.js.map +1 -1
  83. package/dist/core/mesh-store.d.ts +17 -10
  84. package/dist/core/mesh-store.d.ts.map +1 -1
  85. package/dist/core/mesh-store.js +35 -38
  86. package/dist/core/mesh-store.js.map +1 -1
  87. package/dist/core/network-interfaces.d.ts +7 -0
  88. package/dist/core/network-interfaces.d.ts.map +1 -0
  89. package/dist/core/network-interfaces.js +23 -0
  90. package/dist/core/network-interfaces.js.map +1 -0
  91. package/dist/core/peer-versions.d.ts +6 -0
  92. package/dist/core/peer-versions.d.ts.map +1 -1
  93. package/dist/core/peer-versions.js +17 -0
  94. package/dist/core/peer-versions.js.map +1 -1
  95. package/dist/core/room-path.d.ts +2 -0
  96. package/dist/core/room-path.d.ts.map +1 -1
  97. package/dist/core/room-path.js +5 -1
  98. package/dist/core/room-path.js.map +1 -1
  99. package/dist/core/tool.d.ts +10 -5
  100. package/dist/core/tool.d.ts.map +1 -1
  101. package/dist/core/tool.js +16 -3
  102. package/dist/core/tool.js.map +1 -1
  103. package/dist/core/types.d.ts +4 -0
  104. package/dist/core/types.d.ts.map +1 -1
  105. package/dist/core/types.js +4 -0
  106. package/dist/core/types.js.map +1 -1
  107. package/dist/core/user-identity.d.ts +4 -6
  108. package/dist/core/user-identity.d.ts.map +1 -1
  109. package/dist/core/user-identity.js +9 -113
  110. package/dist/core/user-identity.js.map +1 -1
  111. package/dist/core/wire-mesh-transport-options.d.ts +2 -2
  112. package/dist/core/wire-mesh-transport-options.d.ts.map +1 -1
  113. package/dist/core/wire-mesh-transport.d.ts.map +1 -1
  114. package/dist/core/wire-mesh-transport.js +7 -7
  115. package/dist/core/wire-mesh-transport.js.map +1 -1
  116. package/dist/test/delivery-engine-delivery.unit.test.js +1 -0
  117. package/dist/test/delivery-engine-delivery.unit.test.js.map +1 -1
  118. package/dist/test/delivery-engine-directed-notify.unit.test.js +1 -0
  119. package/dist/test/delivery-engine-directed-notify.unit.test.js.map +1 -1
  120. package/dist/test/delivery-engine-own-agent.unit.test.js +1 -0
  121. package/dist/test/delivery-engine-own-agent.unit.test.js.map +1 -1
  122. package/dist/test/delivery-engine.unit.test.js +1 -0
  123. package/dist/test/delivery-engine.unit.test.js.map +1 -1
  124. package/dist/test/device-membership-verification.unit.test.js +25 -25
  125. package/dist/test/device-membership-verification.unit.test.js.map +1 -1
  126. package/dist/test/device-membership.unit.test.js +6 -6
  127. package/dist/test/device-membership.unit.test.js.map +1 -1
  128. package/dist/test/directory-admission.unit.test.js +103 -7
  129. package/dist/test/directory-admission.unit.test.js.map +1 -1
  130. package/dist/test/gateway-trust-tool.integration.test.js +115 -3
  131. package/dist/test/gateway-trust-tool.integration.test.js.map +1 -1
  132. package/dist/test/gateway-trust.unit.test.js +62 -13
  133. package/dist/test/gateway-trust.unit.test.js.map +1 -1
  134. package/dist/test/gossip-directory.unit.test.js +14 -1
  135. package/dist/test/gossip-directory.unit.test.js.map +1 -1
  136. package/dist/test/hub-exposure.integration.test.js +1 -1
  137. package/dist/test/hub-exposure.integration.test.js.map +1 -1
  138. package/dist/test/identity-restart.integration.test.js +2 -0
  139. package/dist/test/identity-restart.integration.test.js.map +1 -1
  140. package/dist/test/identity-store.integration.test.js +64 -14
  141. package/dist/test/identity-store.integration.test.js.map +1 -1
  142. package/dist/test/machine-grouping.unit.test.d.ts +2 -0
  143. package/dist/test/machine-grouping.unit.test.d.ts.map +1 -0
  144. package/dist/test/machine-grouping.unit.test.js +61 -0
  145. package/dist/test/machine-grouping.unit.test.js.map +1 -0
  146. package/dist/test/machine-identity.unit.test.d.ts +5 -0
  147. package/dist/test/machine-identity.unit.test.d.ts.map +1 -0
  148. package/dist/test/machine-identity.unit.test.js +65 -0
  149. package/dist/test/machine-identity.unit.test.js.map +1 -0
  150. package/dist/test/machine-list-groups.unit.test.d.ts +5 -0
  151. package/dist/test/machine-list-groups.unit.test.d.ts.map +1 -0
  152. package/dist/test/machine-list-groups.unit.test.js +57 -0
  153. package/dist/test/machine-list-groups.unit.test.js.map +1 -0
  154. package/dist/test/machine-membership-trust.integration.test.d.ts +5 -0
  155. package/dist/test/machine-membership-trust.integration.test.d.ts.map +1 -0
  156. package/dist/test/machine-membership-trust.integration.test.js +151 -0
  157. package/dist/test/machine-membership-trust.integration.test.js.map +1 -0
  158. package/dist/test/membership-proof.unit.test.js +105 -13
  159. package/dist/test/membership-proof.unit.test.js.map +1 -1
  160. package/dist/test/principal-membership-trust.integration.test.js +2 -1
  161. package/dist/test/principal-membership-trust.integration.test.js.map +1 -1
  162. package/dist/test/room-join-admission.integration.test.js +2 -0
  163. package/dist/test/room-join-admission.integration.test.js.map +1 -1
  164. package/dist/test/room-lifecycle-bare-name.unit.test.js +1 -0
  165. package/dist/test/room-lifecycle-bare-name.unit.test.js.map +1 -1
  166. package/dist/test/room-lifecycle-membership.unit.test.js +1 -0
  167. package/dist/test/room-lifecycle-membership.unit.test.js.map +1 -1
  168. package/dist/test/room-lifecycle-remote.unit.test.js +1 -0
  169. package/dist/test/room-lifecycle-remote.unit.test.js.map +1 -1
  170. package/dist/test/room-lifecycle.unit.test.js +1 -0
  171. package/dist/test/room-lifecycle.unit.test.js.map +1 -1
  172. package/dist/test/room-messaging-durable-send.unit.test.js +1 -0
  173. package/dist/test/room-messaging-durable-send.unit.test.js.map +1 -1
  174. package/dist/test/room-messaging.unit.test.js +1 -0
  175. package/dist/test/room-messaging.unit.test.js.map +1 -1
  176. package/dist/test/room-protocol-notify.unit.test.js +1 -0
  177. package/dist/test/room-protocol-notify.unit.test.js.map +1 -1
  178. package/dist/test/room-protocol.helper.d.ts.map +1 -1
  179. package/dist/test/room-protocol.helper.js +1 -0
  180. package/dist/test/room-protocol.helper.js.map +1 -1
  181. package/dist/test/room-send-retry.integration.test.js +2 -0
  182. package/dist/test/room-send-retry.integration.test.js.map +1 -1
  183. package/dist/test/test-transport.d.ts +3 -0
  184. package/dist/test/test-transport.d.ts.map +1 -1
  185. package/dist/test/test-transport.js +6 -1
  186. package/dist/test/test-transport.js.map +1 -1
  187. package/dist/test/user-identity.unit.test.js +40 -14
  188. package/dist/test/user-identity.unit.test.js.map +1 -1
  189. package/package.json +1 -1
@@ -14,6 +14,7 @@ import { WireMeshTransport } from "../core/wire-mesh-transport.js";
14
14
  import { loadOrCreateIdentity, releaseIdentityLock, } from "../core/identity-store.js";
15
15
  import { toIdentityPort } from "../core/wire-mesh-identity.js";
16
16
  import { loadOrCreateUserIdentity } from "../core/user-identity.js";
17
+ import { loadOrCreateMachineIdentity } from "../core/machine-identity.js";
17
18
  import { ownerNamedRoomPath } from "../core/room-path.js";
18
19
  const TEST_PORT = 19897;
19
20
  /** How many polling attempts {@link waitFor} makes before failing. */
@@ -49,6 +50,7 @@ async function makePeer(identity, slot) {
49
50
  dataStorage: createMemoryStorage(),
50
51
  userIdentity: await toIdentityPort(loadOrCreateUserIdentity(userIdentityOptions)),
51
52
  userIdentityOptions,
53
+ machineIdentity: await toIdentityPort(loadOrCreateMachineIdentity(userIdentityOptions)),
52
54
  });
53
55
  const deliveries = [];
54
56
  return { store, deliveries };
@@ -1 +1 @@
1
- {"version":3,"file":"room-send-retry.integration.test.js","sourceRoot":"","sources":["../../src/test/room-send-retry.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-send-retry.integration.test.js","sourceRoot":"","sources":["../../src/test/room-send-retry.integration.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { TransportEvents } from "../core/transport.js";
4
4
  import type { IdentitySlot } from "../core/identity-store.js";
5
5
  import type { PeerIdentity } from "../core/identity.js";
6
6
  import type { UserIdentityOptions } from "../core/user-identity.js";
7
+ import { type MachineIdentityOptions } from "../core/machine-identity.js";
7
8
  import type { MeshStore } from "../core/mesh-store.js";
8
9
  /** Wires store onto a fresh WireMeshTransport and a persisted identity slot, returning the slot so a test can inspect (or reuse) the persisted room tokens directly via loadRoomTokens(). Defaults to a throwaway temp-dir slot per call -- pass an explicit slot when a test needs the same identity to survive across more than one wireTestTransport call (e.g. simulating a restart). pendingConnectionTimeoutMs overrides WireMeshTransport's own default 5-minute connect_request expiry -- a test proving that expiry behaviour needs it far shorter than any real approval window. presenceReadvertiseIntervalMs likewise overrides the default 20s presence re-advertisement cadence -- a test proving that behaviour needs it far shorter too, or a test that doesn't care about presence at all wants it long enough to never fire spuriously mid-test. Wires getSelfAgentAdvert (`() => store.selfAgentAdvert`) and getHostedRooms (`() => store.hostedRooms`) the same way createBridgeMesh does -- a test relying on gossip carrying the registered agent/self extension (e.g. remote-directory-merge coverage, agent-comms#155) or the hosted-room extension (room discovery through list_rooms) needs these wired exactly like production does. */
9
10
  interface WireTransportOptions {
@@ -11,6 +12,8 @@ interface WireTransportOptions {
11
12
  pendingConnectionTimeoutMs?: number | undefined;
12
13
  presenceReadvertiseIntervalMs?: number | undefined;
13
14
  userIdentityOptions?: Readonly<UserIdentityOptions> | undefined;
15
+ /** This store's machine identity location; defaults to a fresh throwaway directory, so each test store is on its own machine unless a test names a shared one. */
16
+ machineIdentityOptions?: Readonly<MachineIdentityOptions> | undefined;
14
17
  /** Overrides which identity-store loader resolves this store's identity for the given slot — defaults to loadOrCreateIdentity (the real-bridge path, which takes the slot's exclusivity lock). Pass loadIdentityForFront to model the default cc-peer front's own store instead (agent-comms#299's own reproduction needs both loaders live against one slot at once, which no single wireTestTransport call could otherwise construct). */
15
18
  identityLoader?: ((slot: Readonly<IdentitySlot>) => PeerIdentity) | undefined;
16
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-transport.d.ts","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"AAAA,icAAic;AAKjc,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,msCAAmsC;AACnsC,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAC1C,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,6BAA6B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,mBAAmB,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAChE,4aAA4a;IAC5a,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,GAAG,SAAS,CAAC;CAC/E;AA4DD,msCAAmsC;AACnsC,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED,qcAAqc;AACrc,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAE/D;AAMD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,SAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,qKAAqK;AACrK,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAM,GACjD,eAAe,CAiBjB"}
1
+ {"version":3,"file":"test-transport.d.ts","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"AAAA,icAAic;AAKjc,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,msCAAmsC;AACnsC,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAC1C,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,6BAA6B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,mBAAmB,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAChE,kKAAkK;IAClK,sBAAsB,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IACtE,4aAA4a;IAC5a,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,GAAG,SAAS,CAAC;CAC/E;AAmED,msCAAmsC;AACnsC,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED,qcAAqc;AACrc,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAE/D;AAMD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,SAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,qKAAqK;AACrK,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAM,GACjD,eAAe,CAiBjB"}
@@ -10,11 +10,12 @@ import { createMemoryStorage } from "wire-mesh-core/adapters/memory-storage";
10
10
  import { loadOrCreateIdentity } from "../core/identity-store.js";
11
11
  import { toIdentityPort } from "../core/wire-mesh-identity.js";
12
12
  import { loadOrCreateUserIdentity } from "../core/user-identity.js";
13
+ import { loadOrCreateMachineIdentity, } from "../core/machine-identity.js";
13
14
  import { nanoid } from "../core/nanoid.js";
14
15
  /** Short enough to keep generated test identity slots readable, long enough that two concurrent test runs won't collide on the same throwaway cwd. */
15
16
  const TEST_IDENTITY_CWD_ID_LENGTH = 8;
16
17
  async function wireTransportInternal(store, options) {
17
- const { slot, pendingConnectionTimeoutMs, presenceReadvertiseIntervalMs, userIdentityOptions, identityLoader = loadOrCreateIdentity, } = options ?? {};
18
+ const { slot, pendingConnectionTimeoutMs, presenceReadvertiseIntervalMs, userIdentityOptions, machineIdentityOptions, identityLoader = loadOrCreateIdentity, } = options ?? {};
18
19
  const resolvedSlot = slot ?? {
19
20
  harness: "test",
20
21
  cwd: nanoid(TEST_IDENTITY_CWD_ID_LENGTH),
@@ -26,6 +27,9 @@ async function wireTransportInternal(store, options) {
26
27
  dir: fs.mkdtempSync(path.join(tmpdir(), "agent-comms-test-user-identity-")),
27
28
  };
28
29
  const userIdentity = loadOrCreateUserIdentity(resolvedUserIdentityOptions);
30
+ const machineIdentity = loadOrCreateMachineIdentity(machineIdentityOptions ?? {
31
+ dir: fs.mkdtempSync(path.join(tmpdir(), "agent-comms-test-machine-")),
32
+ });
29
33
  // Every real bridge sets peerId to deviceIdToHex(identity.deviceId) before wiring the transport (createBridgeMesh) -- WireMeshTransport's own session bookkeeping is keyed by device-id, so a peer's advertised ID and the identity the other side actually authenticates the connection against must be the same value, or introduction/state-sync never recognises the peer as itself.
30
34
  store.peerId = deviceIdToHex(Uint8Array.from(identity.deviceId));
31
35
  // One shared dataStorage instance for both the transport's own data-domain frame responder and the store's own durable-send mint path (P5, agent-comms#50) -- memory-backed, matching every other throwaway test identity here, rather than a real createNodeFsStorage a test would need to clean up afterwards.
@@ -51,6 +55,7 @@ async function wireTransportInternal(store, options) {
51
55
  dataStorage,
52
56
  userIdentity: await toIdentityPort(userIdentity),
53
57
  userIdentityOptions: resolvedUserIdentityOptions,
58
+ machineIdentity: await toIdentityPort(machineIdentity),
54
59
  });
55
60
  // Surface transport-level errors instead of leaving them silent — a genuine socket failure during a test run is signal worth seeing even when the test's own assertions still pass, since it can point at a real race the assertions don't happen to catch.
56
61
  store.onError = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"test-transport.js","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-transport.js","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,18 @@ import { test, expect, vi, afterEach } from "vitest";
8
8
  import { deleteIssuedDeviceGrant, loadIssuedDeviceGrant, loadOrCreateUserIdentity, saveIssuedDeviceGrant, loadIssuedDmGrant, saveIssuedDmGrant, deleteIssuedDmGrant, } from "../core/user-identity.js";
9
9
  import { CERTIFICATE_VALIDITY_MS } from "../core/identity.js";
10
10
  import { randomId } from "../core/random-id.js";
11
- // node:fs's writeFileSync is wrapped (not replaced) so every test gets the real filesystem by default; only the one race test below overrides it, via mockImplementationOnce, to simulate a concurrent writer winning the exclusive create -- vi.spyOn cannot target an ESM named export directly ("Module namespace is not configurable"), so the wrap has to happen at vi.mock time instead.
11
+ // node:fs's linkSync is wrapped (not replaced) so every test gets the real filesystem by default; only the one race test below overrides it, via mockImplementationOnce, to simulate a concurrent writer winning the exclusive create. vi.spyOn cannot target an ESM named export directly ("Module namespace is not configurable"), so the wrap has to happen at vi.mock time instead.
12
12
  vi.mock("node:fs", async (importOriginal) => {
13
13
  const actual = await importOriginal();
14
- return { ...actual, writeFileSync: vi.fn(actual.writeFileSync) };
15
- });
14
+ return { ...actual, linkSync: vi.fn(actual.linkSync) };
15
+ });
16
+ /** The error link() raises for a name that already exists, carrying the errno code the create checks for. */
17
+ class ExistsError extends Error {
18
+ code = "EEXIST";
19
+ constructor() {
20
+ super("EEXIST: file already exists");
21
+ }
22
+ }
16
23
  function tempDir() {
17
24
  return fs.mkdtempSync(path.join(tmpdir(), "agent-comms-user-identity-test-"));
18
25
  }
@@ -61,31 +68,50 @@ test("a near-expiry identity is renewed without rotating the device-id", () => {
61
68
  expect(renewed.privateKey).toBe(original.privateKey);
62
69
  expect(renewed.fingerprint).not.toBe(original.fingerprint);
63
70
  });
64
- test("a corrupt identity file is regenerated", () => {
71
+ test("a corrupt identity file is refused and left as it is, never replaced with a fresh key", () => {
65
72
  const dir = tempDir();
66
73
  loadOrCreateUserIdentity({ dir });
67
74
  fs.writeFileSync(identityFile(dir), "{not json");
68
- const regenerated = loadOrCreateUserIdentity({ dir });
69
- expect(regenerated.fingerprint).toMatch(/^[0-9A-F]{2}(:[0-9A-F]{2})+$/);
75
+ expect(() => loadOrCreateUserIdentity({ dir })).toThrow(/does not hold a usable identity record/);
76
+ expect(fs.readFileSync(identityFile(dir), "utf-8")).toBe("{not json");
77
+ });
78
+ test("valid key material beside malformed grant bookkeeping is refused at load, the same verdict the grant writers would reach", () => {
79
+ const dir = tempDir();
80
+ loadOrCreateUserIdentity({ dir });
81
+ const file = identityFile(dir);
82
+ const stored = JSON.parse(fs.readFileSync(file, "utf-8"));
83
+ const damaged = JSON.stringify({
84
+ ...(typeof stored === "object" ? stored : {}),
85
+ issuedDmGrants: { bearer: 7 },
86
+ });
87
+ fs.writeFileSync(file, damaged);
88
+ expect(() => loadOrCreateUserIdentity({ dir })).toThrow(/does not hold a usable identity record/);
89
+ expect(() => {
90
+ saveIssuedDmGrant({ dir }, "bearer", new Uint8Array([1]));
91
+ }).toThrow(/does not hold a usable identity record/);
92
+ expect(fs.readFileSync(file, "utf-8")).toBe(damaged);
93
+ });
94
+ test("an empty identity file is refused rather than regenerated, since an atomic write never leaves one behind", () => {
95
+ const dir = tempDir();
96
+ loadOrCreateUserIdentity({ dir });
97
+ fs.writeFileSync(identityFile(dir), "");
98
+ expect(() => loadOrCreateUserIdentity({ dir })).toThrow(/does not hold a usable identity record/);
70
99
  });
71
100
  test("losing the creation race re-reads the winner's identity instead of overwriting it", () => {
72
101
  const dir = tempDir();
73
102
  const file = identityFile(dir);
74
103
  const winner = loadOrCreateUserIdentity({ dir: tempDir() });
75
- const realWriteFileSync = fs.writeFileSync;
76
- // Simulate a second process winning the exclusive ("wx") create right before this process's own write lands: when this process attempts its create, first write the "winner's" identity for real (as the concurrent process would have -- the recursive call below falls through to the real writeFileSync once this queued override is consumed), then fail this call with EEXIST, exactly as Node's own "wx" flag would for a file that now exists. expiresAt is set a full validity period out, matching persistedRecord's own real behaviour, so this test exercises only the race-handling branch, not renewal too.
77
- const writeSpy = vi.mocked(fs.writeFileSync).mockImplementationOnce(() => {
78
- realWriteFileSync(file, `${JSON.stringify({
104
+ // Simulate a second process winning the exclusive create right before this process links its own file into place: write the winner's identity for real, as the concurrent process would have, then fail this link with EEXIST, exactly as link() does for a name that now exists. expiresAt is a full validity period out, as a real create writes it, so this test exercises only the race-handling branch, not renewal too.
105
+ const linkSpy = vi.mocked(fs.linkSync).mockImplementationOnce(() => {
106
+ fs.writeFileSync(file, `${JSON.stringify({
79
107
  privateKey: winner.privateKey,
80
108
  certificate: winner.certificate,
81
109
  expiresAt: new Date(Date.now() + CERTIFICATE_VALIDITY_MS).toISOString(),
82
110
  }, null, 2)}\n`, { encoding: "utf-8", mode: 0o600 });
83
- const err = new Error("EEXIST: file already exists");
84
- err.code = "EEXIST";
85
- throw err;
111
+ throw new ExistsError();
86
112
  });
87
113
  const loser = loadOrCreateUserIdentity({ dir });
88
- expect(writeSpy).toHaveBeenCalled();
114
+ expect(linkSpy).toHaveBeenCalled();
89
115
  expect(loser.fingerprint).toBe(winner.fingerprint);
90
116
  expect(loser.deviceId).toEqual(winner.deviceId);
91
117
  });
@@ -1 +1 @@
1
- {"version":3,"file":"user-identity.unit.test.js","sourceRoot":"","sources":["../../src/test/user-identity.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-identity.unit.test.js","sourceRoot":"","sources":["../../src/test/user-identity.unit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-comms",
3
3
  "description": "Cross-harness communication mesh for LLM agents — rooms, DMs, presence, and real-time push delivery over TCP",
4
- "version": "8.4.1",
4
+ "version": "8.5.0",
5
5
  "bin": {
6
6
  "agent-comms": "dist/cli.js"
7
7
  },