agent-comms 8.9.4 → 8.10.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 (64) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +2 -2
  4. package/dist/bridges/claude-code/channel.d.ts +2 -1
  5. package/dist/bridges/claude-code/channel.d.ts.map +1 -1
  6. package/dist/bridges/claude-code/channel.js +3 -3
  7. package/dist/bridges/claude-code/channel.js.map +1 -1
  8. package/dist/bridges/mcp/server.d.ts +2 -10
  9. package/dist/bridges/mcp/server.d.ts.map +1 -1
  10. package/dist/bridges/mcp/server.js.map +1 -1
  11. package/dist/bridges/registry.d.ts +3 -1
  12. package/dist/bridges/registry.d.ts.map +1 -1
  13. package/dist/bridges/registry.js.map +1 -1
  14. package/dist/cli-main.d.ts +37 -0
  15. package/dist/cli-main.d.ts.map +1 -0
  16. package/dist/cli-main.js +511 -0
  17. package/dist/cli-main.js.map +1 -0
  18. package/dist/cli.d.ts +1 -22
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +6 -506
  21. package/dist/cli.js.map +1 -1
  22. package/dist/core/bridge-mesh.d.ts +7 -0
  23. package/dist/core/bridge-mesh.d.ts.map +1 -1
  24. package/dist/core/bridge-mesh.js.map +1 -1
  25. package/dist/core/data-frame-routing.d.ts +28 -2
  26. package/dist/core/data-frame-routing.d.ts.map +1 -1
  27. package/dist/core/data-frame-routing.js +75 -4
  28. package/dist/core/data-frame-routing.js.map +1 -1
  29. package/dist/core/hub-session.d.ts +7 -1
  30. package/dist/core/hub-session.d.ts.map +1 -1
  31. package/dist/core/hub-session.js +25 -0
  32. package/dist/core/hub-session.js.map +1 -1
  33. package/dist/core/index.d.ts +1 -1
  34. package/dist/core/index.d.ts.map +1 -1
  35. package/dist/core/index.js.map +1 -1
  36. package/dist/core/wire-mesh-transport.d.ts +0 -1
  37. package/dist/core/wire-mesh-transport.d.ts.map +1 -1
  38. package/dist/core/wire-mesh-transport.js +3 -2
  39. package/dist/core/wire-mesh-transport.js.map +1 -1
  40. package/dist/test/account-ledger-helpers.d.ts +35 -0
  41. package/dist/test/account-ledger-helpers.d.ts.map +1 -0
  42. package/dist/test/account-ledger-helpers.js +81 -0
  43. package/dist/test/account-ledger-helpers.js.map +1 -0
  44. package/dist/test/account-ledger-hub-replication.integration.test.d.ts +5 -0
  45. package/dist/test/account-ledger-hub-replication.integration.test.d.ts.map +1 -0
  46. package/dist/test/account-ledger-hub-replication.integration.test.js +100 -0
  47. package/dist/test/account-ledger-hub-replication.integration.test.js.map +1 -0
  48. package/dist/test/account-ledger-replication.integration.test.js +4 -66
  49. package/dist/test/account-ledger-replication.integration.test.js.map +1 -1
  50. package/dist/test/bridge-stdout.runner.d.ts +5 -0
  51. package/dist/test/bridge-stdout.runner.d.ts.map +1 -0
  52. package/dist/test/bridge-stdout.runner.js +49 -0
  53. package/dist/test/bridge-stdout.runner.js.map +1 -0
  54. package/dist/test/data-frame-routing.unit.test.d.ts +5 -0
  55. package/dist/test/data-frame-routing.unit.test.d.ts.map +1 -0
  56. package/dist/test/data-frame-routing.unit.test.js +79 -0
  57. package/dist/test/data-frame-routing.unit.test.js.map +1 -0
  58. package/dist/test/mcp-stdout-channel.integration.test.js +9 -3
  59. package/dist/test/mcp-stdout-channel.integration.test.js.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/test/mcp-bridge.runner.d.ts +0 -5
  62. package/dist/test/mcp-bridge.runner.d.ts.map +0 -1
  63. package/dist/test/mcp-bridge.runner.js +0 -25
  64. package/dist/test/mcp-bridge.runner.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wire-mesh-transport.js","sourceRoot":"","sources":["../../src/core/wire-mesh-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire-mesh-transport.js","sourceRoot":"","sources":["../../src/core/wire-mesh-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Shared fixtures for the account ledger's replication integration tests (agent-comms#344): machines that hold one account key, each with its own user-identity.json and ledger store.
