agent-comms 4.1.10 → 4.3.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 (77) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +5 -1
  4. package/dist/bridges/cc-peer/approval-commands.d.ts +26 -0
  5. package/dist/bridges/cc-peer/approval-commands.d.ts.map +1 -0
  6. package/dist/bridges/cc-peer/approval-commands.js +56 -0
  7. package/dist/bridges/cc-peer/approval-commands.js.map +1 -0
  8. package/dist/bridges/cc-peer/bridge.d.ts +2 -0
  9. package/dist/bridges/cc-peer/bridge.d.ts.map +1 -1
  10. package/dist/bridges/cc-peer/bridge.js +16 -8
  11. package/dist/bridges/cc-peer/bridge.js.map +1 -1
  12. package/dist/bridges/cc-peer/default-front.d.ts +2 -0
  13. package/dist/bridges/cc-peer/default-front.d.ts.map +1 -1
  14. package/dist/bridges/cc-peer/default-front.js +1 -0
  15. package/dist/bridges/cc-peer/default-front.js.map +1 -1
  16. package/dist/bridges/cc-peer/front-relay.d.ts +2 -0
  17. package/dist/bridges/cc-peer/front-relay.d.ts.map +1 -1
  18. package/dist/bridges/cc-peer/front-relay.js +17 -9
  19. package/dist/bridges/cc-peer/front-relay.js.map +1 -1
  20. package/dist/bridges/cc-peer/front-runtime.d.ts +2 -0
  21. package/dist/bridges/cc-peer/front-runtime.d.ts.map +1 -1
  22. package/dist/bridges/cc-peer/front-runtime.js +2 -0
  23. package/dist/bridges/cc-peer/front-runtime.js.map +1 -1
  24. package/dist/bridges/cc-peer/run.d.ts.map +1 -1
  25. package/dist/bridges/cc-peer/run.js +5 -1
  26. package/dist/bridges/cc-peer/run.js.map +1 -1
  27. package/dist/bridges/user/web/dist/mesh-worker.js +1 -1
  28. package/dist/bridges/user/web/dist/sw.js +1 -1
  29. package/dist/core/bridge.d.ts +4 -0
  30. package/dist/core/bridge.d.ts.map +1 -1
  31. package/dist/core/bridge.js +19 -0
  32. package/dist/core/bridge.js.map +1 -1
  33. package/dist/core/dm-grant-actions.d.ts +20 -0
  34. package/dist/core/dm-grant-actions.d.ts.map +1 -0
  35. package/dist/core/dm-grant-actions.js +49 -0
  36. package/dist/core/dm-grant-actions.js.map +1 -0
  37. package/dist/core/identity-store.d.ts +16 -0
  38. package/dist/core/identity-store.d.ts.map +1 -1
  39. package/dist/core/identity-store.js +5 -3
  40. package/dist/core/identity-store.js.map +1 -1
  41. package/dist/core/token-text.d.ts +9 -0
  42. package/dist/core/token-text.d.ts.map +1 -0
  43. package/dist/core/token-text.js +24 -0
  44. package/dist/core/token-text.js.map +1 -0
  45. package/dist/core/tool.d.ts +7 -0
  46. package/dist/core/tool.d.ts.map +1 -1
  47. package/dist/core/tool.js +7 -0
  48. package/dist/core/tool.js.map +1 -1
  49. package/dist/core/types.d.ts +20 -0
  50. package/dist/core/types.d.ts.map +1 -1
  51. package/dist/core/types.js +7 -0
  52. package/dist/core/types.js.map +1 -1
  53. package/dist/test/cc-peer-approval-commands.unit.test.d.ts +2 -0
  54. package/dist/test/cc-peer-approval-commands.unit.test.d.ts.map +1 -0
  55. package/dist/test/cc-peer-approval-commands.unit.test.js +110 -0
  56. package/dist/test/cc-peer-approval-commands.unit.test.js.map +1 -0
  57. package/dist/test/cc-peer-bridge.unit.test.js +107 -0
  58. package/dist/test/cc-peer-bridge.unit.test.js.map +1 -1
  59. package/dist/test/cc-peer-front-relay.unit.test.js +113 -0
  60. package/dist/test/cc-peer-front-relay.unit.test.js.map +1 -1
  61. package/dist/test/cc-peer-fronted-approval.integration.test.d.ts +5 -0
  62. package/dist/test/cc-peer-fronted-approval.integration.test.d.ts.map +1 -0
  63. package/dist/test/cc-peer-fronted-approval.integration.test.js +125 -0
  64. package/dist/test/cc-peer-fronted-approval.integration.test.js.map +1 -0
  65. package/dist/test/dm-grant-actions.unit.test.d.ts +2 -0
  66. package/dist/test/dm-grant-actions.unit.test.d.ts.map +1 -0
  67. package/dist/test/dm-grant-actions.unit.test.js +72 -0
  68. package/dist/test/dm-grant-actions.unit.test.js.map +1 -0
  69. package/dist/test/dm-grant-tool.integration.test.d.ts +5 -0
  70. package/dist/test/dm-grant-tool.integration.test.d.ts.map +1 -0
  71. package/dist/test/dm-grant-tool.integration.test.js +145 -0
  72. package/dist/test/dm-grant-tool.integration.test.js.map +1 -0
  73. package/dist/test/token-text.unit.test.d.ts +2 -0
  74. package/dist/test/token-text.unit.test.d.ts.map +1 -0
  75. package/dist/test/token-text.unit.test.js +46 -0
  76. package/dist/test/token-text.unit.test.js.map +1 -0
  77. package/package.json +1 -1
