agent-comms 8.8.0 → 8.9.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.
- 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/gossip-directory.unit.test.js +14 -0
- package/dist/test/gossip-directory.unit.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/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/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/package.json +2 -2
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { selectRelay } from "../core/relay-selection.js";
|
|
6
|
+
const DEVICE_ID_HEX_LENGTH = 64;
|
|
7
|
+
const PUBLIC_HUB = "wss://mesh.example.com/";
|
|
8
|
+
const OWN = "0".repeat(DEVICE_ID_HEX_LENGTH);
|
|
9
|
+
const MACHINE_PEER = "1".repeat(DEVICE_ID_HEX_LENGTH);
|
|
10
|
+
const LAN_PEER = "2".repeat(DEVICE_ID_HEX_LENGTH);
|
|
11
|
+
const REMOTE_PEER = "3".repeat(DEVICE_ID_HEX_LENGTH);
|
|
12
|
+
const STRANGER = "4".repeat(DEVICE_ID_HEX_LENGTH);
|
|
13
|
+
const machineOffer = {
|
|
14
|
+
deviceHex: MACHINE_PEER,
|
|
15
|
+
addresses: ["ws://127.0.0.1:4100/", "ws://192.168.1.10:4100/"],
|
|
16
|
+
machineLocal: true,
|
|
17
|
+
};
|
|
18
|
+
const lanOffer = {
|
|
19
|
+
deviceHex: LAN_PEER,
|
|
20
|
+
addresses: ["ws://127.0.0.1:4200/", "ws://10.0.0.7:4200/"],
|
|
21
|
+
machineLocal: false,
|
|
22
|
+
};
|
|
23
|
+
const remoteOffer = {
|
|
24
|
+
deviceHex: REMOTE_PEER,
|
|
25
|
+
addresses: ["wss://relay.example.net/"],
|
|
26
|
+
machineLocal: false,
|
|
27
|
+
};
|
|
28
|
+
function select(offers, trusted = [LAN_PEER, REMOTE_PEER]) {
|
|
29
|
+
return selectRelay({
|
|
30
|
+
offers,
|
|
31
|
+
isTrusted: (hex) => trusted.includes(hex),
|
|
32
|
+
ownDeviceHex: OWN,
|
|
33
|
+
publicHubUrl: PUBLIC_HUB,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
describe("selectRelay", () => {
|
|
37
|
+
it("prefers a relay on this machine, over its loopback address", () => {
|
|
38
|
+
expect(select([remoteOffer, lanOffer, machineOffer])).toEqual({
|
|
39
|
+
url: "ws://127.0.0.1:4100/",
|
|
40
|
+
tier: "machine",
|
|
41
|
+
deviceHex: MACHINE_PEER,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
it("falls to a trusted relay on the local network next, over its private address", () => {
|
|
45
|
+
expect(select([remoteOffer, lanOffer])).toEqual({
|
|
46
|
+
url: "ws://10.0.0.7:4200/",
|
|
47
|
+
tier: "lan",
|
|
48
|
+
deviceHex: LAN_PEER,
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
it("falls to any trusted relay-offering device next", () => {
|
|
52
|
+
expect(select([remoteOffer])).toEqual({
|
|
53
|
+
url: "wss://relay.example.net/",
|
|
54
|
+
tier: "trusted",
|
|
55
|
+
deviceHex: REMOTE_PEER,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
it("falls back to the configured public hub when no offer qualifies", () => {
|
|
59
|
+
expect(select([])).toEqual({ url: PUBLIC_HUB, tier: "public" });
|
|
60
|
+
});
|
|
61
|
+
it("never uses an offer from an untrusted device, however well placed", () => {
|
|
62
|
+
const strangerOffer = {
|
|
63
|
+
deviceHex: STRANGER,
|
|
64
|
+
addresses: ["ws://192.168.1.99:4300/", "wss://stranger.example.org/"],
|
|
65
|
+
machineLocal: false,
|
|
66
|
+
};
|
|
67
|
+
expect(select([strangerOffer, remoteOffer])).toEqual({
|
|
68
|
+
url: "wss://relay.example.net/",
|
|
69
|
+
tier: "trusted",
|
|
70
|
+
deviceHex: REMOTE_PEER,
|
|
71
|
+
});
|
|
72
|
+
expect(select([strangerOffer])).toEqual({
|
|
73
|
+
url: PUBLIC_HUB,
|
|
74
|
+
tier: "public",
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
it("never reaches a device learned through a hub over a loopback address, which would only reach this machine", () => {
|
|
78
|
+
const loopbackOnly = {
|
|
79
|
+
deviceHex: REMOTE_PEER,
|
|
80
|
+
addresses: ["ws://127.0.0.1:4400/"],
|
|
81
|
+
machineLocal: false,
|
|
82
|
+
};
|
|
83
|
+
expect(select([loopbackOnly])).toEqual({ url: PUBLIC_HUB, tier: "public" });
|
|
84
|
+
});
|
|
85
|
+
it("never relays through this store's own offer", () => {
|
|
86
|
+
expect(select([{ ...machineOffer, deviceHex: OWN }])).toEqual({
|
|
87
|
+
url: PUBLIC_HUB,
|
|
88
|
+
tier: "public",
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
it("ignores an address that is not a ws:// or wss:// URL", () => {
|
|
92
|
+
expect(select([{ ...remoteOffer, addresses: ["tcp://relay.example.net:9"] }])).toEqual({ url: PUBLIC_HUB, tier: "public" });
|
|
93
|
+
});
|
|
94
|
+
it("breaks a tie within a tier by lowest device-id, so every store hearing the same offers chooses alike", () => {
|
|
95
|
+
const otherLan = {
|
|
96
|
+
deviceHex: "1".repeat(DEVICE_ID_HEX_LENGTH),
|
|
97
|
+
addresses: ["ws://192.168.5.5:4500/"],
|
|
98
|
+
machineLocal: false,
|
|
99
|
+
};
|
|
100
|
+
expect(select([lanOffer, otherLan], [LAN_PEER, otherLan.deviceHex]).deviceHex).toBe(otherLan.deviceHex);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=relay-selection.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-selection.unit.test.js","sourceRoot":"","sources":["../../src/test/relay-selection.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-transport.d.ts","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"AAAA,icAAic;AAKjc,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,msCAAmsC;AACnsC,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAC1C,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,6BAA6B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,mBAAmB,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAChE,kKAAkK;IAClK,sBAAsB,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IACtE,4aAA4a;IAC5a,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,GAAG,SAAS,CAAC;IAC9E,6HAA6H;IAC7H,UAAU,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,kLAAkL;IAClL,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC1C,yGAAyG;IACzG,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"test-transport.d.ts","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"AAAA,icAAic;AAKjc,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAKvD,msCAAmsC;AACnsC,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IAC1C,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,6BAA6B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,mBAAmB,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAChE,kKAAkK;IAClK,sBAAsB,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IACtE,4aAA4a;IAC5a,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,GAAG,SAAS,CAAC;IAC9E,6HAA6H;IAC7H,UAAU,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,kLAAkL;IAClL,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC1C,yGAAyG;IACzG,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;AAmFD,msCAAmsC;AACnsC,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED,qcAAqc;AACrc,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAE/D;AAMD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,SAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,qKAAqK;AACrK,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAM,GACjD,eAAe,CAiBjB"}
|
|
@@ -50,6 +50,8 @@ async function wireTransportInternal(store, options) {
|
|
|
50
50
|
isAccountMember: async (claim) => store.membership.isAccountMember(claim),
|
|
51
51
|
},
|
|
52
52
|
gatewayTrust: store.gatewayTrust,
|
|
53
|
+
// A store that comes to serve the relay role (agent-comms#342) serves loopback only, so a test never opens a listener on the local network.
|
|
54
|
+
relayListenHost: "127.0.0.1",
|
|
53
55
|
});
|
|
54
56
|
store.setTransport(transport);
|
|
55
57
|
store.setIdentity({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-transport.js","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test-transport.js","sourceRoot":"","sources":["../../src/test/test-transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-comms",
|
|
3
3
|
"description": "Cross-harness communication mesh for LLM agents — rooms, DMs, presence, and real-time push delivery over TCP",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.9.0",
|
|
5
5
|
"bin": {
|
|
6
6
|
"agent-comms": "dist/cli.js"
|
|
7
7
|
},
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"react-dom": "19.3.0",
|
|
24
24
|
"typebox": "1.3.6",
|
|
25
25
|
"web-ui-primitives": "1.1.1",
|
|
26
|
-
"wire-mesh-core": "3.
|
|
26
|
+
"wire-mesh-core": "3.10.0",
|
|
27
27
|
"ws": "8.21.1",
|
|
28
28
|
"zod": "4.4.3"
|
|
29
29
|
},
|