agent-comms 2.27.0 → 2.29.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 (43) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +1 -1
  4. package/dist/core/agent-registry.d.ts +6 -0
  5. package/dist/core/agent-registry.d.ts.map +1 -1
  6. package/dist/core/agent-registry.js +59 -0
  7. package/dist/core/agent-registry.js.map +1 -1
  8. package/dist/core/bridge-mesh.d.ts.map +1 -1
  9. package/dist/core/bridge-mesh.js +1 -1
  10. package/dist/core/bridge-mesh.js.map +1 -1
  11. package/dist/core/delivery-engine.d.ts +3 -0
  12. package/dist/core/delivery-engine.d.ts.map +1 -1
  13. package/dist/core/delivery-engine.js +17 -1
  14. package/dist/core/delivery-engine.js.map +1 -1
  15. package/dist/core/mesh-store.d.ts +3 -1
  16. package/dist/core/mesh-store.d.ts.map +1 -1
  17. package/dist/core/mesh-store.js +16 -0
  18. package/dist/core/mesh-store.js.map +1 -1
  19. package/dist/core/room-protocol.d.ts +4 -0
  20. package/dist/core/room-protocol.d.ts.map +1 -1
  21. package/dist/core/room-protocol.js +40 -1
  22. package/dist/core/room-protocol.js.map +1 -1
  23. package/dist/core/wire-mesh-transport.d.ts +13 -1
  24. package/dist/core/wire-mesh-transport.d.ts.map +1 -1
  25. package/dist/core/wire-mesh-transport.js +12 -2
  26. package/dist/core/wire-mesh-transport.js.map +1 -1
  27. package/dist/test/agent-registry.test.js +68 -0
  28. package/dist/test/agent-registry.test.js.map +1 -1
  29. package/dist/test/agent-self-gossip.integration.test.d.ts +5 -0
  30. package/dist/test/agent-self-gossip.integration.test.d.ts.map +1 -0
  31. package/dist/test/agent-self-gossip.integration.test.js +96 -0
  32. package/dist/test/agent-self-gossip.integration.test.js.map +1 -0
  33. package/dist/test/delivery-engine-delivery.test.js +0 -23
  34. package/dist/test/delivery-engine-delivery.test.js.map +1 -1
  35. package/dist/test/delivery-engine-directed-notify.test.d.ts +2 -0
  36. package/dist/test/delivery-engine-directed-notify.test.d.ts.map +1 -0
  37. package/dist/test/delivery-engine-directed-notify.test.js +170 -0
  38. package/dist/test/delivery-engine-directed-notify.test.js.map +1 -0
  39. package/dist/test/room-protocol-notify.test.d.ts +2 -0
  40. package/dist/test/room-protocol-notify.test.d.ts.map +1 -0
  41. package/dist/test/room-protocol-notify.test.js +178 -0
  42. package/dist/test/room-protocol-notify.test.js.map +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,96 @@
