agent-comms 3.20.0 → 3.22.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 (161) 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/bridges/cc-peer/front-runtime.d.ts.map +1 -1
  5. package/dist/bridges/cc-peer/front-runtime.js +2 -1
  6. package/dist/bridges/cc-peer/front-runtime.js.map +1 -1
  7. package/dist/bridges/cc-peer/run.d.ts.map +1 -1
  8. package/dist/bridges/cc-peer/run.js +2 -1
  9. package/dist/bridges/cc-peer/run.js.map +1 -1
  10. package/dist/bridges/user/web/actions.d.ts +59 -0
  11. package/dist/bridges/user/web/actions.d.ts.map +1 -0
  12. package/dist/bridges/user/web/actions.js +109 -0
  13. package/dist/bridges/user/web/actions.js.map +1 -0
  14. package/dist/bridges/user/web/contract.d.ts +1796 -0
  15. package/dist/bridges/user/web/contract.d.ts.map +1 -0
  16. package/dist/bridges/user/web/contract.js +120 -0
  17. package/dist/bridges/user/web/contract.js.map +1 -0
  18. package/dist/bridges/user/web/dist/bundle.js +1 -1
  19. package/dist/bridges/user/web/dist/sw.js +1 -1
  20. package/dist/bridges/user/web/event-publisher.d.ts +30 -0
  21. package/dist/bridges/user/web/event-publisher.d.ts.map +1 -0
  22. package/dist/bridges/user/web/event-publisher.js +84 -0
  23. package/dist/bridges/user/web/event-publisher.js.map +1 -0
  24. package/dist/bridges/user/web/frontend/components/App.d.ts.map +1 -1
  25. package/dist/bridges/user/web/frontend/components/App.js +1 -1
  26. package/dist/bridges/user/web/frontend/components/App.js.map +1 -1
  27. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts +3 -2
  28. package/dist/bridges/user/web/frontend/components/ChatArea.d.ts.map +1 -1
  29. package/dist/bridges/user/web/frontend/components/ChatArea.js +6 -2
  30. package/dist/bridges/user/web/frontend/components/ChatArea.js.map +1 -1
  31. package/dist/bridges/user/web/frontend/main.js +5 -2
  32. package/dist/bridges/user/web/frontend/main.js.map +1 -1
  33. package/dist/bridges/user/web/router.d.ts +696 -0
  34. package/dist/bridges/user/web/router.d.ts.map +1 -0
  35. package/dist/bridges/user/web/router.js +50 -0
  36. package/dist/bridges/user/web/router.js.map +1 -0
  37. package/dist/bridges/user/web/server.d.ts +2 -0
  38. package/dist/bridges/user/web/server.d.ts.map +1 -1
  39. package/dist/bridges/user/web/server.js +94 -114
  40. package/dist/bridges/user/web/server.js.map +1 -1
  41. package/dist/bridges/user/web/test/contract.unit.test.d.ts +2 -0
  42. package/dist/bridges/user/web/test/contract.unit.test.d.ts.map +1 -0
  43. package/dist/bridges/user/web/test/contract.unit.test.js +56 -0
  44. package/dist/bridges/user/web/test/contract.unit.test.js.map +1 -0
  45. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts +7 -0
  46. package/dist/bridges/user/web/test/orpc-router.integration.test.d.ts.map +1 -0
  47. package/dist/bridges/user/web/test/orpc-router.integration.test.js +214 -0
  48. package/dist/bridges/user/web/test/orpc-router.integration.test.js.map +1 -0
  49. package/dist/core/bridge-mesh.d.ts +2 -0
  50. package/dist/core/bridge-mesh.d.ts.map +1 -1
  51. package/dist/core/bridge-mesh.js +5 -1
  52. package/dist/core/bridge-mesh.js.map +1 -1
  53. package/dist/core/bridge.d.ts +4 -0
  54. package/dist/core/bridge.d.ts.map +1 -1
  55. package/dist/core/bridge.js +19 -0
  56. package/dist/core/bridge.js.map +1 -1
  57. package/dist/core/data-frame-routing.d.ts +14 -0
  58. package/dist/core/data-frame-routing.d.ts.map +1 -0
  59. package/dist/core/data-frame-routing.js +37 -0
  60. package/dist/core/data-frame-routing.js.map +1 -0
  61. package/dist/core/gossip-directory.d.ts +11 -2
  62. package/dist/core/gossip-directory.d.ts.map +1 -1
  63. package/dist/core/gossip-directory.js +32 -4
  64. package/dist/core/gossip-directory.js.map +1 -1
  65. package/dist/core/hub-session.d.ts +5 -1
  66. package/dist/core/hub-session.d.ts.map +1 -1
  67. package/dist/core/hub-session.js +24 -0
  68. package/dist/core/hub-session.js.map +1 -1
  69. package/dist/core/mesh-graph-trace-tool.d.ts +12 -0
  70. package/dist/core/mesh-graph-trace-tool.d.ts.map +1 -0
  71. package/dist/core/mesh-graph-trace-tool.js +60 -0
  72. package/dist/core/mesh-graph-trace-tool.js.map +1 -0
  73. package/dist/core/mesh-graph.d.ts +14 -0
  74. package/dist/core/mesh-graph.d.ts.map +1 -0
  75. package/dist/core/mesh-graph.js +46 -0
  76. package/dist/core/mesh-graph.js.map +1 -0
  77. package/dist/core/mesh-network-actions.d.ts +28 -0
  78. package/dist/core/mesh-network-actions.d.ts.map +1 -0
  79. package/dist/core/mesh-network-actions.js +143 -0
  80. package/dist/core/mesh-network-actions.js.map +1 -0
  81. package/dist/core/mesh-store.d.ts +19 -1
  82. package/dist/core/mesh-store.d.ts.map +1 -1
  83. package/dist/core/mesh-store.js +56 -0
  84. package/dist/core/mesh-store.js.map +1 -1
  85. package/dist/core/package-version.d.ts +4 -0
  86. package/dist/core/package-version.d.ts.map +1 -1
  87. package/dist/core/package-version.js +2 -1
  88. package/dist/core/package-version.js.map +1 -1
  89. package/dist/core/peer-versions.d.ts +16 -0
  90. package/dist/core/peer-versions.d.ts.map +1 -0
  91. package/dist/core/peer-versions.js +42 -0
  92. package/dist/core/peer-versions.js.map +1 -0
  93. package/dist/core/room-lifecycle.d.ts +5 -5
  94. package/dist/core/room-lifecycle.d.ts.map +1 -1
  95. package/dist/core/room-lifecycle.js +11 -5
  96. package/dist/core/room-lifecycle.js.map +1 -1
  97. package/dist/core/room-lookup.d.ts +9 -0
  98. package/dist/core/room-lookup.d.ts.map +1 -0
  99. package/dist/core/room-lookup.js +26 -0
  100. package/dist/core/room-lookup.js.map +1 -0
  101. package/dist/core/room-messaging.d.ts +2 -2
  102. package/dist/core/room-messaging.d.ts.map +1 -1
  103. package/dist/core/room-messaging.js +5 -2
  104. package/dist/core/room-messaging.js.map +1 -1
  105. package/dist/core/tool.d.ts +19 -10
  106. package/dist/core/tool.d.ts.map +1 -1
  107. package/dist/core/tool.js +25 -151
  108. package/dist/core/tool.js.map +1 -1
  109. package/dist/core/transport.d.ts +39 -0
  110. package/dist/core/transport.d.ts.map +1 -1
  111. package/dist/core/types.d.ts +18 -0
  112. package/dist/core/types.d.ts.map +1 -1
  113. package/dist/core/types.js +10 -0
  114. package/dist/core/types.js.map +1 -1
  115. package/dist/core/version-report-actions.d.ts +18 -0
  116. package/dist/core/version-report-actions.d.ts.map +1 -0
  117. package/dist/core/version-report-actions.js +51 -0
  118. package/dist/core/version-report-actions.js.map +1 -0
  119. package/dist/core/wire-mesh-core-version.d.ts +6 -0
  120. package/dist/core/wire-mesh-core-version.d.ts.map +1 -0
  121. package/dist/core/wire-mesh-core-version.js +20 -0
  122. package/dist/core/wire-mesh-core-version.js.map +1 -0
  123. package/dist/core/wire-mesh-transport.d.ts +11 -2
  124. package/dist/core/wire-mesh-transport.d.ts.map +1 -1
  125. package/dist/core/wire-mesh-transport.js +29 -46
  126. package/dist/core/wire-mesh-transport.js.map +1 -1
  127. package/dist/test/agent-comms-version-gossip.integration.test.d.ts +5 -0
  128. package/dist/test/agent-comms-version-gossip.integration.test.d.ts.map +1 -0
  129. package/dist/test/agent-comms-version-gossip.integration.test.js +103 -0
  130. package/dist/test/agent-comms-version-gossip.integration.test.js.map +1 -0
  131. package/dist/test/mesh-graph-trace-tool.test.d.ts +2 -0
  132. package/dist/test/mesh-graph-trace-tool.test.d.ts.map +1 -0
  133. package/dist/test/mesh-graph-trace-tool.test.js +104 -0
  134. package/dist/test/mesh-graph-trace-tool.test.js.map +1 -0
  135. package/dist/test/mesh-graph-trace.integration.test.d.ts +5 -0
  136. package/dist/test/mesh-graph-trace.integration.test.d.ts.map +1 -0
  137. package/dist/test/mesh-graph-trace.integration.test.js +146 -0
  138. package/dist/test/mesh-graph-trace.integration.test.js.map +1 -0
  139. package/dist/test/peer-versions.test.d.ts +5 -0
  140. package/dist/test/peer-versions.test.d.ts.map +1 -0
  141. package/dist/test/peer-versions.test.js +68 -0
  142. package/dist/test/peer-versions.test.js.map +1 -0
  143. package/dist/test/query-version.integration.test.d.ts +5 -0
  144. package/dist/test/query-version.integration.test.d.ts.map +1 -0
  145. package/dist/test/query-version.integration.test.js +64 -0
  146. package/dist/test/query-version.integration.test.js.map +1 -0
  147. package/dist/test/send-by-room-name.test.d.ts +5 -0
  148. package/dist/test/send-by-room-name.test.d.ts.map +1 -0
  149. package/dist/test/send-by-room-name.test.js +77 -0
  150. package/dist/test/send-by-room-name.test.js.map +1 -0
  151. package/dist/test/tool-version-reporting.test.js +38 -0
  152. package/dist/test/tool-version-reporting.test.js.map +1 -1
  153. package/dist/test/version-report-actions.test.d.ts +5 -0
  154. package/dist/test/version-report-actions.test.d.ts.map +1 -0
  155. package/dist/test/version-report-actions.test.js +88 -0
  156. package/dist/test/version-report-actions.test.js.map +1 -0
  157. package/dist/test/wire-mesh-core-version.test.d.ts +5 -0
  158. package/dist/test/wire-mesh-core-version.test.d.ts.map +1 -0
  159. package/dist/test/wire-mesh-core-version.test.js +14 -0
  160. package/dist/test/wire-mesh-core-version.test.js.map +1 -0
  161. package/package.json +6 -3
