@chozzz/vargos 2.0.3 → 2.0.5

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 (296) hide show
  1. package/package.json +8 -3
  2. package/.templates/vargos/agent/extensions/anthropic-custom-payload.patch.json +0 -34
  3. package/.templates/vargos/agent/extensions/anthropic-custom-payload.ts +0 -74
  4. package/.templates/vargos/agent/mcp.json +0 -9
  5. package/.templates/vargos/agent/skills/skill-creator/SKILL.md +0 -77
  6. package/.templates/vargos/agent/skills/token-capture/SKILL.md +0 -33
  7. package/.templates/vargos/agent/skills/token-capture/scripts/capture-bearer-token.sh +0 -139
  8. package/.templates/vargos/agents/README +0 -5
  9. package/.templates/vargos/agents/default.md +0 -7
  10. package/.templates/vargos/config.json +0 -1
  11. package/.templates/vargos/cron/heartbeat.md +0 -11
  12. package/.templates/vargos/workspace/AGENTS.md +0 -70
  13. package/.templates/vargos/workspace/HEARTBEAT.md +0 -26
  14. package/.templates/vargos/workspace/MEMORY.md +0 -15
  15. package/.templates/vargos/workspace/SOUL.md +0 -51
  16. package/.templates/vargos/workspace/TOOLS.md +0 -36
  17. package/dist/edge/mcp/index.d.ts +0 -33
  18. package/dist/edge/mcp/index.d.ts.map +0 -1
  19. package/dist/edge/mcp/index.js +0 -217
  20. package/dist/edge/mcp/index.js.map +0 -1
  21. package/dist/edge/webhooks/index.d.ts +0 -33
  22. package/dist/edge/webhooks/index.d.ts.map +0 -1
  23. package/dist/edge/webhooks/index.js +0 -231
  24. package/dist/edge/webhooks/index.js.map +0 -1
  25. package/dist/edge/webhooks/transform.d.ts +0 -8
  26. package/dist/edge/webhooks/transform.d.ts.map +0 -1
  27. package/dist/edge/webhooks/transform.js +0 -29
  28. package/dist/edge/webhooks/transform.js.map +0 -1
  29. package/dist/gateway/bus.d.ts +0 -48
  30. package/dist/gateway/bus.d.ts.map +0 -1
  31. package/dist/gateway/bus.js +0 -2
  32. package/dist/gateway/bus.js.map +0 -1
  33. package/dist/gateway/decorators.d.ts +0 -40
  34. package/dist/gateway/decorators.d.ts.map +0 -1
  35. package/dist/gateway/decorators.js +0 -43
  36. package/dist/gateway/decorators.js.map +0 -1
  37. package/dist/gateway/emitter.d.ts +0 -42
  38. package/dist/gateway/emitter.d.ts.map +0 -1
  39. package/dist/gateway/emitter.js +0 -259
  40. package/dist/gateway/emitter.js.map +0 -1
  41. package/dist/gateway/events.d.ts +0 -343
  42. package/dist/gateway/events.d.ts.map +0 -1
  43. package/dist/gateway/events.js +0 -7
  44. package/dist/gateway/events.js.map +0 -1
  45. package/dist/gateway/tcp-server.d.ts +0 -7
  46. package/dist/gateway/tcp-server.d.ts.map +0 -1
  47. package/dist/gateway/tcp-server.js +0 -115
  48. package/dist/gateway/tcp-server.js.map +0 -1
  49. package/dist/index.d.ts +0 -2
  50. package/dist/index.d.ts.map +0 -1
  51. package/dist/index.js +0 -74
  52. package/dist/index.js.map +0 -1
  53. package/dist/scripts/migrate-cron-sessions.d.ts +0 -10
  54. package/dist/scripts/migrate-cron-sessions.d.ts.map +0 -1
  55. package/dist/scripts/migrate-cron-sessions.js +0 -139
  56. package/dist/scripts/migrate-cron-sessions.js.map +0 -1
  57. package/dist/scripts/seed.d.ts +0 -2
  58. package/dist/scripts/seed.d.ts.map +0 -1
  59. package/dist/scripts/seed.js +0 -4
  60. package/dist/scripts/seed.js.map +0 -1
  61. package/dist/services/agent/directives.d.ts +0 -14
  62. package/dist/services/agent/directives.d.ts.map +0 -1
  63. package/dist/services/agent/directives.js +0 -32
  64. package/dist/services/agent/directives.js.map +0 -1
  65. package/dist/services/agent/index.d.ts +0 -104
  66. package/dist/services/agent/index.d.ts.map +0 -1
  67. package/dist/services/agent/index.js +0 -534
  68. package/dist/services/agent/index.js.map +0 -1
  69. package/dist/services/agent/persona.d.ts +0 -15
  70. package/dist/services/agent/persona.d.ts.map +0 -1
  71. package/dist/services/agent/persona.js +0 -63
  72. package/dist/services/agent/persona.js.map +0 -1
  73. package/dist/services/agent/prompt-interpolate.d.ts +0 -41
  74. package/dist/services/agent/prompt-interpolate.d.ts.map +0 -1
  75. package/dist/services/agent/prompt-interpolate.js +0 -102
  76. package/dist/services/agent/prompt-interpolate.js.map +0 -1
  77. package/dist/services/agent/schema.d.ts +0 -10
  78. package/dist/services/agent/schema.d.ts.map +0 -1
  79. package/dist/services/agent/schema.js +0 -5
  80. package/dist/services/agent/schema.js.map +0 -1
  81. package/dist/services/agent/tools.d.ts +0 -26
  82. package/dist/services/agent/tools.d.ts.map +0 -1
  83. package/dist/services/agent/tools.js +0 -85
  84. package/dist/services/agent/tools.js.map +0 -1
  85. package/dist/services/channels/base-adapter.d.ts +0 -61
  86. package/dist/services/channels/base-adapter.d.ts.map +0 -1
  87. package/dist/services/channels/base-adapter.js +0 -181
  88. package/dist/services/channels/base-adapter.js.map +0 -1
  89. package/dist/services/channels/contracts.d.ts +0 -75
  90. package/dist/services/channels/contracts.d.ts.map +0 -1
  91. package/dist/services/channels/contracts.js +0 -6
  92. package/dist/services/channels/contracts.js.map +0 -1
  93. package/dist/services/channels/debounce.d.ts +0 -22
  94. package/dist/services/channels/debounce.d.ts.map +0 -1
  95. package/dist/services/channels/debounce.js +0 -53
  96. package/dist/services/channels/debounce.js.map +0 -1
  97. package/dist/services/channels/dedupe.d.ts +0 -19
  98. package/dist/services/channels/dedupe.d.ts.map +0 -1
  99. package/dist/services/channels/dedupe.js +0 -52
  100. package/dist/services/channels/dedupe.js.map +0 -1
  101. package/dist/services/channels/delivery.d.ts +0 -12
  102. package/dist/services/channels/delivery.d.ts.map +0 -1
  103. package/dist/services/channels/delivery.js +0 -53
  104. package/dist/services/channels/delivery.js.map +0 -1
  105. package/dist/services/channels/index.d.ts +0 -53
  106. package/dist/services/channels/index.d.ts.map +0 -1
  107. package/dist/services/channels/index.js +0 -405
  108. package/dist/services/channels/index.js.map +0 -1
  109. package/dist/services/channels/link-expand.d.ts +0 -8
  110. package/dist/services/channels/link-expand.d.ts.map +0 -1
  111. package/dist/services/channels/link-expand.js +0 -28
  112. package/dist/services/channels/link-expand.js.map +0 -1
  113. package/dist/services/channels/media-extract.d.ts +0 -7
  114. package/dist/services/channels/media-extract.d.ts.map +0 -1
  115. package/dist/services/channels/media-extract.js +0 -31
  116. package/dist/services/channels/media-extract.js.map +0 -1
  117. package/dist/services/channels/pipeline.d.ts +0 -29
  118. package/dist/services/channels/pipeline.d.ts.map +0 -1
  119. package/dist/services/channels/pipeline.js +0 -120
  120. package/dist/services/channels/pipeline.js.map +0 -1
  121. package/dist/services/channels/provider-loader.d.ts +0 -7
  122. package/dist/services/channels/provider-loader.d.ts.map +0 -1
  123. package/dist/services/channels/provider-loader.js +0 -13
  124. package/dist/services/channels/provider-loader.js.map +0 -1
  125. package/dist/services/channels/providers/telegram/adapter.d.ts +0 -34
  126. package/dist/services/channels/providers/telegram/adapter.d.ts.map +0 -1
  127. package/dist/services/channels/providers/telegram/adapter.js +0 -278
  128. package/dist/services/channels/providers/telegram/adapter.js.map +0 -1
  129. package/dist/services/channels/providers/telegram/index.d.ts +0 -11
  130. package/dist/services/channels/providers/telegram/index.d.ts.map +0 -1
  131. package/dist/services/channels/providers/telegram/index.js +0 -11
  132. package/dist/services/channels/providers/telegram/index.js.map +0 -1
  133. package/dist/services/channels/providers/telegram/normalizer.d.ts +0 -12
  134. package/dist/services/channels/providers/telegram/normalizer.d.ts.map +0 -1
  135. package/dist/services/channels/providers/telegram/normalizer.js +0 -50
  136. package/dist/services/channels/providers/telegram/normalizer.js.map +0 -1
  137. package/dist/services/channels/providers/telegram/types.d.ts +0 -72
  138. package/dist/services/channels/providers/telegram/types.d.ts.map +0 -1
  139. package/dist/services/channels/providers/telegram/types.js +0 -3
  140. package/dist/services/channels/providers/telegram/types.js.map +0 -1
  141. package/dist/services/channels/providers/whatsapp/adapter.d.ts +0 -36
  142. package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +0 -1
  143. package/dist/services/channels/providers/whatsapp/adapter.js +0 -261
  144. package/dist/services/channels/providers/whatsapp/adapter.js.map +0 -1
  145. package/dist/services/channels/providers/whatsapp/index.d.ts +0 -11
  146. package/dist/services/channels/providers/whatsapp/index.d.ts.map +0 -1
  147. package/dist/services/channels/providers/whatsapp/index.js +0 -11
  148. package/dist/services/channels/providers/whatsapp/index.js.map +0 -1
  149. package/dist/services/channels/providers/whatsapp/normalizer.d.ts +0 -11
  150. package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +0 -1
  151. package/dist/services/channels/providers/whatsapp/normalizer.js +0 -47
  152. package/dist/services/channels/providers/whatsapp/normalizer.js.map +0 -1
  153. package/dist/services/channels/providers/whatsapp/session.d.ts +0 -9
  154. package/dist/services/channels/providers/whatsapp/session.d.ts.map +0 -1
  155. package/dist/services/channels/providers/whatsapp/session.js +0 -118
  156. package/dist/services/channels/providers/whatsapp/session.js.map +0 -1
  157. package/dist/services/channels/providers/whatsapp/types.d.ts +0 -23
  158. package/dist/services/channels/providers/whatsapp/types.d.ts.map +0 -1
  159. package/dist/services/channels/providers/whatsapp/types.js +0 -3
  160. package/dist/services/channels/providers/whatsapp/types.js.map +0 -1
  161. package/dist/services/channels/reconnect.d.ts +0 -23
  162. package/dist/services/channels/reconnect.d.ts.map +0 -1
  163. package/dist/services/channels/reconnect.js +0 -32
  164. package/dist/services/channels/reconnect.js.map +0 -1
  165. package/dist/services/channels/status-reactions.d.ts +0 -27
  166. package/dist/services/channels/status-reactions.d.ts.map +0 -1
  167. package/dist/services/channels/status-reactions.js +0 -63
  168. package/dist/services/channels/status-reactions.js.map +0 -1
  169. package/dist/services/channels/types.d.ts +0 -16
  170. package/dist/services/channels/types.d.ts.map +0 -1
  171. package/dist/services/channels/types.js +0 -2
  172. package/dist/services/channels/types.js.map +0 -1
  173. package/dist/services/channels/typing-state.d.ts +0 -22
  174. package/dist/services/channels/typing-state.d.ts.map +0 -1
  175. package/dist/services/channels/typing-state.js +0 -88
  176. package/dist/services/channels/typing-state.js.map +0 -1
  177. package/dist/services/config/index.d.ts +0 -2426
  178. package/dist/services/config/index.d.ts.map +0 -1
  179. package/dist/services/config/index.js +0 -232
  180. package/dist/services/config/index.js.map +0 -1
  181. package/dist/services/config/schemas/agent.d.ts +0 -720
  182. package/dist/services/config/schemas/agent.d.ts.map +0 -1
  183. package/dist/services/config/schemas/agent.js +0 -86
  184. package/dist/services/config/schemas/agent.js.map +0 -1
  185. package/dist/services/config/schemas/auth.d.ts +0 -60
  186. package/dist/services/config/schemas/auth.d.ts.map +0 -1
  187. package/dist/services/config/schemas/auth.js +0 -18
  188. package/dist/services/config/schemas/auth.js.map +0 -1
  189. package/dist/services/config/schemas/channels.d.ts +0 -117
  190. package/dist/services/config/schemas/channels.d.ts.map +0 -1
  191. package/dist/services/config/schemas/channels.js +0 -22
  192. package/dist/services/config/schemas/channels.js.map +0 -1
  193. package/dist/services/config/schemas/cron.d.ts +0 -97
  194. package/dist/services/config/schemas/cron.d.ts.map +0 -1
  195. package/dist/services/config/schemas/cron.js +0 -18
  196. package/dist/services/config/schemas/cron.js.map +0 -1
  197. package/dist/services/config/schemas/features.d.ts +0 -43
  198. package/dist/services/config/schemas/features.d.ts.map +0 -1
  199. package/dist/services/config/schemas/features.js +0 -20
  200. package/dist/services/config/schemas/features.js.map +0 -1
  201. package/dist/services/config/schemas/index.d.ts +0 -24
  202. package/dist/services/config/schemas/index.d.ts.map +0 -1
  203. package/dist/services/config/schemas/index.js +0 -24
  204. package/dist/services/config/schemas/index.js.map +0 -1
  205. package/dist/services/config/schemas/mcp.d.ts +0 -31
  206. package/dist/services/config/schemas/mcp.d.ts.map +0 -1
  207. package/dist/services/config/schemas/mcp.js +0 -39
  208. package/dist/services/config/schemas/mcp.js.map +0 -1
  209. package/dist/services/config/schemas/primitives.d.ts +0 -13
  210. package/dist/services/config/schemas/primitives.d.ts.map +0 -1
  211. package/dist/services/config/schemas/primitives.js +0 -17
  212. package/dist/services/config/schemas/primitives.js.map +0 -1
  213. package/dist/services/config/schemas/providers.d.ts +0 -335
  214. package/dist/services/config/schemas/providers.d.ts.map +0 -1
  215. package/dist/services/config/schemas/providers.js +0 -27
  216. package/dist/services/config/schemas/providers.js.map +0 -1
  217. package/dist/services/config/schemas/storage.d.ts +0 -16
  218. package/dist/services/config/schemas/storage.d.ts.map +0 -1
  219. package/dist/services/config/schemas/storage.js +0 -9
  220. package/dist/services/config/schemas/storage.js.map +0 -1
  221. package/dist/services/config/schemas/webhooks.d.ts +0 -25
  222. package/dist/services/config/schemas/webhooks.d.ts.map +0 -1
  223. package/dist/services/config/schemas/webhooks.js +0 -12
  224. package/dist/services/config/schemas/webhooks.js.map +0 -1
  225. package/dist/services/cron/index.d.ts +0 -50
  226. package/dist/services/cron/index.d.ts.map +0 -1
  227. package/dist/services/cron/index.js +0 -460
  228. package/dist/services/cron/index.js.map +0 -1
  229. package/dist/services/log/index.d.ts +0 -14
  230. package/dist/services/log/index.d.ts.map +0 -1
  231. package/dist/services/log/index.js +0 -137
  232. package/dist/services/log/index.js.map +0 -1
  233. package/dist/services/mcp-client/index.d.ts +0 -37
  234. package/dist/services/mcp-client/index.d.ts.map +0 -1
  235. package/dist/services/mcp-client/index.js +0 -258
  236. package/dist/services/mcp-client/index.js.map +0 -1
  237. package/dist/services/media/extract-document.d.ts +0 -8
  238. package/dist/services/media/extract-document.d.ts.map +0 -1
  239. package/dist/services/media/extract-document.js +0 -85
  240. package/dist/services/media/extract-document.js.map +0 -1
  241. package/dist/services/media/index.d.ts +0 -21
  242. package/dist/services/media/index.d.ts.map +0 -1
  243. package/dist/services/media/index.js +0 -116
  244. package/dist/services/media/index.js.map +0 -1
  245. package/dist/services/media/providers/anthropic.d.ts +0 -6
  246. package/dist/services/media/providers/anthropic.d.ts.map +0 -1
  247. package/dist/services/media/providers/anthropic.js +0 -38
  248. package/dist/services/media/providers/anthropic.js.map +0 -1
  249. package/dist/services/media/providers/index.d.ts +0 -6
  250. package/dist/services/media/providers/index.d.ts.map +0 -1
  251. package/dist/services/media/providers/index.js +0 -15
  252. package/dist/services/media/providers/index.js.map +0 -1
  253. package/dist/services/media/providers/openai.d.ts +0 -6
  254. package/dist/services/media/providers/openai.d.ts.map +0 -1
  255. package/dist/services/media/providers/openai.js +0 -48
  256. package/dist/services/media/providers/openai.js.map +0 -1
  257. package/dist/services/media/providers/provider.d.ts +0 -5
  258. package/dist/services/media/providers/provider.d.ts.map +0 -1
  259. package/dist/services/media/providers/provider.js +0 -2
  260. package/dist/services/media/providers/provider.js.map +0 -1
  261. package/dist/services/memory/chunker.d.ts +0 -7
  262. package/dist/services/memory/chunker.d.ts.map +0 -1
  263. package/dist/services/memory/chunker.js +0 -46
  264. package/dist/services/memory/chunker.js.map +0 -1
  265. package/dist/services/memory/context.d.ts +0 -68
  266. package/dist/services/memory/context.d.ts.map +0 -1
  267. package/dist/services/memory/context.js +0 -223
  268. package/dist/services/memory/context.js.map +0 -1
  269. package/dist/services/memory/embedding.d.ts +0 -9
  270. package/dist/services/memory/embedding.d.ts.map +0 -1
  271. package/dist/services/memory/embedding.js +0 -49
  272. package/dist/services/memory/embedding.js.map +0 -1
  273. package/dist/services/memory/index.d.ts +0 -24
  274. package/dist/services/memory/index.d.ts.map +0 -1
  275. package/dist/services/memory/index.js +0 -140
  276. package/dist/services/memory/index.js.map +0 -1
  277. package/dist/services/memory/session-indexer.d.ts +0 -5
  278. package/dist/services/memory/session-indexer.d.ts.map +0 -1
  279. package/dist/services/memory/session-indexer.js +0 -62
  280. package/dist/services/memory/session-indexer.js.map +0 -1
  281. package/dist/services/memory/sqlite-storage.d.ts +0 -23
  282. package/dist/services/memory/sqlite-storage.d.ts.map +0 -1
  283. package/dist/services/memory/sqlite-storage.js +0 -75
  284. package/dist/services/memory/sqlite-storage.js.map +0 -1
  285. package/dist/services/memory/types.d.ts +0 -31
  286. package/dist/services/memory/types.d.ts.map +0 -1
  287. package/dist/services/memory/types.js +0 -2
  288. package/dist/services/memory/types.js.map +0 -1
  289. package/dist/services/web/index.d.ts +0 -9
  290. package/dist/services/web/index.d.ts.map +0 -1
  291. package/dist/services/web/index.js +0 -101
  292. package/dist/services/web/index.js.map +0 -1
  293. package/dist/vitest.config.d.ts +0 -3
  294. package/dist/vitest.config.d.ts.map +0 -1
  295. package/dist/vitest.config.js +0 -9
  296. package/dist/vitest.config.js.map +0 -1
