agent-comms 8.8.1 → 8.9.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +7 -1
- package/dist/core/election-sessions.d.ts +2 -0
- package/dist/core/election-sessions.d.ts.map +1 -1
- package/dist/core/election-sessions.js +4 -0
- package/dist/core/election-sessions.js.map +1 -1
- package/dist/core/gossip-directory.d.ts +3 -0
- package/dist/core/gossip-directory.d.ts.map +1 -1
- package/dist/core/gossip-directory.js +11 -2
- package/dist/core/gossip-directory.js.map +1 -1
- package/dist/core/gossip-extensions.d.ts +3 -0
- package/dist/core/gossip-extensions.d.ts.map +1 -1
- package/dist/core/gossip-extensions.js +17 -0
- package/dist/core/gossip-extensions.js.map +1 -1
- package/dist/core/hub-link.d.ts +13 -5
- package/dist/core/hub-link.d.ts.map +1 -1
- package/dist/core/hub-link.js +28 -6
- package/dist/core/hub-link.js.map +1 -1
- package/dist/core/hub-session.d.ts +11 -0
- package/dist/core/hub-session.d.ts.map +1 -1
- package/dist/core/hub-session.js +28 -1
- package/dist/core/hub-session.js.map +1 -1
- package/dist/core/mesh-store.d.ts +1 -1
- package/dist/core/mesh-store.d.ts.map +1 -1
- package/dist/core/mesh-store.js +4 -14
- package/dist/core/mesh-store.js.map +1 -1
- package/dist/core/relay-role.d.ts +61 -0
- package/dist/core/relay-role.d.ts.map +1 -0
- package/dist/core/relay-role.js +147 -0
- package/dist/core/relay-role.js.map +1 -0
- package/dist/core/relay-selection.d.ts +35 -0
- package/dist/core/relay-selection.d.ts.map +1 -0
- package/dist/core/relay-selection.js +80 -0
- package/dist/core/relay-selection.js.map +1 -0
- package/dist/core/relay-server.d.ts +48 -0
- package/dist/core/relay-server.d.ts.map +1 -0
- package/dist/core/relay-server.js +181 -0
- package/dist/core/relay-server.js.map +1 -0
- package/dist/core/relay-uplink.d.ts +22 -0
- package/dist/core/relay-uplink.d.ts.map +1 -0
- package/dist/core/relay-uplink.js +62 -0
- package/dist/core/relay-uplink.js.map +1 -0
- package/dist/core/transport.d.ts +4 -0
- package/dist/core/transport.d.ts.map +1 -1
- package/dist/core/wire-mesh-transport-options.d.ts +2 -0
- package/dist/core/wire-mesh-transport-options.d.ts.map +1 -1
- package/dist/core/wire-mesh-transport-options.js.map +1 -1
- package/dist/core/wire-mesh-transport.d.ts +3 -2
- package/dist/core/wire-mesh-transport.d.ts.map +1 -1
- package/dist/core/wire-mesh-transport.js +23 -20
- package/dist/core/wire-mesh-transport.js.map +1 -1
- package/dist/core/ws-dial.d.ts +3 -0
- package/dist/core/ws-dial.d.ts.map +1 -1
- package/dist/core/ws-dial.js +3 -2
- package/dist/core/ws-dial.js.map +1 -1
- package/dist/test/bridge-mesh-version-drift.integration.test.js +2 -9
- package/dist/test/bridge-mesh-version-drift.integration.test.js.map +1 -1
- package/dist/test/bridge-mesh.integration.test.js +3 -8
- package/dist/test/bridge-mesh.integration.test.js.map +1 -1
- package/dist/test/broadcast-window.integration.test.js +6 -5
- package/dist/test/broadcast-window.integration.test.js.map +1 -1
- package/dist/test/cc-peer-alias-reply-routing.integration.test.js +3 -7
- package/dist/test/cc-peer-alias-reply-routing.integration.test.js.map +1 -1
- package/dist/test/cc-peer-fronted-approval.integration.test.js +3 -7
- package/dist/test/cc-peer-fronted-approval.integration.test.js.map +1 -1
- package/dist/test/chat-controller-mesh-errors.integration.test.js +2 -7
- package/dist/test/chat-controller-mesh-errors.integration.test.js.map +1 -1
- package/dist/test/coordinator-failover-hub.integration.test.js +3 -7
- package/dist/test/coordinator-failover-hub.integration.test.js.map +1 -1
- package/dist/test/coordinator-failover.integration.test.js +6 -14
- package/dist/test/coordinator-failover.integration.test.js.map +1 -1
- package/dist/test/coordinator-socket-error.integration.test.js +4 -3
- package/dist/test/coordinator-socket-error.integration.test.js.map +1 -1
- package/dist/test/dm-admission.integration.test.js +4 -8
- package/dist/test/dm-admission.integration.test.js.map +1 -1
- package/dist/test/dm-delivery-status.integration.test.js +2 -7
- package/dist/test/dm-delivery-status.integration.test.js.map +1 -1
- package/dist/test/dm-first-contact.integration.test.js +4 -8
- package/dist/test/dm-first-contact.integration.test.js.map +1 -1
- package/dist/test/dm-grant-tool.integration.test.js +4 -8
- package/dist/test/dm-grant-tool.integration.test.js.map +1 -1
- package/dist/test/dm-send-capability-admission.integration.test.js +7 -11
- package/dist/test/dm-send-capability-admission.integration.test.js.map +1 -1
- package/dist/test/dm-send-principal-delegation.integration.test.js +2 -6
- package/dist/test/dm-send-principal-delegation.integration.test.js.map +1 -1
- package/dist/test/gateway-trust.integration.test.js +33 -14
- package/dist/test/gateway-trust.integration.test.js.map +1 -1
- package/dist/test/gossip-directory.unit.test.js +14 -0
- package/dist/test/gossip-directory.unit.test.js.map +1 -1
- package/dist/test/hub-exposure.integration.test.js +5 -7
- package/dist/test/hub-exposure.integration.test.js.map +1 -1
- package/dist/test/hub-link.unit.test.js +53 -7
- package/dist/test/hub-link.unit.test.js.map +1 -1
- package/dist/test/hub-peer-per-store.integration.test.js +9 -14
- package/dist/test/hub-peer-per-store.integration.test.js.map +1 -1
- package/dist/test/identity-restart.integration.test.js +7 -6
- package/dist/test/identity-restart.integration.test.js.map +1 -1
- package/dist/test/listener-policy.integration.test.js +12 -11
- package/dist/test/listener-policy.integration.test.js.map +1 -1
- package/dist/test/mesh-e2e.integration.test.js +6 -11
- package/dist/test/mesh-e2e.integration.test.js.map +1 -1
- package/dist/test/principal-membership-trust.integration.test.js +10 -15
- package/dist/test/principal-membership-trust.integration.test.js.map +1 -1
- package/dist/test/relay-role.integration.test.d.ts +5 -0
- package/dist/test/relay-role.integration.test.d.ts.map +1 -0
- package/dist/test/relay-role.integration.test.js +134 -0
- package/dist/test/relay-role.integration.test.js.map +1 -0
- package/dist/test/relay-selection.unit.test.d.ts +5 -0
- package/dist/test/relay-selection.unit.test.d.ts.map +1 -0
- package/dist/test/relay-selection.unit.test.js +103 -0
- package/dist/test/relay-selection.unit.test.js.map +1 -0
- package/dist/test/room-destroy-revocation.integration.test.js +2 -6
- package/dist/test/room-destroy-revocation.integration.test.js.map +1 -1
- package/dist/test/room-invite-directed.integration.test.js +3 -7
- package/dist/test/room-invite-directed.integration.test.js.map +1 -1
- package/dist/test/room-join-approval-timeout.integration.test.js +3 -7
- package/dist/test/room-join-approval-timeout.integration.test.js.map +1 -1
- package/dist/test/room-kick-revocation.integration.test.js +2 -6
- package/dist/test/room-kick-revocation.integration.test.js.map +1 -1
- package/dist/test/room-leave-revocation.integration.test.js +3 -7
- package/dist/test/room-leave-revocation.integration.test.js.map +1 -1
- package/dist/test/room-read-directed.integration.test.js +3 -7
- package/dist/test/room-read-directed.integration.test.js.map +1 -1
- package/dist/test/room-send-directed.integration.test.js +4 -8
- package/dist/test/room-send-directed.integration.test.js.map +1 -1
- package/dist/test/room-send-retry.integration.test.js +7 -6
- package/dist/test/room-send-retry.integration.test.js.map +1 -1
- package/dist/test/room-state-sync.integration.test.js +4 -8
- package/dist/test/room-state-sync.integration.test.js.map +1 -1
- package/dist/test/test-transport.d.ts.map +1 -1
- package/dist/test/test-transport.js +2 -0
- package/dist/test/test-transport.js.map +1 -1
- package/dist/test/visibility.integration.test.js +6 -6
- package/dist/test/visibility.integration.test.js.map +1 -1
- 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":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"identity-restart.integration.test.js","sourceRoot":"","sources":["../../src/test/identity-restart.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,13 @@ import { generateIdentity } from "../core/identity.js";
|
|
|
15
15
|
import { toIdentityPort } from "../core/wire-mesh-identity.js";
|
|
16
16
|
import { DOMAIN, FRAME_SCOPE, buildCommand, WireMeshTransport, } from "../core/wire-mesh-transport.js";
|
|
17
17
|
import { test, describe, expect } from "vitest";
|
|
18
|
+
import { freeLocalPort } from "./hub-helpers.js";
|
|
18
19
|
import { wireTestTransport } from "./test-transport.js";
|
|
19
|
-
const TEST_PORT = 19880;
|
|
20
20
|
const PARSED_ACTION_TEST_PORT = 9999;
|
|
21
21
|
describe("listener policy", () => {
|
|
22
22
|
test("coordinator starts with a single default localhost listener", async () => {
|
|
23
|
-
const
|
|
23
|
+
const port = await freeLocalPort();
|
|
24
|
+
const store = new MeshStore({ coordinatorPort: port });
|
|
24
25
|
await wireTestTransport(store);
|
|
25
26
|
try {
|
|
26
27
|
await store.init();
|
|
@@ -29,14 +30,14 @@ describe("listener policy", () => {
|
|
|
29
30
|
expect(listeners[0]?.policy, "Default listener should have full policy").toBe("full");
|
|
30
31
|
expect(listeners[0]?.isDefault, "Default listener should be marked as default").toBe(true);
|
|
31
32
|
expect(listeners[0]?.host, "Default listener should be on localhost").toBe("127.0.0.1");
|
|
32
|
-
expect(listeners[0]?.port, "Default listener should be on the coordinator port").toBe(
|
|
33
|
+
expect(listeners[0]?.port, "Default listener should be on the coordinator port").toBe(port);
|
|
33
34
|
}
|
|
34
35
|
finally {
|
|
35
36
|
await store.shutdown();
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
test("addListener creates an additional listener", async () => {
|
|
39
|
-
const store = new MeshStore({ coordinatorPort:
|
|
40
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
40
41
|
await wireTestTransport(store);
|
|
41
42
|
try {
|
|
42
43
|
await store.init();
|
|
@@ -57,7 +58,7 @@ describe("listener policy", () => {
|
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
test("removeListener removes a non-default listener", async () => {
|
|
60
|
-
const store = new MeshStore({ coordinatorPort:
|
|
61
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
61
62
|
await wireTestTransport(store);
|
|
62
63
|
try {
|
|
63
64
|
await store.init();
|
|
@@ -73,7 +74,7 @@ describe("listener policy", () => {
|
|
|
73
74
|
}
|
|
74
75
|
});
|
|
75
76
|
test("removeListener rejects removing the default listener", async () => {
|
|
76
|
-
const store = new MeshStore({ coordinatorPort:
|
|
77
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
77
78
|
await wireTestTransport(store);
|
|
78
79
|
try {
|
|
79
80
|
await store.init();
|
|
@@ -89,7 +90,7 @@ describe("listener policy", () => {
|
|
|
89
90
|
}
|
|
90
91
|
});
|
|
91
92
|
test("observe listener accepts connections but enforces policy", async () => {
|
|
92
|
-
const store = new MeshStore({ coordinatorPort:
|
|
93
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
93
94
|
await wireTestTransport(store);
|
|
94
95
|
try {
|
|
95
96
|
await store.init();
|
|
@@ -121,7 +122,7 @@ describe("listener policy", () => {
|
|
|
121
122
|
}
|
|
122
123
|
});
|
|
123
124
|
test("mesh_listeners action returns all listeners via CommsTool", async () => {
|
|
124
|
-
const store = new MeshStore({ coordinatorPort:
|
|
125
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
125
126
|
await wireTestTransport(store);
|
|
126
127
|
try {
|
|
127
128
|
await store.init();
|
|
@@ -145,7 +146,7 @@ describe("listener policy", () => {
|
|
|
145
146
|
}
|
|
146
147
|
});
|
|
147
148
|
test("mesh_interfaces action returns available network adapters", async () => {
|
|
148
|
-
const store = new MeshStore({ coordinatorPort:
|
|
149
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
149
150
|
await wireTestTransport(store);
|
|
150
151
|
try {
|
|
151
152
|
await store.init();
|
|
@@ -167,7 +168,7 @@ describe("listener policy", () => {
|
|
|
167
168
|
}
|
|
168
169
|
});
|
|
169
170
|
test("mesh_unlisten removes listener via CommsTool", async () => {
|
|
170
|
-
const store = new MeshStore({ coordinatorPort:
|
|
171
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
171
172
|
await wireTestTransport(store);
|
|
172
173
|
try {
|
|
173
174
|
await store.init();
|
|
@@ -192,7 +193,7 @@ describe("listener policy", () => {
|
|
|
192
193
|
}
|
|
193
194
|
});
|
|
194
195
|
test("mesh_listen adds listener via CommsTool", async () => {
|
|
195
|
-
const store = new MeshStore({ coordinatorPort:
|
|
196
|
+
const store = new MeshStore({ coordinatorPort: await freeLocalPort() });
|
|
196
197
|
await wireTestTransport(store);
|
|
197
198
|
try {
|
|
198
199
|
await store.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener-policy.integration.test.js","sourceRoot":"","sources":["../../src/test/listener-policy.integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listener-policy.integration.test.js","sourceRoot":"","sources":["../../src/test/listener-policy.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
* Spawns two MeshStore instances, verifies coordinator discovery,
|
|
5
5
|
* room creation, messaging, and delivery push.
|
|
6
6
|
*/
|
|
7
|
-
import { randomInt } from "node:crypto";
|
|
8
7
|
import { test, expect } from "vitest";
|
|
9
8
|
import { MeshStore } from "../core/mesh-store.js";
|
|
10
9
|
import { CommsTool } from "../core/tool.js";
|
|
11
10
|
import { buildAction } from "../core/bridge.js";
|
|
11
|
+
import { freeLocalPort } from "./hub-helpers.js";
|
|
12
12
|
import { waitFor, wireTestTransport } from "./test-transport.js";
|
|
13
|
-
/** Start of this file's own reserved port band -- kept clear of the fixed literals every sibling integration test file hardcodes (19878-19897) so a random pick here can never collide with one of those. */
|
|
14
|
-
const E2E_PORT_RANGE_START = 20_100;
|
|
15
|
-
/** Width of the reserved band -- wide enough that two concurrent runs of this exact file on the same machine picking the same port by chance is negligible. */
|
|
16
|
-
const E2E_PORT_RANGE_WIDTH = 900;
|
|
17
|
-
/** Randomised per process rather than a fixed literal: a hardcoded port here deterministically collides (EADDRINUSE) with any other concurrent vitest run of this same file on the same machine -- confirmed repeatedly under real concurrent load, not hypothetical. */
|
|
18
|
-
const E2E_PORT = E2E_PORT_RANGE_START + randomInt(E2E_PORT_RANGE_WIDTH);
|
|
19
13
|
// ---------------------------------------------------------------------------
|
|
20
14
|
// Timing constants — settle windows for asynchronous mesh propagation. There is no "operation complete" signal for these steps, so the test waits a fixed budget rather than polling.
|
|
21
15
|
// ---------------------------------------------------------------------------
|
|
@@ -31,8 +25,8 @@ const ROOM_CREATE_SETTLE_MS = 200;
|
|
|
31
25
|
const ROOM_JOIN_SETTLE_MS = 200;
|
|
32
26
|
/** Milliseconds to wait for a sent message (room message, DM, or tool-driven send) to be delivered. */
|
|
33
27
|
const MESSAGE_DELIVERY_SETTLE_MS = 300;
|
|
34
|
-
async function createStore(name, harness) {
|
|
35
|
-
const store = new MeshStore({ coordinatorPort
|
|
28
|
+
async function createStore(coordinatorPort, name, harness) {
|
|
29
|
+
const store = new MeshStore({ coordinatorPort });
|
|
36
30
|
await wireTestTransport(store);
|
|
37
31
|
const deliveries = [];
|
|
38
32
|
store.onDelivery = (_agentId, event) => {
|
|
@@ -52,11 +46,12 @@ async function createStore(name, harness) {
|
|
|
52
46
|
}
|
|
53
47
|
async function main() {
|
|
54
48
|
console.log("Creating peer A (coordinator)...");
|
|
55
|
-
const
|
|
49
|
+
const port = await freeLocalPort();
|
|
50
|
+
const a = await createStore(port, "peer-a", "test-a");
|
|
56
51
|
// Give coordinator time to bind
|
|
57
52
|
await sleep(COORDINATOR_BIND_SETTLE_MS);
|
|
58
53
|
console.log("Creating peer B (joins mesh)...");
|
|
59
|
-
const b = await createStore("peer-b", "test-b");
|
|
54
|
+
const b = await createStore(port, "peer-b", "test-b");
|
|
60
55
|
// Give peer B time to connect and sync
|
|
61
56
|
await sleep(PEER_SYNC_SETTLE_MS);
|
|
62
57
|
// --- Test: list agents ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-e2e.integration.test.js","sourceRoot":"","sources":["../../src/test/mesh-e2e.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mesh-e2e.integration.test.js","sourceRoot":"","sources":["../../src/test/mesh-e2e.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,8 @@ import { tmpdir } from "node:os";
|
|
|
7
7
|
import { afterEach, describe, expect, it } from "vitest";
|
|
8
8
|
import { MeshStore } from "../core/mesh-store.js";
|
|
9
9
|
import { dmRoomPath } from "../core/room-path.js";
|
|
10
|
-
import { realHubOverWs, TeardownStack } from "./hub-helpers.js";
|
|
10
|
+
import { freeLocalPort, realHubOverWs, TeardownStack } from "./hub-helpers.js";
|
|
11
11
|
import { wireTestTransport } from "./test-transport.js";
|
|
12
|
-
let nextPort = 26_400;
|
|
13
|
-
function freshPort() {
|
|
14
|
-
nextPort += 1;
|
|
15
|
-
return nextPort;
|
|
16
|
-
}
|
|
17
12
|
/** Short enough that a gossip re-advertisement fires within a test's own poll budget. */
|
|
18
13
|
const FAST_GOSSIP_INTERVAL_MS = 50;
|
|
19
14
|
const POLL_ATTEMPTS = 100;
|
|
@@ -78,11 +73,11 @@ describe("principal membership trust", () => {
|
|
|
78
73
|
const dirA = userDir();
|
|
79
74
|
const dirB = userDir();
|
|
80
75
|
// Machine A: two stores under the same account, each advertising itself on the hub, so each trusts b1's principal.
|
|
81
|
-
const a1 = await machineStore(hub.url,
|
|
76
|
+
const a1 = await machineStore(hub.url, await freeLocalPort(), dirA);
|
|
82
77
|
const a2 = await machineStore(hub.url, a1.coordinatorPort, dirA);
|
|
83
78
|
await register(a2, "a2-local-agent");
|
|
84
79
|
// Machine B: its own gateway and agent, a different account.
|
|
85
|
-
const b1 = await machineStore(hub.url,
|
|
80
|
+
const b1 = await machineStore(hub.url, await freeLocalPort(), dirB);
|
|
86
81
|
await register(b1, "b1-remote");
|
|
87
82
|
// Each side trusts only the other's principal. No device id is trusted anywhere.
|
|
88
83
|
a1.addTrustedGatewayPrincipal(principalOf(b1));
|
|
@@ -108,12 +103,12 @@ describe("principal membership trust", () => {
|
|
|
108
103
|
const dirA = userDir();
|
|
109
104
|
const dirB = userDir();
|
|
110
105
|
const dirStranger = userDir();
|
|
111
|
-
const a1 = await machineStore(hub.url,
|
|
106
|
+
const a1 = await machineStore(hub.url, await freeLocalPort(), dirA);
|
|
112
107
|
const a2 = await machineStore(hub.url, a1.coordinatorPort, dirA);
|
|
113
108
|
await register(a2, "a2-local-agent");
|
|
114
|
-
const b1 = await machineStore(hub.url,
|
|
109
|
+
const b1 = await machineStore(hub.url, await freeLocalPort(), dirB);
|
|
115
110
|
await register(b1, "b1-remote");
|
|
116
|
-
const stranger = await machineStore(hub.url,
|
|
111
|
+
const stranger = await machineStore(hub.url, await freeLocalPort(), dirStranger);
|
|
117
112
|
await register(stranger, "stranger");
|
|
118
113
|
a1.addTrustedGatewayPrincipal(principalOf(b1));
|
|
119
114
|
a2.addTrustedGatewayPrincipal(principalOf(b1));
|
|
@@ -133,10 +128,10 @@ describe("principal membership trust", () => {
|
|
|
133
128
|
cleanups.push(hub.close);
|
|
134
129
|
const dirA = userDir();
|
|
135
130
|
const dirB = userDir();
|
|
136
|
-
const a1 = await machineStore(hub.url,
|
|
131
|
+
const a1 = await machineStore(hub.url, await freeLocalPort(), dirA);
|
|
137
132
|
const a2 = await machineStore(hub.url, a1.coordinatorPort, dirA);
|
|
138
133
|
await register(a2, "a2-local-agent");
|
|
139
|
-
const b1 = await machineStore(hub.url,
|
|
134
|
+
const b1 = await machineStore(hub.url, await freeLocalPort(), dirB);
|
|
140
135
|
await register(b1, "b1-remote");
|
|
141
136
|
a1.addTrustedGatewayPrincipal(principalOf(b1));
|
|
142
137
|
a2.addTrustedGatewayPrincipal(principalOf(b1));
|
|
@@ -156,10 +151,10 @@ describe("principal membership trust", () => {
|
|
|
156
151
|
cleanups.push(hub.close);
|
|
157
152
|
const dirA = userDir();
|
|
158
153
|
const dirB = userDir();
|
|
159
|
-
const a1 = await machineStore(hub.url,
|
|
154
|
+
const a1 = await machineStore(hub.url, await freeLocalPort(), dirA);
|
|
160
155
|
const a2 = await machineStore(hub.url, a1.coordinatorPort, dirA);
|
|
161
156
|
await register(a2, "a2-local-agent");
|
|
162
|
-
const b1 = await machineStore(hub.url,
|
|
157
|
+
const b1 = await machineStore(hub.url, await freeLocalPort(), dirB);
|
|
163
158
|
await register(b1, "b1-remote");
|
|
164
159
|
a1.addTrustedGatewayPrincipal(principalOf(b1));
|
|
165
160
|
a2.addTrustedGatewayPrincipal(principalOf(b1));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principal-membership-trust.integration.test.js","sourceRoot":"","sources":["../../src/test/principal-membership-trust.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"principal-membership-trust.integration.test.js","sourceRoot":"","sources":["../../src/test/principal-membership-trust.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The relay role over real sockets (agent-comms#342): the store holding a machine's elected coordinator role serves a relay while it holds an uplink to the configured hub, offers it over gossip, and the machine's other stores hold their hub session over it instead of the public hub.
|
|
3
|
+
*/
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=relay-role.integration.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-role.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/relay-role.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The relay role over real sockets (agent-comms#342): the store holding a machine's elected coordinator role serves a relay while it holds an uplink to the configured hub, offers it over gossip, and the machine's other stores hold their hub session over it instead of the public hub.
|
|
3
|
+
*/
|
|
4
|
+
import { expect, test } from "vitest";
|
|
5
|
+
import { MeshStore } from "../core/mesh-store.js";
|
|
6
|
+
import { dmRoomPath } from "../core/room-path.js";
|
|
7
|
+
import { TeardownStack, freeLocalPort, realHubOverWs } from "./hub-helpers.js";
|
|
8
|
+
import { waitFor, wireTestTransportWithHub } from "./test-transport.js";
|
|
9
|
+
/** A remote device to trust, so each store has something to say to another machine and wants a hub session. */
|
|
10
|
+
/** A device-id is a hex-encoded SHA-256 digest: 32 bytes, 64 hex characters. */
|
|
11
|
+
const DEVICE_ID_HEX_LENGTH = 64;
|
|
12
|
+
const REMOTE_DEVICE_HEX = "f".repeat(DEVICE_ID_HEX_LENGTH);
|
|
13
|
+
/** Short enough that a gossip re-advertisement fires within a test's poll budget, unlike the production default. */
|
|
14
|
+
const FAST_GOSSIP_INTERVAL_MS = 50;
|
|
15
|
+
async function startNode(name, options, teardown) {
|
|
16
|
+
const store = new MeshStore(options);
|
|
17
|
+
const { transport } = await wireTestTransportWithHub(store, {
|
|
18
|
+
presenceReadvertiseIntervalMs: FAST_GOSSIP_INTERVAL_MS,
|
|
19
|
+
});
|
|
20
|
+
teardown.push(async () => {
|
|
21
|
+
await store.shutdown().catch(() => undefined);
|
|
22
|
+
});
|
|
23
|
+
await store.init();
|
|
24
|
+
await store.registerAgent({
|
|
25
|
+
name,
|
|
26
|
+
harness: "test",
|
|
27
|
+
cwd: `/test/${name}`,
|
|
28
|
+
pid: process.pid,
|
|
29
|
+
visibility: "visible",
|
|
30
|
+
tags: [],
|
|
31
|
+
});
|
|
32
|
+
return { store, transport };
|
|
33
|
+
}
|
|
34
|
+
test("the machine's elected coordinator serves a relay once it holds an uplink, and the machine's other store holds its hub session over that relay", async () => {
|
|
35
|
+
const teardown = new TeardownStack();
|
|
36
|
+
try {
|
|
37
|
+
const hub = await realHubOverWs();
|
|
38
|
+
teardown.push(hub.close);
|
|
39
|
+
const coordinatorPort = await freeLocalPort();
|
|
40
|
+
const options = { coordinatorPort, hubUrl: hub.url };
|
|
41
|
+
const first = await startNode("first", options, teardown);
|
|
42
|
+
const second = await startNode("second", options, teardown);
|
|
43
|
+
// Something to say to another machine is what makes a store want a hub session at all.
|
|
44
|
+
first.store.addTrustedGateway(REMOTE_DEVICE_HEX);
|
|
45
|
+
second.store.addTrustedGateway(REMOTE_DEVICE_HEX);
|
|
46
|
+
await waitFor(() => first.transport.relay.servedConnectionCount() === 1, "the second store moved its hub session onto the first store's relay");
|
|
47
|
+
expect(first.store.holdsCoordinatorRole).toBe(true);
|
|
48
|
+
expect(first.transport.relay.offer()).toEqual([
|
|
49
|
+
expect.stringMatching(/^ws:\/\/127\.0\.0\.1:\d+\/$/),
|
|
50
|
+
]);
|
|
51
|
+
expect(second.transport.relay.offer()).toBeUndefined();
|
|
52
|
+
expect(second.transport.hub.isConnected).toBe(true);
|
|
53
|
+
await waitFor(() => hub.connectionCount() === 1, "only the relay's own uplink is left on the public hub");
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
await teardown.run();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
test("a store falls back to the public hub when the relay it used goes away, and serves the relay itself once it holds the coordinator role", async () => {
|
|
60
|
+
const teardown = new TeardownStack();
|
|
61
|
+
try {
|
|
62
|
+
const hub = await realHubOverWs();
|
|
63
|
+
teardown.push(hub.close);
|
|
64
|
+
const coordinatorPort = await freeLocalPort();
|
|
65
|
+
const options = { coordinatorPort, hubUrl: hub.url };
|
|
66
|
+
const first = await startNode("first", options, teardown);
|
|
67
|
+
const second = await startNode("second", options, teardown);
|
|
68
|
+
first.store.addTrustedGateway(REMOTE_DEVICE_HEX);
|
|
69
|
+
second.store.addTrustedGateway(REMOTE_DEVICE_HEX);
|
|
70
|
+
await waitFor(() => first.transport.relay.servedConnectionCount() === 1, "the second store is on the first store's relay");
|
|
71
|
+
await first.store.shutdown();
|
|
72
|
+
await waitFor(() => second.store.holdsCoordinatorRole &&
|
|
73
|
+
second.transport.relay.offer() !== undefined, "the survivor took the coordinator role and serves the relay");
|
|
74
|
+
await waitFor(() => hub.connectionCount() === 1 && second.transport.hub.isConnected, "the survivor holds the uplink to the public hub");
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
await teardown.run();
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
test("a store behind the relay and a device on the public hub reach each other through the relay's uplink, each seen under its own device-id", async () => {
|
|
81
|
+
const teardown = new TeardownStack();
|
|
82
|
+
try {
|
|
83
|
+
const hub = await realHubOverWs();
|
|
84
|
+
teardown.push(hub.close);
|
|
85
|
+
const machineA = {
|
|
86
|
+
coordinatorPort: await freeLocalPort(),
|
|
87
|
+
hubUrl: hub.url,
|
|
88
|
+
};
|
|
89
|
+
const machineB = {
|
|
90
|
+
coordinatorPort: await freeLocalPort(),
|
|
91
|
+
hubUrl: hub.url,
|
|
92
|
+
};
|
|
93
|
+
const relayHolder = await startNode("a1", machineA, teardown);
|
|
94
|
+
const behindRelay = await startNode("a2", machineA, teardown);
|
|
95
|
+
const remote = await startNode("b1", machineB, teardown);
|
|
96
|
+
for (const local of [relayHolder, behindRelay]) {
|
|
97
|
+
local.store.addTrustedGateway(remote.store.peerId);
|
|
98
|
+
remote.store.addTrustedGateway(local.store.peerId);
|
|
99
|
+
}
|
|
100
|
+
await waitFor(() => relayHolder.transport.relay.servedConnectionCount() === 1, "the second store of the machine is a client of the first store's relay");
|
|
101
|
+
await waitFor(() => relayHolder.transport.relay.routableClientCount() === 1, "the relay can route to the store behind it");
|
|
102
|
+
await waitFor(() => hub.connectionCount() === 2, "the public hub holds the relay's uplink and the remote device, and not the store behind the relay");
|
|
103
|
+
await waitFor(async () => {
|
|
104
|
+
const agents = await remote.store.listAgents(remote.store.peerId);
|
|
105
|
+
return agents.some((agent) => agent.id === behindRelay.store.peerId);
|
|
106
|
+
}, "the remote device learned of the store behind the relay under its own device-id");
|
|
107
|
+
await waitFor(async () => {
|
|
108
|
+
const agents = await behindRelay.store.listAgents(behindRelay.store.peerId);
|
|
109
|
+
return agents.some((agent) => agent.id === remote.store.peerId);
|
|
110
|
+
}, "the store behind the relay learned of the remote device under its own device-id");
|
|
111
|
+
const dmPath = dmRoomPath(behindRelay.store.peerId, remote.store.peerId);
|
|
112
|
+
const request = behindRelay.store.requestDmAccess(remote.store.peerId);
|
|
113
|
+
await waitFor(() => remote.store.listPendingRoomJoins().length === 1, "the remote device saw the request from the store behind the relay");
|
|
114
|
+
expect(remote.store.listPendingRoomJoins()[0]?.requesterId).toBe(behindRelay.store.peerId);
|
|
115
|
+
remote.store.acceptRoomJoin(dmPath, behindRelay.store.peerId);
|
|
116
|
+
await request;
|
|
117
|
+
const outbound = await behindRelay.store.sendDm(behindRelay.store.peerId, remote.store.peerId, "from behind the relay");
|
|
118
|
+
await waitFor(() => (remote.store.serialise().dms[dmPath] ?? []).some((message) => message.id === outbound.message.id), "the remote device received the message sent from behind the relay");
|
|
119
|
+
expect((remote.store.serialise().dms[dmPath] ?? []).find((message) => message.id === outbound.message.id)).toMatchObject({
|
|
120
|
+
from: behindRelay.store.peerId,
|
|
121
|
+
to: remote.store.peerId,
|
|
122
|
+
});
|
|
123
|
+
const inbound = await remote.store.sendDm(remote.store.peerId, behindRelay.store.peerId, "from the public hub");
|
|
124
|
+
await waitFor(() => (behindRelay.store.serialise().dms[dmPath] ?? []).some((message) => message.id === inbound.message.id), "the store behind the relay received the message sent from the public hub");
|
|
125
|
+
expect((behindRelay.store.serialise().dms[dmPath] ?? []).find((message) => message.id === inbound.message.id)).toMatchObject({
|
|
126
|
+
from: remote.store.peerId,
|
|
127
|
+
to: behindRelay.store.peerId,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
finally {
|
|
131
|
+
await teardown.run();
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
//# sourceMappingURL=relay-role.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-role.integration.test.js","sourceRoot":"","sources":["../../src/test/relay-role.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAExE,+GAA+G;AAC/G,gFAAgF;AAChF,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE3D,oHAAoH;AACpH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAOnC,KAAK,UAAU,SAAS,CACtB,IAAY,EACZ,OAA8D,EAC9D,QAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE;QAC1D,6BAA6B,EAAE,uBAAuB;KACvD,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,KAAK,CAAC,aAAa,CAAC;QACxB,IAAI;QACJ,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,SAAS,IAAI,EAAE;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,IAAI,CAAC,+IAA+I,EAAE,KAAK,IAAI,EAAE;IAC/J,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,eAAe,GAAG,MAAM,aAAa,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,uFAAuF;QACvF,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAElD,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,EACzD,qEAAqE,CACtE,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;YAC5C,MAAM,CAAC,cAAc,CAAC,6BAA6B,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,EACjC,uDAAuD,CACxD,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uIAAuI,EAAE,KAAK,IAAI,EAAE;IACvJ,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,eAAe,GAAG,MAAM,aAAa,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,EACzD,gDAAgD,CACjD,CAAC;QAEF,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAE7B,MAAM,OAAO,CACX,GAAG,EAAE,CACH,MAAM,CAAC,KAAK,CAAC,oBAAoB;YACjC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,SAAS,EAC9C,6DAA6D,CAC9D,CAAC;QACF,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EACrE,iDAAiD,CAClD,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wIAAwI,EAAE,KAAK,IAAI,EAAE;IACxJ,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG;YACf,eAAe,EAAE,MAAM,aAAa,EAAE;YACtC,MAAM,EAAE,GAAG,CAAC,GAAG;SAChB,CAAC;QACF,MAAM,QAAQ,GAAG;YACf,eAAe,EAAE,MAAM,aAAa,EAAE;YACtC,MAAM,EAAE,GAAG,CAAC,GAAG;SAChB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAC/D,wEAAwE,CACzE,CAAC;QACF,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAC7D,4CAA4C,CAC7C,CAAC;QACF,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,EACjC,mGAAmG,CACpG,CAAC;QAEF,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,EAAE,iFAAiF,CAAC,CAAC;QACtF,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,CAC/C,WAAW,CAAC,KAAK,CAAC,MAAM,CACzB,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC,EAAE,iFAAiF,CAAC,CAAC;QAEtF,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,OAAO,CACX,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,MAAM,KAAK,CAAC,EACtD,mEAAmE,CACpE,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAC9D,WAAW,CAAC,KAAK,CAAC,MAAM,CACzB,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC;QAEd,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,CAC7C,WAAW,CAAC,KAAK,CAAC,MAAM,EACxB,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,uBAAuB,CACxB,CAAC;QACF,MAAM,OAAO,CACX,GAAG,EAAE,CACH,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,CAChD,EACH,mEAAmE,CACpE,CAAC;QACF,MAAM,CACJ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAE,CAChD,CACF,CAAC,aAAa,CAAC;YACd,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;YAC9B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CACvC,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,WAAW,CAAC,KAAK,CAAC,MAAM,EACxB,qBAAqB,CACtB,CAAC;QACF,MAAM,OAAO,CACX,GAAG,EAAE,CACH,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACpD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAC/C,EACH,0EAA0E,CAC3E,CAAC;QACF,MAAM,CACJ,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACpD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAC/C,CACF,CAAC,aAAa,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YACzB,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;SAC7B,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The relay selection policy (agent-comms#342): a relay on this machine, then one on the local network, then any trusted relay-offering device, then the configured public hub, with deny-by-default trust for every offer not from a machine-local peer.
|
|
3
|
+
*/
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=relay-selection.unit.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-selection.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/relay-selection.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|