3
+ */
4
+ import type { KeyValueStorage } from "wire-mesh-core/ports/storage";
5
+ import { type RevocationView } from "wire-mesh-core/domain/revocation-view";
6
+ import { MeshStore } from "../core/mesh-store.js";
7
+ import type { WireMeshTransport } from "../core/wire-mesh-transport.js";
8
+ import type { AccountLedger } from "../core/account-ledger.js";
9
+ import type { TeardownStack } from "./hub-helpers.js";
10
+ /** Short enough that the ledger's announcement round, which rides the re-advertise cadence, fires many times within a test's wait budget. */
11
+ export declare const FAST_GOSSIP_INTERVAL_MS = 50;
12
+ /** A fresh throwaway directory for one machine's user-identity.json, removed by removeUserDirs. */
13
+ export declare function userDir(): string;
14
+ export declare function removeUserDirs(): void;
15
+ /** Gives `toDir` a copy of the account key in `fromDir` and nothing else, as a deliberate copy of the key to a second machine would. */
16
+ export declare function copyAccountKey(fromDir: string, toDir: string): void;
17
+ export interface Machine {
18
+ store: MeshStore;
19
+ transport: WireMeshTransport;
20
+ revocation: RevocationView;
21
+ /** Where anything another device offers this one outside its own account ledger is stored. */
22
+ dataStorage: KeyValueStorage;
23
+ }
24
+ /** Starts one machine on the local mesh at `coordinatorPort`, holding the account key in `userIdentityDir`, dialling `hubUrl` when given, and registers a visible agent so its adverts carry the membership proof by which another machine recognises it as holding the same account. */
25
+ export declare function startMachine(cleanups: TeardownStack, options: Readonly<{
26
+ coordinatorPort: number;
27
+ userIdentityDir: string;
28
+ name: string;
29
+ hubUrl?: string;
30
+ }>): Promise<Machine>;
31
+ /** Another handle on a machine's ledger store, the way a second bridge on that machine would open it. */
32
+ export declare function ledgerOn(dir: string): Promise<AccountLedger>;
33
+ /** The token ids (hex) of the dm grants the ledger holds outstanding for `bearer`. */
34
+ export declare function outstandingDm(ledger: AccountLedger, bearer: string): Promise<string[]>;
35
+ //# sourceMappingURL=account-ledger-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-ledger-helpers.d.ts","sourceRoot":"","sources":["../../src/test/account-ledger-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,6IAA6I;AAC7I,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C,mGAAmG;AACnG,wBAAgB,OAAO,IAAI,MAAM,CAIhC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,wIAAwI;AACxI,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBnE;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,8FAA8F;IAC9F,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,yRAAyR;AACzR,wBAAsB,YAAY,CAChC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,QAAQ,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,GACD,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,yGAAyG;AACzG,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAMlE;AAED,sFAAsF;AACtF,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Shared fixtures for the account ledger's replication integration tests (agent-comms#344): machines that hold one account key, each with its own user-identity.json and ledger store.
3
+ */
4
+ import * as fs from "node:fs";
5
+ import * as path from "node:path";
6
+ import { tmpdir } from "node:os";
7
+ import { createMemoryStorage } from "wire-mesh-core/adapters/memory-storage";
8
+ import { createSystemClock } from "wire-mesh-core/adapters/system-clock";
9
+ import { createRevocationView, } from "wire-mesh-core/domain/revocation-view";
10
+ import { MeshStore } from "../core/mesh-store.js";
11
+ import { openAccountLedger } from "../core/account-ledger-store.js";
12
+ import { loadOrCreateUserIdentity } from "../core/user-identity.js";
13
+ import { wireTestTransportWithHub } from "./test-transport.js";
14
+ /** Short enough that the ledger's announcement round, which rides the re-advertise cadence, fires many times within a test's wait budget. */
15
+ export const FAST_GOSSIP_INTERVAL_MS = 50;
16
+ const dirs = [];
17
+ /** A fresh throwaway directory for one machine's user-identity.json, removed by removeUserDirs. */
18
+ export function userDir() {
19
+ const dir = fs.mkdtempSync(path.join(tmpdir(), "ledger-replication-user-"));
20
+ dirs.push(dir);
21
+ return dir;
22
+ }
23
+ export function removeUserDirs() {
24
+ for (const dir of dirs.splice(0)) {
25
+ fs.rmSync(dir, { recursive: true, force: true });
26
+ }
27
+ }
28
+ /** Gives `toDir` a copy of the account key in `fromDir` and nothing else, as a deliberate copy of the key to a second machine would. */
29
+ export function copyAccountKey(fromDir, toDir) {
30
+ const parsed = JSON.parse(fs.readFileSync(path.join(fromDir, "user-identity.json"), "utf-8"));
31
+ if (typeof parsed !== "object" ||
32
+ parsed === null ||
33
+ !("privateKey" in parsed) ||
34
+ !("certificate" in parsed) ||
35
+ !("expiresAt" in parsed)) {
36
+ throw new Error("user-identity.json has no key material");
37
+ }
38
+ const { privateKey, certificate, expiresAt } = parsed;
39
+ fs.writeFileSync(path.join(toDir, "user-identity.json"), JSON.stringify({ privateKey, certificate, expiresAt }), { mode: 0o600 });
40
+ }
41
+ /** Starts one machine on the local mesh at `coordinatorPort`, holding the account key in `userIdentityDir`, dialling `hubUrl` when given, and registers a visible agent so its adverts carry the membership proof by which another machine recognises it as holding the same account. */
42
+ export async function startMachine(cleanups, options) {
43
+ const { coordinatorPort, userIdentityDir, name, hubUrl } = options;
44
+ const store = new MeshStore({
45
+ coordinatorPort,
46
+ ...(hubUrl === undefined ? {} : { hubUrl }),
47
+ });
48
+ const revocation = createRevocationView();
49
+ const dataStorage = createMemoryStorage();
50
+ const { transport } = await wireTestTransportWithHub(store, {
51
+ presenceReadvertiseIntervalMs: FAST_GOSSIP_INTERVAL_MS,
52
+ userIdentityOptions: { dir: userIdentityDir },
53
+ revocation,
54
+ dataStorage,
55
+ });
56
+ await store.init();
57
+ cleanups.push(async () => store.shutdown());
58
+ await store.registerAgent({
59
+ name,
60
+ harness: "test",
61
+ cwd: `/test/${name}`,
62
+ pid: process.pid,
63
+ visibility: "visible",
64
+ tags: [],
65
+ });
66
+ return { store, transport, revocation, dataStorage };
67
+ }
68
+ /** Another handle on a machine's ledger store, the way a second bridge on that machine would open it. */
69
+ export async function ledgerOn(dir) {
70
+ return openAccountLedger({
71
+ userIdentityOptions: { dir },
72
+ userIdentity: loadOrCreateUserIdentity({ dir }),
73
+ clock: createSystemClock(),
74
+ });
75
+ }
76
+ /** The token ids (hex) of the dm grants the ledger holds outstanding for `bearer`. */
77
+ export async function outstandingDm(ledger, bearer) {
78
+ const grants = await ledger.outstandingGrants("dm", bearer);
79
+ return grants.map((grant) => Buffer.from(grant.tokenId).toString("hex"));
80
+ }
81
+ //# sourceMappingURL=account-ledger-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-ledger-helpers.js","sourceRoot":"","sources":["../../src/test/account-ledger-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Integration test for the account's replicated grant ledger between machines that meet only through the relay hub (agent-comms#358): two machines holding the same account key, on separate local meshes with no direct connection, sharing a real relay hub (createRelayHub served over local WebSockets). A grant minted on one reaches the other through a relay pairing sealed end to end, and the other can then revoke it.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=account-ledger-hub-replication.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-ledger-hub-replication.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/account-ledger-hub-replication.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Integration test for the account's replicated grant ledger between machines that meet only through the relay hub (agent-comms#358): two machines holding the same account key, on separate local meshes with no direct connection, sharing a real relay hub (createRelayHub served over local WebSockets). A grant minted on one reaches the other through a relay pairing sealed end to end, and the other can then revoke it.
3
+ */
4
+ import { afterEach, describe, expect, it } from "vitest";
5
+ import { deviceIdToHex } from "wire-mesh-core/domain/device-id";
6
+ import { generateIdentity } from "../core/identity.js";
7
+ import { loadOrCreateUserIdentity } from "../core/user-identity.js";
8
+ import { freeLocalPort, realHubOverWs, TeardownStack } from "./hub-helpers.js";
9
+ import { waitFor } from "./test-transport.js";
10
+ import { FAST_GOSSIP_INTERVAL_MS, copyAccountKey, ledgerOn, outstandingDm, removeUserDirs, startMachine, userDir, } from "./account-ledger-helpers.js";
11
+ /** How many announcement rounds a test lets pass before concluding that a log was never offered. */
12
+ const ANNOUNCEMENT_ROUNDS_TO_WAIT = 20;
13
+ const cleanups = new TeardownStack();
14
+ afterEach(async () => {
15
+ await cleanups.run();
16
+ removeUserDirs();
17
+ });
18
+ describe("account ledger replication through the relay hub", () => {
19
+ it("revokes on a machine met only through the hub a DM grant minted on the other", async () => {
20
+ const hub = await realHubOverWs();
21
+ cleanups.push(hub.close);
22
+ const dirA = userDir();
23
+ const dirB = userDir();
24
+ loadOrCreateUserIdentity({ dir: dirA });
25
+ copyAccountKey(dirA, dirB);
26
+ const a = await startMachine(cleanups, {
27
+ coordinatorPort: await freeLocalPort(),
28
+ userIdentityDir: dirA,
29
+ name: "machine-a",
30
+ hubUrl: hub.url,
31
+ });
32
+ const b = await startMachine(cleanups, {
33
+ coordinatorPort: await freeLocalPort(),
34
+ userIdentityDir: dirB,
35
+ name: "machine-b",
36
+ hubUrl: hub.url,
37
+ });
38
+ const principal = a.store.getUserPrincipalId();
39
+ if (principal === undefined)
40
+ throw new Error("expected an account");
41
+ expect(b.store.getUserPrincipalId()).toBe(principal);
42
+ // Each machine trusts the account's principal, which is what lets the hub admit the other's devices.
43
+ a.store.addTrustedGatewayPrincipal(principal);
44
+ b.store.addTrustedGatewayPrincipal(principal);
45
+ // Nothing connects them directly: anything one learns of the other came through the hub.
46
+ expect(a.store.coordinatorPort).not.toBe(b.store.coordinatorPort);
47
+ const bearer = deviceIdToHex(Uint8Array.from(generateIdentity().deviceId));
48
+ await a.store.admitAgentForDm(bearer);
49
+ const ledgerA = await ledgerOn(dirA);
50
+ const ledgerB = await ledgerOn(dirB);
51
+ const [minted] = await outstandingDm(ledgerA, bearer);
52
+ if (minted === undefined)
53
+ throw new Error("expected A to record its grant");
54
+ await waitFor(async () => (await outstandingDm(ledgerB, bearer)).includes(minted), "B's ledger to hold the grant A minted, through the hub");
55
+ // The gossiped revocation-announce never leaves B, so A can only learn of the revocation from B's writer log, over the same pairing.
56
+ b.transport.broadcastRevocation = async () => { };
57
+ await b.store.revokeAgentDmAccess(bearer);
58
+ expect(await outstandingDm(ledgerB, bearer)).toEqual([]);
59
+ await waitFor(async () => (await outstandingDm(ledgerA, bearer)).length === 0, "A's ledger to learn B's revocation, through the hub");
60
+ expect(await ledgerA.revocations()).toHaveLength(1);
61
+ });
62
+ it("never offers the ledger to a device of another account that is on the same hub", async () => {
63
+ const hub = await realHubOverWs();
64
+ cleanups.push(hub.close);
65
+ const dirA = userDir();
66
+ const dirOther = userDir();
67
+ loadOrCreateUserIdentity({ dir: dirA });
68
+ const a = await startMachine(cleanups, {
69
+ coordinatorPort: await freeLocalPort(),
70
+ userIdentityDir: dirA,
71
+ name: "machine-a",
72
+ hubUrl: hub.url,
73
+ });
74
+ const other = await startMachine(cleanups, {
75
+ coordinatorPort: await freeLocalPort(),
76
+ userIdentityDir: dirOther,
77
+ name: "other-account",
78
+ hubUrl: hub.url,
79
+ });
80
+ const otherPrincipal = other.store.getUserPrincipalId();
81
+ const principal = a.store.getUserPrincipalId();
82
+ if (otherPrincipal === undefined || principal === undefined) {
83
+ throw new Error("expected both machines to hold an account");
84
+ }
85
+ // Both sides trust each other as devices, so the other account is reachable through the hub and the only thing keeping the ledger from it is that it is not an account peer.
86
+ a.store.addTrustedGatewayPrincipal(otherPrincipal);
87
+ other.store.addTrustedGatewayPrincipal(principal);
88
+ await waitFor(async () => (await a.store.listAgents(a.store.peerId)).some((agent) => agent.id === other.store.peerId), "A to see the other account's device through the hub");
89
+ await a.store.admitAgentForDm(deviceIdToHex(Uint8Array.from(generateIdentity().deviceId)));
90
+ const [writerLog] = await (await ledgerOn(dirA)).announcements();
91
+ if (writerLog === undefined)
92
+ throw new Error("expected A's writer log");
93
+ // Many announcement rounds pass in this time, so a device that was offered the log would have asked for and stored it by now.
94
+ await new Promise((resolve) => {
95
+ setTimeout(resolve, ANNOUNCEMENT_ROUNDS_TO_WAIT * FAST_GOSSIP_INTERVAL_MS);
96
+ });
97
+ expect(await other.dataStorage.keys(`data/${deviceIdToHex(writerLog.peer)}/`)).toEqual([]);
98
+ });
99
+ });
100
+ //# sourceMappingURL=account-ledger-hub-replication.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-ledger-hub-replication.integration.test.js","sourceRoot":"","sources":["../../src/test/account-ledger-hub-replication.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,82 +1,20 @@
1
1
  /**
2
2
  * Integration tests for the account's replicated grant ledger over a real mesh (agent-comms#344): two machines holding the same account key, each with its own user-identity.json and ledger store, connected directly. A grant minted on one reaches the other by data-domain fan-out, and the other can then revoke it, which a machine-local ledger could never do.
3
3
  */
