agent-comms 8.15.26 → 9.0.1

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 (84) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -2
  3. package/dist/bridges/user/web/actions.d.ts +0 -8
  4. package/dist/bridges/user/web/actions.d.ts.map +1 -1
  5. package/dist/bridges/user/web/actions.js +0 -35
  6. package/dist/bridges/user/web/actions.js.map +1 -1
  7. package/dist/bridges/user/web/contract.d.ts +0 -19
  8. package/dist/bridges/user/web/contract.d.ts.map +1 -1
  9. package/dist/bridges/user/web/contract.js +0 -16
  10. package/dist/bridges/user/web/contract.js.map +1 -1
  11. package/dist/bridges/user/web/dist/bundle.js +1 -1
  12. package/dist/bridges/user/web/dist/mesh-worker.js +4 -4
  13. package/dist/bridges/user/web/dist/sw.js +1 -1
  14. package/dist/bridges/user/web/frontend/dispatch-action.d.ts +1 -1
  15. package/dist/bridges/user/web/frontend/dispatch-action.d.ts.map +1 -1
  16. package/dist/bridges/user/web/frontend/dispatch-action.js +0 -26
  17. package/dist/bridges/user/web/frontend/dispatch-action.js.map +1 -1
  18. package/dist/bridges/user/web/frontend/mesh-worker.d.ts.map +1 -1
  19. package/dist/bridges/user/web/frontend/mesh-worker.js +0 -6
  20. package/dist/bridges/user/web/frontend/mesh-worker.js.map +1 -1
  21. package/dist/bridges/user/web/frontend/project-tree.js +1 -1
  22. package/dist/bridges/user/web/frontend/project-tree.js.map +1 -1
  23. package/dist/bridges/user/web/frontend/sw.d.ts +1 -4
  24. package/dist/bridges/user/web/frontend/sw.d.ts.map +1 -1
  25. package/dist/bridges/user/web/frontend/sw.js +1 -54
  26. package/dist/bridges/user/web/frontend/sw.js.map +1 -1
  27. package/dist/bridges/user/web/frontend/tab-contract.d.ts +0 -19
  28. package/dist/bridges/user/web/frontend/tab-contract.d.ts.map +1 -1
  29. package/dist/bridges/user/web/router.d.ts +0 -21
  30. package/dist/bridges/user/web/router.d.ts.map +1 -1
  31. package/dist/bridges/user/web/router.js +1 -3
  32. package/dist/bridges/user/web/router.js.map +1 -1
  33. package/dist/bridges/user/web/server.d.ts +0 -2
  34. package/dist/bridges/user/web/server.d.ts.map +1 -1
  35. package/dist/bridges/user/web/server.js +2 -36
  36. package/dist/bridges/user/web/server.js.map +1 -1
  37. package/dist/bridges/user/web/test/contract.unit.test.js +3 -3
  38. package/dist/bridges/user/web/test/contract.unit.test.js.map +1 -1
  39. package/dist/bridges/user/web/test/web-server-unbuilt-frontend.integration.test.js +2 -2
  40. package/dist/bridges/user/web/test/web-server-unbuilt-frontend.integration.test.js.map +1 -1
  41. package/dist/bridges/user/web/test/web-server.integration.test.js +10 -0
  42. package/dist/bridges/user/web/test/web-server.integration.test.js.map +1 -1
  43. package/dist/core/bridge.d.ts +1 -0
  44. package/dist/core/bridge.d.ts.map +1 -1
  45. package/dist/core/bridge.js +3 -0
  46. package/dist/core/bridge.js.map +1 -1
  47. package/dist/core/index.d.ts +0 -4
  48. package/dist/core/index.d.ts.map +1 -1
  49. package/dist/core/index.js +0 -2
  50. package/dist/core/index.js.map +1 -1
  51. package/dist/test/mcp-tool-action-enum.unit.test.d.ts +2 -0
  52. package/dist/test/mcp-tool-action-enum.unit.test.d.ts.map +1 -0
  53. package/dist/test/mcp-tool-action-enum.unit.test.js +19 -0
  54. package/dist/test/mcp-tool-action-enum.unit.test.js.map +1 -0
  55. package/dist/test/plugin-hooks.unit.test.d.ts +2 -0
  56. package/dist/test/plugin-hooks.unit.test.d.ts.map +1 -0
  57. package/dist/test/plugin-hooks.unit.test.js +82 -0
  58. package/dist/test/plugin-hooks.unit.test.js.map +1 -0
  59. package/hooks/hooks.json +39 -37
  60. package/package.json +1 -1
  61. package/src/bridges/user/web/actions.ts +0 -43
  62. package/src/bridges/user/web/contract.ts +0 -22
  63. package/src/bridges/user/web/dist/bundle.js +1 -1
  64. package/src/bridges/user/web/dist/mesh-worker.js +4 -4
  65. package/src/bridges/user/web/dist/sw.js +1 -1
  66. package/src/bridges/user/web/router.ts +0 -12
  67. package/src/bridges/user/web/server.ts +2 -41
  68. package/src/core/bridge.ts +3 -0
  69. package/src/core/index.ts +0 -4
  70. package/dist/core/push-manager.d.ts +0 -40
  71. package/dist/core/push-manager.d.ts.map +0 -1
  72. package/dist/core/push-manager.js +0 -60
  73. package/dist/core/push-manager.js.map +0 -1
  74. package/dist/core/vapid.d.ts +0 -22
  75. package/dist/core/vapid.d.ts.map +0 -1
  76. package/dist/core/vapid.js +0 -54
  77. package/dist/core/vapid.js.map +0 -1
  78. package/dist/core/web-push.d.ts +0 -37
  79. package/dist/core/web-push.d.ts.map +0 -1
  80. package/dist/core/web-push.js +0 -216
  81. package/dist/core/web-push.js.map +0 -1
  82. package/src/core/push-manager.ts +0 -76
  83. package/src/core/vapid.ts +0 -81
  84. package/src/core/web-push.ts +0 -322
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.15.26",
4
+ "version": "9.0.1",
5
5
  "bin": {
6
6
  "agent-comms": "dist/cli.js"
7
7
  },