@@ -3,6 +3,12 @@
3
3
  */
4
4
  import { describe, expect, it, vi } from "vitest";
5
5
  import { createTargetSenderMatcher, targetMatchesEntry, wireCcPeerBridge, } from "../bridges/cc-peer/bridge.js";
6
+ /** The name the bridge's peer is registered under; the target is told to message it to answer a join request. */
7
+ const PEER_NAME = "agent-comms-bridge";
8
+ /** A device-id is a 64-character lowercase hex digest. */
9
+ const DEVICE_ID_HEX_LENGTH = 64;
10
+ const REQUESTER_ID = "a".repeat(DEVICE_ID_HEX_LENGTH);
11
+ const DM_ROOM = `${"b".repeat(DEVICE_ID_HEX_LENGTH)}+${REQUESTER_ID}`;
6
12
  function fakePeer() {
7
13
  const peer = {
8
14
  messageListener: undefined,
@@ -55,6 +61,7 @@ describe("wireCcPeerBridge — inbound (cc-peer -> mesh)", () => {
55
61
  roomId: "owner/project",
56
62
  target: { name: "local-session" },
57
63
  cwd: "/tmp/project",
64
+ peerName: PEER_NAME,
58
65
  isFromTarget: async () => Promise.resolve(true),
59
66
  });
60
67
  peer.messageListener?.({
@@ -94,6 +101,7 @@ describe("wireCcPeerBridge — inbound (cc-peer -> mesh)", () => {
94
101
  roomId: "owner/project",
95
102
  target: { name: "local-session" },
96
103
  cwd: "/tmp/project",
104
+ peerName: PEER_NAME,
97
105
  isFromTarget: async () => Promise.resolve(true),
98
106
  });
99
107
  peer.messageListener?.({ from: "local-session", body: "hi" });
@@ -120,6 +128,7 @@ describe("wireCcPeerBridge — outbound (mesh -> cc-peer)", () => {
120
128
  roomId: "owner/project",
121
129
  target: { name: "local-session" },
122
130
  cwd: "/tmp/project",
131
+ peerName: PEER_NAME,
123
132
  isFromTarget: async () => Promise.resolve(true),
124
133
  });
125
134
  expect(store.onDelivery).toBeDefined();
@@ -150,6 +159,7 @@ describe("wireCcPeerBridge — outbound (mesh -> cc-peer)", () => {
150
159
  roomId: "owner/project",
151
160
  target: { pid: 4242 },
152
161
  cwd: "/tmp/project",
162
+ peerName: PEER_NAME,
153
163
  isFromTarget: async () => Promise.resolve(true),
154
164
  });
155
165
  void store.onDelivery?.("agent-1", {
@@ -172,6 +182,7 @@ describe("wireCcPeerBridge — inbound from anyone but the target", () => {
172
182
  roomId: "owner/project",
173
183
  target: { name: "local-session" },
174
184
  cwd: "/tmp/project",
185
+ peerName: PEER_NAME,
175
186
  isFromTarget,
176
187
  });
177
188
  peer.messageListener?.({ from: "uds:/tmp/other.sock", body: "not for us" });
@@ -194,6 +205,7 @@ describe("wireCcPeerBridge — relay failures", () => {
194
205
  roomId: "owner/project",
195
206
  target: { name: "local-session" },
196
207
  cwd: "/tmp/project",
208
+ peerName: PEER_NAME,
197
209
  isFromTarget: async () => Promise.reject(new Error("roster unreadable")),
198
210
  });
199
211
  peer.messageListener?.({ from: "uds:/tmp/x.sock", body: "x" });
@@ -251,4 +263,99 @@ describe("createTargetSenderMatcher", () => {
251
263
  expect(listRoster).not.toHaveBeenCalled();
252
264
  });
253
265
  });
266
+ describe("wireCcPeerBridge — answering a join request", () => {
267
+ it("tells the target which peer to message and the exact commands when a join request is waiting", () => {
268
+ const peer = fakePeer();
269
+ const store = {
270
+ onDelivery: undefined,
271
+ onError: undefined,
272
+ };
273
+ wireCcPeerBridge({
274
+ store,
275
+ tool: fakeTool(),
276
+ peer,
277
+ agentId: "agent-1",
278
+ roomId: "owner/project",
279
+ target: { name: "local-session" },
280
+ cwd: "/tmp/project",
281
+ peerName: PEER_NAME,
282
+ isFromTarget: async () => Promise.resolve(true),
283
+ });
284
+ void store.onDelivery?.("agent-1", {
285
+ type: "room_join_request",
286
+ room: DM_ROOM,
287
+ requesterId: REQUESTER_ID,
288
+ });
289
+ const body = peer.sendCalls[0]?.body ?? "";
290
+ expect(body).toContain(`"${PEER_NAME}"`);
291
+ expect(body).toContain(`accept ${DM_ROOM} ${REQUESTER_ID}`);
292
+ });
293
+ it("runs room_accept for an accept message from the target and reports the result back to it, without posting it to the project room", async () => {
294
+ const peer = fakePeer();
295
+ const tool = fakeTool();
296
+ wireCcPeerBridge({
297
+ store: { onDelivery: undefined, onError: undefined },
298
+ tool,
299
+ peer,
300
+ agentId: "agent-1",
301
+ roomId: "owner/project",
302
+ target: { name: "local-session" },
303
+ cwd: "/tmp/project",
304
+ peerName: PEER_NAME,
305
+ isFromTarget: async () => Promise.resolve(true),
306
+ });
307
+ peer.messageListener?.({
308
+ from: "uds:/tmp/cc-socks/1.sock",
309
+ body: `accept ${DM_ROOM} ${REQUESTER_ID}`,
310
+ });
311
+ await vi.waitFor(() => {
312
+ expect(peer.sendCalls).toHaveLength(1);
313
+ });
314
+ expect(tool.handleCalls).toEqual([
315
+ {
316
+ ctx: {
317
+ agentId: "agent-1",
318
+ harness: "cc-peer",
319
+ cwd: "/tmp/project",
320
+ pid: process.pid,
321
+ },
322
+ action: {
323
+ action: "room_accept",
324
+ room: DM_ROOM,
325
+ requesterId: REQUESTER_ID,
326
+ },
327
+ },
328
+ ]);
329
+ expect(peer.sendCalls[0]).toEqual({
330
+ target: { name: "local-session" },
331
+ body: "ok",
332
+ });
333
+ });
334
+ it("ignores an accept that did not come from the target", async () => {
335
+ const peer = fakePeer();
336
+ const tool = fakeTool();
337
+ const isFromTarget = vi.fn(async () => Promise.resolve(false));
338
+ wireCcPeerBridge({
339
+ store: { onDelivery: undefined, onError: undefined },
340
+ tool,
341
+ peer,
342
+ agentId: "agent-1",
343
+ roomId: "owner/project",
344
+ target: { name: "local-session" },
345
+ cwd: "/tmp/project",
346
+ peerName: PEER_NAME,
347
+ isFromTarget,
348
+ });
349
+ peer.messageListener?.({
350
+ from: "uds:/tmp/cc-socks/other.sock",
351
+ body: `accept ${DM_ROOM} ${REQUESTER_ID}`,
352
+ });
353
+ await vi.waitFor(() => {
354
+ expect(isFromTarget).toHaveBeenCalledTimes(1);
355
+ });
356
+ await Promise.resolve();
357
+ expect(tool.handleCalls).toEqual([]);
358
+ expect(peer.sendCalls).toEqual([]);
359
+ });
360
+ });
254
361
  //# sourceMappingURL=cc-peer-bridge.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cc-peer-bridge.unit.test.js","sourceRoot":"","sources":["../../src/test/cc-peer-bridge.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-peer-bridge.unit.test.js","sourceRoot":"","sources":["../../src/test/cc-peer-bridge.unit.test.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@
3
3
  */
4
4
  import { describe, expect, it, vi } from "vitest";
5
5
  import { buildFrontedSessionRecord, detachFrontedSession, } from "../bridges/cc-peer/front-relay.js";
6
+ /** The peer name the front is registered under; sessions are told to message it to answer a join request. */
7
+ const PEER_NAME = "agent-comms-front";
8
+ /** A device-id is a 64-character lowercase hex digest. */
9
+ const DEVICE_ID_HEX_LENGTH = 64;
10
+ const REQUESTER_ID = "a".repeat(DEVICE_ID_HEX_LENGTH);
11
+ const DM_ROOM = `${"b".repeat(DEVICE_ID_HEX_LENGTH)}+${REQUESTER_ID}`;
6
12
  function rosterEntry(overrides = {}) {
7
13
  return {
8
14
  pid: 222,
@@ -95,6 +101,7 @@ describe("buildFrontedSessionRecord — outbound (mesh -> cc-peer)", () => {
95
101
  const entry = rosterEntry({ pid: 333 });
96
102
  buildFrontedSessionRecord({
97
103
  entry,
104
+ peerName: PEER_NAME,
98
105
  agentId: "agent-1",
99
106
  roomId: "owner/project",
100
107
  store,
@@ -119,6 +126,7 @@ describe("buildFrontedSessionRecord — outbound (mesh -> cc-peer)", () => {
119
126
  const aliasDirectory = fakeAliasDirectory((id) => `mesh-${id}`);
120
127
  buildFrontedSessionRecord({
121
128
  entry: rosterEntry(),
129
+ peerName: PEER_NAME,
122
130
  agentId: "agent-1",
123
131
  roomId: "owner/project",
124
132
  store,
@@ -142,6 +150,7 @@ describe("buildFrontedSessionRecord — outbound (mesh -> cc-peer)", () => {
142
150
  const aliasPool = fakeAliasPool();
143
151
  buildFrontedSessionRecord({
144
152
  entry: rosterEntry(),
153
+ peerName: PEER_NAME,
145
154
  agentId: "agent-1",
146
155
  roomId: "owner/project",
147
156
  store,
@@ -168,6 +177,7 @@ describe("buildFrontedSessionRecord — outbound (mesh -> cc-peer)", () => {
168
177
  };
169
178
  buildFrontedSessionRecord({
170
179
  entry: rosterEntry(),
180
+ peerName: PEER_NAME,
171
181
  agentId: "agent-1",
172
182
  roomId: "owner/project",
173
183
  store,
@@ -190,6 +200,7 @@ describe("buildFrontedSessionRecord — alias reply (cc-peer -> mesh DM)", () =>
190
200
  const tool = fakeTool();
191
201
  const record = buildFrontedSessionRecord({
192
202
  entry: rosterEntry({ cwd: "/tmp/my-project" }),
203
+ peerName: PEER_NAME,
193
204
  agentId: "agent-1",
194
205
  roomId: "owner/my-project",
195
206
  store: fakeStore(),
@@ -224,6 +235,7 @@ describe("buildFrontedSessionRecord — stale alias notification", () => {
224
235
  const peer = fakePeer();
225
236
  const record = buildFrontedSessionRecord({
226
237
  entry: rosterEntry({ pid: 555 }),
238
+ peerName: PEER_NAME,
227
239
  agentId: "agent-1",
228
240
  roomId: "owner/project",
229
241
  store: fakeStore(),
@@ -244,6 +256,7 @@ describe("buildFrontedSessionRecord — inbound (cc-peer -> mesh)", () => {
244
256
  const entry = rosterEntry({ cwd: "/tmp/my-project" });
245
257
  const record = buildFrontedSessionRecord({
246
258
  entry,
259
+ peerName: PEER_NAME,
247
260
  agentId: "agent-1",
248
261
  roomId: "owner/my-project",
249
262
  store: fakeStore(),
@@ -276,6 +289,7 @@ describe("buildFrontedSessionRecord — inbound (cc-peer -> mesh)", () => {
276
289
  const tool = fakeTool();
277
290
  const record = buildFrontedSessionRecord({
278
291
  entry: rosterEntry(),
292
+ peerName: PEER_NAME,
279
293
  agentId: "agent-1",
280
294
  roomId: "owner/project",
281
295
  store: fakeStore(),
@@ -298,6 +312,7 @@ describe("buildFrontedSessionRecord — record shape", () => {
298
312
  });
299
313
  const record = buildFrontedSessionRecord({
300
314
  entry,
315
+ peerName: PEER_NAME,
301
316
  agentId: "agent-1",
302
317
  roomId: "owner/other",
303
318
  store: fakeStore(),
@@ -333,4 +348,102 @@ describe("detachFrontedSession", () => {
333
348
  expect(order).toEqual(["offline", "shutdown"]);
334
349
  });
335
350
  });
351
+ describe("buildFrontedSessionRecord — answering a join request", () => {
352
+ const request = {
353
+ type: "room_join_request",
354
+ room: DM_ROOM,
355
+ requesterId: REQUESTER_ID,
356
+ };
357
+ function build(overrides = {}) {
358
+ const store = fakeStore();
359
+ const peer = overrides.peer ?? fakePeer();
360
+ const tool = overrides.tool ?? fakeTool();
361
+ const record = buildFrontedSessionRecord({
362
+ entry: rosterEntry({ pid: 444, cwd: "/tmp/answering" }),
363
+ peerName: PEER_NAME,
364
+ agentId: "agent-1",
365
+ roomId: "owner/answering",
366
+ store,
367
+ tool,
368
+ peer,
369
+ aliasPool: fakeAliasPool(),
370
+ aliasDirectory: fakeAliasDirectory(),
371
+ });
372
+ return { store, peer, tool, record };
373
+ }
374
+ it("tells the session which peer to message and the exact commands when a join request is waiting", async () => {
375
+ const { store, peer } = build();
376
+ await store.onDelivery?.("agent-1", request);
377
+ expect(peer.sendCalls).toHaveLength(1);
378
+ const body = peer.sendCalls[0]?.body ?? "";
379
+ expect(body).toContain(`"${PEER_NAME}"`);
380
+ expect(body).toContain(`accept ${DM_ROOM} ${REQUESTER_ID}`);
381
+ });
382
+ it("runs room_accept as the session's own agent when the session messages an accept, and reports the result back to it", async () => {
383
+ const { record, tool, peer } = build();
384
+ record.handleInbound({
385
+ from: "uds:/tmp/sock-444",
386
+ body: `accept ${DM_ROOM} ${REQUESTER_ID}`,
387
+ });
388
+ await vi.waitFor(() => {
389
+ expect(peer.sendCalls).toHaveLength(1);
390
+ });
391
+ expect(tool.handleCalls).toEqual([
392
+ {
393
+ ctx: {
394
+ agentId: "agent-1",
395
+ harness: "claude-code",
396
+ cwd: "/tmp/answering",
397
+ pid: process.pid,
398
+ },
399
+ action: {
400
+ action: "room_accept",
401
+ room: DM_ROOM,
402
+ requesterId: REQUESTER_ID,
403
+ },
404
+ },
405
+ ]);
406
+ expect(peer.sendCalls[0]).toEqual({ target: { pid: 444 }, body: "ok" });
407
+ });
408
+ it("runs room_reject with the reason when the session messages a reject", async () => {
409
+ const { record, tool, peer } = build();
410
+ record.handleInbound({
411
+ body: `reject ${DM_ROOM} ${REQUESTER_ID} not now`,
412
+ });
413
+ await vi.waitFor(() => {
414
+ expect(peer.sendCalls).toHaveLength(1);
415
+ });
416
+ expect(tool.handleCalls).toEqual([
417
+ expect.objectContaining({
418
+ action: {
419
+ action: "room_reject",
420
+ room: DM_ROOM,
421
+ requesterId: REQUESTER_ID,
422
+ reason: "not now",
423
+ },
424
+ }),
425
+ ]);
426
+ });
427
+ it("does not post a decision into the project room, and still posts an ordinary message there", async () => {
428
+ const { record, tool, peer } = build();
429
+ record.handleInbound({ body: `accept ${DM_ROOM} ${REQUESTER_ID}` });
430
+ await vi.waitFor(() => {
431
+ expect(peer.sendCalls).toHaveLength(1);
432
+ });
433
+ expect(tool.handleCalls.some((call) => typeof call === "object" &&
434
+ call !== null &&
435
+ "action" in call &&
436
+ typeof call.action === "object" &&
437
+ call.action !== null &&
438
+ "action" in call.action &&
439
+ call.action.action === "send")).toBe(false);
440
+ record.handleInbound({ from: "local", body: "just chatting" });
441
+ await vi.waitFor(() => {
442
+ expect(tool.handleCalls).toHaveLength(2);
443
+ });
444
+ expect(tool.handleCalls[1]).toEqual(expect.objectContaining({
445
+ action: expect.objectContaining({ action: "send" }),
446
+ }));
447
+ });
448
+ });
336
449
  //# sourceMappingURL=cc-peer-front-relay.unit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cc-peer-front-relay.unit.test.js","sourceRoot":"","sources":["../../src/test/cc-peer-front-relay.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cc-peer-front-relay.unit.test.js","sourceRoot":"","sources":["../../src/test/cc-peer-front-relay.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Integration test for the whole first-contact path to a session reached only through cc-peer: a real store fronted by buildFrontedSessionRecord, a real CommsTool, and a fake cc-peer peer standing in for the session. The session is told what to send, sends it, and that alone admits the requester.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=cc-peer-fronted-approval.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-peer-fronted-approval.integration.test.d.ts","sourceRoot":"","sources":["../../src/test/cc-peer-fronted-approval.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Integration test for the whole first-contact path to a session reached only through cc-peer: a real store fronted by buildFrontedSessionRecord, a real CommsTool, and a fake cc-peer peer standing in for the session. The session is told what to send, sends it, and that alone admits the requester.
3
+ */
4
+ import { test, expect } from "vitest";
5
+ import { MeshStore } from "../core/mesh-store.js";
6
+ import { CommsTool } from "../core/tool.js";
7
+ import { dmRoomPath } from "../core/room-path.js";
8
+ import { buildFrontedSessionRecord } from "../bridges/cc-peer/front-relay.js";
9
+ import { waitFor, wireTestTransport } from "./test-transport.js";
10
+ let nextPort = 24_450;
11
+ function freshPort() {
12
+ nextPort += 1;
13
+ return nextPort;
14
+ }
15
+ const PEER_NAME = "agent-comms-front";
16
+ const SESSION_PID = 4242;
17
+ async function registered(port, name) {
18
+ const store = new MeshStore({ coordinatorPort: port });
19
+ await wireTestTransport(store);
20
+ await store.init();
21
+ await store.registerAgent({
22
+ name,
23
+ harness: "test",
24
+ cwd: `/test/${name}`,
25
+ pid: process.pid,
26
+ visibility: "visible",
27
+ tags: [],
28
+ });
29
+ return store;
30
+ }
31
+ test("a session with no agent-comms tool admits a first-contact DM by messaging the front, and hears the outcome", async () => {
32
+ const port = freshPort();
33
+ const sender = await registered(port, "sender");
34
+ const fronted = await registered(port, "fronted");
35
+ await waitFor(() => sender.serialise().agents[fronted.peerId] !== undefined, "the sender sees the fronted agent");
36
+ const toSession = [];
37
+ const record = buildFrontedSessionRecord({
38
+ entry: {
39
+ pid: SESSION_PID,
40
+ cwd: "/test/fronted",
41
+ version: "2.1.278",
42
+ messagingSocketPath: "/tmp/cc-socks/fronted.sock",
43
+ },
44
+ peerName: PEER_NAME,
45
+ agentId: fronted.peerId,
46
+ roomId: "unused",
47
+ store: fronted,
48
+ tool: new CommsTool(fronted),
49
+ peer: {
50
+ send: async (_target, body) => {
51
+ toSession.push(body);
52
+ return Promise.resolve({ msgId: "m" });
53
+ },
54
+ },
55
+ aliasPool: { ensure: async () => Promise.resolve() },
56
+ aliasDirectory: { ensure: (correspondent) => `mesh-${correspondent}` },
57
+ });
58
+ try {
59
+ const dmPath = dmRoomPath(sender.peerId, fronted.peerId);
60
+ const send = sender.sendDm(sender.peerId, fronted.peerId, "hello session");
61
+ await waitFor(() => toSession.some((body) => body.includes("accept ")), "the session is told a request is waiting");
62
+ const instruction = toSession.find((body) => body.includes("accept "));
63
+ const command = instruction
64
+ ?.split("\n")
65
+ .find((line) => line.startsWith("accept "));
66
+ expect(command).toBe(`accept ${dmPath} ${sender.peerId}`);
67
+ expect(instruction).toContain(`"${PEER_NAME}"`);
68
+ // The session replies with exactly the line it was given.
69
+ record.handleInbound({
70
+ from: `uds:${record.messagingSocketPath}`,
71
+ body: command ?? "",
72
+ });
73
+ const sent = await send;
74
+ await waitFor(() => (fronted.serialise().dms[dmPath] ?? []).some((m) => m.id === sent.id), "the fronted agent receives the DM");
75
+ await waitFor(() => toSession.some((body) => body.startsWith("Accepted ")), "the session hears the outcome");
76
+ }
77
+ finally {
78
+ await fronted.shutdown();
79
+ await sender.shutdown();
80
+ }
81
+ });
82
+ test("a session that rejects a first-contact DM makes the sender's dm fail", async () => {
83
+ const port = freshPort();
84
+ const sender = await registered(port, "sender");
85
+ const fronted = await registered(port, "fronted");
86
+ await waitFor(() => sender.serialise().agents[fronted.peerId] !== undefined, "the sender sees the fronted agent");
87
+ const toSession = [];
88
+ const record = buildFrontedSessionRecord({
89
+ entry: {
90
+ pid: SESSION_PID,
91
+ cwd: "/test/fronted",
92
+ version: "2.1.278",
93
+ messagingSocketPath: "/tmp/cc-socks/fronted.sock",
94
+ },
95
+ peerName: PEER_NAME,
96
+ agentId: fronted.peerId,
97
+ roomId: "unused",
98
+ store: fronted,
99
+ tool: new CommsTool(fronted),
100
+ peer: {
101
+ send: async (_target, body) => {
102
+ toSession.push(body);
103
+ return Promise.resolve({ msgId: "m" });
104
+ },
105
+ },
106
+ aliasPool: { ensure: async () => Promise.resolve() },
107
+ aliasDirectory: { ensure: (correspondent) => `mesh-${correspondent}` },
108
+ });
109
+ try {
110
+ const dmPath = dmRoomPath(sender.peerId, fronted.peerId);
111
+ const send = sender.sendDm(sender.peerId, fronted.peerId, "unwelcome");
112
+ const settled = expect(send).rejects.toThrow(/was refused \(denied\)/);
113
+ await waitFor(() => toSession.some((body) => body.includes("reject ")), "the session is told a request is waiting");
114
+ record.handleInbound({
115
+ body: `reject ${dmPath} ${sender.peerId} not now`,
116
+ });
117
+ await settled;
118
+ await waitFor(() => toSession.some((body) => body.startsWith("Rejected ")), "the session hears the outcome");
119
+ }
120
+ finally {
121
+ await fronted.shutdown();
122
+ await sender.shutdown();
123
+ }
124
+ });
125
+ //# sourceMappingURL=cc-peer-fronted-approval.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-peer-fronted-approval.integration.test.js","sourceRoot":"","sources":["../../src/test/cc-peer-fronted-approval.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dm-grant-actions.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dm-grant-actions.unit.test.d.ts","sourceRoot":"","sources":["../../src/test/dm-grant-actions.unit.test.ts"],"names":[],"mappings":""}