@@ -1,40 +0,0 @@
1
- import { z } from 'zod';
2
- import type { EventMap } from './events.js';
3
- import type { HandlerOf } from './bus.js';
4
- export interface ToolSchema {
5
- description: string;
6
- schema: z.ZodTypeAny;
7
- format?: (result: unknown) => string;
8
- }
9
- export declare const HANDLERS: unique symbol;
10
- export declare const TOOLS: unique symbol;
11
- export interface HandlerEntry {
12
- event: keyof EventMap;
13
- method: string;
14
- }
15
- export interface RegisteredEntry extends HandlerEntry {
16
- schema?: ToolSchema;
17
- }
18
- /**
19
- * Marks a method as a listener for a bus event.
20
- * Pure event → (payload: EventMap[E]) => void | Promise<void>
21
- * Callable event (rare) → (params: EventMap[E]['params']) => Promise<EventMap[E]['result']>
22
- *
23
- * Use @register instead for callable events that should be agent-accessible.
24
- * Handlers are wired by bus.bootstrap() at boot.
25
- */
26
- export declare function on<E extends keyof EventMap>(event: E): (method: HandlerOf<E>, context: ClassMethodDecoratorContext) => HandlerOf<E>;
27
- /**
28
- * Marks a method as a callable event provider.
29
- *
30
- * Params:
31
- * - event: the callable event name (e.g., 'agent.execute')
32
- * - tool: optional ToolSchema with description and zod schema
33
- * If omitted, the callable is internal (not exposed as an agent tool)
34
- *
35
- * Signature: (params: EventMap[E]['params']) => Promise<EventMap[E]['result']>
36
- *
37
- * Handlers are wired by bus.bootstrap() at boot.
38
- */
39
- export declare function register<E extends keyof EventMap>(event: E, tool?: ToolSchema): (method: HandlerOf<E>, context: ClassMethodDecoratorContext) => HandlerOf<E>;
40
- //# sourceMappingURL=decorators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../gateway/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAO,CAAC,CAAC,UAAU,CAAC;IAC1B,MAAM,CAAC,EAAM,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C;AAID,eAAO,MAAM,QAAQ,eAA4B,CAAC;AAClD,eAAO,MAAM,KAAK,eAA4B,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAG,MAAM,QAAQ,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AASD;;;;;;;GAOG;AACH,wBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,IAEjD,QAAQ,SAAS,CAAC,CAAC,CAAC,EACpB,SAAS,2BAA2B,KACnC,SAAS,CAAC,CAAC,CAAC,CAOhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,IAE1E,QAAQ,SAAS,CAAC,CAAC,CAAC,EACpB,SAAS,2BAA2B,KACnC,SAAS,CAAC,CAAC,CAAC,CAOhB"}
@@ -1,43 +0,0 @@
1
- // ─── Internal metadata storage ────────────────────────────────────────────────
2
- export const HANDLERS = Symbol('vargos.handlers'); // @on decorated methods
3
- export const TOOLS = Symbol('vargos.tools'); // @register decorated methods
4
- // ─── Decorator ────────────────────────────────────────────────────────────────
5
- /**
6
- * Marks a method as a listener for a bus event.
7
- * Pure event → (payload: EventMap[E]) => void | Promise<void>
8
- * Callable event (rare) → (params: EventMap[E]['params']) => Promise<EventMap[E]['result']>
9
- *
10
- * Use @register instead for callable events that should be agent-accessible.
11
- * Handlers are wired by bus.bootstrap() at boot.
12
- */
13
- export function on(event) {
14
- return function (method, context) {
15
- context.addInitializer(function () {
16
- const self = this;
17
- (self[HANDLERS] ??= []).push({ event, method: String(context.name) });
18
- });
19
- return method;
20
- };
21
- }
22
- /**
23
- * Marks a method as a callable event provider.
24
- *
25
- * Params:
26
- * - event: the callable event name (e.g., 'agent.execute')
27
- * - tool: optional ToolSchema with description and zod schema
28
- * If omitted, the callable is internal (not exposed as an agent tool)
29
- *
30
- * Signature: (params: EventMap[E]['params']) => Promise<EventMap[E]['result']>
31
- *
32
- * Handlers are wired by bus.bootstrap() at boot.
33
- */
34
- export function register(event, tool) {
35
- return function (method, context) {
36
- context.addInitializer(function () {
37
- const self = this;
38
- (self[TOOLS] ??= []).push({ event, method: String(context.name), schema: tool });
39
- });
40
- return method;
41
- };
42
- }
43
- //# sourceMappingURL=decorators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../gateway/decorators.ts"],"names":[],"mappings":"AAaA,iFAAiF;AAEjF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAK,wBAAwB;AAC/E,MAAM,CAAC,MAAM,KAAK,GAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAS,8BAA8B;AAgBtF,iFAAiF;AAEjF;;;;;;;GAOG;AACH,MAAM,UAAU,EAAE,CAA2B,KAAQ;IACnD,OAAO,UACL,MAAoB,EACpB,OAAoC;QAEpC,OAAO,CAAC,cAAc,CAAC;YACrB,MAAM,IAAI,GAAG,IAAmB,CAAC;YACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAA2B,KAAQ,EAAE,IAAiB;IAC5E,OAAO,UACL,MAAoB,EACpB,OAAoC;QAEpC,OAAO,CAAC,cAAc,CAAC;YACrB,MAAM,IAAI,GAAG,IAAmB,CAAC;YACjC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -1,42 +0,0 @@
1
- import type { EventMap, EventMetadata } from './events.js';
2
- import type { Bus, HandlerOf, CallableEventKey, PureEventKey } from './bus.js';
3
- import { type ToolSchema } from './decorators.js';
4
- import type { EventParams, EventResult } from './bus.js';
5
- /**
6
- * Predicate: is this event metadata a usable tool?
7
- * (type === 'tool', has a description, and has a schema)
8
- */
9
- export declare function isToolEvent(metadata: EventMetadata): boolean;
10
- export declare class EventEmitterBus implements Bus {
11
- private readonly ee;
12
- private readonly timeoutMs;
13
- private readonly callableRegistry;
14
- private readonly handlersRegistry;
15
- constructor(timeoutMs?: number);
16
- emit<E extends PureEventKey>(event: E, payload: EventMap[E]): void;
17
- on<E extends PureEventKey>(event: E, handler: HandlerOf<E>): () => void;
18
- /** Check if an event is callable (only events registered via @register). */
19
- isCallable(eventName: string): boolean;
20
- call<E extends CallableEventKey>(event: E, params: EventParams<E>): Promise<EventResult<E>>;
21
- /**
22
- * Reads @on and @register decorator metadata from a service instance (or the bus itself
23
- * if no service provided) and wires all declared handlers to this bus.
24
- */
25
- bootstrap(service?: object): void;
26
- /**
27
- * Register a new callable tool at runtime.
28
- * Used by services (like MCP) to dynamically register tools after boot.
29
- * Returns an unsubscribe function to remove the tool.
30
- */
31
- registerTool(event: string, handler: (params: unknown) => Promise<unknown>, schema: ToolSchema): () => void;
32
- /**
33
- * Unregister a callable tool that was previously registered at runtime.
34
- * Returns true if the tool existed and was removed, false otherwise.
35
- */
36
- unregisterTool(event: string): boolean;
37
- search(params?: EventMap['bus.search']['params']): Promise<EventMetadata[]>;
38
- inspect(params: EventMap['bus.inspect']['params']): Promise<EventMetadata | null>;
39
- private registerHandlers;
40
- private registerTools;
41
- }
42
- //# sourceMappingURL=emitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../gateway/emitter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAiBzD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE5D;AAED,qBAAa,eAAgB,YAAW,GAAG;IACzC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAsB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiC;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;gBAE1C,SAAS,SAA0B;IAO/C,IAAI,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAIlE,EAAE,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAKvE,4EAA4E;IAC5E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,IAAI,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA0B3F;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAgCjC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI;IAQ3G;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAchC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA2C3E,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAkCvF,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;CAiBtB"}
@@ -1,259 +0,0 @@
1
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
2
- var useValue = arguments.length > 2;
3
- for (var i = 0; i < initializers.length; i++) {
4
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
5
- }
6
- return useValue ? value : void 0;
7
- };
8
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
9
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
10
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
11
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
12
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
13
- var _, done = false;
14
- for (var i = decorators.length - 1; i >= 0; i--) {
15
- var context = {};
16
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
17
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
18
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
19
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
20
- if (kind === "accessor") {
21
- if (result === void 0) continue;
22
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
23
- if (_ = accept(result.get)) descriptor.get = _;
24
- if (_ = accept(result.set)) descriptor.set = _;
25
- if (_ = accept(result.init)) initializers.unshift(_);
26
- }
27
- else if (_ = accept(result)) {
28
- if (kind === "field") initializers.unshift(_);
29
- else descriptor[key] = _;
30
- }
31
- }
32
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
- done = true;
34
- };
35
- import EventEmitter from 'node:events';
36
- import { randomUUID } from 'node:crypto';
37
- import { z } from 'zod';
38
- import { register, HANDLERS, TOOLS } from './decorators.js';
39
- import { createLogger } from '../lib/logger.js';
40
- import { zodToJsonSchema } from 'zod-to-json-schema';
41
- const log = createLogger('bus');
42
- const DEFAULT_CALL_TIMEOUT_MS = 35 * 60 * 1000; // 35 minutes (exceeds agent.execute 30min timeout)
43
- /**
44
- * Predicate: is this event metadata a usable tool?
45
- * (type === 'tool', has a description, and has a schema)
46
- */
47
- export function isToolEvent(metadata) {
48
- return metadata.type === 'tool' && metadata.description !== '(no description)' && !!metadata.schema;
49
- }
50
- let EventEmitterBus = (() => {
51
- let _instanceExtraInitializers = [];
52
- let _search_decorators;
53
- let _inspect_decorators;
54
- return class EventEmitterBus {
55
- static {
56
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
57
- _search_decorators = [register('bus.search', {
58
- description: 'Search all callable bus events. Optionally filter by query string.',
59
- schema: z.object({
60
- query: z.string().optional().describe('Filter events by name substring'),
61
- }),
62
- })];
63
- _inspect_decorators = [register('bus.inspect', {
64
- description: 'Get detailed metadata for a specific bus event.',
65
- schema: z.object({
66
- event: z.string().describe('Event name to inspect'),
67
- }),
68
- })];
69
- __esDecorate(this, null, _search_decorators, { kind: "method", name: "search", static: false, private: false, access: { has: obj => "search" in obj, get: obj => obj.search }, metadata: _metadata }, null, _instanceExtraInitializers);
70
- __esDecorate(this, null, _inspect_decorators, { kind: "method", name: "inspect", static: false, private: false, access: { has: obj => "inspect" in obj, get: obj => obj.inspect }, metadata: _metadata }, null, _instanceExtraInitializers);
71
- if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
72
- }
73
- ee = (__runInitializers(this, _instanceExtraInitializers), new EventEmitter());
74
- timeoutMs;
75
- callableRegistry = new Map(); // Callable events from @register + schemas
76
- handlersRegistry = new Set(); // Handler events from @on
77
- constructor(timeoutMs = DEFAULT_CALL_TIMEOUT_MS) {
78
- this.timeoutMs = timeoutMs;
79
- this.ee.setMaxListeners(0); // Disable MaxListeners warning; this is a server with many legitimate listeners
80
- }
81
- // ── Bus interface ───────────────────────────────────────────────────────────
82
- emit(event, payload) {
83
- this.ee.emit(event, payload);
84
- }
85
- on(event, handler) {
86
- return this.registerHandlers(event, handler);
87
- }
88
- /** Check if an event is callable (only events registered via @register). */
89
- isCallable(eventName) {
90
- return this.callableRegistry.has(eventName);
91
- }
92
- call(event, params) {
93
- return new Promise((resolve, reject) => {
94
- const cid = randomUUID();
95
- const reqEvent = `${event}._req`;
96
- const resEvent = `${event}._res`;
97
- const timer = setTimeout(() => {
98
- this.ee.off(resEvent, onReply);
99
- reject(new Error(`bus.call('${event}') timed out after ${this.timeoutMs}ms`));
100
- }, this.timeoutMs);
101
- const onReply = (res) => {
102
- if (res._cid !== cid)
103
- return;
104
- clearTimeout(timer);
105
- this.ee.off(resEvent, onReply);
106
- if (res.error !== undefined)
107
- reject(new Error(res.error));
108
- else
109
- resolve(res.result);
110
- };
111
- this.ee.on(resEvent, onReply);
112
- this.ee.emit(reqEvent, { params, _cid: cid });
113
- });
114
- }
115
- // ── Service registration (called from index.ts after instantiation) ─────────
116
- /**
117
- * Reads @on and @register decorator metadata from a service instance (or the bus itself
118
- * if no service provided) and wires all declared handlers to this bus.
119
- */
120
- bootstrap(service) {
121
- const svc = service ?? this;
122
- const handlers = svc[HANDLERS] ?? [];
123
- const tools = svc[TOOLS] ?? [];
124
- const allEvents = [...handlers.map(e => e.event), ...tools.map(e => e.event)];
125
- log.info(`bootstrap: ${svc.constructor.name} → [${allEvents.join(', ')}]`);
126
- // Register @on handlers (pure events)
127
- for (const { event, method } of handlers) {
128
- const fn = svc[method];
129
- if (typeof fn !== 'function')
130
- continue;
131
- this.handlersRegistry.add(event);
132
- this.registerHandlers(event, fn.bind(svc));
133
- }
134
- // Pre-populate callable registry with tools that have schema (agent-callable)
135
- for (const { event, schema } of tools) {
136
- if (schema) {
137
- this.callableRegistry.set(event, schema);
138
- }
139
- }
140
- for (const { event, method } of tools) {
141
- const fn = svc[method];
142
- if (typeof fn !== 'function')
143
- continue;
144
- this.registerTools(event, fn.bind(svc));
145
- }
146
- }
147
- // ── Runtime tool registration ─────────────────────────────────────────────────
148
- /**
149
- * Register a new callable tool at runtime.
150
- * Used by services (like MCP) to dynamically register tools after boot.
151
- * Returns an unsubscribe function to remove the tool.
152
- */
153
- registerTool(event, handler, schema) {
154
- // Register in the callable registry
155
- this.callableRegistry.set(event, schema);
156
- // Wire the handler using the same pattern as @register decorated methods
157
- return this.registerTools(event, handler);
158
- }
159
- /**
160
- * Unregister a callable tool that was previously registered at runtime.
161
- * Returns true if the tool existed and was removed, false otherwise.
162
- */
163
- unregisterTool(event) {
164
- const existed = this.callableRegistry.has(event);
165
- this.callableRegistry.delete(event);
166
- return existed;
167
- }
168
- // ── Bus introspection ─────────────────────────────────────────────────────────
169
- async search(params) {
170
- const result = [];
171
- const query = params?.query;
172
- // Include handlers
173
- for (const event of this.handlersRegistry) {
174
- if (query && !event.includes(query))
175
- continue;
176
- result.push({
177
- event,
178
- description: '(no description)',
179
- type: 'handler',
180
- });
181
- }
182
- // Include tools
183
- for (const event of this.callableRegistry.keys()) {
184
- if (query && !event.includes(query))
185
- continue;
186
- const toolSchema = this.callableRegistry.get(event);
187
- let schema;
188
- try {
189
- if (toolSchema?.schema) {
190
- schema = { params: zodToJsonSchema(toolSchema.schema) };
191
- }
192
- }
193
- catch (err) {
194
- log.error(`Failed to convert schema for ${event}: ${err instanceof Error ? err.message : String(err)}`);
195
- }
196
- result.push({
197
- event,
198
- description: toolSchema?.description || '(no description)',
199
- type: 'tool',
200
- schema,
201
- });
202
- }
203
- return result;
204
- }
205
- async inspect(params) {
206
- // Check if it's a tool
207
- const toolSchema = this.callableRegistry.get(params.event);
208
- if (toolSchema) {
209
- let schema;
210
- try {
211
- if (toolSchema.schema) {
212
- schema = { params: zodToJsonSchema(toolSchema.schema) };
213
- }
214
- }
215
- catch (err) {
216
- log.error(`Failed to convert schema for ${params.event}: ${err instanceof Error ? err.message : String(err)}`);
217
- }
218
- return {
219
- event: params.event,
220
- description: toolSchema.description,
221
- type: 'tool',
222
- schema,
223
- };
224
- }
225
- // Check if it's a handler
226
- if (this.handlersRegistry.has(params.event)) {
227
- return {
228
- event: params.event,
229
- description: '(no description)',
230
- type: 'handler',
231
- };
232
- }
233
- return null;
234
- }
235
- // ── Internal registration ──────────────────────────────────────────────────────
236
- registerHandlers(event, handler) {
237
- this.ee.on(event, handler);
238
- return () => this.ee.off(event, handler);
239
- }
240
- registerTools(event, handler) {
241
- const reqEvent = `${event}._req`;
242
- const resEvent = `${event}._res`;
243
- const wrapper = async (req) => {
244
- try {
245
- const result = await handler(req.params);
246
- this.ee.emit(resEvent, { result, _cid: req._cid });
247
- }
248
- catch (err) {
249
- const error = err instanceof Error ? err.message : String(err);
250
- this.ee.emit(resEvent, { result: undefined, error, _cid: req._cid });
251
- }
252
- };
253
- this.ee.on(reqEvent, wrapper);
254
- return () => this.ee.off(reqEvent, wrapper);
255
- }
256
- };
257
- })();
258
- export { EventEmitterBus };
259
- //# sourceMappingURL=emitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../gateway/emitter.ts"],"names":[],"mappings":"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"}