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
@@ -1 +1 @@
1
- {"version":3,"file":"identity-restart.integration.test.js","sourceRoot":"","sources":["../../src/test/identity-restart.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-restart.integration.test.js","sourceRoot":"","sources":["../../src/test/identity-restart.integration.test.ts"],"names":[],"mappings":"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"}
@@ -248,44 +248,90 @@ test("deleteGroupToken is a no-op when nothing was saved for that group path", (
248
248
  });
249
249
  test("loadGatewayTrust is empty for a slot that has never saved a trusted set", () => {
250
250
  const { slot } = tempSlot("pi");
251
- expect(loadGatewayTrust(slot)).toEqual({ devices: [], principals: [] });
251
+ expect(loadGatewayTrust(slot)).toEqual({
252
+ devices: [],
253
+ principals: [],
254
+ machines: [],
255
+ });
252
256
  });
253
257
  test("loadGatewayTrust does not require an identity to have been created first, unlike loadRoomTokens/loadGroupTokens", () => {
254
258
  const { slot } = tempSlot("pi");
255
259
  expect(() => {
256
- saveGatewayTrust(slot, ["aabbcc"], []);
260
+ saveGatewayTrust(slot, {
261
+ devices: ["aabbcc"],
262
+ principals: [],
263
+ machines: [],
264
+ });
257
265
  }).not.toThrow();
258
266
  expect(loadGatewayTrust(slot)).toEqual({
259
267
  devices: ["aabbcc"],
260
268
  principals: [],
269
+ machines: [],
261
270
  });
262
271
  });
263
272
  test("saveGatewayTrust persists the trusted device and principal sets, loadGatewayTrust reloads the same lists", () => {
264
273
  const { slot } = tempSlot("pi");
265
- saveGatewayTrust(slot, ["aabbcc", "ddeeff"], ["112233"]);
274
+ saveGatewayTrust(slot, {
275
+ devices: ["aabbcc", "ddeeff"],
276
+ principals: ["112233"],
277
+ machines: [],
278
+ });
266
279
  expect(loadGatewayTrust(slot)).toEqual({
267
280
  devices: ["aabbcc", "ddeeff"],
268
281
  principals: ["112233"],
282
+ machines: [],
269
283
  });
270
284
  });
271
285
  test("saveGatewayTrust overwrites the previously saved sets rather than merging with them", () => {
272
286
  const { slot } = tempSlot("pi");
273
- saveGatewayTrust(slot, ["aabbcc", "ddeeff"], ["112233"]);
274
- saveGatewayTrust(slot, ["112233"], ["445566"]);
287
+ saveGatewayTrust(slot, {
288
+ devices: ["aabbcc", "ddeeff"],
289
+ principals: ["112233"],
290
+ machines: [],
291
+ });
292
+ saveGatewayTrust(slot, {
293
+ devices: ["112233"],
294
+ principals: ["445566"],
295
+ machines: [],
296
+ });
275
297
  expect(loadGatewayTrust(slot)).toEqual({
276
298
  devices: ["112233"],
277
299
  principals: ["445566"],
300
+ machines: [],
301
+ });
302
+ });
303
+ test("saveGatewayTrust persists the trusted machine set, and a file with no machines list loads with an empty one", () => {
304
+ const { slot, dir } = tempSlot("pi");
305
+ saveGatewayTrust(slot, {
306
+ devices: [],
307
+ principals: [],
308
+ machines: ["778899"],
309
+ });
310
+ expect(loadGatewayTrust(slot).machines).toEqual(["778899"]);
311
+ fs.writeFileSync(path.join(dir, GATEWAY_TRUST_FILE), JSON.stringify({ devices: ["aabbcc"], principals: [] }));
312
+ expect(loadGatewayTrust(slot)).toEqual({
313
+ devices: ["aabbcc"],
314
+ principals: [],
315
+ machines: [],
278
316
  });
279
317
  });
280
318
  test("saveGatewayTrust persists empty sets, clearing whatever was saved before", () => {
281
319
  const { slot } = tempSlot("pi");
282
- saveGatewayTrust(slot, ["aabbcc"], ["112233"]);
283
- saveGatewayTrust(slot, [], []);
284
- expect(loadGatewayTrust(slot)).toEqual({ devices: [], principals: [] });
320
+ saveGatewayTrust(slot, {
321
+ devices: ["aabbcc"],
322
+ principals: ["112233"],
323
+ machines: [],
324
+ });
325
+ saveGatewayTrust(slot, { devices: [], principals: [], machines: [] });
326
+ expect(loadGatewayTrust(slot)).toEqual({
327
+ devices: [],
328
+ principals: [],
329
+ machines: [],
330
+ });
285
331
  });
286
332
  test("the gateway trust file is written with owner-only permissions", () => {
287
333
  const { slot, dir } = tempSlot("pi");
288
- saveGatewayTrust(slot, ["aabbcc"], []);
334
+ saveGatewayTrust(slot, { devices: ["aabbcc"], principals: [], machines: [] });
289
335
  const file = fs.readdirSync(dir).find((f) => f === GATEWAY_TRUST_FILE);
290
336
  expect(file, `expected ${GATEWAY_TRUST_FILE} in ${dir}`).toBeDefined();
291
337
  if (file === undefined)
@@ -295,7 +341,7 @@ test("the gateway trust file is written with owner-only permissions", () => {
295
341
  });
296
342
  test("the gateway trust file is shared by every slot in an identity directory", () => {
297
343
  const { slot, dir } = tempSlot("pi");
298
- saveGatewayTrust(slot, ["aabbcc"], []);
344
+ saveGatewayTrust(slot, { devices: ["aabbcc"], principals: [], machines: [] });
299
345
  const otherHarness = { ...slot, harness: "claude-code" };
300
346
  const otherCwd = { ...slot, cwd: "/somewhere/else" };
301
347
  expect(loadGatewayTrust(otherHarness).devices).toEqual(["aabbcc"]);
@@ -305,9 +351,9 @@ test("the gateway trust file is shared by every slot in an identity directory",
305
351
  test("gatewayTrustStamp changes when the trust file is created, rewritten, or removed", () => {
306
352
  const { slot, dir } = tempSlot("pi");
307
353
  const absent = gatewayTrustStamp(slot);
308
- saveGatewayTrust(slot, ["aabbcc"], []);
354
+ saveGatewayTrust(slot, { devices: ["aabbcc"], principals: [], machines: [] });
309
355
  const created = gatewayTrustStamp(slot);
310
- saveGatewayTrust(slot, ["aabbcc"], []);
356
+ saveGatewayTrust(slot, { devices: ["aabbcc"], principals: [], machines: [] });
311
357
  const rewritten = gatewayTrustStamp(slot);
312
358
  fs.rmSync(path.join(dir, GATEWAY_TRUST_FILE));
313
359
  const stamps = [absent, created, rewritten];
@@ -316,11 +362,15 @@ test("gatewayTrustStamp changes when the trust file is created, rewritten, or re
316
362
  });
317
363
  test("loadGatewayTrust returns empty for a slot whose gateway trust file is corrupt", () => {
318
364
  const { slot, dir } = tempSlot("pi");
319
- saveGatewayTrust(slot, ["aabbcc"], []);
365
+ saveGatewayTrust(slot, { devices: ["aabbcc"], principals: [], machines: [] });
320
366
  const file = fs.readdirSync(dir).find((f) => f === GATEWAY_TRUST_FILE);
321
367
  if (file === undefined)
322
368
  throw new Error("expected a gateway-trust file");
323
369
  fs.writeFileSync(path.join(dir, file), "not valid json{{{");
324
- expect(loadGatewayTrust(slot)).toEqual({ devices: [], principals: [] });
370
+ expect(loadGatewayTrust(slot)).toEqual({
371
+ devices: [],
372
+ principals: [],
373
+ machines: [],
374
+ });
325
375
  });
326
376
  //# sourceMappingURL=identity-store.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-store.integration.test.js","sourceRoot":"","sources":["../../src/test/identity-store.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-store.integration.test.js","sourceRoot":"","sources":["../../src/test/identity-store.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=machine-grouping.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-grouping.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/machine-grouping.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Unit tests for list_agents' machine placement (machine-grouping.ts). The identify step is a stub, so what is under test is which devices get placed and how a failure to identify one is contained, not the cryptography (membership-proof.unit.test.ts).
3
+ */
4
+ import { createHash } from "node:crypto";
5
+ import { describe, expect, it, vi } from "vitest";
6
+ import { MachineGrouping } from "../core/machine-grouping.js";
7
+ const ONE_HOUR_MS = 3_600_000;
8
+ /** A stable, valid device id for a label, so each test names its devices instead of numbering them. */
9
+ function hex(label) {
10
+ return createHash("sha256").update(label).digest("hex");
11
+ }
12
+ /** A known device whose agent/self advert carries the given machine proof. */
13
+ function known(label, machineProof) {
14
+ return {
15
+ deviceId: hex(label),
16
+ advert: { "agent/self": { machine: machineProof } },
17
+ };
18
+ }
19
+ describe("MachineGrouping", () => {
20
+ it("reports a proof it cannot identify, leaves that device unplaced, and still places the others", async () => {
21
+ const onError = vi.fn();
22
+ const identify = vi.fn(async (claim) => claim.proof === "broken"
23
+ ? Promise.reject(new Error("revocation view unavailable"))
24
+ : Promise.resolve({
25
+ ok: true,
26
+ issuerHex: hex("remote-machine"),
27
+ expires: Date.now() + ONE_HOUR_MS,
28
+ }));
29
+ const grouping = new MachineGrouping({
30
+ listKnownDevices: () => [
31
+ known("unidentifiable", "broken"),
32
+ known("placed", "good"),
33
+ ],
34
+ identify,
35
+ getPeerId: () => hex("self"),
36
+ getMachineId: () => hex("own-machine"),
37
+ onError,
38
+ });
39
+ const machines = await grouping.machinesByDevice();
40
+ expect(machines).toEqual(new Map([
41
+ [hex("self"), hex("own-machine")],
42
+ [hex("placed"), hex("remote-machine")],
43
+ ]));
44
+ expect(onError).toHaveBeenCalledTimes(1);
45
+ expect(onError.mock.calls[0]?.[0].message).toContain(hex("unidentifiable"));
46
+ });
47
+ it("tries a proof it could not identify again on the next listing, since the failure was not a verdict on the proof", async () => {
48
+ const identify = vi.fn(async () => Promise.reject(new Error("revocation view unavailable")));
49
+ const grouping = new MachineGrouping({
50
+ listKnownDevices: () => [known("retried", "proof")],
51
+ identify,
52
+ getPeerId: () => hex("self"),
53
+ getMachineId: () => hex("own-machine"),
54
+ onError: () => undefined,
55
+ });
56
+ await grouping.machinesByDevice();
57
+ await grouping.machinesByDevice();
58
+ expect(identify).toHaveBeenCalledTimes(2);
59
+ });
60
+ });
61
+ //# sourceMappingURL=machine-grouping.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-grouping.unit.test.js","sourceRoot":"","sources":["../../src/test/machine-grouping.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Unit tests for the per-host machine identity (core/machine-identity, agent-comms#343): one locally generated keypair per identity directory, persisted beside the user principal but never the same key.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=machine-identity.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-identity.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/machine-identity.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Unit tests for the per-host machine identity (core/machine-identity, agent-comms#343): one locally generated keypair per identity directory, persisted beside the user principal but never the same key.
3
+ */
4
+ import * as fs from "node:fs";
5
+ import { tmpdir } from "node:os";
6
+ import path from "node:path";
7
+ import { expect, test } from "vitest";
8
+ import { loadOrCreateMachineIdentity, machineIdentityFile, } from "../core/machine-identity.js";
9
+ import { loadOrCreateUserIdentity } from "../core/user-identity.js";
10
+ /** Mask isolating the permission bits from a stat mode's file-type bits. */
11
+ const PERMISSION_BITS_MASK = 0o777;
12
+ /** Owner-only read and write, the mode every identity file is written with. */
13
+ const OWNER_ONLY_RW_PERMISSIONS = 0o600;
14
+ function tempDir() {
15
+ return fs.mkdtempSync(path.join(tmpdir(), "agent-comms-machine-identity-"));
16
+ }
17
+ test("the machine identity is created once and reloaded unchanged from machine-identity.json", () => {
18
+ const dir = tempDir();
19
+ const first = loadOrCreateMachineIdentity({ dir });
20
+ const reloaded = loadOrCreateMachineIdentity({ dir });
21
+ expect(machineIdentityFile({ dir })).toBe(path.join(dir, "machine-identity.json"));
22
+ expect(fs.existsSync(path.join(dir, "machine-identity.json"))).toBe(true);
23
+ expect(reloaded.privateKey).toBe(first.privateKey);
24
+ expect(reloaded.deviceId).toEqual(first.deviceId);
25
+ });
26
+ test("the machine identity file is owner-only", () => {
27
+ const dir = tempDir();
28
+ loadOrCreateMachineIdentity({ dir });
29
+ const mode = fs.statSync(machineIdentityFile({ dir })).mode & PERMISSION_BITS_MASK;
30
+ expect(mode).toBe(OWNER_ONLY_RW_PERMISSIONS);
31
+ });
32
+ test("the machine and the user principal sharing a directory are different keys", () => {
33
+ const dir = tempDir();
34
+ const machine = loadOrCreateMachineIdentity({ dir });
35
+ const user = loadOrCreateUserIdentity({ dir });
36
+ expect(machine.deviceId).not.toEqual(user.deviceId);
37
+ expect(loadOrCreateMachineIdentity({ dir }).deviceId).toEqual(machine.deviceId);
38
+ });
39
+ test("two hosts, two directories, never share a machine identity", () => {
40
+ const a = loadOrCreateMachineIdentity({ dir: tempDir() });
41
+ const b = loadOrCreateMachineIdentity({ dir: tempDir() });
42
+ expect(a.deviceId).not.toEqual(b.deviceId);
43
+ });
44
+ test("a corrupt machine identity file is refused rather than replaced, so the machine id never changes silently", () => {
45
+ const dir = tempDir();
46
+ loadOrCreateMachineIdentity({ dir });
47
+ fs.writeFileSync(machineIdentityFile({ dir }), "not json{{");
48
+ expect(() => loadOrCreateMachineIdentity({ dir })).toThrow(/does not hold a usable identity record/);
49
+ expect(fs.readFileSync(machineIdentityFile({ dir }), "utf-8")).toBe("not json{{");
50
+ });
51
+ test("renewing a machine identity replaces the file atomically, so a reader never sees it partly written", () => {
52
+ const dir = tempDir();
53
+ const file = machineIdentityFile({ dir });
54
+ const original = loadOrCreateMachineIdentity({ dir });
55
+ const inodeBefore = fs.statSync(file).ino;
56
+ const stored = JSON.parse(fs.readFileSync(file, "utf-8"));
57
+ if (typeof stored !== "object" || stored === null) {
58
+ throw new Error("expected a stored record");
59
+ }
60
+ fs.writeFileSync(file, JSON.stringify({ ...stored, expiresAt: new Date(0).toISOString() }));
61
+ const renewed = loadOrCreateMachineIdentity({ dir });
62
+ expect(renewed.deviceId).toEqual(original.deviceId);
63
+ expect(fs.statSync(file).ino).not.toBe(inodeBefore);
64
+ });
65
+ //# sourceMappingURL=machine-identity.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-identity.unit.test.js","sourceRoot":"","sources":["../../src/test/machine-identity.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Unit tests for list_agents' machine grouping (agent-comms#343): this host first, other machines by id, unplaced agents last, and no grouping at all when nothing is placed.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=machine-list-groups.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-list-groups.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/machine-list-groups.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Unit tests for list_agents' machine grouping (agent-comms#343): this host first, other machines by id, unplaced agents last, and no grouping at all when nothing is placed.
3
+ */
4
+ import { describe, expect, it } from "vitest";
5
+ import { groupAgentsByMachine } from "../core/machine-list-groups.js";
6
+ function agent(id) {
7
+ return {
8
+ id,
9
+ version: 0,
10
+ name: id,
11
+ harness: "test",
12
+ cwd: "/test",
13
+ pid: 1,
14
+ startedAt: "",
15
+ visibility: "visible",
16
+ status: "active",
17
+ tags: [],
18
+ subscribedRooms: [],
19
+ };
20
+ }
21
+ describe("groupAgentsByMachine", () => {
22
+ it("puts this machine first, then other machines by id, then agents no proof places", () => {
23
+ const agents = ["remote-b", "local", "unplaced", "remote-a"].map(agent);
24
+ const machines = new Map([
25
+ ["remote-b", "bbbb"],
26
+ ["local", "mine"],
27
+ ["remote-a", "aaaa"],
28
+ ]);
29
+ const groups = groupAgentsByMachine(agents, machines, "mine");
30
+ expect(groups.map((group) => [group.heading, group.agents.map((a) => a.id)])).toEqual([
31
+ ["Machine mine (this machine):", ["local"]],
32
+ ["Machine aaaa:", ["remote-a"]],
33
+ ["Machine bbbb:", ["remote-b"]],
34
+ ["Machine not proven:", ["unplaced"]],
35
+ ]);
36
+ });
37
+ it("keeps several agents of one machine together in their listed order", () => {
38
+ const agents = ["one", "other", "two"].map(agent);
39
+ const machines = new Map([
40
+ ["one", "mine"],
41
+ ["other", "theirs"],
42
+ ["two", "mine"],
43
+ ]);
44
+ const groups = groupAgentsByMachine(agents, machines, "mine");
45
+ expect(groups[0]?.agents.map((a) => a.id)).toEqual(["one", "two"]);
46
+ });
47
+ it("lists everything as one ungrouped run when no agent is placed on a machine, or the store has no machine identity", () => {
48
+ const agents = ["a", "b"].map(agent);
49
+ expect(groupAgentsByMachine(agents, new Map(), "mine")).toEqual([
50
+ { heading: undefined, agents },
51
+ ]);
52
+ expect(groupAgentsByMachine(agents, undefined, undefined)).toEqual([
53
+ { heading: undefined, agents },
54
+ ]);
55
+ });
56
+ });
57
+ //# sourceMappingURL=machine-list-groups.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-list-groups.unit.test.js","sourceRoot":"","sources":["../../src/test/machine-list-groups.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Integration tests for machine identity (agent-comms#343): every bridge on a host is vouched for by that host's machine key, so list_agents groups devices by machine, whoami names the machine, and another machine that trusts this one reaches all of its devices until it untrusts the machine, which revokes the whole host in one act. Two hosts meet through a real hub; the stores of one host share its machine and user identity directories.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=machine-membership-trust.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-membership-trust.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/machine-membership-trust.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}