@revealui/ai 0.1.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 (397) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE.commercial +112 -0
  3. package/README.md +314 -0
  4. package/dist/a2a/card.d.ts +26 -0
  5. package/dist/a2a/card.d.ts.map +1 -0
  6. package/dist/a2a/card.js +173 -0
  7. package/dist/a2a/handler.d.ts +26 -0
  8. package/dist/a2a/handler.d.ts.map +1 -0
  9. package/dist/a2a/handler.js +170 -0
  10. package/dist/a2a/index.d.ts +10 -0
  11. package/dist/a2a/index.d.ts.map +1 -0
  12. package/dist/a2a/index.js +9 -0
  13. package/dist/a2a/task-store.d.ts +42 -0
  14. package/dist/a2a/task-store.d.ts.map +1 -0
  15. package/dist/a2a/task-store.js +99 -0
  16. package/dist/audit/emitter.d.ts +34 -0
  17. package/dist/audit/emitter.d.ts.map +1 -0
  18. package/dist/audit/emitter.js +34 -0
  19. package/dist/audit/index.d.ts +44 -0
  20. package/dist/audit/index.d.ts.map +1 -0
  21. package/dist/audit/index.js +48 -0
  22. package/dist/audit/observer.d.ts +108 -0
  23. package/dist/audit/observer.d.ts.map +1 -0
  24. package/dist/audit/observer.js +271 -0
  25. package/dist/audit/policy.d.ts +70 -0
  26. package/dist/audit/policy.d.ts.map +1 -0
  27. package/dist/audit/policy.js +209 -0
  28. package/dist/audit/store.d.ts +42 -0
  29. package/dist/audit/store.d.ts.map +1 -0
  30. package/dist/audit/store.js +80 -0
  31. package/dist/audit/types.d.ts +169 -0
  32. package/dist/audit/types.d.ts.map +1 -0
  33. package/dist/audit/types.js +80 -0
  34. package/dist/client/hooks/index.d.ts +22 -0
  35. package/dist/client/hooks/index.d.ts.map +1 -0
  36. package/dist/client/hooks/index.js +21 -0
  37. package/dist/client/hooks/useAgentContext.d.ts +30 -0
  38. package/dist/client/hooks/useAgentContext.d.ts.map +1 -0
  39. package/dist/client/hooks/useAgentContext.js +161 -0
  40. package/dist/client/hooks/useAgentEvents.d.ts +126 -0
  41. package/dist/client/hooks/useAgentEvents.d.ts.map +1 -0
  42. package/dist/client/hooks/useAgentEvents.js +232 -0
  43. package/dist/client/hooks/useAgentStream.d.ts +44 -0
  44. package/dist/client/hooks/useAgentStream.d.ts.map +1 -0
  45. package/dist/client/hooks/useAgentStream.js +101 -0
  46. package/dist/client/hooks/useEpisodicMemory.d.ts +25 -0
  47. package/dist/client/hooks/useEpisodicMemory.d.ts.map +1 -0
  48. package/dist/client/hooks/useEpisodicMemory.js +174 -0
  49. package/dist/client/hooks/useWorkingMemory.d.ts +57 -0
  50. package/dist/client/hooks/useWorkingMemory.d.ts.map +1 -0
  51. package/dist/client/hooks/useWorkingMemory.js +276 -0
  52. package/dist/client/index.d.ts +14 -0
  53. package/dist/client/index.d.ts.map +1 -0
  54. package/dist/client/index.js +13 -0
  55. package/dist/embeddings/index.d.ts +51 -0
  56. package/dist/embeddings/index.d.ts.map +1 -0
  57. package/dist/embeddings/index.js +73 -0
  58. package/dist/index.d.ts +83 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +103 -0
  61. package/dist/inference/context-assembly.d.ts +27 -0
  62. package/dist/inference/context-assembly.d.ts.map +1 -0
  63. package/dist/inference/context-assembly.js +81 -0
  64. package/dist/inference/overflow-compressor.d.ts +17 -0
  65. package/dist/inference/overflow-compressor.d.ts.map +1 -0
  66. package/dist/inference/overflow-compressor.js +40 -0
  67. package/dist/inference/runRag.d.ts +35 -0
  68. package/dist/inference/runRag.d.ts.map +1 -0
  69. package/dist/inference/runRag.js +53 -0
  70. package/dist/ingestion/bm25.d.ts +29 -0
  71. package/dist/ingestion/bm25.d.ts.map +1 -0
  72. package/dist/ingestion/bm25.js +161 -0
  73. package/dist/ingestion/cms-indexer.d.ts +39 -0
  74. package/dist/ingestion/cms-indexer.d.ts.map +1 -0
  75. package/dist/ingestion/cms-indexer.js +74 -0
  76. package/dist/ingestion/file-parsers.d.ts +51 -0
  77. package/dist/ingestion/file-parsers.d.ts.map +1 -0
  78. package/dist/ingestion/file-parsers.js +247 -0
  79. package/dist/ingestion/hybrid-search.d.ts +22 -0
  80. package/dist/ingestion/hybrid-search.d.ts.map +1 -0
  81. package/dist/ingestion/hybrid-search.js +63 -0
  82. package/dist/ingestion/index.d.ts +9 -0
  83. package/dist/ingestion/index.d.ts.map +1 -0
  84. package/dist/ingestion/index.js +8 -0
  85. package/dist/ingestion/pipeline.d.ts +35 -0
  86. package/dist/ingestion/pipeline.d.ts.map +1 -0
  87. package/dist/ingestion/pipeline.js +114 -0
  88. package/dist/ingestion/rag-vector-service.d.ts +34 -0
  89. package/dist/ingestion/rag-vector-service.d.ts.map +1 -0
  90. package/dist/ingestion/rag-vector-service.js +98 -0
  91. package/dist/ingestion/reranker.d.ts +10 -0
  92. package/dist/ingestion/reranker.d.ts.map +1 -0
  93. package/dist/ingestion/reranker.js +41 -0
  94. package/dist/ingestion/text-splitter.d.ts +25 -0
  95. package/dist/ingestion/text-splitter.d.ts.map +1 -0
  96. package/dist/ingestion/text-splitter.js +119 -0
  97. package/dist/llm/cache-utils.d.ts +146 -0
  98. package/dist/llm/cache-utils.d.ts.map +1 -0
  99. package/dist/llm/cache-utils.js +204 -0
  100. package/dist/llm/client.d.ts +134 -0
  101. package/dist/llm/client.d.ts.map +1 -0
  102. package/dist/llm/client.js +497 -0
  103. package/dist/llm/key-validator.d.ts +25 -0
  104. package/dist/llm/key-validator.d.ts.map +1 -0
  105. package/dist/llm/key-validator.js +101 -0
  106. package/dist/llm/provider-health.d.ts +40 -0
  107. package/dist/llm/provider-health.d.ts.map +1 -0
  108. package/dist/llm/provider-health.js +97 -0
  109. package/dist/llm/providers/anthropic.d.ts +31 -0
  110. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  111. package/dist/llm/providers/anthropic.js +248 -0
  112. package/dist/llm/providers/base.d.ts +111 -0
  113. package/dist/llm/providers/base.d.ts.map +1 -0
  114. package/dist/llm/providers/base.js +6 -0
  115. package/dist/llm/providers/groq.d.ts +23 -0
  116. package/dist/llm/providers/groq.d.ts.map +1 -0
  117. package/dist/llm/providers/groq.js +27 -0
  118. package/dist/llm/providers/ollama.d.ts +27 -0
  119. package/dist/llm/providers/ollama.d.ts.map +1 -0
  120. package/dist/llm/providers/ollama.js +48 -0
  121. package/dist/llm/providers/openai.d.ts +19 -0
  122. package/dist/llm/providers/openai.d.ts.map +1 -0
  123. package/dist/llm/providers/openai.js +245 -0
  124. package/dist/llm/providers/vultr.d.ts +18 -0
  125. package/dist/llm/providers/vultr.d.ts.map +1 -0
  126. package/dist/llm/providers/vultr.js +168 -0
  127. package/dist/llm/response-cache.d.ts +166 -0
  128. package/dist/llm/response-cache.d.ts.map +1 -0
  129. package/dist/llm/response-cache.js +233 -0
  130. package/dist/llm/semantic-cache.d.ts +179 -0
  131. package/dist/llm/semantic-cache.d.ts.map +1 -0
  132. package/dist/llm/semantic-cache.js +306 -0
  133. package/dist/llm/server.d.ts +14 -0
  134. package/dist/llm/server.d.ts.map +1 -0
  135. package/dist/llm/server.js +15 -0
  136. package/dist/llm/token-counter.d.ts +48 -0
  137. package/dist/llm/token-counter.d.ts.map +1 -0
  138. package/dist/llm/token-counter.js +77 -0
  139. package/dist/llm/workspace-provider-config.d.ts +38 -0
  140. package/dist/llm/workspace-provider-config.d.ts.map +1 -0
  141. package/dist/llm/workspace-provider-config.js +47 -0
  142. package/dist/memory/agent/context-manager.d.ts +148 -0
  143. package/dist/memory/agent/context-manager.d.ts.map +1 -0
  144. package/dist/memory/agent/context-manager.js +284 -0
  145. package/dist/memory/agent/index.d.ts +7 -0
  146. package/dist/memory/agent/index.d.ts.map +1 -0
  147. package/dist/memory/agent/index.js +6 -0
  148. package/dist/memory/crdt/index.d.ts +13 -0
  149. package/dist/memory/crdt/index.d.ts.map +1 -0
  150. package/dist/memory/crdt/index.js +12 -0
  151. package/dist/memory/crdt/lww-register.d.ts +108 -0
  152. package/dist/memory/crdt/lww-register.d.ts.map +1 -0
  153. package/dist/memory/crdt/lww-register.js +169 -0
  154. package/dist/memory/crdt/or-set.d.ts +141 -0
  155. package/dist/memory/crdt/or-set.d.ts.map +1 -0
  156. package/dist/memory/crdt/or-set.js +291 -0
  157. package/dist/memory/crdt/pn-counter.d.ts +116 -0
  158. package/dist/memory/crdt/pn-counter.d.ts.map +1 -0
  159. package/dist/memory/crdt/pn-counter.js +174 -0
  160. package/dist/memory/crdt/vector-clock.d.ts +115 -0
  161. package/dist/memory/crdt/vector-clock.d.ts.map +1 -0
  162. package/dist/memory/crdt/vector-clock.js +179 -0
  163. package/dist/memory/errors/index.d.ts +56 -0
  164. package/dist/memory/errors/index.d.ts.map +1 -0
  165. package/dist/memory/errors/index.js +85 -0
  166. package/dist/memory/index.d.ts +21 -0
  167. package/dist/memory/index.d.ts.map +1 -0
  168. package/dist/memory/index.js +20 -0
  169. package/dist/memory/persistence/crdt-persistence.d.ts +85 -0
  170. package/dist/memory/persistence/crdt-persistence.d.ts.map +1 -0
  171. package/dist/memory/persistence/crdt-persistence.js +204 -0
  172. package/dist/memory/persistence/index.d.ts +7 -0
  173. package/dist/memory/persistence/index.d.ts.map +1 -0
  174. package/dist/memory/persistence/index.js +6 -0
  175. package/dist/memory/preferences/index.d.ts +7 -0
  176. package/dist/memory/preferences/index.d.ts.map +1 -0
  177. package/dist/memory/preferences/index.js +6 -0
  178. package/dist/memory/preferences/user-preferences-manager.d.ts +133 -0
  179. package/dist/memory/preferences/user-preferences-manager.d.ts.map +1 -0
  180. package/dist/memory/preferences/user-preferences-manager.js +342 -0
  181. package/dist/memory/services/index.d.ts +8 -0
  182. package/dist/memory/services/index.d.ts.map +1 -0
  183. package/dist/memory/services/index.js +6 -0
  184. package/dist/memory/services/node-id-service.d.ts +75 -0
  185. package/dist/memory/services/node-id-service.d.ts.map +1 -0
  186. package/dist/memory/services/node-id-service.js +190 -0
  187. package/dist/memory/stores/episodic-memory.d.ts +182 -0
  188. package/dist/memory/stores/episodic-memory.d.ts.map +1 -0
  189. package/dist/memory/stores/episodic-memory.js +378 -0
  190. package/dist/memory/stores/index.d.ts +16 -0
  191. package/dist/memory/stores/index.d.ts.map +1 -0
  192. package/dist/memory/stores/index.js +15 -0
  193. package/dist/memory/stores/procedural-memory.d.ts +89 -0
  194. package/dist/memory/stores/procedural-memory.d.ts.map +1 -0
  195. package/dist/memory/stores/procedural-memory.js +152 -0
  196. package/dist/memory/stores/semantic-memory.d.ts +92 -0
  197. package/dist/memory/stores/semantic-memory.d.ts.map +1 -0
  198. package/dist/memory/stores/semantic-memory.js +155 -0
  199. package/dist/memory/stores/working-memory.d.ts +225 -0
  200. package/dist/memory/stores/working-memory.d.ts.map +1 -0
  201. package/dist/memory/stores/working-memory.js +336 -0
  202. package/dist/memory/utils/deep-clone.d.ts +10 -0
  203. package/dist/memory/utils/deep-clone.d.ts.map +1 -0
  204. package/dist/memory/utils/deep-clone.js +9 -0
  205. package/dist/memory/utils/index.d.ts +8 -0
  206. package/dist/memory/utils/index.d.ts.map +1 -0
  207. package/dist/memory/utils/index.js +7 -0
  208. package/dist/memory/utils/logger.d.ts +21 -0
  209. package/dist/memory/utils/logger.d.ts.map +1 -0
  210. package/dist/memory/utils/logger.js +62 -0
  211. package/dist/memory/utils/sql-helpers.d.ts +97 -0
  212. package/dist/memory/utils/sql-helpers.d.ts.map +1 -0
  213. package/dist/memory/utils/sql-helpers.js +214 -0
  214. package/dist/memory/utils/validation.d.ts +62 -0
  215. package/dist/memory/utils/validation.d.ts.map +1 -0
  216. package/dist/memory/utils/validation.js +244 -0
  217. package/dist/memory/vector/index.d.ts +12 -0
  218. package/dist/memory/vector/index.d.ts.map +1 -0
  219. package/dist/memory/vector/index.js +14 -0
  220. package/dist/memory/vector/vector-memory-service.d.ts +88 -0
  221. package/dist/memory/vector/vector-memory-service.d.ts.map +1 -0
  222. package/dist/memory/vector/vector-memory-service.js +335 -0
  223. package/dist/observability/logger.d.ts +79 -0
  224. package/dist/observability/logger.d.ts.map +1 -0
  225. package/dist/observability/logger.js +165 -0
  226. package/dist/observability/metrics.d.ts +43 -0
  227. package/dist/observability/metrics.d.ts.map +1 -0
  228. package/dist/observability/metrics.js +197 -0
  229. package/dist/observability/query.d.ts +150 -0
  230. package/dist/observability/query.d.ts.map +1 -0
  231. package/dist/observability/query.js +339 -0
  232. package/dist/observability/types.d.ts +140 -0
  233. package/dist/observability/types.d.ts.map +1 -0
  234. package/dist/observability/types.js +6 -0
  235. package/dist/orchestration/agent.d.ts +98 -0
  236. package/dist/orchestration/agent.d.ts.map +1 -0
  237. package/dist/orchestration/agent.js +6 -0
  238. package/dist/orchestration/defaults.d.ts +21 -0
  239. package/dist/orchestration/defaults.d.ts.map +1 -0
  240. package/dist/orchestration/defaults.js +22 -0
  241. package/dist/orchestration/memory-integration.d.ts +58 -0
  242. package/dist/orchestration/memory-integration.d.ts.map +1 -0
  243. package/dist/orchestration/memory-integration.js +130 -0
  244. package/dist/orchestration/orchestrator.d.ts +67 -0
  245. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  246. package/dist/orchestration/orchestrator.js +174 -0
  247. package/dist/orchestration/runtime.d.ts +82 -0
  248. package/dist/orchestration/runtime.d.ts.map +1 -0
  249. package/dist/orchestration/runtime.js +251 -0
  250. package/dist/orchestration/streaming-runtime.d.ts +36 -0
  251. package/dist/orchestration/streaming-runtime.d.ts.map +1 -0
  252. package/dist/orchestration/streaming-runtime.js +175 -0
  253. package/dist/orchestration/ticket-agent.d.ts +70 -0
  254. package/dist/orchestration/ticket-agent.d.ts.map +1 -0
  255. package/dist/orchestration/ticket-agent.js +146 -0
  256. package/dist/skills/activation/index.d.ts +7 -0
  257. package/dist/skills/activation/index.d.ts.map +1 -0
  258. package/dist/skills/activation/index.js +6 -0
  259. package/dist/skills/activation/skill-activator.d.ts +68 -0
  260. package/dist/skills/activation/skill-activator.d.ts.map +1 -0
  261. package/dist/skills/activation/skill-activator.js +224 -0
  262. package/dist/skills/catalog/catalog-search.d.ts +55 -0
  263. package/dist/skills/catalog/catalog-search.d.ts.map +1 -0
  264. package/dist/skills/catalog/catalog-search.js +111 -0
  265. package/dist/skills/catalog/catalog-types.d.ts +81 -0
  266. package/dist/skills/catalog/catalog-types.d.ts.map +1 -0
  267. package/dist/skills/catalog/catalog-types.js +66 -0
  268. package/dist/skills/catalog/index.d.ts +9 -0
  269. package/dist/skills/catalog/index.d.ts.map +1 -0
  270. package/dist/skills/catalog/index.js +7 -0
  271. package/dist/skills/catalog/vercel-catalog.d.ts +42 -0
  272. package/dist/skills/catalog/vercel-catalog.d.ts.map +1 -0
  273. package/dist/skills/catalog/vercel-catalog.js +189 -0
  274. package/dist/skills/compat/index.d.ts +9 -0
  275. package/dist/skills/compat/index.d.ts.map +1 -0
  276. package/dist/skills/compat/index.js +8 -0
  277. package/dist/skills/compat/skill-enhancer.d.ts +37 -0
  278. package/dist/skills/compat/skill-enhancer.d.ts.map +1 -0
  279. package/dist/skills/compat/skill-enhancer.js +76 -0
  280. package/dist/skills/compat/tool-mapper.d.ts +61 -0
  281. package/dist/skills/compat/tool-mapper.d.ts.map +1 -0
  282. package/dist/skills/compat/tool-mapper.js +168 -0
  283. package/dist/skills/compat/vercel-compat.d.ts +33 -0
  284. package/dist/skills/compat/vercel-compat.d.ts.map +1 -0
  285. package/dist/skills/compat/vercel-compat.js +132 -0
  286. package/dist/skills/index.d.ts +40 -0
  287. package/dist/skills/index.d.ts.map +1 -0
  288. package/dist/skills/index.js +47 -0
  289. package/dist/skills/integration/agent-skill-provider.d.ts +94 -0
  290. package/dist/skills/integration/agent-skill-provider.d.ts.map +1 -0
  291. package/dist/skills/integration/agent-skill-provider.js +161 -0
  292. package/dist/skills/integration/index.d.ts +7 -0
  293. package/dist/skills/integration/index.d.ts.map +1 -0
  294. package/dist/skills/integration/index.js +6 -0
  295. package/dist/skills/loader/github-loader.d.ts +61 -0
  296. package/dist/skills/loader/github-loader.d.ts.map +1 -0
  297. package/dist/skills/loader/github-loader.js +176 -0
  298. package/dist/skills/loader/index.d.ts +10 -0
  299. package/dist/skills/loader/index.d.ts.map +1 -0
  300. package/dist/skills/loader/index.js +9 -0
  301. package/dist/skills/loader/local-loader.d.ts +56 -0
  302. package/dist/skills/loader/local-loader.d.ts.map +1 -0
  303. package/dist/skills/loader/local-loader.js +186 -0
  304. package/dist/skills/loader/vercel-loader.d.ts +64 -0
  305. package/dist/skills/loader/vercel-loader.d.ts.map +1 -0
  306. package/dist/skills/loader/vercel-loader.js +313 -0
  307. package/dist/skills/loader/vercel-types.d.ts +64 -0
  308. package/dist/skills/loader/vercel-types.d.ts.map +1 -0
  309. package/dist/skills/loader/vercel-types.js +55 -0
  310. package/dist/skills/parser/index.d.ts +7 -0
  311. package/dist/skills/parser/index.d.ts.map +1 -0
  312. package/dist/skills/parser/index.js +6 -0
  313. package/dist/skills/parser/skill-md-parser.d.ts +64 -0
  314. package/dist/skills/parser/skill-md-parser.d.ts.map +1 -0
  315. package/dist/skills/parser/skill-md-parser.js +242 -0
  316. package/dist/skills/registry/index.d.ts +7 -0
  317. package/dist/skills/registry/index.d.ts.map +1 -0
  318. package/dist/skills/registry/index.js +6 -0
  319. package/dist/skills/registry/skill-registry.d.ts +133 -0
  320. package/dist/skills/registry/skill-registry.d.ts.map +1 -0
  321. package/dist/skills/registry/skill-registry.js +373 -0
  322. package/dist/skills/types.d.ts +216 -0
  323. package/dist/skills/types.d.ts.map +1 -0
  324. package/dist/skills/types.js +176 -0
  325. package/dist/templates/agent-spec.d.ts +138 -0
  326. package/dist/templates/agent-spec.d.ts.map +1 -0
  327. package/dist/templates/agent-spec.js +138 -0
  328. package/dist/templates/index.d.ts +56 -0
  329. package/dist/templates/index.d.ts.map +1 -0
  330. package/dist/templates/index.js +58 -0
  331. package/dist/templates/prompt-spec.d.ts +140 -0
  332. package/dist/templates/prompt-spec.d.ts.map +1 -0
  333. package/dist/templates/prompt-spec.js +210 -0
  334. package/dist/templates/skill-spec.d.ts +106 -0
  335. package/dist/templates/skill-spec.d.ts.map +1 -0
  336. package/dist/templates/skill-spec.js +119 -0
  337. package/dist/tools/base.d.ts +74 -0
  338. package/dist/tools/base.d.ts.map +1 -0
  339. package/dist/tools/base.js +6 -0
  340. package/dist/tools/cms/collection-tools.d.ts +36 -0
  341. package/dist/tools/cms/collection-tools.d.ts.map +1 -0
  342. package/dist/tools/cms/collection-tools.js +178 -0
  343. package/dist/tools/cms/factory.d.ts +89 -0
  344. package/dist/tools/cms/factory.d.ts.map +1 -0
  345. package/dist/tools/cms/factory.js +462 -0
  346. package/dist/tools/cms/global-tools.d.ts +21 -0
  347. package/dist/tools/cms/global-tools.d.ts.map +1 -0
  348. package/dist/tools/cms/global-tools.js +92 -0
  349. package/dist/tools/cms/index.d.ts +11 -0
  350. package/dist/tools/cms/index.d.ts.map +1 -0
  351. package/dist/tools/cms/index.js +11 -0
  352. package/dist/tools/cms/media-tools.d.ts +31 -0
  353. package/dist/tools/cms/media-tools.d.ts.map +1 -0
  354. package/dist/tools/cms/media-tools.js +140 -0
  355. package/dist/tools/cms/user-tools.d.ts +31 -0
  356. package/dist/tools/cms/user-tools.d.ts.map +1 -0
  357. package/dist/tools/cms/user-tools.js +135 -0
  358. package/dist/tools/deduplicator.d.ts +19 -0
  359. package/dist/tools/deduplicator.d.ts.map +1 -0
  360. package/dist/tools/deduplicator.js +53 -0
  361. package/dist/tools/document-summarizer.d.ts +11 -0
  362. package/dist/tools/document-summarizer.d.ts.map +1 -0
  363. package/dist/tools/document-summarizer.js +82 -0
  364. package/dist/tools/mcp-adapter.d.ts +66 -0
  365. package/dist/tools/mcp-adapter.d.ts.map +1 -0
  366. package/dist/tools/mcp-adapter.js +152 -0
  367. package/dist/tools/memory/index.d.ts +3 -0
  368. package/dist/tools/memory/index.d.ts.map +1 -0
  369. package/dist/tools/memory/index.js +1 -0
  370. package/dist/tools/memory/store-memory.d.ts +39 -0
  371. package/dist/tools/memory/store-memory.d.ts.map +1 -0
  372. package/dist/tools/memory/store-memory.js +94 -0
  373. package/dist/tools/registry.d.ts +14 -0
  374. package/dist/tools/registry.d.ts.map +1 -0
  375. package/dist/tools/registry.js +48 -0
  376. package/dist/tools/ticket-tools.d.ts +31 -0
  377. package/dist/tools/ticket-tools.d.ts.map +1 -0
  378. package/dist/tools/ticket-tools.js +74 -0
  379. package/dist/tools/web/duck-duck-go.d.ts +52 -0
  380. package/dist/tools/web/duck-duck-go.d.ts.map +1 -0
  381. package/dist/tools/web/duck-duck-go.js +202 -0
  382. package/dist/tools/web/exa.d.ts +34 -0
  383. package/dist/tools/web/exa.d.ts.map +1 -0
  384. package/dist/tools/web/exa.js +80 -0
  385. package/dist/tools/web/index.d.ts +6 -0
  386. package/dist/tools/web/index.d.ts.map +1 -0
  387. package/dist/tools/web/index.js +4 -0
  388. package/dist/tools/web/scraper.d.ts +9 -0
  389. package/dist/tools/web/scraper.d.ts.map +1 -0
  390. package/dist/tools/web/scraper.js +118 -0
  391. package/dist/tools/web/tavily.d.ts +32 -0
  392. package/dist/tools/web/tavily.d.ts.map +1 -0
  393. package/dist/tools/web/tavily.js +73 -0
  394. package/dist/tools/web/types.d.ts +31 -0
  395. package/dist/tools/web/types.d.ts.map +1 -0
  396. package/dist/tools/web/types.js +9 -0
  397. package/package.json +143 -0
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @revealui/ai - Observability Types
3
+ *
4
+ * Event types for tracking agent operations, decisions, tool calls, and LLM usage.
5
+ */
6
+ /**
7
+ * Base event type for all agent operations
8
+ */
9
+ export interface AgentEvent {
10
+ timestamp: number;
11
+ eventType: 'decision' | 'tool_call' | 'llm_call' | 'error';
12
+ agentId: string;
13
+ sessionId: string;
14
+ taskId?: string;
15
+ }
16
+ /**
17
+ * Decision event - tracks agent reasoning and tool selection
18
+ */
19
+ export interface DecisionEvent extends AgentEvent {
20
+ eventType: 'decision';
21
+ reasoning: string;
22
+ chosenTool?: string;
23
+ confidence?: number;
24
+ context?: Record<string, unknown>;
25
+ }
26
+ /**
27
+ * Tool call event - tracks tool invocations
28
+ */
29
+ export interface ToolCallEvent extends AgentEvent {
30
+ eventType: 'tool_call';
31
+ toolName: string;
32
+ params: Record<string, unknown>;
33
+ result?: unknown;
34
+ durationMs: number;
35
+ success: boolean;
36
+ errorMessage?: string;
37
+ }
38
+ /**
39
+ * LLM call event - tracks language model usage
40
+ */
41
+ export interface LLMCallEvent extends AgentEvent {
42
+ eventType: 'llm_call';
43
+ provider: string;
44
+ model: string;
45
+ promptTokens: number;
46
+ completionTokens: number;
47
+ durationMs: number;
48
+ cost?: number;
49
+ cacheHit?: boolean;
50
+ }
51
+ /**
52
+ * Error event - tracks failures and exceptions
53
+ */
54
+ export interface ErrorEvent extends AgentEvent {
55
+ eventType: 'error';
56
+ message: string;
57
+ stack?: string;
58
+ recoverable: boolean;
59
+ errorCode?: string;
60
+ context?: Record<string, unknown>;
61
+ }
62
+ /**
63
+ * Union type of all event types
64
+ */
65
+ export type AnyAgentEvent = DecisionEvent | ToolCallEvent | LLMCallEvent | ErrorEvent;
66
+ /**
67
+ * Event filter for querying events
68
+ */
69
+ export interface EventFilter {
70
+ agentId?: string;
71
+ sessionId?: string;
72
+ taskId?: string;
73
+ eventType?: AgentEvent['eventType'];
74
+ startTime?: number;
75
+ endTime?: number;
76
+ }
77
+ /**
78
+ * Tool-specific metrics
79
+ */
80
+ export interface ToolMetrics {
81
+ totalCalls: number;
82
+ successCount: number;
83
+ failureCount: number;
84
+ averageDurationMs: number;
85
+ lastUsed: number;
86
+ }
87
+ /**
88
+ * LLM-specific metrics
89
+ */
90
+ export interface LLMMetrics {
91
+ totalCalls: number;
92
+ totalPromptTokens: number;
93
+ totalCompletionTokens: number;
94
+ totalCost: number;
95
+ averageDurationMs: number;
96
+ cacheHitRate: number;
97
+ modelUsage: Record<string, number>;
98
+ }
99
+ /**
100
+ * Aggregated agent metrics
101
+ */
102
+ export interface AgentMetrics {
103
+ totalDecisions: number;
104
+ totalToolCalls: number;
105
+ totalLLMCalls: number;
106
+ totalErrors: number;
107
+ averageDecisionTime: number;
108
+ successRate: number;
109
+ errorRate: number;
110
+ toolMetrics: Map<string, ToolMetrics>;
111
+ llmMetrics: LLMMetrics;
112
+ uptime: number;
113
+ lastActivity: number;
114
+ }
115
+ /**
116
+ * Metrics summary for display
117
+ */
118
+ export interface MetricsSummary {
119
+ totalEvents: number;
120
+ eventsByType: Record<string, number>;
121
+ activeAgents: number;
122
+ activeSessions: number;
123
+ totalTokensUsed: number;
124
+ totalCost: number;
125
+ averageSuccessRate: number;
126
+ timeRange: {
127
+ start: number;
128
+ end: number;
129
+ };
130
+ }
131
+ /**
132
+ * Storage backend interface
133
+ */
134
+ export interface EventStorage {
135
+ save(events: AnyAgentEvent[]): Promise<void>;
136
+ load(filter?: EventFilter): Promise<AnyAgentEvent[]>;
137
+ clear(): Promise<void>;
138
+ count(filter?: EventFilter): Promise<number>;
139
+ }
140
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/observability/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @revealui/ai - Observability Types
3
+ *
4
+ * Event types for tracking agent operations, decisions, tool calls, and LLM usage.
5
+ */
6
+ export {};
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Agent Interface
3
+ *
4
+ * Defines the structure for AI agents
5
+ */
6
+ import type { EpisodicMemory } from '../memory/stores/episodic-memory.js';
7
+ import type { Tool, ToolResult } from '../tools/base.js';
8
+ import type { WebSearchProvider } from '../tools/web/types.js';
9
+ /**
10
+ * Per-agent configuration. Extends the base Agent interface with optional
11
+ * provider overrides and capability declarations.
12
+ *
13
+ * Pass as `agent.config` to opt into pluggable search backends (P4-3) and
14
+ * capability-based task routing (A3).
15
+ */
16
+ export interface AgentConfig {
17
+ /**
18
+ * Pluggable web search backend.
19
+ * Defaults to DuckDuckGo (zero-config) when not set.
20
+ * Set to a TavilyProvider or ExaProvider for higher-quality BYOK search.
21
+ */
22
+ webSearchProvider?: WebSearchProvider;
23
+ /**
24
+ * Capability tags used by AgentOrchestrator.findBestAgent() for routing.
25
+ * Example: ['cms', 'search', 'ticket', 'summarize']
26
+ */
27
+ capabilities?: string[];
28
+ }
29
+ export interface Task {
30
+ id: string;
31
+ type: string;
32
+ description: string;
33
+ parameters?: Record<string, unknown>;
34
+ priority?: number;
35
+ deadline?: Date;
36
+ /**
37
+ * Capability tags required to handle this task.
38
+ * AgentOrchestrator.findBestAgent() prefers agents whose
39
+ * AgentConfig.capabilities intersect with this set.
40
+ * Falls back to tool-name matching when no intersection is found.
41
+ */
42
+ requiredCapabilities?: string[];
43
+ }
44
+ export interface AgentResult {
45
+ success: boolean;
46
+ output?: string;
47
+ toolResults?: ToolResult[];
48
+ error?: string;
49
+ metadata?: {
50
+ executionTime?: number;
51
+ tokensUsed?: number;
52
+ cost?: number;
53
+ };
54
+ }
55
+ export interface Agent {
56
+ /**
57
+ * Unique agent ID
58
+ */
59
+ id: string;
60
+ /**
61
+ * Agent name
62
+ */
63
+ name: string;
64
+ /**
65
+ * Agent instructions (system prompt)
66
+ */
67
+ instructions: string;
68
+ /**
69
+ * Available tools
70
+ */
71
+ tools: Tool[];
72
+ /**
73
+ * Memory system (optional — agents without memory skip episodic recall)
74
+ */
75
+ memory?: EpisodicMemory;
76
+ /**
77
+ * Per-agent configuration (provider overrides, capability declarations).
78
+ */
79
+ config?: AgentConfig;
80
+ /**
81
+ * Get agent context
82
+ */
83
+ getContext(): AgentContext;
84
+ }
85
+ export interface AgentContext {
86
+ agentId: string;
87
+ userId?: string;
88
+ sessionId?: string;
89
+ currentTask?: Task;
90
+ recentActions?: AgentAction[];
91
+ metadata?: Record<string, unknown>;
92
+ }
93
+ export interface AgentAction {
94
+ type: 'tool_call' | 'memory_read' | 'memory_write' | 'llm_call';
95
+ timestamp: Date;
96
+ details: Record<string, unknown>;
97
+ }
98
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/orchestration/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IAErC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,KAAK,EAAE,IAAI,EAAE,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;OAEG;IACH,UAAU,IAAI,YAAY,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAA;IAC/D,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Agent Interface
3
+ *
4
+ * Defines the structure for AI agents
5
+ */
6
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Default Tool Sets for Agent Types
3
+ *
4
+ * Defines the default tools available to standard agent configurations.
5
+ * Consumers extend these by pushing to agent.tools or by passing
6
+ * additionalTools to getWorkspaceAgentTools().
7
+ *
8
+ * MCP-discovered tools are merged at runtime by MCPHypervisor (P3-3).
9
+ */
10
+ import type { Tool } from '../tools/base.js';
11
+ /**
12
+ * Default tools for the WORKSPACE_AGENT profile.
13
+ * Includes web search (DuckDuckGo, zero-config).
14
+ */
15
+ export declare const WORKSPACE_AGENT_DEFAULT_TOOLS: Tool[];
16
+ /**
17
+ * Returns the workspace agent default tool set, optionally merged with
18
+ * additional tools (e.g. CMS tools, MCP-discovered tools).
19
+ */
20
+ export declare function getWorkspaceAgentTools(additionalTools?: Tool[]): Tool[];
21
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/orchestration/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAG5C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,IAAI,EAAoB,CAAA;AAEpE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,GAAE,IAAI,EAAO,GAAG,IAAI,EAAE,CAE3E"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Default Tool Sets for Agent Types
3
+ *
4
+ * Defines the default tools available to standard agent configurations.
5
+ * Consumers extend these by pushing to agent.tools or by passing
6
+ * additionalTools to getWorkspaceAgentTools().
7
+ *
8
+ * MCP-discovered tools are merged at runtime by MCPHypervisor (P3-3).
9
+ */
10
+ import { webSearchTool } from '../tools/web/index.js';
11
+ /**
12
+ * Default tools for the WORKSPACE_AGENT profile.
13
+ * Includes web search (DuckDuckGo, zero-config).
14
+ */
15
+ export const WORKSPACE_AGENT_DEFAULT_TOOLS = [webSearchTool];
16
+ /**
17
+ * Returns the workspace agent default tool set, optionally merged with
18
+ * additional tools (e.g. CMS tools, MCP-discovered tools).
19
+ */
20
+ export function getWorkspaceAgentTools(additionalTools = []) {
21
+ return [...WORKSPACE_AGENT_DEFAULT_TOOLS, ...additionalTools];
22
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Memory Integration
3
+ *
4
+ * Connects agents to the existing memory system
5
+ */
6
+ import type { AgentMemory } from '@revealui/contracts/agents';
7
+ import type { EpisodicMemory } from '../memory/stores/episodic-memory.js';
8
+ import type { Agent, AgentContext } from './agent.js';
9
+ /**
10
+ * Configuration for AgentMemoryIntegration.
11
+ */
12
+ export interface AgentMemoryIntegrationConfig {
13
+ /**
14
+ * When true (default), episodic memory can only be written via the explicit
15
+ * `store_memory` tool. Automatic writes from storeContext() and
16
+ * updateMemoryFromAction() are blocked.
17
+ *
18
+ * Set to false for backward-compatible auto-store behavior.
19
+ *
20
+ * GDPR rationale: Requiring explicit intent aligns with the data minimisation
21
+ * principle (GDPR Art. 5(1)(c)) and purpose limitation (Art. 5(1)(b)).
22
+ * Agents should only persist what they actively decide to remember.
23
+ */
24
+ requireExplicitStore?: boolean;
25
+ }
26
+ /**
27
+ * Integrate agent with memory system
28
+ */
29
+ export declare class AgentMemoryIntegration {
30
+ /**
31
+ * Store agent context in memory.
32
+ *
33
+ * Blocked when `requireExplicitStore: true` (default). In that mode agents
34
+ * must call the `store_memory` tool explicitly. Use createStoreMemoryTool()
35
+ * to attach the explicit-store tool to the agent.
36
+ */
37
+ static storeContext(agent: Agent, memory: EpisodicMemory, context: AgentContext, config?: AgentMemoryIntegrationConfig): Promise<void>;
38
+ /**
39
+ * Retrieve relevant memories for agent
40
+ */
41
+ static retrieveMemories(agent: Agent, memory: EpisodicMemory, query?: string, limit?: number): Promise<AgentMemory[]>;
42
+ /**
43
+ * Update memory from agent action.
44
+ *
45
+ * Blocked when `requireExplicitStore: true` (default). In that mode agents
46
+ * must call the `store_memory` tool explicitly.
47
+ */
48
+ static updateMemoryFromAction(agent: Agent, memory: EpisodicMemory, action: {
49
+ type: string;
50
+ result: unknown;
51
+ metadata?: Record<string, unknown>;
52
+ }, config?: AgentMemoryIntegrationConfig): Promise<void>;
53
+ /**
54
+ * Get agent context from memory
55
+ */
56
+ static getContext(agent: Agent, memory: EpisodicMemory): Promise<AgentContext | null>;
57
+ }
58
+ //# sourceMappingURL=memory-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-integration.d.ts","sourceRoot":"","sources":["../../src/orchestration/memory-integration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAMD;;GAEG;AAEH,qBAAa,sBAAsB;IACjC;;;;;;OAMG;WACU,YAAY,CACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,GAAE,4BAA4C,GACnD,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;WACU,gBAAgB,CAC3B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,SAAK,GACT,OAAO,CAAC,WAAW,EAAE,CAAC;IA0BzB;;;;;OAKG;WACU,sBAAsB,CACjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACnC,EACD,MAAM,GAAE,4BAA4C,GACnD,OAAO,CAAC,IAAI,CAAC;IAsChB;;OAEG;WACU,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAc5F"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Memory Integration
3
+ *
4
+ * Connects agents to the existing memory system
5
+ */
6
+ const defaultConfig = {
7
+ requireExplicitStore: true,
8
+ };
9
+ /**
10
+ * Integrate agent with memory system
11
+ */
12
+ // biome-ignore lint/complexity/noStaticOnlyClass: Provides a namespaced API.
13
+ export class AgentMemoryIntegration {
14
+ /**
15
+ * Store agent context in memory.
16
+ *
17
+ * Blocked when `requireExplicitStore: true` (default). In that mode agents
18
+ * must call the `store_memory` tool explicitly. Use createStoreMemoryTool()
19
+ * to attach the explicit-store tool to the agent.
20
+ */
21
+ static async storeContext(agent, memory, context, config = defaultConfig) {
22
+ if (config.requireExplicitStore ?? true) {
23
+ // Blocked: agents must use the store_memory tool for explicit persistence.
24
+ return;
25
+ }
26
+ const memoryEntry = {
27
+ id: `context-${agent.id}-${Date.now()}`,
28
+ version: 1,
29
+ content: JSON.stringify(context),
30
+ type: 'fact', // Use 'fact' type since context is a learned fact about the agent state
31
+ source: {
32
+ type: 'agent',
33
+ id: agent.id,
34
+ confidence: 1,
35
+ },
36
+ metadata: {
37
+ importance: 0.5,
38
+ agentId: agent.id,
39
+ sessionId: context.sessionId,
40
+ custom: context.metadata,
41
+ },
42
+ createdAt: new Date().toISOString(),
43
+ accessedAt: new Date().toISOString(),
44
+ accessCount: 0,
45
+ verified: false,
46
+ };
47
+ await memory.add(memoryEntry);
48
+ await memory.save();
49
+ }
50
+ /**
51
+ * Retrieve relevant memories for agent
52
+ */
53
+ static async retrieveMemories(agent, memory, query, limit = 10) {
54
+ const allMemories = await memory.getAll();
55
+ // Filter by agent ID (check metadata.agentId or source.id)
56
+ const agentMemories = allMemories.filter((m) => m.metadata?.agentId === agent.id || m.source.id === agent.id);
57
+ // If query provided, filter by content (simplified - would use semantic search in production)
58
+ if (query) {
59
+ const queryLower = query.toLowerCase();
60
+ return agentMemories
61
+ .filter((m) => m.content.toLowerCase().includes(queryLower))
62
+ .slice(0, limit);
63
+ }
64
+ // Return most recent
65
+ return agentMemories
66
+ .sort((a, b) => {
67
+ const aTime = new Date(a.accessedAt).getTime();
68
+ const bTime = new Date(b.accessedAt).getTime();
69
+ return bTime - aTime;
70
+ })
71
+ .slice(0, limit);
72
+ }
73
+ /**
74
+ * Update memory from agent action.
75
+ *
76
+ * Blocked when `requireExplicitStore: true` (default). In that mode agents
77
+ * must call the `store_memory` tool explicitly.
78
+ */
79
+ static async updateMemoryFromAction(agent, memory, action, config = defaultConfig) {
80
+ if (config.requireExplicitStore ?? true) {
81
+ // Blocked: agents must use the store_memory tool for explicit persistence.
82
+ return;
83
+ }
84
+ const memoryEntry = {
85
+ id: `action-${agent.id}-${Date.now()}`,
86
+ version: 1,
87
+ content: JSON.stringify({
88
+ type: action.type,
89
+ result: action.result,
90
+ timestamp: new Date().toISOString(),
91
+ }),
92
+ type: 'decision', // Use 'decision' type since actions represent decisions made
93
+ source: {
94
+ type: 'agent',
95
+ id: agent.id,
96
+ confidence: 1,
97
+ },
98
+ metadata: {
99
+ importance: 0.5,
100
+ agentId: agent.id,
101
+ custom: {
102
+ actionType: action.type,
103
+ ...action.metadata,
104
+ },
105
+ },
106
+ createdAt: new Date().toISOString(),
107
+ accessedAt: new Date().toISOString(),
108
+ accessCount: 0,
109
+ verified: false,
110
+ };
111
+ await memory.add(memoryEntry);
112
+ await memory.save();
113
+ }
114
+ /**
115
+ * Get agent context from memory
116
+ */
117
+ static async getContext(agent, memory) {
118
+ const memories = await AgentMemoryIntegration.retrieveMemories(agent, memory, 'context', 1);
119
+ if (memories.length === 0 || !memories[0]) {
120
+ return null;
121
+ }
122
+ try {
123
+ const context = JSON.parse(memories[0].content);
124
+ return context;
125
+ }
126
+ catch {
127
+ return null;
128
+ }
129
+ }
130
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Agent Orchestrator
3
+ *
4
+ * Coordinates multiple agents for complex tasks.
5
+ * Requires an LLM client to execute agent tasks via the runtime.
6
+ */
7
+ import type { LLMClient } from '../llm/client.js';
8
+ import type { Agent, AgentResult, Task } from './agent.js';
9
+ export interface OrchestrationConfig {
10
+ maxConcurrentAgents?: number;
11
+ taskTimeout?: number;
12
+ retryOnFailure?: boolean;
13
+ }
14
+ export declare class AgentOrchestrator {
15
+ private agents;
16
+ private config;
17
+ private runtime;
18
+ private llmClient;
19
+ constructor(config?: OrchestrationConfig);
20
+ /**
21
+ * Set the LLM client used for task execution.
22
+ * Must be called before delegateTask() or coordinateAgents().
23
+ */
24
+ setLLMClient(client: LLMClient): void;
25
+ /**
26
+ * Get the current LLM client (if configured)
27
+ */
28
+ getLLMClient(): LLMClient | null;
29
+ /**
30
+ * Register an agent
31
+ */
32
+ registerAgent(agent: Agent): void;
33
+ /**
34
+ * Unregister an agent
35
+ */
36
+ unregisterAgent(agentId: string): void;
37
+ /**
38
+ * Get an agent by ID
39
+ */
40
+ getAgent(agentId: string): Agent | undefined;
41
+ /**
42
+ * Get all registered agents
43
+ */
44
+ getAllAgents(): Agent[];
45
+ /**
46
+ * Delegate a task to the most appropriate agent.
47
+ * Uses the runtime's agentic loop (LLM chat → tool calls → repeat).
48
+ */
49
+ delegateTask(task: Task, preferredAgentId?: string): Promise<AgentResult>;
50
+ /**
51
+ * Find the best agent for a task.
52
+ *
53
+ * Routing priority:
54
+ * 1. Capability intersection — agent whose AgentConfig.capabilities overlaps
55
+ * with task.requiredCapabilities (highest-overlap agent wins)
56
+ * 2. Tool-name substring match — agent has a tool whose name includes the
57
+ * task type string (legacy fallback)
58
+ * 3. First registered agent — last-resort fallback
59
+ */
60
+ private findBestAgent;
61
+ /**
62
+ * Coordinate multiple agents for a complex task.
63
+ * Executes in batches up to maxConcurrentAgents, each agent receiving a subtask.
64
+ */
65
+ coordinateAgents(task: Task, agentIds: string[]): Promise<Map<string, AgentResult>>;
66
+ }
67
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestration/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAG1D,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAyB;gBAE9B,MAAM,GAAE,mBAAwB;IAW5C;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIrC;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOjC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI5C;;OAEG;IACH,YAAY,IAAI,KAAK,EAAE;IAIvB;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA6B/E;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IA+BrB;;;OAGG;IACG,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAoD1F"}