1
+ /**
2
+ * WireMeshTransport's periodic gossip tick also carries this side's own agent-identity self-advert (a `agent/self` extension on peer-advert's own open tail, the same convention presence/status and room/hosted already established), so a peer's `listKnownDevices()` can read another device's agent facts directly. This is the write half of P3.8's eventual agent register/update/offline retirement (agent-comms#48): the read side (merging a gossip-discovered agent into listAgents) is deliberately not built here -- it needs its own follow-up, per the room-discovery precedent (#131/#138) this mirrors.
3
+ */
4
+ import { test, describe, expect } from "vitest";
5
+ import { generateIdentity } from "../core/identity.js";
6
+ import { toIdentityPort } from "../core/wire-mesh-identity.js";
7
+ import { deviceIdToHex } from "wire-mesh-core/domain/device-id";
8
+ import { WireMeshTransport, } from "../core/wire-mesh-transport.js";
9
+ import { waitFor } from "./test-transport.js";
10
+ const SHORT_INTERVAL_MS = 50;
11
+ function inertEvents() {
12
+ return {
13
+ onMessage: () => undefined,
14
+ onPeerConnected: () => undefined,
15
+ onPeerDisconnected: () => undefined,
16
+ onIntroduction: () => undefined,
17
+ onConnectionRequest: () => undefined,
18
+ onPeerList: () => undefined,
19
+ onPeerJoined: () => undefined,
20
+ onBecomeCoordinator: () => undefined,
21
+ onRevocationAnnounce: () => undefined,
22
+ onPresenceAdvert: () => undefined,
23
+ };
24
+ }
25
+ describe("WireMeshTransport agent-self gossip", () => {
26
+ test("a peer's listKnownDevices reflects another device's advertised agent identity", async () => {
27
+ const identityA = generateIdentity();
28
+ const identityB = generateIdentity();
29
+ const peerIdA = deviceIdToHex(await toIdentityPort(identityA).then((p) => p.deviceId));
30
+ const peerIdB = deviceIdToHex(await toIdentityPort(identityB).then((p) => p.deviceId));
31
+ const selfAdvert = {
32
+ name: "agent-a",
33
+ harness: "pi",
34
+ cwd: "/tmp/a",
35
+ pid: 4242,
36
+ startedAt: "2026-01-01T00:00:00.000Z",
37
+ tags: ["from-a"],
38
+ subscribedRooms: [],
39
+ };
40
+ const transportA = new WireMeshTransport(inertEvents(), identityA, undefined, undefined, undefined, SHORT_INTERVAL_MS, undefined, undefined, () => selfAdvert);
41
+ const transportB = new WireMeshTransport(inertEvents(), identityB);
42
+ try {
43
+ await transportA.startDataServer();
44
+ await transportB.connectToPeer({
45
+ id: peerIdA,
46
+ port: transportA.dataPort,
47
+ startedAt: new Date().toISOString(),
48
+ }, peerIdB);
49
+ await waitFor(() => {
50
+ const advert = transportB
51
+ .listKnownDevices()
52
+ .find((entry) => entry.deviceId === peerIdA)?.advert["agent/self"];
53
+ return (typeof advert === "object" &&
54
+ advert !== null &&
55
+ "name" in advert &&
56
+ advert.name === "agent-a");
57
+ }, "B observes A's advertised agent identity");
58
+ const known = transportB
59
+ .listKnownDevices()
60
+ .find((entry) => entry.deviceId === peerIdA);
61
+ expect(known?.advert["agent/self"]).toEqual(selfAdvert);
62
+ }
63
+ finally {
64
+ await transportB.shutdown();
65
+ await transportA.shutdown();
66
+ }
67
+ });
68
+ test("a session with no agent-self source configured never advertises the agent/self key", async () => {
69
+ const identityA = generateIdentity();
70
+ const identityB = generateIdentity();
71
+ const peerIdA = deviceIdToHex(await toIdentityPort(identityA).then((p) => p.deviceId));
72
+ const peerIdB = deviceIdToHex(await toIdentityPort(identityB).then((p) => p.deviceId));
73
+ const transportA = new WireMeshTransport(inertEvents(), identityA);
74
+ const transportB = new WireMeshTransport(inertEvents(), identityB);
75
+ try {
76
+ await transportA.startDataServer();
77
+ await transportB.connectToPeer({
78
+ id: peerIdA,
79
+ port: transportA.dataPort,
80
+ startedAt: new Date().toISOString(),
81
+ }, peerIdB);
82
+ await waitFor(() => transportB
83
+ .listKnownDevices()
84
+ .some((entry) => entry.deviceId === peerIdA), "B's known-devices view includes A");
85
+ const known = transportB
86
+ .listKnownDevices()
87
+ .find((entry) => entry.deviceId === peerIdA);
88
+ expect(known?.advert["agent/self"]).toBeUndefined();
89
+ }
90
+ finally {
91
+ await transportB.shutdown();
92
+ await transportA.shutdown();
93
+ }
94
+ });
95
+ });
96
+ //# sourceMappingURL=agent-self-gossip.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-self-gossip.integration.test.js","sourceRoot":"","sources":["../../src/test/agent-self-gossip.integration.test.ts"],"names":[],"mappings":"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"}
@@ -528,29 +528,6 @@ describe("DeliveryEngine — fireLocalDelivery", () => {
528
528
  // ---------------------------------------------------------------------------
529
529
  // deliverToRoom / notifyRoomsOfStatus / notifyRoomsOfNameChange
530
530
  // ---------------------------------------------------------------------------
531
- describe("DeliveryEngine — deliverToRoom", () => {
532
- it("does nothing for an unknown room", async () => {
533
- const h = makeHarness();
534
- await expect(h.engine.deliverToRoom("no-such-room", {
535
- type: "member_left",
536
- room: "no-such-room",
537
- agent: OTHER_ID,
538
- })).resolves.toBeUndefined();
539
- });
540
- it("delivers to every member except the excluded one", async () => {
541
- const h = makeHarness();
542
- h.deps.rooms.set("room-1", room({ members: [PEER_ID, OTHER_ID, THIRD_ID] }));
543
- await h.engine.deliverToRoom("room-1", {
544
- type: "member_status",
545
- room: "room-1",
546
- agent: PEER_ID,
547
- status: "idle",
548
- }, OTHER_ID);
549
- expect(h.deps.deliveryQueues.get(PEER_ID)).toHaveLength(1);
550
- expect(h.deps.deliveryQueues.get(THIRD_ID)).toHaveLength(1);
551
- expect(h.deps.deliveryQueues.get(OTHER_ID)).toBeUndefined();
552
- });
553
- });
554
531
  describe("DeliveryEngine — notifyRoomsOfStatus", () => {
555
532
  it("does nothing for an agent with no known record", async () => {
556
533
  const h = makeHarness();
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-engine-delivery.test.js","sourceRoot":"","sources":["../../src/test/delivery-engine-delivery.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-engine-delivery.test.js","sourceRoot":"","sources":["../../src/test/delivery-engine-delivery.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delivery-engine-directed-notify.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-engine-directed-notify.test.d.ts","sourceRoot":"","sources":["../../src/test/delivery-engine-directed-notify.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Direct, DI-based unit tests for DeliveryEngine.deliverToRoom's directed room.notify replacement (P3.8, agent-comms#48) -- moved into its own file to stay under the repo's max-lines cap once delivery-engine.test.ts and delivery-engine-delivery.test.ts were already at capacity. Shares the same fake-harness convention those two files established: a narrow, injectable DeliveryEngineDeps surface with every collaborator boundary (transport, sendRoomRequestToMember, onDelivery/onPatch callbacks) a vi.fn() this file controls per test.
3
+ */
4
+ import { beforeEach, describe, expect, it, vi } from "vitest";
5
+ import { loadRoomTokens } from "../core/identity-store.js";
6
+ import { DeliveryEngine, } from "../core/delivery-engine.js";
7
+ vi.mock("../core/identity-store.js", () => ({
8
+ loadRoomTokens: vi.fn(),
9
+ }));
10
+ // Opaque placeholder: deliverToRoom never inspects a token's own COSE_Sign1 structure, only forwards whatever loadRoomTokens returns to sendRoomRequestToMember.
11
+ const FAKE_TOKEN = "fake-token";
12
+ /** A device-id is a 64-character lowercase hex SHA-256 digest; room-path.ts's assertDeviceIdHex rejects anything shorter. */
13
+ const DEVICE_ID_HEX_LENGTH = 64;
14
+ const PEER_ID = "a".repeat(DEVICE_ID_HEX_LENGTH);
15
+ const THIRD_ID = "c".repeat(DEVICE_ID_HEX_LENGTH);
16
+ const NOW_MS = 1_700_000_000_000;
17
+ function room(overrides = {}) {
18
+ return {
19
+ id: "room-1",
20
+ version: 1,
21
+ name: "room-name",
22
+ type: "public",
23
+ owner: PEER_ID,
24
+ createdAt: "2026-01-01T00:00:00.000Z",
25
+ description: "",
26
+ members: [PEER_ID],
27
+ invited: [],
28
+ memberJoins: {},
29
+ memberLeaves: {},
30
+ invitedJoins: {},
31
+ invitedLeaves: {},
32
+ ...overrides,
33
+ };
34
+ }
35
+ function fakeTransport() {
36
+ return {
37
+ dataPort: 4000,
38
+ isCoordinator: false,
39
+ hasCoordinatorConnection: false,
40
+ startDataServer: vi.fn().mockResolvedValue(undefined),
41
+ connectToCoordinator: vi.fn().mockResolvedValue(undefined),
42
+ becomeCoordinator: vi.fn().mockResolvedValue(undefined),
43
+ connectToPeer: vi.fn().mockResolvedValue(undefined),
44
+ send: vi.fn().mockResolvedValue(undefined),
45
+ acceptConnection: vi.fn().mockResolvedValue(undefined),
46
+ rejectConnection: vi.fn().mockResolvedValue(undefined),
47
+ connectToRemote: vi.fn().mockResolvedValue(undefined),
48
+ broadcast: vi.fn().mockResolvedValue(undefined),
49
+ broadcastRevocation: vi.fn().mockResolvedValue(undefined),
50
+ sendRoomRequest: vi
51
+ .fn()
52
+ .mockResolvedValue({ result: "error", code: "not_connected" }),
53
+ addListener: vi.fn().mockResolvedValue("listener-1"),
54
+ removeListener: vi.fn().mockResolvedValue(undefined),
55
+ listListeners: vi.fn().mockReturnValue([]),
56
+ shutdown: vi.fn().mockResolvedValue(undefined),
57
+ unref: vi.fn(),
58
+ };
59
+ }
60
+ function makeHarness() {
61
+ let onDelivery;
62
+ let onPatch;
63
+ const shutDown = false;
64
+ const transport = fakeTransport();
65
+ const sendRoomRequestToMember = vi.fn().mockResolvedValue(undefined);
66
+ const revocationRecord = vi.fn().mockResolvedValue(undefined);
67
+ const deps = {
68
+ agents: new Map(),
69
+ rooms: new Map(),
70
+ messages: new Map(),
71
+ dms: new Map(),
72
+ deliveryQueues: new Map(),
73
+ localDeliveryKeys: new Set(),
74
+ pendingMarkReadTimers: [],
75
+ getPeerId: () => PEER_ID,
76
+ requireIdentity: () => ({
77
+ slot: { harness: "pi", cwd: "/tmp" },
78
+ clock: { now: () => NOW_MS },
79
+ identity: {},
80
+ revocation: { record: revocationRecord },
81
+ dataStorage: {},
82
+ }),
83
+ requireTransport: () => transport,
84
+ getOnDelivery: () => onDelivery,
85
+ getOnPatch: () => onPatch,
86
+ isShutDown: () => shutDown,
87
+ sendRoomRequestToMember,
88
+ };
89
+ return {
90
+ deps,
91
+ engine: new DeliveryEngine(deps),
92
+ transport,
93
+ sendRoomRequestToMember,
94
+ setOnDelivery(fn) {
95
+ onDelivery = fn;
96
+ },
97
+ setOnPatch(fn) {
98
+ onPatch = fn;
99
+ },
100
+ };
101
+ }
102
+ beforeEach(() => {
103
+ vi.mocked(loadRoomTokens).mockReset();
104
+ vi.mocked(loadRoomTokens).mockReturnValue({ "room-1": FAKE_TOKEN });
105
+ });
106
+ describe("DeliveryEngine — deliverToRoom directed room.notify", () => {
107
+ it("does nothing for an unknown room", async () => {
108
+ const h = makeHarness();
109
+ await expect(h.engine.deliverToRoom("no-such-room", {
110
+ type: "member_left",
111
+ room: "no-such-room",
112
+ agent: PEER_ID,
113
+ })).resolves.toBeUndefined();
114
+ });
115
+ it("sends a directed room.notify to every non-self member, never broadcasting mesh-wide", async () => {
116
+ const h = makeHarness();
117
+ h.deps.rooms.set("room-1", room({ members: [PEER_ID, THIRD_ID] }));
118
+ const event = {
119
+ type: "member_status",
120
+ room: "room-1",
121
+ agent: PEER_ID,
122
+ status: "idle",
123
+ };
124
+ await h.engine.deliverToRoom("room-1", event);
125
+ expect(h.sendRoomRequestToMember).toHaveBeenCalledWith(THIRD_ID, "room-1", FAKE_TOKEN, { verb: "room.notify", event });
126
+ expect(h.sendRoomRequestToMember).not.toHaveBeenCalledWith(PEER_ID, expect.anything(), expect.anything(), expect.anything());
127
+ expect(h.transport.broadcast).not.toHaveBeenCalled();
128
+ });
129
+ it("fires local delivery for this store's own agent without a directed send", async () => {
130
+ const h = makeHarness();
131
+ h.deps.rooms.set("room-1", room({ members: [PEER_ID] }));
132
+ const onDelivery = vi.fn();
133
+ h.setOnDelivery(onDelivery);
134
+ const event = {
135
+ type: "member_status",
136
+ room: "room-1",
137
+ agent: PEER_ID,
138
+ status: "busy",
139
+ };
140
+ await h.engine.deliverToRoom("room-1", event);
141
+ // fireLocalDelivery removes the event from deliveryQueues once fired (it's no longer pending for this process) -- onDelivery having been called is the real signal local delivery happened, not the queue's own post-fire contents.
142
+ expect(onDelivery).toHaveBeenCalledWith(PEER_ID, event);
143
+ expect(h.sendRoomRequestToMember).not.toHaveBeenCalled();
144
+ });
145
+ it("silently skips a member this store holds no room:member token for", async () => {
146
+ const h = makeHarness();
147
+ vi.mocked(loadRoomTokens).mockReturnValue({});
148
+ h.deps.rooms.set("room-1", room({ members: [PEER_ID, THIRD_ID] }));
149
+ await expect(h.engine.deliverToRoom("room-1", {
150
+ type: "member_status",
151
+ room: "room-1",
152
+ agent: PEER_ID,
153
+ status: "idle",
154
+ })).resolves.toBeUndefined();
155
+ expect(h.sendRoomRequestToMember).not.toHaveBeenCalled();
156
+ });
157
+ it("delivers to every member except the excluded one", async () => {
158
+ const h = makeHarness();
159
+ h.deps.rooms.set("room-1", room({ members: [PEER_ID, THIRD_ID] }));
160
+ await h.engine.deliverToRoom("room-1", {
161
+ type: "member_status",
162
+ room: "room-1",
163
+ agent: PEER_ID,
164
+ status: "idle",
165
+ }, THIRD_ID);
166
+ expect(h.deps.deliveryQueues.get(PEER_ID)).toHaveLength(1);
167
+ expect(h.deps.deliveryQueues.get(THIRD_ID)).toBeUndefined();
168
+ });
169
+ });
170
+ //# sourceMappingURL=delivery-engine-directed-notify.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-engine-directed-notify.test.js","sourceRoot":"","sources":["../../src/test/delivery-engine-directed-notify.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=room-protocol-notify.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room-protocol-notify.test.d.ts","sourceRoot":"","sources":["../../src/test/room-protocol-notify.test.ts"],"names":[],"mappings":""}