agent-comms 8.10.2 → 8.12.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 (65) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/LICENSE +21 -0
  4. package/README.md +4 -2
  5. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  6. package/dist/bridges/user/web/dist/sw.js +1 -1
  7. package/dist/core/account-join.d.ts +5 -0
  8. package/dist/core/account-join.d.ts.map +1 -1
  9. package/dist/core/account-join.js +3 -3
  10. package/dist/core/account-join.js.map +1 -1
  11. package/dist/core/agent-details.d.ts +67 -0
  12. package/dist/core/agent-details.d.ts.map +1 -0
  13. package/dist/core/agent-details.js +163 -0
  14. package/dist/core/agent-details.js.map +1 -0
  15. package/dist/core/agent-list-format.d.ts +22 -0
  16. package/dist/core/agent-list-format.d.ts.map +1 -0
  17. package/dist/core/agent-list-format.js +54 -0
  18. package/dist/core/agent-list-format.js.map +1 -0
  19. package/dist/core/first-contact.d.ts +7 -0
  20. package/dist/core/first-contact.d.ts.map +1 -1
  21. package/dist/core/first-contact.js +14 -0
  22. package/dist/core/first-contact.js.map +1 -1
  23. package/dist/core/lan-web-actions.d.ts +8 -0
  24. package/dist/core/lan-web-actions.d.ts.map +1 -0
  25. package/dist/core/lan-web-actions.js +23 -0
  26. package/dist/core/lan-web-actions.js.map +1 -0
  27. package/dist/core/lan-web-uis.d.ts +27 -0
  28. package/dist/core/lan-web-uis.d.ts.map +1 -0
  29. package/dist/core/lan-web-uis.js +40 -0
  30. package/dist/core/lan-web-uis.js.map +1 -0
  31. package/dist/core/mesh-store.d.ts +14 -10
  32. package/dist/core/mesh-store.d.ts.map +1 -1
  33. package/dist/core/mesh-store.js +24 -25
  34. package/dist/core/mesh-store.js.map +1 -1
  35. package/dist/core/peer-lifecycle.d.ts +6 -0
  36. package/dist/core/peer-lifecycle.d.ts.map +1 -1
  37. package/dist/core/peer-lifecycle.js +1 -0
  38. package/dist/core/peer-lifecycle.js.map +1 -1
  39. package/dist/core/tool.d.ts +8 -0
  40. package/dist/core/tool.d.ts.map +1 -1
  41. package/dist/core/tool.js +10 -42
  42. package/dist/core/tool.js.map +1 -1
  43. package/dist/core/types.d.ts +4 -0
  44. package/dist/core/types.d.ts.map +1 -1
  45. package/dist/core/types.js +1 -0
  46. package/dist/core/types.js.map +1 -1
  47. package/dist/core/web-beacon.d.ts +14 -0
  48. package/dist/core/web-beacon.d.ts.map +1 -0
  49. package/dist/core/web-beacon.js +22 -0
  50. package/dist/core/web-beacon.js.map +1 -0
  51. package/dist/test/agent-details-refresh.unit.test.d.ts +5 -0
  52. package/dist/test/agent-details-refresh.unit.test.d.ts.map +1 -0
  53. package/dist/test/agent-details-refresh.unit.test.js +108 -0
  54. package/dist/test/agent-details-refresh.unit.test.js.map +1 -0
  55. package/dist/test/agent-details.unit.test.d.ts +5 -0
  56. package/dist/test/agent-details.unit.test.d.ts.map +1 -0
  57. package/dist/test/agent-details.unit.test.js +86 -0
  58. package/dist/test/agent-details.unit.test.js.map +1 -0
  59. package/dist/test/first-contact.unit.test.js +39 -0
  60. package/dist/test/first-contact.unit.test.js.map +1 -1
  61. package/dist/test/lan-web-uis.unit.test.d.ts +5 -0
  62. package/dist/test/lan-web-uis.unit.test.d.ts.map +1 -0
  63. package/dist/test/lan-web-uis.unit.test.js +72 -0
  64. package/dist/test/lan-web-uis.unit.test.js.map +1 -0
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The LAN web UI beacon's own type and payload (agent-comms#346, receiving side agent-comms#353): the one datagram shape both the sender (bridges/user/web/web-beacon.ts) and every listener on the first-contact port agree on, kept in core so first-contact can recognise it without depending on a bridge.
3
+ */
4
+ /** The beacon type, distinct from first-contact's own `agent-comms-beacon`. */
5
+ export declare const WEB_BEACON_TYPE = "agent-comms-web-beacon";
6
+ /** What a beacon carries: the broadcasting bridge's peer id and the port its web UI listens on, and nothing else. The receiver learns the host from the datagram's source address, and the access token is never advertised, so seeing the beacon grants no access. */
7
+ export interface WebBeaconPayload {
8
+ type: typeof WEB_BEACON_TYPE;
9
+ peerId: string;
10
+ webPort: number;
11
+ }
12
+ /** Narrows an untrusted datagram body into a WebBeaconPayload. */
13
+ export declare function isWebBeaconPayload(value: unknown): value is Readonly<WebBeaconPayload>;
14
+ //# sourceMappingURL=web-beacon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-beacon.d.ts","sourceRoot":"","sources":["../../src/core/web-beacon.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,uQAAuQ;AACvQ,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,eAAe,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAUrC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The LAN web UI beacon's own type and payload (agent-comms#346, receiving side agent-comms#353): the one datagram shape both the sender (bridges/user/web/web-beacon.ts) and every listener on the first-contact port agree on, kept in core so first-contact can recognise it without depending on a bridge.
3
+ */
4
+ /** The beacon type, distinct from first-contact's own `agent-comms-beacon`. */
5
+ export const WEB_BEACON_TYPE = "agent-comms-web-beacon";
6
+ /** The exclusive upper bound of the UDP port space: a port is a 16-bit integer. */
7
+ const MAX_UDP_PORT = 0x10000;
8
+ /** Narrows an untrusted datagram body into a WebBeaconPayload. */
9
+ export function isWebBeaconPayload(value) {
10
+ if (typeof value !== "object" || value === null)
11
+ return false;
12
+ if (!("type" in value) || value.type !== WEB_BEACON_TYPE)
13
+ return false;
14
+ if (!("peerId" in value) || typeof value.peerId !== "string")
15
+ return false;
16
+ if (!("webPort" in value) || typeof value.webPort !== "number")
17
+ return false;
18
+ return (Number.isInteger(value.webPort) &&
19
+ value.webPort > 0 &&
20
+ value.webPort < MAX_UDP_PORT);
21
+ }
22
+ //# sourceMappingURL=web-beacon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-beacon.js","sourceRoot":"","sources":["../../src/core/web-beacon.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AASxD,mFAAmF;AACnF,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAChC,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC7E,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,KAAK,CAAC,OAAO,GAAG,CAAC;QACjB,KAAK,CAAC,OAAO,GAAG,YAAY,CAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The exchange's refresh loop (agent-comms#323): which listed agents it asks, what it caches, and what it leaves alone, against a fake transport standing in for the send.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=agent-details-refresh.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-details-refresh.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/agent-details-refresh.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The exchange's refresh loop (agent-comms#323): which listed agents it asks, what it caches, and what it leaves alone, against a fake transport standing in for the send.
3
+ */
4
+ import { describe, expect, it } from "vitest";
5
+ import { AgentDetailsExchange } from "../core/agent-details.js";
6
+ const SELF = "self";
7
+ const TRUSTED_REMOTE = "trusted-remote";
8
+ const UNTRUSTED_REMOTE = "untrusted-remote";
9
+ /** Long enough for the fake transport's promise chain to settle between the check points. */
10
+ const SETTLE_MS = 20;
11
+ /** Long enough for one 250ms retry to have happened. */
12
+ const RETRY_SETTLE_MS = 400;
13
+ async function settle(ms) {
14
+ await new Promise((resolve) => {
15
+ setTimeout(resolve, ms);
16
+ });
17
+ }
18
+ function agentOf(id, cwd) {
19
+ return {
20
+ id,
21
+ version: 1,
22
+ name: id,
23
+ harness: "test",
24
+ cwd,
25
+ pid: process.pid,
26
+ startedAt: new Date().toISOString(),
27
+ visibility: "visible",
28
+ status: "active",
29
+ tags: [],
30
+ subscribedRooms: [],
31
+ };
32
+ }
33
+ /** Records every send and answers each with a canned outcome, defaulting to a plain ok carrying the target's own details. */
34
+ function fakeTransport(outcomes = {}) {
35
+ const sentTo = [];
36
+ return {
37
+ sentTo,
38
+ transport: {
39
+ sendRoomRequest: async (peerId) => {
40
+ sentTo.push(peerId);
41
+ return (outcomes[peerId] ?? {
42
+ result: "ok",
43
+ cwd: `/fetched/${peerId}`,
44
+ tags: [],
45
+ rooms: [],
46
+ });
47
+ },
48
+ },
49
+ };
50
+ }
51
+ function exchangeOf(transport, trusted = [TRUSTED_REMOTE]) {
52
+ return new AgentDetailsExchange({
53
+ selfAgent: () => agentOf(SELF, "/test/self"),
54
+ hostedRooms: () => [],
55
+ isTrusted: (deviceHex) => trusted.includes(deviceHex),
56
+ requireTransport: () => transport,
57
+ });
58
+ }
59
+ describe("AgentDetailsExchange.refresh", () => {
60
+ it("asks a trusted remote agent whose details a hub session withholds, and caches the answer", async () => {
61
+ const { sentTo, transport } = fakeTransport();
62
+ const exchange = exchangeOf(transport);
63
+ exchange.refresh([agentOf(TRUSTED_REMOTE, "")], SELF);
64
+ await settle(SETTLE_MS);
65
+ expect(sentTo).toEqual([TRUSTED_REMOTE]);
66
+ expect(exchange.cached(TRUSTED_REMOTE)?.cwd).toBe(`/fetched/${TRUSTED_REMOTE}`);
67
+ });
68
+ it("never asks for itself, for an untrusted remote, or for an agent whose details are already shared", async () => {
69
+ const { sentTo, transport } = fakeTransport();
70
+ const exchange = exchangeOf(transport);
71
+ exchange.refresh([
72
+ agentOf(SELF, ""),
73
+ agentOf(UNTRUSTED_REMOTE, ""),
74
+ agentOf(TRUSTED_REMOTE, "/already/shared"),
75
+ ], SELF);
76
+ await settle(SETTLE_MS);
77
+ expect(sentTo).toEqual([]);
78
+ expect(exchange.cached(SELF)).toBeUndefined();
79
+ expect(exchange.cached(UNTRUSTED_REMOTE)).toBeUndefined();
80
+ expect(exchange.cached(TRUSTED_REMOTE)).toBeUndefined();
81
+ });
82
+ it("caches nothing for a refusal and retries a transient no-route within the window", async () => {
83
+ let attempts = 0;
84
+ const transport = {
85
+ sendRoomRequest: async () => {
86
+ attempts += 1;
87
+ return attempts === 1
88
+ ? { result: "error", code: "no_route" }
89
+ : { result: "error", code: "untrusted_requester" };
90
+ },
91
+ };
92
+ const exchange = exchangeOf(transport);
93
+ exchange.refresh([agentOf(TRUSTED_REMOTE, "")], SELF);
94
+ await settle(RETRY_SETTLE_MS);
95
+ expect(attempts).toBe(2);
96
+ expect(exchange.cached(TRUSTED_REMOTE)).toBeUndefined();
97
+ });
98
+ it("drops a cached entry once its agent leaves the listing", async () => {
99
+ const { transport } = fakeTransport();
100
+ const exchange = exchangeOf(transport);
101
+ exchange.refresh([agentOf(TRUSTED_REMOTE, "")], SELF);
102
+ await settle(SETTLE_MS);
103
+ expect(exchange.cached(TRUSTED_REMOTE)).toBeDefined();
104
+ exchange.refresh([], SELF);
105
+ expect(exchange.cached(TRUSTED_REMOTE)).toBeUndefined();
106
+ });
107
+ });
108
+ //# sourceMappingURL=agent-details-refresh.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-details-refresh.unit.test.js","sourceRoot":"","sources":["../../src/test/agent-details-refresh.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The agent-comms/agent-details verb and its cache (agent-comms#323): a trusted peer asking over a relay pairing gets the details a hub session withholds, and anyone else is refused.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=agent-details.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-details.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/agent-details.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * The agent-comms/agent-details verb and its cache (agent-comms#323): a trusted peer asking over a relay pairing gets the details a hub session withholds, and anyone else is refused.
3
+ */
4
+ import { describe, expect, it } from "vitest";
5
+ import { AGENT_DETAILS_VERB, AgentDetailsCache, agentDetailsVerbHandler, parseAgentDetails, } from "../core/agent-details.js";
6
+ const TRUSTED_PEER = "aa"; // deviceIdToHex of a one-byte DeviceId, for fromDevice
7
+ const UNTRUSTED_PEER = "bb";
8
+ function deviceOf(hex) {
9
+ return new Uint8Array(hex.match(/../g)?.map((b) => Number.parseInt(b, 16)) ?? []);
10
+ }
11
+ const DETAILS = {
12
+ cwd: "/test/machine-b",
13
+ tags: ["nightly"],
14
+ rooms: [{ path: "b-room", name: "B Room", description: "where B works" }],
15
+ };
16
+ function handlerDeps(overrides = {}) {
17
+ return {
18
+ details: () => DETAILS,
19
+ isTrusted: (deviceHex) => deviceHex === TRUSTED_PEER,
20
+ ...overrides,
21
+ };
22
+ }
23
+ function requestFrom(peerHex) {
24
+ const scope = { kind: "node" };
25
+ return {
26
+ requestId: 1,
27
+ command: { verb: "agent:details", params: { verb: AGENT_DETAILS_VERB } },
28
+ scope,
29
+ ...(peerHex === undefined ? {} : { fromDevice: deviceOf(peerHex) }),
30
+ respond: async () => undefined,
31
+ };
32
+ }
33
+ /** The handle a direct session's dispatch carries: the connection's own authenticated peer. */
34
+ const TRUSTED_HANDLE = { id: TRUSTED_PEER };
35
+ const UNTRUSTED_HANDLE = { id: UNTRUSTED_PEER };
36
+ describe("agentDetailsVerbHandler", () => {
37
+ it("answers a trusted requester with the cwd, tags and hosted rooms", async () => {
38
+ const handler = agentDetailsVerbHandler(handlerDeps());
39
+ const outcome = await handler(requestFrom(TRUSTED_PEER), TRUSTED_HANDLE);
40
+ expect(outcome).toEqual({ result: "ok", ...DETAILS });
41
+ });
42
+ it("refuses a requester this machine does not trust", async () => {
43
+ const handler = agentDetailsVerbHandler(handlerDeps());
44
+ const outcome = await handler(requestFrom(UNTRUSTED_PEER), UNTRUSTED_HANDLE);
45
+ expect(outcome).toEqual({ result: "error", code: "untrusted_requester" });
46
+ });
47
+ it("answers a direct session whose authenticated peer this machine trusts", async () => {
48
+ const handler = agentDetailsVerbHandler(handlerDeps());
49
+ const outcome = await handler(requestFrom(undefined), TRUSTED_HANDLE);
50
+ expect(outcome).toEqual({ result: "ok", ...DETAILS });
51
+ });
52
+ it("refuses a direct session whose peer this machine does not trust", async () => {
53
+ const handler = agentDetailsVerbHandler(handlerDeps());
54
+ const outcome = await handler(requestFrom(undefined), UNTRUSTED_HANDLE);
55
+ expect(outcome).toEqual({ result: "error", code: "untrusted_requester" });
56
+ });
57
+ it("answers no_agent while this bridge has no registered agent", async () => {
58
+ const handler = agentDetailsVerbHandler(handlerDeps({ details: () => undefined }));
59
+ const outcome = await handler(requestFrom(TRUSTED_PEER), TRUSTED_HANDLE);
60
+ expect(outcome).toEqual({ result: "error", code: "no_agent" });
61
+ });
62
+ });
63
+ describe("parseAgentDetails", () => {
64
+ it("parses an ok outcome with every field present", () => {
65
+ expect(parseAgentDetails({
66
+ result: "ok",
67
+ ...DETAILS,
68
+ rooms: [...DETAILS.rooms],
69
+ })).toEqual(DETAILS);
70
+ });
71
+ it("refuses an error outcome and a malformed ok", () => {
72
+ expect(parseAgentDetails({ result: "error", code: "x" })).toBeUndefined();
73
+ expect(parseAgentDetails({ result: "ok", cwd: "/x", tags: "nope", rooms: [] })).toBeUndefined();
74
+ });
75
+ });
76
+ describe("AgentDetailsCache", () => {
77
+ it("drops entries whose agent the last listing did not include", () => {
78
+ const cache = new AgentDetailsCache();
79
+ cache.set("gone", DETAILS);
80
+ cache.set("kept", DETAILS);
81
+ cache.retain(new Set(["kept"]));
82
+ expect(cache.get("gone")).toBeUndefined();
83
+ expect(cache.get("kept")).toBeDefined();
84
+ });
85
+ });
86
+ //# sourceMappingURL=agent-details.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-details.unit.test.js","sourceRoot":"","sources":["../../src/test/agent-details.unit.test.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,26 @@ async function startedPresence(onError) {
93
93
  presence.start();
