@kilnai/core 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 (609) hide show
  1. package/dist/agents/circuit-breaker.d.ts +26 -0
  2. package/dist/agents/circuit-breaker.d.ts.map +1 -0
  3. package/dist/agents/circuit-breaker.js +90 -0
  4. package/dist/agents/circuit-breaker.js.map +1 -0
  5. package/dist/agents/context-compressor.d.ts +13 -0
  6. package/dist/agents/context-compressor.d.ts.map +1 -0
  7. package/dist/agents/context-compressor.js +21 -0
  8. package/dist/agents/context-compressor.js.map +1 -0
  9. package/dist/agents/index.d.ts +68 -0
  10. package/dist/agents/index.d.ts.map +1 -0
  11. package/dist/agents/index.js +13 -0
  12. package/dist/agents/index.js.map +1 -0
  13. package/dist/agents/infrastructure/anthropic.d.ts +24 -0
  14. package/dist/agents/infrastructure/anthropic.d.ts.map +1 -0
  15. package/dist/agents/infrastructure/anthropic.js +226 -0
  16. package/dist/agents/infrastructure/anthropic.js.map +1 -0
  17. package/dist/agents/infrastructure/deepseek.d.ts +10 -0
  18. package/dist/agents/infrastructure/deepseek.d.ts.map +1 -0
  19. package/dist/agents/infrastructure/deepseek.js +14 -0
  20. package/dist/agents/infrastructure/deepseek.js.map +1 -0
  21. package/dist/agents/infrastructure/ollama.d.ts +20 -0
  22. package/dist/agents/infrastructure/ollama.d.ts.map +1 -0
  23. package/dist/agents/infrastructure/ollama.js +128 -0
  24. package/dist/agents/infrastructure/ollama.js.map +1 -0
  25. package/dist/agents/infrastructure/openai-compat.d.ts +25 -0
  26. package/dist/agents/infrastructure/openai-compat.d.ts.map +1 -0
  27. package/dist/agents/infrastructure/openai-compat.js +211 -0
  28. package/dist/agents/infrastructure/openai-compat.js.map +1 -0
  29. package/dist/agents/infrastructure/openai.d.ts +12 -0
  30. package/dist/agents/infrastructure/openai.d.ts.map +1 -0
  31. package/dist/agents/infrastructure/openai.js +16 -0
  32. package/dist/agents/infrastructure/openai.js.map +1 -0
  33. package/dist/agents/infrastructure/retry.d.ts +10 -0
  34. package/dist/agents/infrastructure/retry.d.ts.map +1 -0
  35. package/dist/agents/infrastructure/retry.js +22 -0
  36. package/dist/agents/infrastructure/retry.js.map +1 -0
  37. package/dist/agents/mcp-client.d.ts +22 -0
  38. package/dist/agents/mcp-client.d.ts.map +1 -0
  39. package/dist/agents/mcp-client.js +104 -0
  40. package/dist/agents/mcp-client.js.map +1 -0
  41. package/dist/agents/model-pricing.d.ts +9 -0
  42. package/dist/agents/model-pricing.d.ts.map +1 -0
  43. package/dist/agents/model-pricing.js +17 -0
  44. package/dist/agents/model-pricing.js.map +1 -0
  45. package/dist/agents/provider-registry.d.ts +25 -0
  46. package/dist/agents/provider-registry.d.ts.map +1 -0
  47. package/dist/agents/provider-registry.js +62 -0
  48. package/dist/agents/provider-registry.js.map +1 -0
  49. package/dist/agents/tool-cache.d.ts +13 -0
  50. package/dist/agents/tool-cache.d.ts.map +1 -0
  51. package/dist/agents/tool-cache.js +52 -0
  52. package/dist/agents/tool-cache.js.map +1 -0
  53. package/dist/agents/tool-rag.d.ts +15 -0
  54. package/dist/agents/tool-rag.d.ts.map +1 -0
  55. package/dist/agents/tool-rag.js +92 -0
  56. package/dist/agents/tool-rag.js.map +1 -0
  57. package/dist/agents/tool-registry.d.ts +29 -0
  58. package/dist/agents/tool-registry.d.ts.map +1 -0
  59. package/dist/agents/tool-registry.js +64 -0
  60. package/dist/agents/tool-registry.js.map +1 -0
  61. package/dist/cost/cost-tracker.d.ts +27 -0
  62. package/dist/cost/cost-tracker.d.ts.map +1 -0
  63. package/dist/cost/cost-tracker.js +103 -0
  64. package/dist/cost/cost-tracker.js.map +1 -0
  65. package/dist/cost/index.d.ts +30 -0
  66. package/dist/cost/index.d.ts.map +1 -0
  67. package/dist/cost/index.js +2 -0
  68. package/dist/cost/index.js.map +1 -0
  69. package/dist/domain/domain-package-adapter.d.ts +13 -0
  70. package/dist/domain/domain-package-adapter.d.ts.map +1 -0
  71. package/dist/domain/domain-package-adapter.js +66 -0
  72. package/dist/domain/domain-package-adapter.js.map +1 -0
  73. package/dist/domain/domain-registry.d.ts +26 -0
  74. package/dist/domain/domain-registry.d.ts.map +1 -0
  75. package/dist/domain/domain-registry.js +119 -0
  76. package/dist/domain/domain-registry.js.map +1 -0
  77. package/dist/domain/index.d.ts +22 -0
  78. package/dist/domain/index.d.ts.map +1 -0
  79. package/dist/domain/index.js +30 -0
  80. package/dist/domain/index.js.map +1 -0
  81. package/dist/domain/yaml-parser.d.ts +18 -0
  82. package/dist/domain/yaml-parser.d.ts.map +1 -0
  83. package/dist/domain/yaml-parser.js +47 -0
  84. package/dist/domain/yaml-parser.js.map +1 -0
  85. package/dist/domain/yaml-schema.d.ts +26 -0
  86. package/dist/domain/yaml-schema.d.ts.map +1 -0
  87. package/dist/domain/yaml-schema.js +66 -0
  88. package/dist/domain/yaml-schema.js.map +1 -0
  89. package/dist/engine/composites/app.d.ts +39 -0
  90. package/dist/engine/composites/app.d.ts.map +1 -0
  91. package/dist/engine/composites/app.js +125 -0
  92. package/dist/engine/composites/app.js.map +1 -0
  93. package/dist/engine/composites/router.d.ts +20 -0
  94. package/dist/engine/composites/router.d.ts.map +1 -0
  95. package/dist/engine/composites/router.js +31 -0
  96. package/dist/engine/composites/router.js.map +1 -0
  97. package/dist/engine/composites/team.d.ts +36 -0
  98. package/dist/engine/composites/team.d.ts.map +1 -0
  99. package/dist/engine/composites/team.js +100 -0
  100. package/dist/engine/composites/team.js.map +1 -0
  101. package/dist/engine/domain/a2a-config.d.ts +53 -0
  102. package/dist/engine/domain/a2a-config.d.ts.map +1 -0
  103. package/dist/engine/domain/a2a-config.js +32 -0
  104. package/dist/engine/domain/a2a-config.js.map +1 -0
  105. package/dist/engine/domain/agent.d.ts +18 -0
  106. package/dist/engine/domain/agent.d.ts.map +1 -0
  107. package/dist/engine/domain/agent.js +4 -0
  108. package/dist/engine/domain/agent.js.map +1 -0
  109. package/dist/engine/domain/capability.d.ts +24 -0
  110. package/dist/engine/domain/capability.d.ts.map +1 -0
  111. package/dist/engine/domain/capability.js +3 -0
  112. package/dist/engine/domain/capability.js.map +1 -0
  113. package/dist/engine/domain/channel.d.ts +37 -0
  114. package/dist/engine/domain/channel.d.ts.map +1 -0
  115. package/dist/engine/domain/channel.js +4 -0
  116. package/dist/engine/domain/channel.js.map +1 -0
  117. package/dist/engine/domain/chunker.d.ts +22 -0
  118. package/dist/engine/domain/chunker.d.ts.map +1 -0
  119. package/dist/engine/domain/chunker.js +3 -0
  120. package/dist/engine/domain/chunker.js.map +1 -0
  121. package/dist/engine/domain/content.d.ts +57 -0
  122. package/dist/engine/domain/content.d.ts.map +1 -0
  123. package/dist/engine/domain/content.js +63 -0
  124. package/dist/engine/domain/content.js.map +1 -0
  125. package/dist/engine/domain/cron.d.ts +15 -0
  126. package/dist/engine/domain/cron.d.ts.map +1 -0
  127. package/dist/engine/domain/cron.js +114 -0
  128. package/dist/engine/domain/cron.js.map +1 -0
  129. package/dist/engine/domain/embedding.d.ts +9 -0
  130. package/dist/engine/domain/embedding.d.ts.map +1 -0
  131. package/dist/engine/domain/embedding.js +4 -0
  132. package/dist/engine/domain/embedding.js.map +1 -0
  133. package/dist/engine/domain/eval-config.d.ts +36 -0
  134. package/dist/engine/domain/eval-config.d.ts.map +1 -0
  135. package/dist/engine/domain/eval-config.js +155 -0
  136. package/dist/engine/domain/eval-config.js.map +1 -0
  137. package/dist/engine/domain/knowledge-config.d.ts +34 -0
  138. package/dist/engine/domain/knowledge-config.d.ts.map +1 -0
  139. package/dist/engine/domain/knowledge-config.js +62 -0
  140. package/dist/engine/domain/knowledge-config.js.map +1 -0
  141. package/dist/engine/domain/mcp-config.d.ts +15 -0
  142. package/dist/engine/domain/mcp-config.d.ts.map +1 -0
  143. package/dist/engine/domain/mcp-config.js +26 -0
  144. package/dist/engine/domain/mcp-config.js.map +1 -0
  145. package/dist/engine/domain/memory.d.ts +17 -0
  146. package/dist/engine/domain/memory.d.ts.map +1 -0
  147. package/dist/engine/domain/memory.js +4 -0
  148. package/dist/engine/domain/memory.js.map +1 -0
  149. package/dist/engine/domain/modality.d.ts +5 -0
  150. package/dist/engine/domain/modality.d.ts.map +1 -0
  151. package/dist/engine/domain/modality.js +19 -0
  152. package/dist/engine/domain/modality.js.map +1 -0
  153. package/dist/engine/domain/orchestrator-config.d.ts +11 -0
  154. package/dist/engine/domain/orchestrator-config.d.ts.map +1 -0
  155. package/dist/engine/domain/orchestrator-config.js +4 -0
  156. package/dist/engine/domain/orchestrator-config.js.map +1 -0
  157. package/dist/engine/domain/prompt-assembler.d.ts +32 -0
  158. package/dist/engine/domain/prompt-assembler.d.ts.map +1 -0
  159. package/dist/engine/domain/prompt-assembler.js +60 -0
  160. package/dist/engine/domain/prompt-assembler.js.map +1 -0
  161. package/dist/engine/domain/safety-config.d.ts +51 -0
  162. package/dist/engine/domain/safety-config.d.ts.map +1 -0
  163. package/dist/engine/domain/safety-config.js +74 -0
  164. package/dist/engine/domain/safety-config.js.map +1 -0
  165. package/dist/engine/domain/speech-config.d.ts +53 -0
  166. package/dist/engine/domain/speech-config.d.ts.map +1 -0
  167. package/dist/engine/domain/speech-config.js +26 -0
  168. package/dist/engine/domain/speech-config.js.map +1 -0
  169. package/dist/engine/domain/task.d.ts +16 -0
  170. package/dist/engine/domain/task.d.ts.map +1 -0
  171. package/dist/engine/domain/task.js +4 -0
  172. package/dist/engine/domain/task.js.map +1 -0
  173. package/dist/engine/domain/tool-selection-config.d.ts +12 -0
  174. package/dist/engine/domain/tool-selection-config.d.ts.map +1 -0
  175. package/dist/engine/domain/tool-selection-config.js +22 -0
  176. package/dist/engine/domain/tool-selection-config.js.map +1 -0
  177. package/dist/engine/domain/trigger.d.ts +43 -0
  178. package/dist/engine/domain/trigger.d.ts.map +1 -0
  179. package/dist/engine/domain/trigger.js +39 -0
  180. package/dist/engine/domain/trigger.js.map +1 -0
  181. package/dist/engine/domain/vector-store.d.ts +27 -0
  182. package/dist/engine/domain/vector-store.d.ts.map +1 -0
  183. package/dist/engine/domain/vector-store.js +3 -0
  184. package/dist/engine/domain/vector-store.js.map +1 -0
  185. package/dist/engine/domain/workflow.d.ts +11 -0
  186. package/dist/engine/domain/workflow.d.ts.map +1 -0
  187. package/dist/engine/domain/workflow.js +4 -0
  188. package/dist/engine/domain/workflow.js.map +1 -0
  189. package/dist/engine/error-catalog.d.ts +8 -0
  190. package/dist/engine/error-catalog.d.ts.map +1 -0
  191. package/dist/engine/error-catalog.js +335 -0
  192. package/dist/engine/error-catalog.js.map +1 -0
  193. package/dist/engine/errors.d.ts +18 -0
  194. package/dist/engine/errors.d.ts.map +1 -0
  195. package/dist/engine/errors.js +20 -0
  196. package/dist/engine/errors.js.map +1 -0
  197. package/dist/engine/gateway/delegation-config.d.ts +52 -0
  198. package/dist/engine/gateway/delegation-config.d.ts.map +1 -0
  199. package/dist/engine/gateway/delegation-config.js +48 -0
  200. package/dist/engine/gateway/delegation-config.js.map +1 -0
  201. package/dist/engine/gateway/gateway-config.d.ts +33 -0
  202. package/dist/engine/gateway/gateway-config.d.ts.map +1 -0
  203. package/dist/engine/gateway/gateway-config.js +61 -0
  204. package/dist/engine/gateway/gateway-config.js.map +1 -0
  205. package/dist/engine/gateway/gateway-loader.d.ts +10 -0
  206. package/dist/engine/gateway/gateway-loader.d.ts.map +1 -0
  207. package/dist/engine/gateway/gateway-loader.js +150 -0
  208. package/dist/engine/gateway/gateway-loader.js.map +1 -0
  209. package/dist/engine/gateway/mode-b-config.d.ts +44 -0
  210. package/dist/engine/gateway/mode-b-config.d.ts.map +1 -0
  211. package/dist/engine/gateway/mode-b-config.js +45 -0
  212. package/dist/engine/gateway/mode-b-config.js.map +1 -0
  213. package/dist/engine/gateway/mode-b-loader.d.ts +14 -0
  214. package/dist/engine/gateway/mode-b-loader.d.ts.map +1 -0
  215. package/dist/engine/gateway/mode-b-loader.js +104 -0
  216. package/dist/engine/gateway/mode-b-loader.js.map +1 -0
  217. package/dist/engine/gateway/observability-config.d.ts +19 -0
  218. package/dist/engine/gateway/observability-config.d.ts.map +1 -0
  219. package/dist/engine/gateway/observability-config.js +27 -0
  220. package/dist/engine/gateway/observability-config.js.map +1 -0
  221. package/dist/engine/gateway/tenant-config.d.ts +59 -0
  222. package/dist/engine/gateway/tenant-config.d.ts.map +1 -0
  223. package/dist/engine/gateway/tenant-config.js +44 -0
  224. package/dist/engine/gateway/tenant-config.js.map +1 -0
  225. package/dist/engine/index.d.ts +49 -0
  226. package/dist/engine/index.d.ts.map +1 -0
  227. package/dist/engine/index.js +27 -0
  228. package/dist/engine/index.js.map +1 -0
  229. package/dist/engine/loader/app-loader.d.ts +18 -0
  230. package/dist/engine/loader/app-loader.d.ts.map +1 -0
  231. package/dist/engine/loader/app-loader.js +947 -0
  232. package/dist/engine/loader/app-loader.js.map +1 -0
  233. package/dist/engine/loader/preset-loader.d.ts +13 -0
  234. package/dist/engine/loader/preset-loader.d.ts.map +1 -0
  235. package/dist/engine/loader/preset-loader.js +51 -0
  236. package/dist/engine/loader/preset-loader.js.map +1 -0
  237. package/dist/eval/dataset-loader.d.ts +3 -0
  238. package/dist/eval/dataset-loader.d.ts.map +1 -0
  239. package/dist/eval/dataset-loader.js +70 -0
  240. package/dist/eval/dataset-loader.js.map +1 -0
  241. package/dist/eval/experiment-comparator.d.ts +16 -0
  242. package/dist/eval/experiment-comparator.d.ts.map +1 -0
  243. package/dist/eval/experiment-comparator.js +34 -0
  244. package/dist/eval/experiment-comparator.js.map +1 -0
  245. package/dist/eval/experiment-runner.d.ts +20 -0
  246. package/dist/eval/experiment-runner.d.ts.map +1 -0
  247. package/dist/eval/experiment-runner.js +54 -0
  248. package/dist/eval/experiment-runner.js.map +1 -0
  249. package/dist/eval/index.d.ts +21 -0
  250. package/dist/eval/index.d.ts.map +1 -0
  251. package/dist/eval/index.js +19 -0
  252. package/dist/eval/index.js.map +1 -0
  253. package/dist/eval/scorer-factory.d.ts +4 -0
  254. package/dist/eval/scorer-factory.d.ts.map +1 -0
  255. package/dist/eval/scorer-factory.js +67 -0
  256. package/dist/eval/scorer-factory.js.map +1 -0
  257. package/dist/eval/scorers/coherence-scorer.d.ts +8 -0
  258. package/dist/eval/scorers/coherence-scorer.d.ts.map +1 -0
  259. package/dist/eval/scorers/coherence-scorer.js +22 -0
  260. package/dist/eval/scorers/coherence-scorer.js.map +1 -0
  261. package/dist/eval/scorers/composite-scorer.d.ts +8 -0
  262. package/dist/eval/scorers/composite-scorer.d.ts.map +1 -0
  263. package/dist/eval/scorers/composite-scorer.js +19 -0
  264. package/dist/eval/scorers/composite-scorer.js.map +1 -0
  265. package/dist/eval/scorers/contains-scorer.d.ts +8 -0
  266. package/dist/eval/scorers/contains-scorer.d.ts.map +1 -0
  267. package/dist/eval/scorers/contains-scorer.js +30 -0
  268. package/dist/eval/scorers/contains-scorer.js.map +1 -0
  269. package/dist/eval/scorers/cost-scorer.d.ts +8 -0
  270. package/dist/eval/scorers/cost-scorer.d.ts.map +1 -0
  271. package/dist/eval/scorers/cost-scorer.js +19 -0
  272. package/dist/eval/scorers/cost-scorer.js.map +1 -0
  273. package/dist/eval/scorers/custom-prompt-scorer.d.ts +9 -0
  274. package/dist/eval/scorers/custom-prompt-scorer.d.ts.map +1 -0
  275. package/dist/eval/scorers/custom-prompt-scorer.js +24 -0
  276. package/dist/eval/scorers/custom-prompt-scorer.js.map +1 -0
  277. package/dist/eval/scorers/exact-match-scorer.d.ts +6 -0
  278. package/dist/eval/scorers/exact-match-scorer.d.ts.map +1 -0
  279. package/dist/eval/scorers/exact-match-scorer.js +16 -0
  280. package/dist/eval/scorers/exact-match-scorer.js.map +1 -0
  281. package/dist/eval/scorers/faithfulness-scorer.d.ts +8 -0
  282. package/dist/eval/scorers/faithfulness-scorer.d.ts.map +1 -0
  283. package/dist/eval/scorers/faithfulness-scorer.js +27 -0
  284. package/dist/eval/scorers/faithfulness-scorer.js.map +1 -0
  285. package/dist/eval/scorers/hallucination-scorer.d.ts +8 -0
  286. package/dist/eval/scorers/hallucination-scorer.d.ts.map +1 -0
  287. package/dist/eval/scorers/hallucination-scorer.js +31 -0
  288. package/dist/eval/scorers/hallucination-scorer.js.map +1 -0
  289. package/dist/eval/scorers/json-validity-scorer.d.ts +8 -0
  290. package/dist/eval/scorers/json-validity-scorer.d.ts.map +1 -0
  291. package/dist/eval/scorers/json-validity-scorer.js +32 -0
  292. package/dist/eval/scorers/json-validity-scorer.js.map +1 -0
  293. package/dist/eval/scorers/latency-scorer.d.ts +8 -0
  294. package/dist/eval/scorers/latency-scorer.d.ts.map +1 -0
  295. package/dist/eval/scorers/latency-scorer.js +19 -0
  296. package/dist/eval/scorers/latency-scorer.js.map +1 -0
  297. package/dist/eval/scorers/length-scorer.d.ts +9 -0
  298. package/dist/eval/scorers/length-scorer.d.ts.map +1 -0
  299. package/dist/eval/scorers/length-scorer.js +26 -0
  300. package/dist/eval/scorers/length-scorer.js.map +1 -0
  301. package/dist/eval/scorers/parse-llm-response.d.ts +5 -0
  302. package/dist/eval/scorers/parse-llm-response.d.ts.map +1 -0
  303. package/dist/eval/scorers/parse-llm-response.js +13 -0
  304. package/dist/eval/scorers/parse-llm-response.js.map +1 -0
  305. package/dist/eval/scorers/relevance-scorer.d.ts +8 -0
  306. package/dist/eval/scorers/relevance-scorer.d.ts.map +1 -0
  307. package/dist/eval/scorers/relevance-scorer.js +23 -0
  308. package/dist/eval/scorers/relevance-scorer.js.map +1 -0
  309. package/dist/eval/scorers/toxicity-scorer.d.ts +8 -0
  310. package/dist/eval/scorers/toxicity-scorer.d.ts.map +1 -0
  311. package/dist/eval/scorers/toxicity-scorer.js +26 -0
  312. package/dist/eval/scorers/toxicity-scorer.js.map +1 -0
  313. package/dist/eval/types.d.ts +51 -0
  314. package/dist/eval/types.d.ts.map +1 -0
  315. package/dist/eval/types.js +3 -0
  316. package/dist/eval/types.js.map +1 -0
  317. package/dist/events/event-bus.d.ts +36 -0
  318. package/dist/events/event-bus.d.ts.map +1 -0
  319. package/dist/events/event-bus.js +116 -0
  320. package/dist/events/event-bus.js.map +1 -0
  321. package/dist/events/event-store.d.ts +11 -0
  322. package/dist/events/event-store.d.ts.map +1 -0
  323. package/dist/events/event-store.js +2 -0
  324. package/dist/events/event-store.js.map +1 -0
  325. package/dist/events/index.d.ts +295 -0
  326. package/dist/events/index.d.ts.map +1 -0
  327. package/dist/events/index.js +48 -0
  328. package/dist/events/index.js.map +1 -0
  329. package/dist/events/trace.d.ts +30 -0
  330. package/dist/events/trace.d.ts.map +1 -0
  331. package/dist/events/trace.js +45 -0
  332. package/dist/events/trace.js.map +1 -0
  333. package/dist/index.d.ts +58 -0
  334. package/dist/index.d.ts.map +1 -0
  335. package/dist/index.js +42 -0
  336. package/dist/index.js.map +1 -0
  337. package/dist/knowledge/index.d.ts +10 -0
  338. package/dist/knowledge/index.d.ts.map +1 -0
  339. package/dist/knowledge/index.js +9 -0
  340. package/dist/knowledge/index.js.map +1 -0
  341. package/dist/knowledge/infrastructure/memory-vector-store.d.ts +12 -0
  342. package/dist/knowledge/infrastructure/memory-vector-store.d.ts.map +1 -0
  343. package/dist/knowledge/infrastructure/memory-vector-store.js +71 -0
  344. package/dist/knowledge/infrastructure/memory-vector-store.js.map +1 -0
  345. package/dist/knowledge/infrastructure/ollama-embedding.d.ts +15 -0
  346. package/dist/knowledge/infrastructure/ollama-embedding.d.ts.map +1 -0
  347. package/dist/knowledge/infrastructure/ollama-embedding.js +38 -0
  348. package/dist/knowledge/infrastructure/ollama-embedding.js.map +1 -0
  349. package/dist/knowledge/infrastructure/openai-embedding.d.ts +18 -0
  350. package/dist/knowledge/infrastructure/openai-embedding.d.ts.map +1 -0
  351. package/dist/knowledge/infrastructure/openai-embedding.js +66 -0
  352. package/dist/knowledge/infrastructure/openai-embedding.js.map +1 -0
  353. package/dist/knowledge/knowledge-capability.d.ts +15 -0
  354. package/dist/knowledge/knowledge-capability.d.ts.map +1 -0
  355. package/dist/knowledge/knowledge-capability.js +36 -0
  356. package/dist/knowledge/knowledge-capability.js.map +1 -0
  357. package/dist/knowledge/markdown-chunker.d.ts +8 -0
  358. package/dist/knowledge/markdown-chunker.d.ts.map +1 -0
  359. package/dist/knowledge/markdown-chunker.js +146 -0
  360. package/dist/knowledge/markdown-chunker.js.map +1 -0
  361. package/dist/knowledge/recursive-chunker.d.ts +8 -0
  362. package/dist/knowledge/recursive-chunker.d.ts.map +1 -0
  363. package/dist/knowledge/recursive-chunker.js +73 -0
  364. package/dist/knowledge/recursive-chunker.js.map +1 -0
  365. package/dist/knowledge/reranker.d.ts +5 -0
  366. package/dist/knowledge/reranker.d.ts.map +1 -0
  367. package/dist/knowledge/reranker.js +3 -0
  368. package/dist/knowledge/reranker.js.map +1 -0
  369. package/dist/knowledge/retrieval-pipeline.d.ts +26 -0
  370. package/dist/knowledge/retrieval-pipeline.d.ts.map +1 -0
  371. package/dist/knowledge/retrieval-pipeline.js +56 -0
  372. package/dist/knowledge/retrieval-pipeline.js.map +1 -0
  373. package/dist/memory/chunk-importer.d.ts +16 -0
  374. package/dist/memory/chunk-importer.d.ts.map +1 -0
  375. package/dist/memory/chunk-importer.js +58 -0
  376. package/dist/memory/chunk-importer.js.map +1 -0
  377. package/dist/memory/compactor.d.ts +59 -0
  378. package/dist/memory/compactor.d.ts.map +1 -0
  379. package/dist/memory/compactor.js +100 -0
  380. package/dist/memory/compactor.js.map +1 -0
  381. package/dist/memory/decay-curves.d.ts +33 -0
  382. package/dist/memory/decay-curves.d.ts.map +1 -0
  383. package/dist/memory/decay-curves.js +48 -0
  384. package/dist/memory/decay-curves.js.map +1 -0
  385. package/dist/memory/developer-identity.d.ts +7 -0
  386. package/dist/memory/developer-identity.d.ts.map +1 -0
  387. package/dist/memory/developer-identity.js +20 -0
  388. package/dist/memory/developer-identity.js.map +1 -0
  389. package/dist/memory/git-sync-manager.d.ts +28 -0
  390. package/dist/memory/git-sync-manager.d.ts.map +1 -0
  391. package/dist/memory/git-sync-manager.js +77 -0
  392. package/dist/memory/git-sync-manager.js.map +1 -0
  393. package/dist/memory/index.d.ts +46 -0
  394. package/dist/memory/index.d.ts.map +1 -0
  395. package/dist/memory/index.js +11 -0
  396. package/dist/memory/index.js.map +1 -0
  397. package/dist/memory/memory-manager.d.ts +34 -0
  398. package/dist/memory/memory-manager.d.ts.map +1 -0
  399. package/dist/memory/memory-manager.js +151 -0
  400. package/dist/memory/memory-manager.js.map +1 -0
  401. package/dist/memory/project-store.d.ts +28 -0
  402. package/dist/memory/project-store.d.ts.map +1 -0
  403. package/dist/memory/project-store.js +159 -0
  404. package/dist/memory/project-store.js.map +1 -0
  405. package/dist/memory/sqlite-store.d.ts +41 -0
  406. package/dist/memory/sqlite-store.d.ts.map +1 -0
  407. package/dist/memory/sqlite-store.js +320 -0
  408. package/dist/memory/sqlite-store.js.map +1 -0
  409. package/dist/observability/index.d.ts +5 -0
  410. package/dist/observability/index.d.ts.map +1 -0
  411. package/dist/observability/index.js +3 -0
  412. package/dist/observability/index.js.map +1 -0
  413. package/dist/observability/otel-exporter.d.ts +41 -0
  414. package/dist/observability/otel-exporter.d.ts.map +1 -0
  415. package/dist/observability/otel-exporter.js +166 -0
  416. package/dist/observability/otel-exporter.js.map +1 -0
  417. package/dist/observability/span-mapper.d.ts +24 -0
  418. package/dist/observability/span-mapper.d.ts.map +1 -0
  419. package/dist/observability/span-mapper.js +375 -0
  420. package/dist/observability/span-mapper.js.map +1 -0
  421. package/dist/orchestrator/checkpoint-store.d.ts +9 -0
  422. package/dist/orchestrator/checkpoint-store.d.ts.map +1 -0
  423. package/dist/orchestrator/checkpoint-store.js +2 -0
  424. package/dist/orchestrator/checkpoint-store.js.map +1 -0
  425. package/dist/orchestrator/checkpoint-types.d.ts +30 -0
  426. package/dist/orchestrator/checkpoint-types.d.ts.map +1 -0
  427. package/dist/orchestrator/checkpoint-types.js +2 -0
  428. package/dist/orchestrator/checkpoint-types.js.map +1 -0
  429. package/dist/orchestrator/guardrails.d.ts +23 -0
  430. package/dist/orchestrator/guardrails.d.ts.map +1 -0
  431. package/dist/orchestrator/guardrails.js +136 -0
  432. package/dist/orchestrator/guardrails.js.map +1 -0
  433. package/dist/orchestrator/index.d.ts +45 -0
  434. package/dist/orchestrator/index.d.ts.map +1 -0
  435. package/dist/orchestrator/index.js +8 -0
  436. package/dist/orchestrator/index.js.map +1 -0
  437. package/dist/orchestrator/interrupt.d.ts +20 -0
  438. package/dist/orchestrator/interrupt.d.ts.map +1 -0
  439. package/dist/orchestrator/interrupt.js +4 -0
  440. package/dist/orchestrator/interrupt.js.map +1 -0
  441. package/dist/orchestrator/orchestrator.d.ts +170 -0
  442. package/dist/orchestrator/orchestrator.d.ts.map +1 -0
  443. package/dist/orchestrator/orchestrator.js +509 -0
  444. package/dist/orchestrator/orchestrator.js.map +1 -0
  445. package/dist/orchestrator/phase-machine.d.ts +48 -0
  446. package/dist/orchestrator/phase-machine.d.ts.map +1 -0
  447. package/dist/orchestrator/phase-machine.js +176 -0
  448. package/dist/orchestrator/phase-machine.js.map +1 -0
  449. package/dist/orchestrator/schemas.d.ts +145 -0
  450. package/dist/orchestrator/schemas.d.ts.map +1 -0
  451. package/dist/orchestrator/schemas.js +126 -0
  452. package/dist/orchestrator/schemas.js.map +1 -0
  453. package/dist/orchestrator/sqlite-checkpoint-store.d.ts +15 -0
  454. package/dist/orchestrator/sqlite-checkpoint-store.d.ts.map +1 -0
  455. package/dist/orchestrator/sqlite-checkpoint-store.js +98 -0
  456. package/dist/orchestrator/sqlite-checkpoint-store.js.map +1 -0
  457. package/dist/orchestrator/strategies/index.d.ts +28 -0
  458. package/dist/orchestrator/strategies/index.d.ts.map +1 -0
  459. package/dist/orchestrator/strategies/index.js +20 -0
  460. package/dist/orchestrator/strategies/index.js.map +1 -0
  461. package/dist/orchestrator/strategies/sequential-strategy.d.ts +13 -0
  462. package/dist/orchestrator/strategies/sequential-strategy.d.ts.map +1 -0
  463. package/dist/orchestrator/strategies/sequential-strategy.js +29 -0
  464. package/dist/orchestrator/strategies/sequential-strategy.js.map +1 -0
  465. package/dist/orchestrator/strategies/supervisor-strategy.d.ts +43 -0
  466. package/dist/orchestrator/strategies/supervisor-strategy.d.ts.map +1 -0
  467. package/dist/orchestrator/strategies/supervisor-strategy.js +118 -0
  468. package/dist/orchestrator/strategies/supervisor-strategy.js.map +1 -0
  469. package/dist/orchestrator/strategies/swarm-strategy.d.ts +36 -0
  470. package/dist/orchestrator/strategies/swarm-strategy.d.ts.map +1 -0
  471. package/dist/orchestrator/strategies/swarm-strategy.js +126 -0
  472. package/dist/orchestrator/strategies/swarm-strategy.js.map +1 -0
  473. package/dist/package/index.d.ts +7 -0
  474. package/dist/package/index.d.ts.map +1 -0
  475. package/dist/package/index.js +6 -0
  476. package/dist/package/index.js.map +1 -0
  477. package/dist/package/security.d.ts +18 -0
  478. package/dist/package/security.d.ts.map +1 -0
  479. package/dist/package/security.js +110 -0
  480. package/dist/package/security.js.map +1 -0
  481. package/dist/package/types.d.ts +34 -0
  482. package/dist/package/types.d.ts.map +1 -0
  483. package/dist/package/types.js +4 -0
  484. package/dist/package/types.js.map +1 -0
  485. package/dist/package/yaml-parser.d.ts +22 -0
  486. package/dist/package/yaml-parser.d.ts.map +1 -0
  487. package/dist/package/yaml-parser.js +109 -0
  488. package/dist/package/yaml-parser.js.map +1 -0
  489. package/dist/package/yaml-schema.d.ts +42 -0
  490. package/dist/package/yaml-schema.d.ts.map +1 -0
  491. package/dist/package/yaml-schema.js +141 -0
  492. package/dist/package/yaml-schema.js.map +1 -0
  493. package/dist/safety/content-classifier.d.ts +31 -0
  494. package/dist/safety/content-classifier.d.ts.map +1 -0
  495. package/dist/safety/content-classifier.js +107 -0
  496. package/dist/safety/content-classifier.js.map +1 -0
  497. package/dist/safety/index.d.ts +10 -0
  498. package/dist/safety/index.d.ts.map +1 -0
  499. package/dist/safety/index.js +10 -0
  500. package/dist/safety/index.js.map +1 -0
  501. package/dist/safety/pii-scanner.d.ts +26 -0
  502. package/dist/safety/pii-scanner.d.ts.map +1 -0
  503. package/dist/safety/pii-scanner.js +82 -0
  504. package/dist/safety/pii-scanner.js.map +1 -0
  505. package/dist/safety/rails.d.ts +33 -0
  506. package/dist/safety/rails.d.ts.map +1 -0
  507. package/dist/safety/rails.js +134 -0
  508. package/dist/safety/rails.js.map +1 -0
  509. package/dist/safety/safety-pipeline.d.ts +41 -0
  510. package/dist/safety/safety-pipeline.d.ts.map +1 -0
  511. package/dist/safety/safety-pipeline.js +153 -0
  512. package/dist/safety/safety-pipeline.js.map +1 -0
  513. package/dist/safety/types.d.ts +38 -0
  514. package/dist/safety/types.d.ts.map +1 -0
  515. package/dist/safety/types.js +3 -0
  516. package/dist/safety/types.js.map +1 -0
  517. package/dist/sandbox/index.d.ts +17 -0
  518. package/dist/sandbox/index.d.ts.map +1 -0
  519. package/dist/sandbox/index.js +4 -0
  520. package/dist/sandbox/index.js.map +1 -0
  521. package/dist/sandbox/network-filter.d.ts +13 -0
  522. package/dist/sandbox/network-filter.d.ts.map +1 -0
  523. package/dist/sandbox/network-filter.js +43 -0
  524. package/dist/sandbox/network-filter.js.map +1 -0
  525. package/dist/sandbox/path-validator.d.ts +16 -0
  526. package/dist/sandbox/path-validator.d.ts.map +1 -0
  527. package/dist/sandbox/path-validator.js +47 -0
  528. package/dist/sandbox/path-validator.js.map +1 -0
  529. package/dist/sandbox/policies.d.ts +38 -0
  530. package/dist/sandbox/policies.d.ts.map +1 -0
  531. package/dist/sandbox/policies.js +145 -0
  532. package/dist/sandbox/policies.js.map +1 -0
  533. package/dist/security/audit-log.d.ts +17 -0
  534. package/dist/security/audit-log.d.ts.map +1 -0
  535. package/dist/security/audit-log.js +214 -0
  536. package/dist/security/audit-log.js.map +1 -0
  537. package/dist/security/guardian.d.ts +24 -0
  538. package/dist/security/guardian.d.ts.map +1 -0
  539. package/dist/security/guardian.js +177 -0
  540. package/dist/security/guardian.js.map +1 -0
  541. package/dist/security/index.d.ts +10 -0
  542. package/dist/security/index.d.ts.map +1 -0
  543. package/dist/security/index.js +7 -0
  544. package/dist/security/index.js.map +1 -0
  545. package/dist/security/prompt-scanner.d.ts +23 -0
  546. package/dist/security/prompt-scanner.d.ts.map +1 -0
  547. package/dist/security/prompt-scanner.js +376 -0
  548. package/dist/security/prompt-scanner.js.map +1 -0
  549. package/dist/security/secret-store.d.ts +18 -0
  550. package/dist/security/secret-store.d.ts.map +1 -0
  551. package/dist/security/secret-store.js +123 -0
  552. package/dist/security/secret-store.js.map +1 -0
  553. package/dist/security/self-audit.d.ts +33 -0
  554. package/dist/security/self-audit.d.ts.map +1 -0
  555. package/dist/security/self-audit.js +142 -0
  556. package/dist/security/self-audit.js.map +1 -0
  557. package/dist/security/types.d.ts +107 -0
  558. package/dist/security/types.d.ts.map +1 -0
  559. package/dist/security/types.js +3 -0
  560. package/dist/security/types.js.map +1 -0
  561. package/dist/skill/index.d.ts +7 -0
  562. package/dist/skill/index.d.ts.map +1 -0
  563. package/dist/skill/index.js +4 -0
  564. package/dist/skill/index.js.map +1 -0
  565. package/dist/skill/skill-registry.d.ts +26 -0
  566. package/dist/skill/skill-registry.d.ts.map +1 -0
  567. package/dist/skill/skill-registry.js +81 -0
  568. package/dist/skill/skill-registry.js.map +1 -0
  569. package/dist/skill/types.d.ts +17 -0
  570. package/dist/skill/types.d.ts.map +1 -0
  571. package/dist/skill/types.js +2 -0
  572. package/dist/skill/types.js.map +1 -0
  573. package/dist/skill/yaml-parser.d.ts +18 -0
  574. package/dist/skill/yaml-parser.d.ts.map +1 -0
  575. package/dist/skill/yaml-parser.js +61 -0
  576. package/dist/skill/yaml-parser.js.map +1 -0
  577. package/dist/skill/yaml-schema.d.ts +20 -0
  578. package/dist/skill/yaml-schema.d.ts.map +1 -0
  579. package/dist/skill/yaml-schema.js +80 -0
  580. package/dist/skill/yaml-schema.js.map +1 -0
  581. package/dist/tree/batch-executor.d.ts +28 -0
  582. package/dist/tree/batch-executor.d.ts.map +1 -0
  583. package/dist/tree/batch-executor.js +78 -0
  584. package/dist/tree/batch-executor.js.map +1 -0
  585. package/dist/tree/index.d.ts +26 -0
  586. package/dist/tree/index.d.ts.map +1 -0
  587. package/dist/tree/index.js +3 -0
  588. package/dist/tree/index.js.map +1 -0
  589. package/dist/tree/task-tree.d.ts +74 -0
  590. package/dist/tree/task-tree.d.ts.map +1 -0
  591. package/dist/tree/task-tree.js +262 -0
  592. package/dist/tree/task-tree.js.map +1 -0
  593. package/dist/verification/coverage-parser.d.ts +6 -0
  594. package/dist/verification/coverage-parser.d.ts.map +1 -0
  595. package/dist/verification/coverage-parser.js +29 -0
  596. package/dist/verification/coverage-parser.js.map +1 -0
  597. package/dist/verification/gate-runner.d.ts +18 -0
  598. package/dist/verification/gate-runner.d.ts.map +1 -0
  599. package/dist/verification/gate-runner.js +63 -0
  600. package/dist/verification/gate-runner.js.map +1 -0
  601. package/dist/verification/index.d.ts +24 -0
  602. package/dist/verification/index.d.ts.map +1 -0
  603. package/dist/verification/index.js +4 -0
  604. package/dist/verification/index.js.map +1 -0
  605. package/dist/verification/verification-loop.d.ts +32 -0
  606. package/dist/verification/verification-loop.d.ts.map +1 -0
  607. package/dist/verification/verification-loop.js +71 -0
  608. package/dist/verification/verification-loop.js.map +1 -0
  609. package/package.json +58 -0