@@ -4,8 +4,6 @@
4
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
5
  */
6
6
 
7
- import type { PushManager } from "../../../core/push-manager.js";
8
- import type { PushSubscription } from "../../../core/web-push.js";
9
7
  import type { ChatController } from "../controller.js";
10
8
  import type { ActionResult } from "./contract.js";
11
9
 
@@ -130,44 +128,3 @@ export async function renameAgentAction(
130
128
  }
131
129
  return controller.renameAgent(input.agent, input.name);
132
130
  }
133
-
134
- function isPushSubscription(value: unknown): value is PushSubscription {
135
- if (typeof value !== "object" || value === null) return false;
136
- if (!("endpoint" in value) || typeof value.endpoint !== "string")
137
- return false;
138
- if (!("keys" in value)) return false;
139
- const keys = value.keys;
140
- if (typeof keys !== "object" || keys === null) return false;
141
- if (!("p256dh" in keys) || typeof keys.p256dh !== "string") return false;
142
- if (!("auth" in keys) || typeof keys.auth !== "string") return false;
143
- return true;
144
- }
145
-
146
- export function pushSubscribeAction(
147
- controller: ChatController,
148
- pushManager: PushManager | undefined,
149
- input: Readonly<{ subscription: unknown; agentId?: string | undefined }>,
150
- ): ActionResult {
151
- if (!pushManager) {
152
- return { content: "Push notifications unavailable", isError: true };
153
- }
154
- if (!isPushSubscription(input.subscription)) {
155
- return { content: "Invalid push subscription", isError: true };
156
- }
157
- const agentId = input.agentId ?? controller.agentId;
158
- pushManager.addSubscription(agentId, input.subscription);
159
- return { content: "Push subscription registered", isError: false };
160
- }
161
-
162
- export function pushUnsubscribeAction(
163
- controller: ChatController,
164
- pushManager: PushManager | undefined,
165
- input: Readonly<{ agentId?: string | undefined }>,
166
- ): ActionResult {
167
- if (!pushManager) {
168
- return { content: "Push notifications unavailable", isError: true };
169
- }
170
- const agentId = input.agentId ?? controller.agentId;
171
- pushManager.removeSubscription(agentId);
172
- return { content: "Push subscription removed", isError: false };
173
- }
@@ -108,15 +108,6 @@ const MeshEventSchema = z.discriminatedUnion("kind", [
108
108
  z.object({ kind: z.literal("delivery"), event: DeliveryEventSchema }),
109
109
  ]);
110
110
 
111
- // ---------------------------------------------------------------------------
112
- // Push subscription (PWA)
113
- // ---------------------------------------------------------------------------
114
-
115
- const PushSubscriptionSchema = z.object({
116
- endpoint: z.string(),
117
- keys: z.object({ p256dh: z.string(), auth: z.string() }),
118
- });
119
-
120
111
  // ---------------------------------------------------------------------------
121
112
  // Contract
122
113
  // ---------------------------------------------------------------------------
@@ -174,19 +165,6 @@ export const meshContract = {
174
165
  .input(z.object({ agent: z.string(), name: z.string() }))
175
166
  .output(ActionResultSchema),
176
167
 
177
- pushSubscribe: oc
178
- .input(
179
- z.object({
180
- subscription: PushSubscriptionSchema,
181
- agentId: z.string().optional(),
182
- }),
183
- )
184
- .output(ActionResultSchema),
185
-
186
- pushUnsubscribe: oc
187
- .input(z.object({ agentId: z.string().optional() }))
188
- .output(ActionResultSchema),
189
-
190
168
  subscribeEvents: oc
191
169
  .input(z.object({ lastEventId: z.string().optional() }))
192
170
  .output(eventIterator(MeshEventSchema)),