4
- import * as fs from "node:fs";
5
- import * as path from "node:path";
6
- import { tmpdir } from "node:os";
7
4
  import { afterEach, describe, expect, it } from "vitest";
8
- import { createMemoryStorage } from "wire-mesh-core/adapters/memory-storage";
9
- import { createSystemClock } from "wire-mesh-core/adapters/system-clock";
10
- import { createRevocationView, } from "wire-mesh-core/domain/revocation-view";
11
- import { MeshStore } from "../core/mesh-store.js";
12
- import { openAccountLedger } from "../core/account-ledger-store.js";
13
5
  import { generateIdentity } from "../core/identity.js";
14
6
  import { loadOrCreateUserIdentity } from "../core/user-identity.js";
15
7
  import { deviceIdToHex } from "wire-mesh-core/domain/device-id";
16
8
  import { freeLocalPort, TeardownStack } from "./hub-helpers.js";
17
- import { waitFor, wireTestTransportWithHub } from "./test-transport.js";
18
- /** Short enough that the ledger's announcement round, which rides the re-advertise cadence, fires many times within a test's wait budget. */
19
- const FAST_GOSSIP_INTERVAL_MS = 50;
9
+ import { waitFor } from "./test-transport.js";
10
+ import { copyAccountKey, ledgerOn, outstandingDm, removeUserDirs, startMachine, userDir, } from "./account-ledger-helpers.js";
20
11
  const cleanups = new TeardownStack();