@@ -0,0 +1,125 @@
1
+ // Engine composite: App -- top-level deployment unit
2
+ // Composes teams, router, memory, and channels into a deployable application
3
+ import { validateTrigger } from "../domain/trigger.js";
4
+ import { validateTeam } from "./team.js";
5
+ import { validateRouter } from "./router.js";
6
+ import { validateEvalConfig } from "../domain/eval-config.js";
7
+ import { validateMcpConfig } from "../domain/mcp-config.js";
8
+ import { validateToolSelectionConfig } from "../domain/tool-selection-config.js";
9
+ import { validateVoiceConfig } from "../domain/speech-config.js";
10
+ import { validateSafetyConfig } from "../domain/safety-config.js";
11
+ /** Validate an App composite configuration */
12
+ export function validateApp(app) {
13
+ const errors = [];
14
+ if (!app.name || typeof app.name !== "string") {
15
+ errors.push({ field: "name", message: "must be a non-empty string" });
16
+ }
17
+ const teamNames = Object.keys(app.teams);
18
+ if (teamNames.length === 0) {
19
+ errors.push({ field: "teams", message: "must have at least one team" });
20
+ }
21
+ if (app.channels.length === 0) {
22
+ errors.push({ field: "channels", message: "must have at least one channel" });
23
+ }
24
+ if (app.router.fallback && !app.teams[app.router.fallback]) {
25
+ errors.push({
26
+ field: "router.fallback",
27
+ message: `references unknown team "${app.router.fallback}"`,
28
+ });
29
+ }
30
+ for (let i = 0; i < app.router.rules.length; i++) {
31
+ const rule = app.router.rules[i];
32
+ if (rule.team && !app.teams[rule.team]) {
33
+ errors.push({
34
+ field: `router.rules[${i}].team`,
35
+ message: `references unknown team "${rule.team}"`,
36
+ });
37
+ }
38
+ }
39
+ if (app.memory.scopes.length === 0) {
40
+ errors.push({ field: "memory.scopes", message: "must have at least one scope" });
41
+ }
42
+ for (const [teamName, team] of Object.entries(app.teams)) {
43
+ const teamErrors = validateTeam(team);
44
+ for (const e of teamErrors) {
45
+ errors.push({ field: `teams.${teamName}.${e.field}`, message: e.message });
46
+ }
47
+ }
48
+ const routerErrors = validateRouter(app.router);
49
+ for (const e of routerErrors) {
50
+ errors.push({ field: `router.${e.field}`, message: e.message });
51
+ }
52
+ // Trigger validation
53
+ if (app.triggers) {
54
+ const triggerNames = new Set();
55
+ const webhookPaths = new Set();
56
+ for (let i = 0; i < app.triggers.length; i++) {
57
+ const trigger = app.triggers[i];
58
+ // Validate each trigger via validateTrigger
59
+ const triggerErrors = validateTrigger(trigger, teamNames);
60
+ for (const e of triggerErrors) {
61
+ errors.push({ field: `triggers[${i}].${e.field}`, message: e.message });
62
+ }
63
+ // Check trigger names are unique
64
+ if (trigger.name) {
65
+ if (triggerNames.has(trigger.name)) {
66
+ errors.push({ field: `triggers[${i}].name`, message: `duplicate trigger name "${trigger.name}"` });
67
+ }
68
+ triggerNames.add(trigger.name);
69
+ }
70
+ // Check webhook paths are unique
71
+ if (trigger.type === "webhook" && trigger.path) {
72
+ if (webhookPaths.has(trigger.path)) {
73
+ errors.push({ field: `triggers[${i}].path`, message: `duplicate webhook path "${trigger.path}"` });
74
+ }
75
+ webhookPaths.add(trigger.path);
76
+ }
77
+ }
78
+ }
79
+ // Eval validation
80
+ if (app.eval) {
81
+ const evalErrors = validateEvalConfig(app.eval);
82
+ for (const e of evalErrors) {
83
+ errors.push({ field: `eval.${e.field}`, message: e.message });
84
+ }
85
+ for (let i = 0; i < app.eval.experiments.length; i++) {
86
+ const exp = app.eval.experiments[i];
87
+ if (exp.team && !app.teams[exp.team]) {
88
+ errors.push({
89
+ field: `eval.experiments[${i}].team`,
90
+ message: `references unknown team "${exp.team}"`,
91
+ });
92
+ }
93
+ }
94
+ }
95
+ // MCP validation
96
+ if (app.mcp) {
97
+ const mcpErrors = validateMcpConfig(app.mcp);
98
+ for (const e of mcpErrors) {
99
+ errors.push({ field: `mcp.${e.field}`, message: e.message });
100
+ }
101
+ }
102
+ // Tool selection validation
103
+ if (app.toolSelection) {
104
+ const tsErrors = validateToolSelectionConfig(app.toolSelection);
105
+ for (const e of tsErrors) {
106
+ errors.push({ field: `toolSelection.${e.field}`, message: e.message });
107
+ }
108
+ }
109
+ // Voice validation
110
+ if (app.voice) {
111
+ const voiceErrors = validateVoiceConfig(app.voice);
112
+ for (const e of voiceErrors) {
113
+ errors.push({ field: e.field, message: e.message });
114
+ }
115
+ }
116
+ // Safety validation
117
+ if (app.safety) {
118
+ const safetyErrors = validateSafetyConfig(app.safety);
119
+ for (const e of safetyErrors) {
120
+ errors.push({ field: `safety.${e.field}`, message: e.message });
121
+ }
122
+ }
123
+ return errors;
124
+ }
125
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/engine/composites/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Agent } from "../domain/agent.js";
2
+ /** A pattern rule mapping a regex string to a team name */
3
+ export interface PatternRule {
4
+ readonly match: string;
5
+ readonly team: string;
6
+ }
7
+ /** Routes incoming requests to teams via rules, classifier, or fallback */
8
+ export interface Router {
9
+ readonly rules: readonly PatternRule[];
10
+ readonly classifier?: Agent;
11
+ readonly fallback: string;
12
+ }
13
+ /** Validation error for router configuration */
14
+ export interface RouterValidationError {
15
+ readonly field: string;
16
+ readonly message: string;
17
+ }
18
+ /** Validate a Router composite configuration */
19
+ export declare function validateRouter(router: Router): RouterValidationError[];
20
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/engine/composites/router.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,2EAA2E;AAC3E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,EAAE,CA8BtE"}
@@ -0,0 +1,31 @@
1
+ // Engine composite: Router -- pattern rules -> classifier -> fallback team
2
+ // 3-layer routing: pattern rules (~80%) -> classifier agent (~15%) -> fallback (~5%)
3
+ /** Validate a Router composite configuration */
4
+ export function validateRouter(router) {
5
+ const errors = [];
6
+ if (!router.fallback || typeof router.fallback !== "string") {
7
+ errors.push({ field: "fallback", message: "must be a non-empty string" });
8
+ }
9
+ for (let i = 0; i < router.rules.length; i++) {
10
+ const rule = router.rules[i];
11
+ if (!rule.match || typeof rule.match !== "string") {
12
+ errors.push({ field: `rules[${i}].match`, message: "must be a non-empty string" });
13
+ }
14
+ else {
15
+ try {
16
+ new RegExp(rule.match);
17
+ }
18
+ catch {
19
+ errors.push({ field: `rules[${i}].match`, message: `invalid regex: "${rule.match}"` });
20
+ }
21
+ }
22
+ if (!rule.team || typeof rule.team !== "string") {
23
+ errors.push({ field: `rules[${i}].team`, message: "must be a non-empty string" });
24
+ }
25
+ }
26
+ if (router.classifier !== undefined && router.classifier.tier !== "fast") {
27
+ errors.push({ field: "classifier.tier", message: 'classifier agent must have tier "fast"' });
28
+ }
29
+ return errors;
30
+ }
31
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/engine/composites/router.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qFAAqF;AAuBrF,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { Agent } from "../domain/agent.js";
2
+ import type { Capability } from "../domain/capability.js";
3
+ import type { Workflow } from "../domain/workflow.js";
4
+ /** A quality gate command that must pass before phase transitions */
5
+ export interface QualityGate {
6
+ readonly name: string;
7
+ readonly command: string;
8
+ readonly description: string;
9
+ readonly required: boolean;
10
+ }
11
+ /** Reference documents and examples available to team agents */
12
+ export interface TeamKnowledge {
13
+ readonly documents: readonly string[];
14
+ readonly examples: readonly string[];
15
+ }
16
+ /** Team execution mode */
17
+ export type TeamMode = "sequential" | "supervisor" | "swarm";
18
+ /** A self-contained unit: agents + workflow + capabilities + gates */
19
+ export interface Team {
20
+ readonly name: string;
21
+ readonly mode?: TeamMode;
22
+ readonly manager?: string;
23
+ readonly agents: Record<string, Agent>;
24
+ readonly workflow: Workflow;
25
+ readonly capabilities: readonly Capability[];
26
+ readonly qualityGates: readonly QualityGate[];
27
+ readonly knowledge?: TeamKnowledge;
28
+ }
29
+ /** Validation error for team configuration */
30
+ export interface TeamValidationError {
31
+ readonly field: string;
32
+ readonly message: string;
33
+ }
34
+ /** Validate a Team composite configuration */
35
+ export declare function validateTeam(team: Team): TeamValidationError[];
36
+ //# sourceMappingURL=team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../../src/engine/composites/team.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,0BAA0B;AAC1B,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;AAE7D,sEAAsE;AACtE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAKD,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,mBAAmB,EAAE,CAuG9D"}
@@ -0,0 +1,100 @@
1
+ // Engine composite: Team -- agents + workflow + capabilities + quality gates
2
+ // A self-contained unit that operates independently
3
+ /** Valid team modes */
4
+ const VALID_MODES = ["sequential", "supervisor", "swarm"];
5
+ /** Validate a Team composite configuration */
6
+ export function validateTeam(team) {
7
+ const errors = [];
8
+ if (!team.name || typeof team.name !== "string") {
9
+ errors.push({ field: "name", message: "must be a non-empty string" });
10
+ }
11
+ // Must have at least one agent
12
+ const agentNames = Object.keys(team.agents);
13
+ if (agentNames.length === 0) {
14
+ errors.push({ field: "agents", message: "must have at least one agent" });
15
+ }
16
+ // Validate mode
17
+ const mode = team.mode ?? "sequential";
18
+ if (!VALID_MODES.includes(mode)) {
19
+ errors.push({ field: "mode", message: `must be one of: ${VALID_MODES.join(", ")}` });
20
+ }
21
+ // Supervisor mode: manager must exist in agents
22
+ if (mode === "supervisor") {
23
+ if (!team.manager || typeof team.manager !== "string") {
24
+ errors.push({ field: "manager", message: "required when mode is 'supervisor'" });
25
+ }
26
+ else if (!team.agents[team.manager]) {
27
+ errors.push({
28
+ field: "manager",
29
+ message: `agent "${team.manager}" not found in agents`,
30
+ });
31
+ }
32
+ }
33
+ // Manager field only valid with supervisor mode
34
+ if (team.manager && mode !== "supervisor") {
35
+ errors.push({ field: "manager", message: "only valid when mode is 'supervisor'" });
36
+ }
37
+ // Swarm mode: requires handoff capability and 2+ agents
38
+ if (mode === "swarm") {
39
+ const hasHandoff = team.capabilities.some((c) => c.type === "handoff");
40
+ if (!hasHandoff) {
41
+ errors.push({
42
+ field: "capabilities",
43
+ message: "swarm mode requires at least one capability with type 'handoff'",
44
+ });
45
+ }
46
+ if (agentNames.length < 2) {
47
+ errors.push({
48
+ field: "agents",
49
+ message: "swarm mode requires at least 2 agents",
50
+ });
51
+ }
52
+ }
53
+ // Workflow must have at least one phase
54
+ if (team.workflow.phases.length === 0) {
55
+ errors.push({ field: "workflow.phases", message: "must have at least one phase" });
56
+ }
57
+ // Agent tool references must exist in capabilities
58
+ const capabilityNames = new Set(team.capabilities.map((c) => c.name));
59
+ for (const [agentName, agent] of Object.entries(team.agents)) {
60
+ for (const tool of agent.tools) {
61
+ if (!capabilityNames.has(tool)) {
62
+ errors.push({
63
+ field: `agents.${agentName}.tools`,
64
+ message: `references unknown capability "${tool}"`,
65
+ });
66
+ }
67
+ }
68
+ }
69
+ // Capability guardrailRetries must be a positive integer
70
+ for (const cap of team.capabilities) {
71
+ if (cap.guardrailRetries !== undefined) {
72
+ if (!Number.isInteger(cap.guardrailRetries) || cap.guardrailRetries < 1) {
73
+ errors.push({
74
+ field: `capabilities.${cap.name}.guardrailRetries`,
75
+ message: "must be a positive integer",
76
+ });
77
+ }
78
+ }
79
+ if (cap.outputSchema !== undefined) {
80
+ if (typeof cap.outputSchema !== "object" || cap.outputSchema === null || Array.isArray(cap.outputSchema)) {
81
+ errors.push({
82
+ field: `capabilities.${cap.name}.outputSchema`,
83
+ message: "must be a valid object",
84
+ });
85
+ }
86
+ }
87
+ }
88
+ // Gate phase references must exist in workflow phases
89
+ const phaseSet = new Set(team.workflow.phases);
90
+ for (const phaseName of Object.keys(team.workflow.gates)) {
91
+ if (!phaseSet.has(phaseName)) {
92
+ errors.push({
93
+ field: `workflow.gates.${phaseName}`,
94
+ message: `references unknown phase "${phaseName}"`,
95
+ });
96
+ }
97
+ }
98
+ return errors;
99
+ }
100
+ //# sourceMappingURL=team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.js","sourceRoot":"","sources":["../../../src/engine/composites/team.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export interface A2ACapabilitySchema {
2
+ readonly name: string;
3
+ readonly description: string;
4
+ readonly inputSchema?: Record<string, unknown>;
5
+ readonly outputSchema?: Record<string, unknown>;
6
+ }
7
+ export interface A2AAuthConfig {
8
+ readonly schemes: readonly string[];
9
+ readonly credentials?: string;
10
+ }
11
+ export interface AgentCard {
12
+ readonly name: string;
13
+ readonly description: string;
14
+ readonly url: string;
15
+ readonly version: string;
16
+ readonly capabilities: readonly A2ACapabilitySchema[];
17
+ readonly inputModes?: readonly string[];
18
+ readonly outputModes?: readonly string[];
19
+ readonly authentication?: A2AAuthConfig;
20
+ }
21
+ export interface A2ATaskStatus {
22
+ readonly state: "submitted" | "working" | "input-required" | "completed" | "failed" | "canceled";
23
+ readonly message?: string;
24
+ readonly timestamp: string;
25
+ }
26
+ export interface A2AArtifact {
27
+ readonly name?: string;
28
+ readonly parts: readonly A2APart[];
29
+ }
30
+ export type A2APart = {
31
+ readonly type: "text";
32
+ readonly text: string;
33
+ } | {
34
+ readonly type: "data";
35
+ readonly data: Record<string, unknown>;
36
+ readonly mimeType?: string;
37
+ };
38
+ export interface A2ATask {
39
+ readonly id: string;
40
+ readonly status: A2ATaskStatus;
41
+ readonly artifacts?: readonly A2AArtifact[];
42
+ readonly history?: readonly A2AMessage[];
43
+ }
44
+ export interface A2AMessage {
45
+ readonly role: "user" | "agent";
46
+ readonly parts: readonly A2APart[];
47
+ }
48
+ export interface A2AValidationError {
49
+ readonly field: string;
50
+ readonly message: string;
51
+ }
52
+ export declare function validateAgentCard(card: AgentCard): A2AValidationError[];
53
+ //# sourceMappingURL=a2a-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-config.d.ts","sourceRoot":"","sources":["../../../src/engine/domain/a2a-config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,kBAAkB,EAAE,CA8BvE"}
@@ -0,0 +1,32 @@
1
+ // A2A config types -- Agent Card and protocol types per A2A spec
2
+ export function validateAgentCard(card) {
3
+ const errors = [];
4
+ if (!card.name || typeof card.name !== "string") {
5
+ errors.push({ field: "name", message: "must be a non-empty string" });
6
+ }
7
+ if (!card.description || typeof card.description !== "string") {
8
+ errors.push({ field: "description", message: "must be a non-empty string" });
9
+ }
10
+ if (!card.url || typeof card.url !== "string") {
11
+ errors.push({ field: "url", message: "must be a non-empty string" });
12
+ }
13
+ if (!card.version || typeof card.version !== "string") {
14
+ errors.push({ field: "version", message: "must be a non-empty string" });
15
+ }
16
+ if (!card.capabilities || !Array.isArray(card.capabilities)) {
17
+ errors.push({ field: "capabilities", message: "must be an array" });
18
+ }
19
+ else {
20
+ for (let i = 0; i < card.capabilities.length; i++) {
21
+ const cap = card.capabilities[i];
22
+ if (!cap.name || typeof cap.name !== "string") {
23
+ errors.push({ field: `capabilities[${i}].name`, message: "must be a non-empty string" });
24
+ }
25
+ if (!cap.description || typeof cap.description !== "string") {
26
+ errors.push({ field: `capabilities[${i}].description`, message: "must be a non-empty string" });
27
+ }
28
+ }
29
+ }
30
+ return errors;
31
+ }
32
+ //# sourceMappingURL=a2a-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-config.js","sourceRoot":"","sources":["../../../src/engine/domain/a2a-config.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAyDjE,MAAM,UAAU,iBAAiB,CAAC,IAAe;IAC/C,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,eAAe,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Modality } from "./modality.js";
2
+ /** Agent tier determines model class and capabilities */
3
+ export type AgentTier = "reasoning" | "coding" | "fast";
4
+ /** Agent identity model -- a persona with expertise, not a config blob */
5
+ export interface Agent {
6
+ readonly name: string;
7
+ readonly role: string;
8
+ readonly goal: string;
9
+ readonly backstory?: string;
10
+ readonly tier: AgentTier;
11
+ readonly tools: readonly string[];
12
+ readonly instructions?: string;
13
+ readonly structured?: boolean;
14
+ readonly count?: number;
15
+ readonly sandbox?: boolean;
16
+ readonly modalities?: readonly Modality[];
17
+ }
18
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/engine/domain/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,yDAAyD;AACzD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,0EAA0E;AAC1E,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC3C"}
@@ -0,0 +1,4 @@
1
+ // Engine primitive: Agent -- a persona with expertise
2
+ // Ehrlich #6: domain-agnostic config (tiers, not hardcoded roles)
3
+ export {};
4
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/engine/domain/agent.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,kEAAkE"}
@@ -0,0 +1,24 @@
1
+ /** Safety annotations that drive engine policies */
2
+ export interface CapabilityAnnotations {
3
+ readonly readOnly?: boolean;
4
+ readonly destructive?: boolean;
5
+ readonly idempotent?: boolean;
6
+ /** Cache TTL in seconds. 0 = no cache, Infinity = permanent. */
7
+ readonly cacheTtl?: number;
8
+ }
9
+ /** An MCP tool with schema, tags, and safety annotations */
10
+ export interface Capability {
11
+ readonly name: string;
12
+ readonly description: string;
13
+ readonly schema: Record<string, unknown>;
14
+ readonly tags: readonly string[];
15
+ readonly annotations?: CapabilityAnnotations;
16
+ readonly type?: string;
17
+ readonly targetApp?: string;
18
+ readonly task?: string;
19
+ readonly timeout?: number;
20
+ readonly guardrail?: string;
21
+ readonly guardrailRetries?: number;
22
+ readonly outputSchema?: Record<string, unknown>;
23
+ }
24
+ //# sourceMappingURL=capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../src/engine/domain/capability.ts"],"names":[],"mappings":"AAEA,oDAAoD;AACpD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD"}
@@ -0,0 +1,3 @@
1
+ // Engine primitive: Capability -- an MCP tool that agents can invoke
2
+ export {};
3
+ //# sourceMappingURL=capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/engine/domain/capability.ts"],"names":[],"mappings":"AAAA,qEAAqE"}
@@ -0,0 +1,37 @@
1
+ import type { ContentPart } from "./content.js";
2
+ import type { Modality } from "./modality.js";
3
+ /** Message format hint for channel-specific rendering */
4
+ export type MessageFormat = "short" | "full" | "structured";
5
+ /** An incoming message from an external source */
6
+ export interface IncomingMessage {
7
+ readonly parts: readonly ContentPart[];
8
+ readonly source: string;
9
+ readonly userId?: string;
10
+ readonly threadId?: string;
11
+ readonly metadata?: Record<string, unknown>;
12
+ }
13
+ /** An outgoing response to an external target */
14
+ export interface OutgoingMessage {
15
+ readonly parts: readonly ContentPart[];
16
+ readonly target: string;
17
+ readonly format?: MessageFormat;
18
+ readonly userId?: string;
19
+ readonly threadId?: string;
20
+ readonly metadata?: Record<string, unknown>;
21
+ }
22
+ /** An event emitted by the engine for real-time monitoring */
23
+ export interface EngineEvent {
24
+ readonly type: string;
25
+ readonly timestamp: Date;
26
+ readonly payload: Record<string, unknown>;
27
+ }
28
+ /** Input/output adapter connecting the engine to external platforms */
29
+ export interface Channel {
30
+ readonly name: string;
31
+ readonly defaultFormat: MessageFormat;
32
+ readonly supportedModalities: readonly Modality[];
33
+ receive(message: IncomingMessage): Promise<void>;
34
+ send(response: OutgoingMessage): Promise<void>;
35
+ stream(events: AsyncIterable<EngineEvent>): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/engine/domain/channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;AAE5D,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,uEAAuE;AACvE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,QAAQ,EAAE,CAAC;IAClD,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D"}
@@ -0,0 +1,4 @@
1
+ // Engine primitive: Channel -- input/output adapter for external platforms
2
+ // Agents produce content; channels format for the platform
3
+ export {};
4
+ //# sourceMappingURL=channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../src/engine/domain/channel.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2DAA2D"}
@@ -0,0 +1,22 @@
1
+ /** A document to be chunked. */
2
+ export interface Document {
3
+ readonly content: string;
4
+ readonly metadata: Record<string, unknown>;
5
+ }
6
+ /** A chunk produced from a document. */
7
+ export interface Chunk {
8
+ readonly id: string;
9
+ readonly content: string;
10
+ readonly metadata: Record<string, unknown>;
11
+ readonly embedding?: number[];
12
+ }
13
+ /** Chunking configuration. */
14
+ export interface ChunkConfig {
15
+ readonly chunkSize: number;
16
+ readonly chunkOverlap: number;
17
+ }
18
+ /** Converts documents into chunks. */
19
+ export interface Chunker {
20
+ chunk(document: Document, config: ChunkConfig): Chunk[];
21
+ }
22
+ //# sourceMappingURL=chunker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/engine/domain/chunker.ts"],"names":[],"mappings":"AAEA,gCAAgC;AAChC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,wCAAwC;AACxC,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,sCAAsC;AACtC,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAAC;CACzD"}
@@ -0,0 +1,3 @@
1
+ // Engine primitive: Chunker -- document splitting strategies for RAG
2
+ export {};
3
+ //# sourceMappingURL=chunker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/engine/domain/chunker.ts"],"names":[],"mappings":"AAAA,qEAAqE"}