94
94
  return { presence, port, discovered };
95
95
  }
96
+ /** A presence that also records every web beacon it hears (agent-comms#353), each with the sender's address. */
97
+ async function startedPresenceHearingWebBeacons() {
98
+ const port = await freeLocalPort();
99
+ const discovered = [];
100
+ const webBeacons = [];
101
+ const presence = new FirstContact({
102
+ peerId: PEER_ID_A,
103
+ dataPort: DATA_PORT_A,
104
+ name: "test-a",
105
+ port,
106
+ onPeerDiscovered: (peer) => {
107
+ discovered.push({ ...peer });
108
+ },
109
+ onWebBeacon: (beacon) => {
110
+ webBeacons.push({ ...beacon });
111
+ },
112
+ });
113
+ presence.start();
114
+ return { presence, port, discovered, webBeacons };
115
+ }
96
116
  describe("FirstContact", () => {
97
117
  it("answers a probe at once with a beacon on the group, naming its own peerId and data port", async () => {
98
118
  const { presence, port } = await startedPresence();
@@ -154,6 +174,25 @@ describe("FirstContact", () => {
154
174
  expect(errors).toEqual([]);
155
175
  presence.stop();
156
176
  });
177
+ it("hands a web beacon up with the sender's address, without treating it as a peer discovery or a probe to answer", async () => {
178
+ const { presence, port, discovered, webBeacons } = await startedPresenceHearingWebBeacons();
179
+ const other = await testSocket();
180
+ send(other, { type: "agent-comms-web-beacon", peerId: PEER_ID_B, webPort: 55213 }, port);
181
+ await settle();
182
+ expect(webBeacons).toEqual([
183
+ { peerId: PEER_ID_B, host: "127.0.0.1", webPort: 55213 },
184
+ ]);
185
+ expect(discovered).toEqual([]);
186
+ presence.stop();
187
+ });
188
+ it("drops its own web beacon reaching it back, by peerId", async () => {
189
+ const { presence, port, webBeacons } = await startedPresenceHearingWebBeacons();
190
+ const other = await testSocket();
191
+ send(other, { type: "agent-comms-web-beacon", peerId: PEER_ID_A, webPort: 55213 }, port);
192
+ await settle();
193
+ expect(webBeacons).toEqual([]);
194
+ presence.stop();
195
+ });
157
196
  it("stops answering probes after stop()", async () => {
158
197
  const { presence, port } = await startedPresence();
159
198
  presence.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"first-contact.unit.test.js","sourceRoot":"","sources":["../../src/test/first-contact.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"first-contact.unit.test.js","sourceRoot":"","sources":["../../src/test/first-contact.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * LanWebUis (agent-comms#353): the bounded, expiring table of LAN web UIs heard as web beacons, and the lan_web_uis action's formatting over it.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=lan-web-uis.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lan-web-uis.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/lan-web-uis.unit.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * LanWebUis (agent-comms#353): the bounded, expiring table of LAN web UIs heard as web beacons, and the lan_web_uis action's formatting over it.
3
+ */
4
+ import { describe, expect, it } from "vitest";
5
+ import { LanWebUis } from "../core/lan-web-uis.js";
6
+ import { lanWebUisAction } from "../core/lan-web-actions.js";
7
+ import { plainNamer } from "../core/naming.js";
8
+ import { FIRST_CONTACT_INTERVAL_MS } from "../core/first-contact.js";
9
+ /** Two web ports a beacon could announce, distinct from each other and from a restart's new port so every replacement is visible. */
10
+ const WEB_PORT_ONE = 55213;
11
+ const WEB_PORT_TWO = 55214;
12
+ const WEB_PORT_RESTARTED = 55299;
13
+ /** Tick spacing between two records, so a later record visibly refreshes heardAtMs. */
14
+ const TICKS_BETWEEN_RECORDS = 10_000;
15
+ /** The clock's starting tick; any value would do, fixed so heardAtMs is predictable. */
16
+ const CLOCK_START_MS = 1_000;
17
+ /** Enough missed beacon intervals that an entry must be stale: comfortably past the expiry the table derives from three. */
18
+ const STALE_MISSED_BEACONS = 10;
19
+ const STALE_AFTER_TICKS = STALE_MISSED_BEACONS * FIRST_CONTACT_INTERVAL_MS;
20
+ const PEER_B = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
21
+ const PEER_C = "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";
22
+ describe("LanWebUis", () => {
23
+ it("lists entries ordered by peer id", () => {
24
+ const table = new LanWebUis(() => CLOCK_START_MS);
25
+ table.record(PEER_C, "192.168.1.6", WEB_PORT_ONE);
26
+ table.record(PEER_B, "192.168.1.5", WEB_PORT_TWO);
27
+ expect(table.list().map((entry) => entry.peerId)).toEqual([PEER_B, PEER_C]);
28
+ });
29
+ it("replaces a peer's entry when its bridge restarts on a new port", () => {
30
+ let now = CLOCK_START_MS;
31
+ const table = new LanWebUis(() => now);
32
+ table.record(PEER_B, "192.168.1.5", WEB_PORT_ONE);
33
+ now += TICKS_BETWEEN_RECORDS;
34
+ table.record(PEER_B, "192.168.1.5", WEB_PORT_RESTARTED);
35
+ expect(table.list()).toEqual([
36
+ {
37
+ peerId: PEER_B,
38
+ host: "192.168.1.5",
39
+ webPort: WEB_PORT_RESTARTED,
40
+ heardAtMs: CLOCK_START_MS + TICKS_BETWEEN_RECORDS,
41
+ },
42
+ ]);
43
+ });
44
+ it("drops an entry once its bridge has missed a few beacon intervals", () => {
45
+ let now = CLOCK_START_MS;
46
+ const table = new LanWebUis(() => now);
47
+ table.record(PEER_B, "192.168.1.5", WEB_PORT_ONE);
48
+ table.record(PEER_C, "192.168.1.6", WEB_PORT_TWO);
49
+ // Peer B goes quiet while peer C keeps beaconing: only B's entry is stale.
50
+ now += STALE_AFTER_TICKS;
51
+ table.record(PEER_C, "192.168.1.6", WEB_PORT_TWO);
52
+ expect(table.list().map((entry) => entry.peerId)).toEqual([PEER_C]);
53
+ });
54
+ });
55
+ describe("lanWebUisAction", () => {
56
+ it("formats each entry as its URL beside the full peer id and its names", () => {
57
+ const table = new LanWebUis(() => CLOCK_START_MS);
58
+ table.record(PEER_B, "192.168.1.5", WEB_PORT_ONE);
59
+ const result = lanWebUisAction({ lanWebUis: table }, plainNamer);
60
+ expect(result.isError).toBe(false);
61
+ expect(result.content).toBe(`LAN web UIs:\nhttp://192.168.1.5:${WEB_PORT_ONE.toString()} ${PEER_B}`);
62
+ });
63
+ it("says what absence means rather than an empty list", () => {
64
+ const result = lanWebUisAction({ lanWebUis: new LanWebUis() }, plainNamer);
65
+ expect(result.content).toContain("No LAN web UIs heard");
66
+ });
67
+ it("answers not-mesh-backed when the store has no lanWebUis at all", () => {
68
+ const result = lanWebUisAction({}, plainNamer);
69
+ expect(result.content).toContain("requires a mesh-backed store");
70
+ });
71
+ });
72
+ //# sourceMappingURL=lan-web-uis.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lan-web-uis.unit.test.js","sourceRoot":"","sources":["../../src/test/lan-web-uis.unit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-comms",
3
3
  "description": "Cross-harness communication mesh for LLM agents — rooms, DMs, presence, and real-time push delivery over TCP",
4
- "version": "8.10.2",
4
+ "version": "8.12.0",
5
5
  "bin": {
6
6
  "agent-comms": "dist/cli.js"
7
7
  },