21
- const dirs = [];
22
12
  afterEach(async () => {
23
13
  await cleanups.run();
24
- for (const dir of dirs.splice(0)) {
25
- fs.rmSync(dir, { recursive: true, force: true });
26
- }
14
+ removeUserDirs();
27
15
  });
28
- function userDir() {
29
- const dir = fs.mkdtempSync(path.join(tmpdir(), "ledger-replication-user-"));
30
- dirs.push(dir);
31
- return dir;
32
- }
33
- /** Gives `toDir` a copy of the account key in `fromDir` and nothing else, as a deliberate copy of the key to a second machine would. */
34
- function copyAccountKey(fromDir, toDir) {
35
- const parsed = JSON.parse(fs.readFileSync(path.join(fromDir, "user-identity.json"), "utf-8"));
36
- if (typeof parsed !== "object" ||
37
- parsed === null ||
38
- !("privateKey" in parsed) ||
39
- !("certificate" in parsed) ||
40
- !("expiresAt" in parsed)) {
41
- throw new Error("user-identity.json has no key material");
42
- }
43
- const { privateKey, certificate, expiresAt } = parsed;
44
- fs.writeFileSync(path.join(toDir, "user-identity.json"), JSON.stringify({ privateKey, certificate, expiresAt }), { mode: 0o600 });
45
- }
46
16
  async function machine(coordinatorPort, userIdentityDir, name) {
47
- const store = new MeshStore({ coordinatorPort });
48
- const revocation = createRevocationView();
49
- const dataStorage = createMemoryStorage();
50
- const { transport } = await wireTestTransportWithHub(store, {
51
- presenceReadvertiseIntervalMs: FAST_GOSSIP_INTERVAL_MS,
52
- userIdentityOptions: { dir: userIdentityDir },
53
- revocation,
54
- dataStorage,
55
- });
56
- await store.init();
57
- cleanups.push(async () => store.shutdown());
58
- // A visible agent's advert carries its device's membership proof, which is how the other machine recognises it as holding the same account and offers it the ledger.
59
- await store.registerAgent({
60
- name,
61
- harness: "test",
62
- cwd: `/test/${name}`,
63
- pid: process.pid,
64
- visibility: "visible",
65
- tags: [],
66
- });
67
- return { store, transport, revocation, dataStorage };
68
- }
69
- /** Another handle on a machine's ledger store, the way a second bridge on that machine would open it. */
70
- async function ledgerOn(dir) {
71
- return openAccountLedger({
72
- userIdentityOptions: { dir },
73
- userIdentity: loadOrCreateUserIdentity({ dir }),
74
- clock: createSystemClock(),
75
- });
76
- }
77
- async function outstandingDm(ledger, bearer) {
78
- const grants = await ledger.outstandingGrants("dm", bearer);
79
- return grants.map((grant) => Buffer.from(grant.tokenId).toString("hex"));
17
+ return startMachine(cleanups, { coordinatorPort, userIdentityDir, name });
80
18
  }