@@ -15,7 +15,7 @@
15
15
  "url": "https://github.com/ExaDev/agent-comms.git"
16
16
  },
17
17
  "description": "Cross-harness LLM agent communication mesh — rooms, DMs, and presence",
18
- "version": "3.20.0"
18
+ "version": "3.22.0"
19
19
  }
20
20
  ]
21
21
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-comms",
3
3
  "description": "Cross-harness LLM agent communication mesh — rooms, DMs, and presence",
4
- "version": "3.20.0",
4
+ "version": "3.22.0",
5
5
  "author": {
6
6
  "name": "ExaDev"
7
7
  },
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![GitHub](https://img.shields.io/badge/GitHub-181717?logo=github&logoColor=white)](https://github.com/ExaDev/agent-comms)
4
4
  [![npm](https://img.shields.io/badge/npm-CB3837?logo=npm&logoColor=white)](https://www.npmjs.com/package/agent-comms)
5
- [![version](https://img.shields.io/badge/version-3.20.0-blue)](https://github.com/ExaDev/agent-comms/releases/tag/v3.20.0)
5
+ [![version](https://img.shields.io/badge/version-3.22.0-blue)](https://github.com/ExaDev/agent-comms/releases/tag/v3.22.0)
6
6
  [![CI](https://img.shields.io/github/actions/workflow/status/ExaDev/agent-comms/ci.yml?branch=main)](https://github.com/ExaDev/agent-comms/actions)
7
7
 
8
8
  Cross-harness communication mesh for LLM agents: rooms, DMs, presence, and visibility over TCP with zero filesystem dependencies.
@@ -1 +1 @@
1
- {"version":3,"file":"front-runtime.d.ts","sourceRoot":"","sources":["../../../src/bridges/cc-peer/front-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,+BAA+B;IAC9C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD;AAOD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,QAAQ,CAAC,+BAA+B,CAAM,GACtD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAwFzD"}
1
+ {"version":3,"file":"front-runtime.d.ts","sourceRoot":"","sources":["../../../src/bridges/cc-peer/front-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,+BAA+B;IAC9C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD;AAOD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,QAAQ,CAAC,+BAA+B,CAAM,GACtD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAyFzD"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Untested directly, exactly like run.ts's own real construction (see cc-peer-bridge.test.ts's header comment): front.ts, front-controller.ts, and front-relay.ts already carry the front's entire decision/diffing/relay logic under direct DI-based unit tests, so this file's only remaining job -- calling the real cc-peer/core APIs in the right order -- is exercised by actually running a bridge as this machine's coordinator.
5
5
  */
6
- import { CcPeer } from "cc-peer";
6
+ import { CcPeer, CC_PEER_VERSION } from "cc-peer";
7
7
  import { AliasPool } from "cc-peer/alias-pool";
8
8
  import { createBridgeMeshFromIdentity, ensureRegistered, ensureProjectRoom, } from "../../core/index.js";
9
9
  import { loadIdentityForFront, probeSlotOwner, } from "../../core/identity-store.js";
@@ -73,6 +73,7 @@ export function createDefaultCcPeerFront(options = {}) {
73
73
  const slot = computeFrontSlot(entry.cwd);
74
74
  const identity = loadIdentityForFront(slot);
75
75
  const { store, tool } = await createBridgeMeshFromIdentity(identity, slot, options.coordinatorPort, options.hubUrl);
76
+ store.getCcPeerVersion = () => CC_PEER_VERSION;
76
77
  const reg = await ensureRegistered({
77
78
  store,
78
79
  harness: "claude-code",
@@ -1 +1 @@
1
- {"version":3,"file":"front-runtime.js","sourceRoot":"","sources":["../../../src/bridges/cc-peer/front-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"front-runtime.js","sourceRoot":"","sources":["../../../src/bridges/cc-peer/front-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/bridges/cc-peer/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoCH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CzC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/bridges/cc-peer/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoCH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CzC"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Constructs the real CcPeer and MeshStore, then hands both to wireCcPeerBridge for the actual relay wiring (see bridge.ts).
7
7
  */
8
- import { CcPeer } from "cc-peer";
8
+ import { CcPeer, CC_PEER_VERSION } from "cc-peer";
9
9
  import { createBridgeMesh, ensureRegistered, ensureProjectRoom, } from "../../core/index.js";
10
10
  import { releaseIdentityLock } from "../../core/identity-store.js";
11
11
  import { wireCcPeerBridge } from "./bridge.js";
@@ -33,6 +33,7 @@ export async function run() {
33
33
  const target = parseTarget(process.argv.slice(BRIDGE_ARGS_START_INDEX));
34
34
  const identitySlot = { harness: "cc-peer", cwd: process.cwd() };
35
35
  const { store, tool } = await createBridgeMesh(identitySlot);
36
+ store.getCcPeerVersion = () => CC_PEER_VERSION;
36
37
  store.onCoordinatorRoleChanged = wireDefaultCcPeerFront(store);
37
38
  const reg = await ensureRegistered({
38
39
  store,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/bridges/cc-peer/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/bridges/cc-peer/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Plain action functions -- one per browser-facing action, extracted from server.ts's executeAction switch so both the legacy /api/action REST dispatcher and the new oRPC router call the same implementation instead of two copies drifting apart.
3
+ *
4
+ * Each function preserves executeAction's exact prior validation behaviour (empty string treated the same as missing) even though the oRPC contract's own Zod schemas already enforce presence and type -- the contract validates shape, these functions still validate the same business rules the REST path has always enforced.
5
+ */
6
+ import type { PushManager } from "../../../core/push-manager.js";
7
+ import type { ChatController } from "../controller.js";
8
+ import type { ActionResult } from "./contract.js";
9
+ export declare function sendAction(controller: ChatController, input: Readonly<{
10
+ target: string;
11
+ content: string;
12
+ }>): Promise<ActionResult>;
13
+ export declare function dmAction(controller: ChatController, input: Readonly<{
14
+ target: string;
15
+ content: string;
16
+ }>): Promise<ActionResult>;
17
+ export declare function joinRoomAction(controller: ChatController, input: Readonly<{
18
+ room: string;
19
+ }>): Promise<ActionResult>;
20
+ export declare function leaveRoomAction(controller: ChatController, input: Readonly<{
21
+ room?: string | undefined;
22
+ }>): Promise<ActionResult>;
23
+ export declare function createRoomAction(controller: ChatController, input: Readonly<{
24
+ name: string;
25
+ type: "public" | "private" | "secret";
26
+ description?: string | undefined;
27
+ }>): Promise<ActionResult>;
28
+ export declare function listRoomsAction(controller: ChatController): Promise<ActionResult>;
29
+ export declare function listAgentsAction(controller: ChatController): Promise<ActionResult>;
30
+ export declare function readRoomAction(controller: ChatController, input: Readonly<{
31
+ room?: string | undefined;
32
+ }>): Promise<ActionResult>;
33
+ export declare function destroyRoomAction(controller: ChatController, input: Readonly<{
34
+ room: string;
35
+ }>): Promise<ActionResult>;
36
+ export declare function inviteAction(controller: ChatController, input: Readonly<{
37
+ room: string;
38
+ agent: string;
39
+ }>): Promise<ActionResult>;
40
+ export declare function declineInviteAction(controller: ChatController, input: Readonly<{
41
+ room: string;
42
+ reason: string;
43
+ }>): Promise<ActionResult>;
44
+ export declare function kickAction(controller: ChatController, input: Readonly<{
45
+ room: string;
46
+ agent: string;
47
+ }>): Promise<ActionResult>;
48
+ export declare function renameAgentAction(controller: ChatController, input: Readonly<{
49
+ agent: string;
50
+ name: string;
51
+ }>): Promise<ActionResult>;
52
+ export declare function pushSubscribeAction(controller: ChatController, pushManager: PushManager | undefined, input: Readonly<{
53
+ subscription: unknown;
54
+ agentId?: string | undefined;
55
+ }>): ActionResult;
56
+ export declare function pushUnsubscribeAction(controller: ChatController, pushManager: PushManager | undefined, input: Readonly<{
57
+ agentId?: string | undefined;
58
+ }>): ActionResult;
59
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/bridges/user/web/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Plain action functions -- one per browser-facing action, extracted from server.ts's executeAction switch so both the legacy /api/action REST dispatcher and the new oRPC router call the same implementation instead of two copies drifting apart.
3
+ *
4
+ * Each function preserves executeAction's exact prior validation behaviour (empty string treated the same as missing) even though the oRPC contract's own Zod schemas already enforce presence and type -- the contract validates shape, these functions still validate the same business rules the REST path has always enforced.
5
+ */
6
+ export async function sendAction(controller, input) {
7
+ if (input.target === "" || input.content === "") {
8
+ return { content: "Missing target or content", isError: true };
9
+ }
10
+ return controller.send(input.target, input.content);
11
+ }
12
+ export async function dmAction(controller, input) {
13
+ if (input.target === "" || input.content === "") {
14
+ return { content: "Missing target or content", isError: true };
15
+ }
16
+ return controller.dm(input.target, input.content);
17
+ }
18
+ export async function joinRoomAction(controller, input) {
19
+ if (input.room === "")
20
+ return { content: "Missing room", isError: true };
21
+ const result = await controller.switchRoom(input.room);
22
+ if (!result.isError) {
23
+ const msgs = await controller.readRoom();
24
+ return { content: `${result.content}\n${msgs.content}`, isError: false };
25
+ }
26
+ return result;
27
+ }
28
+ export async function leaveRoomAction(controller, input) {
29
+ return controller.leaveRoom(input.room);
30
+ }
31
+ export async function createRoomAction(controller, input) {
32
+ if (input.name === "")
33
+ return { content: "Missing name", isError: true };
34
+ return controller.createRoom(input.name, input.type, input.description ?? "");
35
+ }
36
+ export async function listRoomsAction(controller) {
37
+ return controller.listRooms();
38
+ }
39
+ export async function listAgentsAction(controller) {
40
+ return controller.listAgents();
41
+ }
42
+ export async function readRoomAction(controller, input) {
43
+ return controller.readRoom(input.room);
44
+ }
45
+ export async function destroyRoomAction(controller, input) {
46
+ if (input.room === "")
47
+ return { content: "Missing room", isError: true };
48
+ return controller.destroyRoom(input.room);
49
+ }
50
+ export async function inviteAction(controller, input) {
51
+ if (input.room === "" || input.agent === "") {
52
+ return { content: "Missing room or agent", isError: true };
53
+ }
54
+ return controller.invite(input.room, input.agent);
55
+ }
56
+ export async function declineInviteAction(controller, input) {
57
+ if (input.room === "" || input.reason === "") {
58
+ return { content: "Missing room or reason", isError: true };
59
+ }
60
+ return controller.declineInvite(input.room, input.reason);
61
+ }
62
+ export async function kickAction(controller, input) {
63
+ if (input.room === "" || input.agent === "") {
64
+ return { content: "Missing room or agent", isError: true };
65
+ }
66
+ return controller.kick(input.room, input.agent);
67
+ }
68
+ export async function renameAgentAction(controller, input) {
69
+ if (input.agent === "" || input.name === "") {
70
+ return { content: "Missing agent or name", isError: true };
71
+ }
72
+ return controller.renameAgent(input.agent, input.name);
73
+ }
74
+ function isPushSubscription(value) {
75
+ if (typeof value !== "object" || value === null)
76
+ return false;
77
+ if (!("endpoint" in value) || typeof value.endpoint !== "string")
78
+ return false;
79
+ if (!("keys" in value))
80
+ return false;
81
+ const keys = value.keys;
82
+ if (typeof keys !== "object" || keys === null)
83
+ return false;
84
+ if (!("p256dh" in keys) || typeof keys.p256dh !== "string")
85
+ return false;
86
+ if (!("auth" in keys) || typeof keys.auth !== "string")
87
+ return false;
88
+ return true;
89
+ }
90
+ export function pushSubscribeAction(controller, pushManager, input) {
91
+ if (!pushManager) {
92
+ return { content: "Push notifications unavailable", isError: true };
93
+ }
94
+ if (!isPushSubscription(input.subscription)) {
95
+ return { content: "Invalid push subscription", isError: true };
96
+ }
97
+ const agentId = input.agentId ?? controller.agentId;
98
+ pushManager.addSubscription(agentId, input.subscription);
99
+ return { content: "Push subscription registered", isError: false };
100
+ }
101
+ export function pushUnsubscribeAction(controller, pushManager, input) {
102
+ if (!pushManager) {
103
+ return { content: "Push notifications unavailable", isError: true };
104
+ }
105
+ const agentId = input.agentId ?? controller.agentId;
106
+ pushManager.removeSubscription(agentId);
107
+ return { content: "Push subscription removed", isError: false };
108
+ }
109
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/bridges/user/web/actions.ts"],"names":[],"mappings":"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"}