81
19
  describe("account ledger replication", () => {
82
20
  it("revokes on a second machine a DM grant minted on the first", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"account-ledger-replication.integration.test.js","sourceRoot":"","sources":["../../src/test/account-ledger-replication.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-ledger-replication.integration.test.js","sourceRoot":"","sources":["../../src/test/account-ledger-replication.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Child-process entry for mcp-stdout-channel.integration.test.ts: starts one of the real bridge entry points against an isolated mesh, with its ports, hub and identity directory taken from a JSON argument, so the test can own the process's stdin and read its stdout and stderr. The entry is named by the argument: the MCP bridge's own run(), the claude-code bridge's run(), or the command line's dispatch of a bare `agent-comms`.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=bridge-stdout.runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-stdout.runner.d.ts","sourceRoot":"","sources":["../../src/test/bridge-stdout.runner.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Child-process entry for mcp-stdout-channel.integration.test.ts: starts one of the real bridge entry points against an isolated mesh, with its ports, hub and identity directory taken from a JSON argument, so the test can own the process's stdin and read its stdout and stderr. The entry is named by the argument: the MCP bridge's own run(), the claude-code bridge's run(), or the command line's dispatch of a bare `agent-comms`.
3
+ */
4
+ import { z } from "zod";
5
+ import { run as runClaudeCode } from "../bridges/claude-code/channel.js";
6
+ import { run as runMcp } from "../bridges/mcp/server.js";
7
+ import { main } from "../cli-main.js";
8
+ const argumentSchema = z.object({
9
+ entry: z.enum(["mcp", "claude-code", "bare-command"]),
10
+ coordinatorPort: z.number(),
11
+ firstContactPort: z.number(),
12
+ hubUrl: z.string(),
13
+ slotDir: z.string(),
14
+ });
15
+ const raw = process.argv[2];
16
+ if (raw === undefined) {
17
+ throw new Error("expected a JSON argument");
18
+ }
19
+ const args = argumentSchema.parse(JSON.parse(raw));
20
+ const mesh = {
21
+ coordinatorPort: args.coordinatorPort,
22
+ firstContactPort: args.firstContactPort,
23
+ hubUrl: args.hubUrl,
24
+ };
25
+ switch (args.entry) {
26
+ case "mcp":
27
+ await runMcp({
28
+ mesh,
29
+ slot: { harness: "mcp", cwd: process.cwd(), dir: args.slotDir },
30
+ });
31
+ break;
32
+ case "claude-code":
33
+ await runClaudeCode({
34
+ mesh,
35
+ slot: { harness: "claude-code", cwd: process.cwd(), dir: args.slotDir },
36
+ });
37
+ break;
38
+ case "bare-command":
39
+ main({
40
+ args: [],
41
+ stdinIsTerminal: process.stdin.isTTY,
42
+ bridge: {
43
+ mesh,
44
+ slot: { harness: "mcp", cwd: process.cwd(), dir: args.slotDir },
45
+ },
46
+ });
47
+ break;
48
+ }
49
+ //# sourceMappingURL=bridge-stdout.runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-stdout.runner.js","sourceRoot":"","sources":["../../src/test/bridge-stdout.runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACrD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;IACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC;AACD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnD,MAAM,IAAI,GAAG;IACX,eAAe,EAAE,IAAI,CAAC,eAAe;IACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;IACvC,MAAM,EAAE,IAAI,CAAC,MAAM;CACpB,CAAC;AAEF,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,KAAK,KAAK;QACR,MAAM,MAAM,CAAC;YACX,IAAI;YACJ,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;SAChE,CAAC,CAAC;QACH,MAAM;IACR,KAAK,aAAa;QAChB,MAAM,aAAa,CAAC;YAClB,IAAI;YACJ,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;SACxE,CAAC,CAAC;QACH,MAAM;IACR,KAAK,cAAc;QACjB,IAAI,CAAC;YACH,IAAI,EAAE,EAAE;YACR,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YACpC,MAAM,EAAE;gBACN,IAAI;gBACJ,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;aAChE;SACF,CAAC,CAAC;QACH,MAAM;AACV,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * routeRelayedDataFrame's gates (agent-comms#358): a core/data frame that arrived through a relay pairing is acted on only when it names one of the account's writer logs and its authenticated sender holds the same account.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=data-frame-routing.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-frame-routing.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/data-frame-routing.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}