beddel 0.2.3 → 1.0.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 (542) hide show
  1. package/README.md +138 -595
  2. package/dist/client.d.ts +10 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +9 -0
  5. package/dist/core/parser.d.ts +25 -0
  6. package/dist/core/parser.d.ts.map +1 -0
  7. package/dist/core/parser.js +31 -0
  8. package/dist/core/variable-resolver.d.ts +23 -0
  9. package/dist/core/variable-resolver.d.ts.map +1 -0
  10. package/dist/core/variable-resolver.js +98 -0
  11. package/dist/core/workflow.d.ts +39 -0
  12. package/dist/core/workflow.d.ts.map +1 -0
  13. package/dist/core/workflow.js +64 -0
  14. package/dist/index.d.ts +14 -36
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +15 -130
  17. package/dist/primitives/index.d.ts +37 -0
  18. package/dist/primitives/index.d.ts.map +1 -0
  19. package/dist/primitives/index.js +72 -0
  20. package/dist/primitives/llm.d.ts +56 -0
  21. package/dist/primitives/llm.d.ts.map +1 -0
  22. package/dist/primitives/llm.js +156 -0
  23. package/dist/primitives/output.d.ts +28 -0
  24. package/dist/primitives/output.d.ts.map +1 -0
  25. package/dist/primitives/output.js +39 -0
  26. package/dist/server/handler.d.ts +7 -0
  27. package/dist/server/handler.d.ts.map +1 -0
  28. package/dist/server/handler.js +55 -0
  29. package/dist/server.d.ts +10 -0
  30. package/dist/server.d.ts.map +1 -0
  31. package/dist/server.js +9 -0
  32. package/dist/tools/index.d.ts +49 -0
  33. package/dist/tools/index.d.ts.map +1 -0
  34. package/dist/tools/index.js +96 -0
  35. package/dist/types/index.d.ts +54 -0
  36. package/dist/types/index.d.ts.map +1 -0
  37. package/dist/types/index.js +5 -0
  38. package/docs/architecture/api-reference.md +307 -0
  39. package/docs/architecture/components.md +246 -0
  40. package/docs/architecture/core-workflows.md +236 -0
  41. package/docs/architecture/high-level-architecture.md +76 -0
  42. package/docs/architecture/index.md +31 -0
  43. package/docs/architecture/source-tree.md +92 -0
  44. package/docs/architecture/tech-stack.md +25 -0
  45. package/docs/prd/epic-list.md +101 -0
  46. package/docs/prd/goals-context.md +23 -0
  47. package/docs/prd/index.md +21 -0
  48. package/docs/prd/requirements.md +25 -0
  49. package/docs/prd/technical-assumptions.md +35 -0
  50. package/package.json +31 -118
  51. package/src/client.ts +18 -0
  52. package/src/core/parser.ts +36 -0
  53. package/src/core/variable-resolver.ts +114 -0
  54. package/src/core/workflow.ts +77 -0
  55. package/src/index.ts +25 -159
  56. package/src/primitives/index.ts +83 -0
  57. package/src/primitives/llm.ts +210 -0
  58. package/src/primitives/output.ts +65 -0
  59. package/src/server/handler.ts +80 -0
  60. package/src/server.ts +10 -0
  61. package/src/tools/index.ts +118 -0
  62. package/src/types/index.ts +62 -0
  63. package/tsconfig.json +27 -0
  64. package/CHANGELOG.md +0 -78
  65. package/LICENSE +0 -21
  66. package/dist/agents/chat/chat.handler.d.ts +0 -12
  67. package/dist/agents/chat/chat.handler.d.ts.map +0 -1
  68. package/dist/agents/chat/chat.handler.js +0 -143
  69. package/dist/agents/chat/chat.handler.js.map +0 -1
  70. package/dist/agents/chat/chat.schema.d.ts +0 -38
  71. package/dist/agents/chat/chat.schema.d.ts.map +0 -1
  72. package/dist/agents/chat/chat.schema.js +0 -31
  73. package/dist/agents/chat/chat.schema.js.map +0 -1
  74. package/dist/agents/chat/chat.types.d.ts +0 -42
  75. package/dist/agents/chat/chat.types.d.ts.map +0 -1
  76. package/dist/agents/chat/chat.types.js +0 -6
  77. package/dist/agents/chat/chat.types.js.map +0 -1
  78. package/dist/agents/chat/chat.yaml +0 -150
  79. package/dist/agents/chat/index.d.ts +0 -16
  80. package/dist/agents/chat/index.d.ts.map +0 -1
  81. package/dist/agents/chat/index.js +0 -21
  82. package/dist/agents/chat/index.js.map +0 -1
  83. package/dist/agents/chromadb/chromadb.handler.d.ts +0 -12
  84. package/dist/agents/chromadb/chromadb.handler.d.ts.map +0 -1
  85. package/dist/agents/chromadb/chromadb.handler.js +0 -139
  86. package/dist/agents/chromadb/chromadb.handler.js.map +0 -1
  87. package/dist/agents/chromadb/chromadb.schema.d.ts +0 -36
  88. package/dist/agents/chromadb/chromadb.schema.d.ts.map +0 -1
  89. package/dist/agents/chromadb/chromadb.schema.js +0 -33
  90. package/dist/agents/chromadb/chromadb.schema.js.map +0 -1
  91. package/dist/agents/chromadb/chromadb.types.d.ts +0 -49
  92. package/dist/agents/chromadb/chromadb.types.d.ts.map +0 -1
  93. package/dist/agents/chromadb/chromadb.types.js +0 -6
  94. package/dist/agents/chromadb/chromadb.types.js.map +0 -1
  95. package/dist/agents/chromadb/chromadb.yaml +0 -128
  96. package/dist/agents/chromadb/index.d.ts +0 -15
  97. package/dist/agents/chromadb/index.d.ts.map +0 -1
  98. package/dist/agents/chromadb/index.js +0 -20
  99. package/dist/agents/chromadb/index.js.map +0 -1
  100. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts +0 -8
  101. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts.map +0 -1
  102. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js +0 -58
  103. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js.map +0 -1
  104. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts +0 -22
  105. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts.map +0 -1
  106. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js +0 -20
  107. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js.map +0 -1
  108. package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts +0 -32
  109. package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts.map +0 -1
  110. package/dist/agents/gemini-vectorize/gemini-vectorize.types.js +0 -6
  111. package/dist/agents/gemini-vectorize/gemini-vectorize.types.js.map +0 -1
  112. package/dist/agents/gemini-vectorize/gemini-vectorize.yaml +0 -84
  113. package/dist/agents/gemini-vectorize/index.d.ts +0 -15
  114. package/dist/agents/gemini-vectorize/index.d.ts.map +0 -1
  115. package/dist/agents/gemini-vectorize/index.js +0 -20
  116. package/dist/agents/gemini-vectorize/index.js.map +0 -1
  117. package/dist/agents/gitmcp/gitmcp.handler.d.ts +0 -12
  118. package/dist/agents/gitmcp/gitmcp.handler.d.ts.map +0 -1
  119. package/dist/agents/gitmcp/gitmcp.handler.js +0 -95
  120. package/dist/agents/gitmcp/gitmcp.handler.js.map +0 -1
  121. package/dist/agents/gitmcp/gitmcp.schema.d.ts +0 -17
  122. package/dist/agents/gitmcp/gitmcp.schema.d.ts.map +0 -1
  123. package/dist/agents/gitmcp/gitmcp.schema.js +0 -18
  124. package/dist/agents/gitmcp/gitmcp.schema.js.map +0 -1
  125. package/dist/agents/gitmcp/gitmcp.types.d.ts +0 -31
  126. package/dist/agents/gitmcp/gitmcp.types.d.ts.map +0 -1
  127. package/dist/agents/gitmcp/gitmcp.types.js +0 -6
  128. package/dist/agents/gitmcp/gitmcp.types.js.map +0 -1
  129. package/dist/agents/gitmcp/gitmcp.yaml +0 -71
  130. package/dist/agents/gitmcp/index.d.ts +0 -16
  131. package/dist/agents/gitmcp/index.d.ts.map +0 -1
  132. package/dist/agents/gitmcp/index.js +0 -21
  133. package/dist/agents/gitmcp/index.js.map +0 -1
  134. package/dist/agents/image/image.handler.d.ts +0 -8
  135. package/dist/agents/image/image.handler.d.ts.map +0 -1
  136. package/dist/agents/image/image.handler.js +0 -66
  137. package/dist/agents/image/image.handler.js.map +0 -1
  138. package/dist/agents/image/image.schema.d.ts +0 -29
  139. package/dist/agents/image/image.schema.d.ts.map +0 -1
  140. package/dist/agents/image/image.schema.js +0 -26
  141. package/dist/agents/image/image.schema.js.map +0 -1
  142. package/dist/agents/image/image.types.d.ts +0 -42
  143. package/dist/agents/image/image.types.d.ts.map +0 -1
  144. package/dist/agents/image/image.types.js +0 -6
  145. package/dist/agents/image/image.types.js.map +0 -1
  146. package/dist/agents/image/image.yaml +0 -86
  147. package/dist/agents/image/index.d.ts +0 -14
  148. package/dist/agents/image/index.d.ts.map +0 -1
  149. package/dist/agents/image/index.js +0 -19
  150. package/dist/agents/image/index.js.map +0 -1
  151. package/dist/agents/index.d.ts +0 -95
  152. package/dist/agents/index.d.ts.map +0 -1
  153. package/dist/agents/index.js +0 -76
  154. package/dist/agents/index.js.map +0 -1
  155. package/dist/agents/joker/index.d.ts +0 -14
  156. package/dist/agents/joker/index.d.ts.map +0 -1
  157. package/dist/agents/joker/index.js +0 -19
  158. package/dist/agents/joker/index.js.map +0 -1
  159. package/dist/agents/joker/joker.handler.d.ts +0 -8
  160. package/dist/agents/joker/joker.handler.d.ts.map +0 -1
  161. package/dist/agents/joker/joker.handler.js +0 -48
  162. package/dist/agents/joker/joker.handler.js.map +0 -1
  163. package/dist/agents/joker/joker.schema.d.ts +0 -12
  164. package/dist/agents/joker/joker.schema.d.ts.map +0 -1
  165. package/dist/agents/joker/joker.schema.js +0 -13
  166. package/dist/agents/joker/joker.schema.js.map +0 -1
  167. package/dist/agents/joker/joker.types.d.ts +0 -35
  168. package/dist/agents/joker/joker.types.d.ts.map +0 -1
  169. package/dist/agents/joker/joker.types.js +0 -6
  170. package/dist/agents/joker/joker.types.js.map +0 -1
  171. package/dist/agents/joker/joker.yaml +0 -47
  172. package/dist/agents/mcp-tool/index.d.ts +0 -14
  173. package/dist/agents/mcp-tool/index.d.ts.map +0 -1
  174. package/dist/agents/mcp-tool/index.js +0 -19
  175. package/dist/agents/mcp-tool/index.js.map +0 -1
  176. package/dist/agents/mcp-tool/mcp-tool.handler.d.ts +0 -12
  177. package/dist/agents/mcp-tool/mcp-tool.handler.d.ts.map +0 -1
  178. package/dist/agents/mcp-tool/mcp-tool.handler.js +0 -116
  179. package/dist/agents/mcp-tool/mcp-tool.handler.js.map +0 -1
  180. package/dist/agents/mcp-tool/mcp-tool.schema.d.ts +0 -19
  181. package/dist/agents/mcp-tool/mcp-tool.schema.d.ts.map +0 -1
  182. package/dist/agents/mcp-tool/mcp-tool.schema.js +0 -20
  183. package/dist/agents/mcp-tool/mcp-tool.schema.js.map +0 -1
  184. package/dist/agents/mcp-tool/mcp-tool.types.d.ts +0 -31
  185. package/dist/agents/mcp-tool/mcp-tool.types.d.ts.map +0 -1
  186. package/dist/agents/mcp-tool/mcp-tool.types.js +0 -6
  187. package/dist/agents/mcp-tool/mcp-tool.types.js.map +0 -1
  188. package/dist/agents/mcp-tool/mcp-tool.yaml +0 -71
  189. package/dist/agents/rag/index.d.ts +0 -15
  190. package/dist/agents/rag/index.d.ts.map +0 -1
  191. package/dist/agents/rag/index.js +0 -20
  192. package/dist/agents/rag/index.js.map +0 -1
  193. package/dist/agents/rag/rag.handler.d.ts +0 -8
  194. package/dist/agents/rag/rag.handler.d.ts.map +0 -1
  195. package/dist/agents/rag/rag.handler.js +0 -101
  196. package/dist/agents/rag/rag.handler.js.map +0 -1
  197. package/dist/agents/rag/rag.schema.d.ts +0 -27
  198. package/dist/agents/rag/rag.schema.d.ts.map +0 -1
  199. package/dist/agents/rag/rag.schema.js +0 -24
  200. package/dist/agents/rag/rag.schema.js.map +0 -1
  201. package/dist/agents/rag/rag.types.d.ts +0 -47
  202. package/dist/agents/rag/rag.types.d.ts.map +0 -1
  203. package/dist/agents/rag/rag.types.js +0 -6
  204. package/dist/agents/rag/rag.types.js.map +0 -1
  205. package/dist/agents/rag/rag.yaml +0 -89
  206. package/dist/agents/registry/agentRegistry.d.ts +0 -117
  207. package/dist/agents/registry/agentRegistry.d.ts.map +0 -1
  208. package/dist/agents/registry/agentRegistry.js +0 -551
  209. package/dist/agents/registry/agentRegistry.js.map +0 -1
  210. package/dist/agents/registry/index.d.ts +0 -6
  211. package/dist/agents/registry/index.d.ts.map +0 -1
  212. package/dist/agents/registry/index.js +0 -10
  213. package/dist/agents/registry/index.js.map +0 -1
  214. package/dist/agents/translator/index.d.ts +0 -14
  215. package/dist/agents/translator/index.d.ts.map +0 -1
  216. package/dist/agents/translator/index.js +0 -19
  217. package/dist/agents/translator/index.js.map +0 -1
  218. package/dist/agents/translator/translator.handler.d.ts +0 -8
  219. package/dist/agents/translator/translator.handler.d.ts.map +0 -1
  220. package/dist/agents/translator/translator.handler.js +0 -83
  221. package/dist/agents/translator/translator.handler.js.map +0 -1
  222. package/dist/agents/translator/translator.schema.d.ts +0 -27
  223. package/dist/agents/translator/translator.schema.d.ts.map +0 -1
  224. package/dist/agents/translator/translator.schema.js +0 -28
  225. package/dist/agents/translator/translator.schema.js.map +0 -1
  226. package/dist/agents/translator/translator.types.d.ts +0 -40
  227. package/dist/agents/translator/translator.types.d.ts.map +0 -1
  228. package/dist/agents/translator/translator.types.js +0 -6
  229. package/dist/agents/translator/translator.types.js.map +0 -1
  230. package/dist/agents/translator/translator.yaml +0 -80
  231. package/dist/audit/auditTrail.d.ts +0 -55
  232. package/dist/audit/auditTrail.d.ts.map +0 -1
  233. package/dist/audit/auditTrail.js +0 -93
  234. package/dist/audit/auditTrail.js.map +0 -1
  235. package/dist/client/index.d.ts +0 -89
  236. package/dist/client/index.d.ts.map +0 -1
  237. package/dist/client/index.js +0 -93
  238. package/dist/client/index.js.map +0 -1
  239. package/dist/client/types.d.ts +0 -17
  240. package/dist/client/types.d.ts.map +0 -1
  241. package/dist/client/types.js +0 -7
  242. package/dist/client/types.js.map +0 -1
  243. package/dist/compliance/gdprEngine.d.ts +0 -44
  244. package/dist/compliance/gdprEngine.d.ts.map +0 -1
  245. package/dist/compliance/gdprEngine.js +0 -178
  246. package/dist/compliance/gdprEngine.js.map +0 -1
  247. package/dist/compliance/lgpdEngine.d.ts +0 -51
  248. package/dist/compliance/lgpdEngine.d.ts.map +0 -1
  249. package/dist/compliance/lgpdEngine.js +0 -221
  250. package/dist/compliance/lgpdEngine.js.map +0 -1
  251. package/dist/config.d.ts +0 -78
  252. package/dist/config.d.ts.map +0 -1
  253. package/dist/config.js +0 -77
  254. package/dist/config.js.map +0 -1
  255. package/dist/errors.d.ts +0 -17
  256. package/dist/errors.d.ts.map +0 -1
  257. package/dist/errors.js +0 -40
  258. package/dist/errors.js.map +0 -1
  259. package/dist/firebase/tenantManager.d.ts +0 -116
  260. package/dist/firebase/tenantManager.d.ts.map +0 -1
  261. package/dist/firebase/tenantManager.js +0 -444
  262. package/dist/firebase/tenantManager.js.map +0 -1
  263. package/dist/index.js.map +0 -1
  264. package/dist/integration/secure-yaml-runtime.d.ts +0 -68
  265. package/dist/integration/secure-yaml-runtime.d.ts.map +0 -1
  266. package/dist/integration/secure-yaml-runtime.js +0 -245
  267. package/dist/integration/secure-yaml-runtime.js.map +0 -1
  268. package/dist/parser/secure-yaml-parser.d.ts +0 -62
  269. package/dist/parser/secure-yaml-parser.d.ts.map +0 -1
  270. package/dist/parser/secure-yaml-parser.js +0 -234
  271. package/dist/parser/secure-yaml-parser.js.map +0 -1
  272. package/dist/performance/autoscaling.d.ts +0 -100
  273. package/dist/performance/autoscaling.d.ts.map +0 -1
  274. package/dist/performance/autoscaling.js +0 -339
  275. package/dist/performance/autoscaling.js.map +0 -1
  276. package/dist/performance/benchmark.d.ts +0 -104
  277. package/dist/performance/benchmark.d.ts.map +0 -1
  278. package/dist/performance/benchmark.js +0 -514
  279. package/dist/performance/benchmark.js.map +0 -1
  280. package/dist/performance/index.d.ts +0 -14
  281. package/dist/performance/index.d.ts.map +0 -1
  282. package/dist/performance/index.js +0 -35
  283. package/dist/performance/index.js.map +0 -1
  284. package/dist/performance/monitor.d.ts +0 -126
  285. package/dist/performance/monitor.d.ts.map +0 -1
  286. package/dist/performance/monitor.js +0 -324
  287. package/dist/performance/monitor.js.map +0 -1
  288. package/dist/performance/streaming.d.ts +0 -82
  289. package/dist/performance/streaming.d.ts.map +0 -1
  290. package/dist/performance/streaming.js +0 -287
  291. package/dist/performance/streaming.js.map +0 -1
  292. package/dist/runtime/audit.d.ts +0 -240
  293. package/dist/runtime/audit.d.ts.map +0 -1
  294. package/dist/runtime/audit.js +0 -641
  295. package/dist/runtime/audit.js.map +0 -1
  296. package/dist/runtime/declarativeAgentRuntime.d.ts +0 -92
  297. package/dist/runtime/declarativeAgentRuntime.d.ts.map +0 -1
  298. package/dist/runtime/declarativeAgentRuntime.js +0 -512
  299. package/dist/runtime/declarativeAgentRuntime.js.map +0 -1
  300. package/dist/runtime/index.d.ts +0 -12
  301. package/dist/runtime/index.d.ts.map +0 -1
  302. package/dist/runtime/index.js +0 -33
  303. package/dist/runtime/index.js.map +0 -1
  304. package/dist/runtime/isolatedRuntime.d.ts +0 -119
  305. package/dist/runtime/isolatedRuntime.d.ts.map +0 -1
  306. package/dist/runtime/isolatedRuntime.js +0 -425
  307. package/dist/runtime/isolatedRuntime.js.map +0 -1
  308. package/dist/runtime/schemaCompiler.d.ts +0 -35
  309. package/dist/runtime/schemaCompiler.d.ts.map +0 -1
  310. package/dist/runtime/schemaCompiler.js +0 -152
  311. package/dist/runtime/schemaCompiler.js.map +0 -1
  312. package/dist/runtime/simpleRuntime.d.ts +0 -57
  313. package/dist/runtime/simpleRuntime.d.ts.map +0 -1
  314. package/dist/runtime/simpleRuntime.js +0 -187
  315. package/dist/runtime/simpleRuntime.js.map +0 -1
  316. package/dist/runtime/workflowExecutor.d.ts +0 -30
  317. package/dist/runtime/workflowExecutor.d.ts.map +0 -1
  318. package/dist/runtime/workflowExecutor.js +0 -70
  319. package/dist/runtime/workflowExecutor.js.map +0 -1
  320. package/dist/security/dashboard.d.ts +0 -89
  321. package/dist/security/dashboard.d.ts.map +0 -1
  322. package/dist/security/dashboard.js +0 -300
  323. package/dist/security/dashboard.js.map +0 -1
  324. package/dist/security/hardening.d.ts +0 -130
  325. package/dist/security/hardening.d.ts.map +0 -1
  326. package/dist/security/hardening.js +0 -414
  327. package/dist/security/hardening.js.map +0 -1
  328. package/dist/security/index.d.ts +0 -128
  329. package/dist/security/index.d.ts.map +0 -1
  330. package/dist/security/index.js +0 -353
  331. package/dist/security/index.js.map +0 -1
  332. package/dist/security/monitor.d.ts +0 -88
  333. package/dist/security/monitor.d.ts.map +0 -1
  334. package/dist/security/monitor.js +0 -356
  335. package/dist/security/monitor.js.map +0 -1
  336. package/dist/security/scanner.d.ts +0 -104
  337. package/dist/security/scanner.d.ts.map +0 -1
  338. package/dist/security/scanner.js +0 -298
  339. package/dist/security/scanner.js.map +0 -1
  340. package/dist/security/score.d.ts +0 -150
  341. package/dist/security/score.d.ts.map +0 -1
  342. package/dist/security/score.js +0 -983
  343. package/dist/security/score.js.map +0 -1
  344. package/dist/security/threatDetector.d.ts +0 -39
  345. package/dist/security/threatDetector.d.ts.map +0 -1
  346. package/dist/security/threatDetector.js +0 -354
  347. package/dist/security/threatDetector.js.map +0 -1
  348. package/dist/security/validation.d.ts +0 -69
  349. package/dist/security/validation.d.ts.map +0 -1
  350. package/dist/security/validation.js +0 -286
  351. package/dist/security/validation.js.map +0 -1
  352. package/dist/server/api/clientsRoute.d.ts +0 -9
  353. package/dist/server/api/clientsRoute.d.ts.map +0 -1
  354. package/dist/server/api/clientsRoute.js +0 -71
  355. package/dist/server/api/clientsRoute.js.map +0 -1
  356. package/dist/server/api/endpointsRoute.d.ts +0 -8
  357. package/dist/server/api/endpointsRoute.d.ts.map +0 -1
  358. package/dist/server/api/endpointsRoute.js +0 -76
  359. package/dist/server/api/endpointsRoute.js.map +0 -1
  360. package/dist/server/api/graphql.d.ts +0 -9
  361. package/dist/server/api/graphql.d.ts.map +0 -1
  362. package/dist/server/api/graphql.js +0 -222
  363. package/dist/server/api/graphql.js.map +0 -1
  364. package/dist/server/errors.d.ts +0 -19
  365. package/dist/server/errors.d.ts.map +0 -1
  366. package/dist/server/errors.js +0 -42
  367. package/dist/server/errors.js.map +0 -1
  368. package/dist/server/index.d.ts +0 -7
  369. package/dist/server/index.d.ts.map +0 -1
  370. package/dist/server/index.js +0 -24
  371. package/dist/server/index.js.map +0 -1
  372. package/dist/server/kvStore.d.ts +0 -27
  373. package/dist/server/kvStore.d.ts.map +0 -1
  374. package/dist/server/kvStore.js +0 -128
  375. package/dist/server/kvStore.js.map +0 -1
  376. package/dist/server/runtimeSecurity.d.ts +0 -28
  377. package/dist/server/runtimeSecurity.d.ts.map +0 -1
  378. package/dist/server/runtimeSecurity.js +0 -85
  379. package/dist/server/runtimeSecurity.js.map +0 -1
  380. package/dist/server/types.d.ts +0 -53
  381. package/dist/server/types.d.ts.map +0 -1
  382. package/dist/server/types.js +0 -8
  383. package/dist/server/types.js.map +0 -1
  384. package/dist/shared/index.d.ts +0 -7
  385. package/dist/shared/index.d.ts.map +0 -1
  386. package/dist/shared/index.js +0 -23
  387. package/dist/shared/index.js.map +0 -1
  388. package/dist/shared/types/agent.types.d.ts +0 -50
  389. package/dist/shared/types/agent.types.d.ts.map +0 -1
  390. package/dist/shared/types/agent.types.js +0 -7
  391. package/dist/shared/types/agent.types.js.map +0 -1
  392. package/dist/shared/types/execution.types.d.ts +0 -42
  393. package/dist/shared/types/execution.types.d.ts.map +0 -1
  394. package/dist/shared/types/execution.types.js +0 -7
  395. package/dist/shared/types/execution.types.js.map +0 -1
  396. package/dist/shared/types/index.d.ts +0 -7
  397. package/dist/shared/types/index.d.ts.map +0 -1
  398. package/dist/shared/types/index.js +0 -23
  399. package/dist/shared/types/index.js.map +0 -1
  400. package/dist/shared/types/schema.types.d.ts +0 -52
  401. package/dist/shared/types/schema.types.d.ts.map +0 -1
  402. package/dist/shared/types/schema.types.js +0 -7
  403. package/dist/shared/types/schema.types.js.map +0 -1
  404. package/dist/shared/utils/index.d.ts +0 -5
  405. package/dist/shared/utils/index.d.ts.map +0 -1
  406. package/dist/shared/utils/index.js +0 -21
  407. package/dist/shared/utils/index.js.map +0 -1
  408. package/dist/shared/utils/validation.d.ts +0 -42
  409. package/dist/shared/utils/validation.d.ts.map +0 -1
  410. package/dist/shared/utils/validation.js +0 -93
  411. package/dist/shared/utils/validation.js.map +0 -1
  412. package/dist/tenant/TenantManager.d.ts +0 -152
  413. package/dist/tenant/TenantManager.d.ts.map +0 -1
  414. package/dist/tenant/TenantManager.js +0 -392
  415. package/dist/tenant/TenantManager.js.map +0 -1
  416. package/dist/tenant/index.d.ts +0 -47
  417. package/dist/tenant/index.d.ts.map +0 -1
  418. package/dist/tenant/index.js +0 -74
  419. package/dist/tenant/index.js.map +0 -1
  420. package/dist/tenant/interfaces.d.ts +0 -170
  421. package/dist/tenant/interfaces.d.ts.map +0 -1
  422. package/dist/tenant/interfaces.js +0 -67
  423. package/dist/tenant/interfaces.js.map +0 -1
  424. package/dist/tenant/providerFactory.d.ts +0 -43
  425. package/dist/tenant/providerFactory.d.ts.map +0 -1
  426. package/dist/tenant/providerFactory.js +0 -70
  427. package/dist/tenant/providerFactory.js.map +0 -1
  428. package/dist/tenant/providerRegistry.d.ts +0 -47
  429. package/dist/tenant/providerRegistry.d.ts.map +0 -1
  430. package/dist/tenant/providerRegistry.js +0 -79
  431. package/dist/tenant/providerRegistry.js.map +0 -1
  432. package/dist/tenant/providers/FirebaseTenantProvider.d.ts +0 -41
  433. package/dist/tenant/providers/FirebaseTenantProvider.d.ts.map +0 -1
  434. package/dist/tenant/providers/FirebaseTenantProvider.js +0 -290
  435. package/dist/tenant/providers/FirebaseTenantProvider.js.map +0 -1
  436. package/dist/tenant/providers/InMemoryTenantProvider.d.ts +0 -18
  437. package/dist/tenant/providers/InMemoryTenantProvider.d.ts.map +0 -1
  438. package/dist/tenant/providers/InMemoryTenantProvider.js +0 -137
  439. package/dist/tenant/providers/InMemoryTenantProvider.js.map +0 -1
  440. package/dist/types/executionContext.d.ts +0 -16
  441. package/dist/types/executionContext.d.ts.map +0 -1
  442. package/dist/types/executionContext.js +0 -3
  443. package/dist/types/executionContext.js.map +0 -1
  444. package/src/agents/chat/chat.handler.ts +0 -209
  445. package/src/agents/chat/chat.schema.ts +0 -33
  446. package/src/agents/chat/chat.types.ts +0 -46
  447. package/src/agents/chat/chat.yaml +0 -150
  448. package/src/agents/chat/index.ts +0 -21
  449. package/src/agents/chromadb/chromadb.handler.ts +0 -130
  450. package/src/agents/chromadb/chromadb.schema.ts +0 -35
  451. package/src/agents/chromadb/chromadb.types.ts +0 -52
  452. package/src/agents/chromadb/chromadb.yaml +0 -128
  453. package/src/agents/chromadb/index.ts +0 -20
  454. package/src/agents/gemini-vectorize/gemini-vectorize.handler.ts +0 -72
  455. package/src/agents/gemini-vectorize/gemini-vectorize.schema.ts +0 -22
  456. package/src/agents/gemini-vectorize/gemini-vectorize.types.ts +0 -34
  457. package/src/agents/gemini-vectorize/gemini-vectorize.yaml +0 -84
  458. package/src/agents/gemini-vectorize/index.ts +0 -20
  459. package/src/agents/gitmcp/gitmcp.handler.ts +0 -122
  460. package/src/agents/gitmcp/gitmcp.schema.ts +0 -20
  461. package/src/agents/gitmcp/gitmcp.types.ts +0 -33
  462. package/src/agents/gitmcp/gitmcp.yaml +0 -71
  463. package/src/agents/gitmcp/index.ts +0 -21
  464. package/src/agents/image/image.handler.ts +0 -82
  465. package/src/agents/image/image.schema.ts +0 -28
  466. package/src/agents/image/image.types.ts +0 -45
  467. package/src/agents/image/image.yaml +0 -86
  468. package/src/agents/image/index.ts +0 -19
  469. package/src/agents/index.ts +0 -59
  470. package/src/agents/joker/index.ts +0 -19
  471. package/src/agents/joker/joker.handler.ts +0 -60
  472. package/src/agents/joker/joker.schema.ts +0 -15
  473. package/src/agents/joker/joker.types.ts +0 -37
  474. package/src/agents/joker/joker.yaml +0 -47
  475. package/src/agents/mcp-tool/index.ts +0 -19
  476. package/src/agents/mcp-tool/mcp-tool.handler.ts +0 -112
  477. package/src/agents/mcp-tool/mcp-tool.schema.ts +0 -22
  478. package/src/agents/mcp-tool/mcp-tool.types.ts +0 -33
  479. package/src/agents/mcp-tool/mcp-tool.yaml +0 -71
  480. package/src/agents/rag/index.ts +0 -20
  481. package/src/agents/rag/rag.handler.ts +0 -119
  482. package/src/agents/rag/rag.schema.ts +0 -26
  483. package/src/agents/rag/rag.types.ts +0 -51
  484. package/src/agents/rag/rag.yaml +0 -89
  485. package/src/agents/registry/agentRegistry.ts +0 -598
  486. package/src/agents/registry/index.ts +0 -6
  487. package/src/agents/translator/index.ts +0 -19
  488. package/src/agents/translator/translator.handler.ts +0 -99
  489. package/src/agents/translator/translator.schema.ts +0 -30
  490. package/src/agents/translator/translator.types.ts +0 -42
  491. package/src/agents/translator/translator.yaml +0 -80
  492. package/src/audit/auditTrail.ts +0 -134
  493. package/src/client/index.ts +0 -53
  494. package/src/client/types.ts +0 -38
  495. package/src/compliance/gdprEngine.ts +0 -209
  496. package/src/compliance/lgpdEngine.ts +0 -268
  497. package/src/config.ts +0 -179
  498. package/src/errors.ts +0 -35
  499. package/src/integration/secure-yaml-runtime.ts +0 -341
  500. package/src/parser/secure-yaml-parser.ts +0 -273
  501. package/src/performance/autoscaling.ts +0 -495
  502. package/src/performance/benchmark.ts +0 -644
  503. package/src/performance/index.ts +0 -34
  504. package/src/performance/monitor.ts +0 -469
  505. package/src/performance/streaming.ts +0 -317
  506. package/src/runtime/audit.ts +0 -907
  507. package/src/runtime/declarativeAgentRuntime.ts +0 -772
  508. package/src/runtime/index.ts +0 -31
  509. package/src/runtime/isolatedRuntime.ts +0 -572
  510. package/src/runtime/schemaCompiler.ts +0 -228
  511. package/src/runtime/simpleRuntime.ts +0 -201
  512. package/src/runtime/workflowExecutor.ts +0 -94
  513. package/src/security/dashboard.ts +0 -462
  514. package/src/security/hardening.ts +0 -560
  515. package/src/security/index.ts +0 -439
  516. package/src/security/monitor.ts +0 -490
  517. package/src/security/scanner.ts +0 -368
  518. package/src/security/score.ts +0 -1138
  519. package/src/security/threatDetector.ts +0 -481
  520. package/src/security/validation.ts +0 -365
  521. package/src/server/api/clientsRoute.ts +0 -92
  522. package/src/server/api/endpointsRoute.ts +0 -97
  523. package/src/server/api/graphql.ts +0 -284
  524. package/src/server/errors.ts +0 -38
  525. package/src/server/index.ts +0 -6
  526. package/src/server/kvStore.ts +0 -152
  527. package/src/server/runtimeSecurity.ts +0 -102
  528. package/src/server/types.ts +0 -60
  529. package/src/shared/index.ts +0 -7
  530. package/src/shared/types/agent.types.ts +0 -80
  531. package/src/shared/types/execution.types.ts +0 -45
  532. package/src/shared/types/index.ts +0 -7
  533. package/src/shared/types/schema.types.ts +0 -55
  534. package/src/shared/utils/index.ts +0 -5
  535. package/src/shared/utils/validation.ts +0 -100
  536. package/src/tenant/TenantManager.ts +0 -488
  537. package/src/tenant/index.ts +0 -101
  538. package/src/tenant/interfaces.ts +0 -231
  539. package/src/tenant/providerFactory.ts +0 -75
  540. package/src/tenant/providerRegistry.ts +0 -86
  541. package/src/tenant/providers/InMemoryTenantProvider.ts +0 -168
  542. package/src/types/executionContext.ts +0 -16
@@ -1,598 +0,0 @@
1
- /**
2
- * Agent Registry Service
3
- * Manages registration and execution of declarative YAML agents
4
- */
5
-
6
- import { existsSync, readFileSync, readdirSync, statSync } from "fs";
7
- import { join } from "path";
8
- import { declarativeInterpreter } from "../../runtime/declarativeAgentRuntime";
9
- import { ExecutionContext } from "../../types/executionContext";
10
-
11
- export interface AgentRegistration {
12
- id: string;
13
- name: string;
14
- description: string;
15
- protocol: string;
16
- route: string;
17
- requiredProps: string[];
18
- yamlContent: string;
19
- }
20
-
21
- /**
22
- * Agent Registry - Manages declarative agent registration and execution
23
- */
24
- export class AgentRegistry {
25
- private readonly agents: Map<string, AgentRegistration> = new Map();
26
- private readonly customFunctions: Map<string, Function> = new Map();
27
-
28
- constructor() {
29
- // Register built-in agents on initialization
30
- this.registerBuiltinAgents();
31
-
32
- // Automatically load custom agents if running in Node.js environment
33
- // This runs asynchronously in the background
34
- if (typeof process !== 'undefined' && typeof process.cwd === 'function') {
35
- this.loadCustomAgents().catch((error) => {
36
- // Silently fail if custom agents can't be loaded
37
- // This allows the registry to work even without custom agents
38
- console.error('Failed to load custom agents during initialization:', error);
39
- });
40
- }
41
- }
42
-
43
- /**
44
- * Register an agent
45
- */
46
- public registerAgent(agent: AgentRegistration, allowOverwrite = false): void {
47
- // Validate agent
48
- this.validateAgent(agent);
49
-
50
- // Check if agent already exists
51
- if (this.agents.has(agent.name) && allowOverwrite) {
52
- console.warn(`⚠️ Overwriting existing agent: ${agent.name}`);
53
- }
54
-
55
- // Register the agent
56
- this.agents.set(agent.name, agent);
57
- console.log(`Agent registered: ${agent.name} (${agent.protocol})`);
58
- }
59
-
60
- /**
61
- * Execute registered agent
62
- */
63
- public async executeAgent(
64
- agentName: string,
65
- input: Record<string, any>,
66
- props: Record<string, string>,
67
- context: ExecutionContext
68
- ): Promise<any> {
69
- // Find agent
70
- const agent = this.agents.get(agentName);
71
- if (!agent) {
72
- throw new Error(`Agent not found: ${agentName}`);
73
- }
74
-
75
- // Execute using declarative interpreter
76
- const result = await declarativeInterpreter.interpret({
77
- yamlContent: agent.yamlContent,
78
- input,
79
- props,
80
- context,
81
- });
82
-
83
- return result;
84
- }
85
-
86
- /**
87
- * Get registered agent
88
- */
89
- public getAgent(agentName: string): AgentRegistration | undefined {
90
- return this.agents.get(agentName);
91
- }
92
-
93
- /**
94
- * Get all registered agents
95
- */
96
- public getAllAgents(): AgentRegistration[] {
97
- return Array.from(this.agents.values());
98
- }
99
-
100
- /**
101
- * Load custom agents from a specified directory
102
- * @param customAgentsPath - Optional path to custom agents directory. Defaults to process.cwd()/agents
103
- */
104
- public async loadCustomAgents(customAgentsPath?: string): Promise<void> {
105
- try {
106
- // Determine the agents directory path
107
- const agentsPath = customAgentsPath || join(process.cwd(), "agents");
108
-
109
- // Check if directory exists
110
- if (!existsSync(agentsPath)) {
111
- console.log(`No custom agents directory found at: ${agentsPath}`);
112
- return;
113
- }
114
-
115
- console.log(`🔍 Loading custom agents from: ${agentsPath}`);
116
-
117
- // Discover all YAML files in the agents directory
118
- const agentFiles = this.discoverCustomAgentFiles(agentsPath);
119
-
120
- if (agentFiles.length === 0) {
121
- console.log(`No custom agent YAML files found in: ${agentsPath}`);
122
- }
123
-
124
- // Register each custom agent
125
- let successCount = 0;
126
- for (const yamlPath of agentFiles) {
127
- try {
128
- this.registerCustomAgent(yamlPath);
129
- successCount++;
130
- } catch (error) {
131
- console.error(`Failed to register custom agent from ${yamlPath}:`, error);
132
- }
133
- }
134
-
135
- if (agentFiles.length > 0) {
136
- console.log(`✅ Successfully loaded ${successCount}/${agentFiles.length} custom agents`);
137
- }
138
-
139
- // Load TypeScript implementations
140
- await this.loadCustomFunctions(agentsPath);
141
- } catch (error) {
142
- console.error("Failed to load custom agents:", error);
143
- }
144
- }
145
-
146
- /**
147
- * Register a custom agent from a YAML file
148
- */
149
- private registerCustomAgent(yamlPath: string): void {
150
- // Read YAML file
151
- const yamlContent = readFileSync(yamlPath, "utf-8");
152
-
153
- // Parse agent metadata
154
- const agent = this.parseAgentYaml(yamlContent);
155
-
156
- // Determine agent name from metadata or filename
157
- const agentName = agent.metadata.route
158
- ? agent.metadata.route.replace("/agents/", "") + ".execute"
159
- : agent.agent.id + ".execute";
160
-
161
- // Register the agent (allow overwriting built-ins)
162
- this.registerAgent(
163
- {
164
- id: agent.agent.id,
165
- name: agentName,
166
- description: agent.metadata.description,
167
- protocol: agent.agent.protocol,
168
- route: agent.metadata.route || `/agents/${agent.agent.id}`,
169
- requiredProps: agent.schema.required || ["gemini_api_key"],
170
- yamlContent,
171
- },
172
- true // Allow overwriting
173
- );
174
- }
175
-
176
- /**
177
- * Discover all YAML files in the custom agents directory
178
- */
179
- private discoverCustomAgentFiles(agentsPath: string): string[] {
180
- const yamlFiles: string[] = [];
181
-
182
- const scanDirectory = (dirPath: string) => {
183
- const entries = readdirSync(dirPath);
184
-
185
- for (const entry of entries) {
186
- const fullPath = join(dirPath, entry);
187
- const stat = statSync(fullPath);
188
-
189
- if (stat.isDirectory()) {
190
- // Recursively scan subdirectories
191
- scanDirectory(fullPath);
192
- } else if (stat.isFile() && (entry.endsWith(".yaml") || entry.endsWith(".yml"))) {
193
- yamlFiles.push(fullPath);
194
- }
195
- }
196
- };
197
-
198
- scanDirectory(agentsPath);
199
- return yamlFiles;
200
- }
201
-
202
- /**
203
- * Register built-in agents
204
- */
205
- private registerBuiltinAgents(): void {
206
- try {
207
- // Register Joker Agent
208
- this.registerJokerAgent();
209
- // Register Translator Agent
210
- this.registerTranslatorAgent();
211
- // Register Image Generator Agent
212
- this.registerImageAgent();
213
- // Register MCP Tool Agent
214
- this.registerMcpToolAgent();
215
- // Register Gemini Vectorize Agent
216
- this.registerGeminiVectorizeAgent();
217
- // Register ChromaDB Agent
218
- this.registerChromaDBAgent();
219
- // Register GitMCP Agent
220
- this.registerGitMcpAgent();
221
- // Register RAG Agent
222
- this.registerRagAgent();
223
- // Register Chat Agent (Orchestrator)
224
- this.registerChatAgent();
225
- } catch (error) {
226
- console.error("Failed to register built-in agents:", error);
227
- }
228
- }
229
-
230
- /**
231
- * Register Joker Agent
232
- */
233
- private registerJokerAgent(): void {
234
- try {
235
- // Get the Joker Agent YAML content
236
- const jokerYamlPath = this.resolveAgentPath("joker/joker.yaml");
237
- const yamlContent = readFileSync(jokerYamlPath, "utf-8");
238
-
239
- // Parse YAML to extract metadata
240
- const agent = this.parseAgentYaml(yamlContent);
241
-
242
- this.registerAgent({
243
- id: agent.agent.id,
244
- name: "joker.execute",
245
- description: agent.metadata.description,
246
- protocol: agent.agent.protocol,
247
- route: agent.metadata.route || "/agents/joker",
248
- requiredProps: ["gemini_api_key"],
249
- yamlContent,
250
- });
251
- } catch (error) {
252
- console.error("Failed to register Joker Agent:", error);
253
- throw error;
254
- }
255
- }
256
-
257
- /**
258
- * Register Translator Agent
259
- */
260
- private registerTranslatorAgent(): void {
261
- try {
262
- const translatorYamlPath = this.resolveAgentPath("translator/translator.yaml");
263
- const yamlContent = readFileSync(translatorYamlPath, "utf-8");
264
- const agent = this.parseAgentYaml(yamlContent);
265
-
266
- this.registerAgent({
267
- id: agent.agent.id,
268
- name: "translator.execute",
269
- description: agent.metadata.description,
270
- protocol: agent.agent.protocol,
271
- route: agent.metadata.route || "/agents/translator",
272
- requiredProps: ["gemini_api_key"],
273
- yamlContent,
274
- });
275
- } catch (error) {
276
- console.error("Failed to register Translator Agent:", error);
277
- throw error;
278
- }
279
- }
280
-
281
- /**
282
- * Register Image Generator Agent
283
- */
284
- private registerImageAgent(): void {
285
- try {
286
- const imageYamlPath = this.resolveAgentPath("image/image.yaml");
287
- const yamlContent = readFileSync(imageYamlPath, "utf-8");
288
- const agent = this.parseAgentYaml(yamlContent);
289
-
290
- this.registerAgent({
291
- id: agent.agent.id,
292
- name: "image.generate",
293
- description: agent.metadata.description,
294
- protocol: agent.agent.protocol,
295
- route: agent.metadata.route || "/agents/image",
296
- requiredProps: ["gemini_api_key"],
297
- yamlContent,
298
- });
299
- } catch (error) {
300
- console.error("Failed to register Image Agent:", error);
301
- throw error;
302
- }
303
- }
304
-
305
- /**
306
- * Register MCP Tool Agent
307
- */
308
- private registerMcpToolAgent(): void {
309
- try {
310
- const yamlPath = this.resolveAgentPath("mcp-tool/mcp-tool.yaml");
311
- const yamlContent = readFileSync(yamlPath, "utf-8");
312
- const agent = this.parseAgentYaml(yamlContent);
313
-
314
- this.registerAgent({
315
- id: agent.agent.id,
316
- name: "mcp-tool.execute",
317
- description: agent.metadata.description,
318
- protocol: agent.agent.protocol,
319
- route: agent.metadata.route || "/agents/mcp-tool",
320
- requiredProps: [],
321
- yamlContent,
322
- });
323
- } catch (error) {
324
- console.error("Failed to register MCP Tool Agent:", error);
325
- throw error;
326
- }
327
- }
328
-
329
- /**
330
- * Register Gemini Vectorize Agent
331
- */
332
- private registerGeminiVectorizeAgent(): void {
333
- try {
334
- const yamlPath = this.resolveAgentPath("gemini-vectorize/gemini-vectorize.yaml");
335
- const yamlContent = readFileSync(yamlPath, "utf-8");
336
- const agent = this.parseAgentYaml(yamlContent);
337
-
338
- this.registerAgent({
339
- id: agent.agent.id,
340
- name: "gemini-vectorize.execute",
341
- description: agent.metadata.description,
342
- protocol: agent.agent.protocol,
343
- route: agent.metadata.route || "/agents/gemini-vectorize",
344
- requiredProps: ["gemini_api_key"],
345
- yamlContent,
346
- });
347
- } catch (error) {
348
- console.error("Failed to register Gemini Vectorize Agent:", error);
349
- throw error;
350
- }
351
- }
352
-
353
- /**
354
- * Register ChromaDB Agent
355
- */
356
- private registerChromaDBAgent(): void {
357
- try {
358
- const yamlPath = this.resolveAgentPath("chromadb/chromadb.yaml");
359
- const yamlContent = readFileSync(yamlPath, "utf-8");
360
- const agent = this.parseAgentYaml(yamlContent);
361
-
362
- this.registerAgent({
363
- id: agent.agent.id,
364
- name: "chromadb.execute",
365
- description: agent.metadata.description,
366
- protocol: agent.agent.protocol,
367
- route: agent.metadata.route || "/agents/chromadb",
368
- requiredProps: [],
369
- yamlContent,
370
- });
371
- } catch (error) {
372
- console.error("Failed to register ChromaDB Agent:", error);
373
- throw error;
374
- }
375
- }
376
-
377
- /**
378
- * Register GitMCP Agent
379
- */
380
- private registerGitMcpAgent(): void {
381
- try {
382
- const yamlPath = this.resolveAgentPath("gitmcp/gitmcp.yaml");
383
- const yamlContent = readFileSync(yamlPath, "utf-8");
384
- const agent = this.parseAgentYaml(yamlContent);
385
-
386
- this.registerAgent({
387
- id: agent.agent.id,
388
- name: "gitmcp.execute",
389
- description: agent.metadata.description,
390
- protocol: agent.agent.protocol,
391
- route: agent.metadata.route || "/agents/gitmcp",
392
- requiredProps: [],
393
- yamlContent,
394
- });
395
- } catch (error) {
396
- console.error("Failed to register GitMCP Agent:", error);
397
- throw error;
398
- }
399
- }
400
-
401
- /**
402
- * Register RAG Agent
403
- */
404
- private registerRagAgent(): void {
405
- try {
406
- const yamlPath = this.resolveAgentPath("rag/rag.yaml");
407
- const yamlContent = readFileSync(yamlPath, "utf-8");
408
- const agent = this.parseAgentYaml(yamlContent);
409
-
410
- this.registerAgent({
411
- id: agent.agent.id,
412
- name: "rag.execute",
413
- description: agent.metadata.description,
414
- protocol: agent.agent.protocol,
415
- route: agent.metadata.route || "/agents/rag",
416
- requiredProps: ["gemini_api_key"],
417
- yamlContent,
418
- });
419
- } catch (error) {
420
- console.error("Failed to register RAG Agent:", error);
421
- throw error;
422
- }
423
- }
424
-
425
- /**
426
- * Register Chat Agent (Orchestrator)
427
- */
428
- private registerChatAgent(): void {
429
- try {
430
- const yamlPath = this.resolveAgentPath("chat/chat.yaml");
431
- const yamlContent = readFileSync(yamlPath, "utf-8");
432
- const agent = this.parseAgentYaml(yamlContent);
433
-
434
- this.registerAgent({
435
- id: agent.agent.id,
436
- name: "chat.execute",
437
- description: agent.metadata.description,
438
- protocol: agent.agent.protocol,
439
- route: agent.metadata.route || "/agents/chat",
440
- requiredProps: ["gemini_api_key"],
441
- yamlContent,
442
- });
443
- } catch (error) {
444
- console.error("Failed to register Chat Agent:", error);
445
- throw error;
446
- }
447
- }
448
-
449
- /**
450
- * Parse agent YAML content
451
- */
452
- private parseAgentYaml(yamlContent: string): any {
453
- // Simple validation - full parsing will be done by interpreter
454
- if (!yamlContent.includes("agent:") || !yamlContent.includes("logic:")) {
455
- throw new Error("Invalid agent YAML: missing required sections");
456
- }
457
-
458
- // Basic YAML parsing for metadata extraction
459
- const lines = yamlContent.split("\n");
460
- const metadata: any = {
461
- agent: { id: "", protocol: "" },
462
- metadata: { description: "", route: "" },
463
- schema: { required: [] },
464
- };
465
-
466
- for (let i = 0; i < lines.length; i++) {
467
- const line = lines[i].trim();
468
-
469
- if (line.startsWith("id:") && metadata.agent.id === "") {
470
- metadata.agent.id = line.split(":")[1].trim();
471
- }
472
-
473
- if (line.startsWith("protocol:") && metadata.agent.protocol === "") {
474
- metadata.agent.protocol = line.split(":")[1].trim();
475
- }
476
-
477
- if (
478
- line.startsWith("description:") &&
479
- metadata.metadata.description === ""
480
- ) {
481
- metadata.metadata.description = line
482
- .substring(line.indexOf(":") + 1)
483
- .trim();
484
- }
485
-
486
- if (line.startsWith("route:") && metadata.metadata.route === "") {
487
- metadata.metadata.route = line.split(":")[1].trim();
488
- }
489
-
490
- if (
491
- line.startsWith("required:") &&
492
- metadata.schema.required.length === 0
493
- ) {
494
- // Parse required array
495
- const requiredStr = line.substring(line.indexOf(":") + 1).trim();
496
- metadata.schema.required = JSON.parse(requiredStr);
497
- }
498
- }
499
-
500
- return metadata;
501
- }
502
-
503
- /**
504
- * Validate agent registration
505
- */
506
- private validateAgent(agent: AgentRegistration): void {
507
- if (!agent.id || !agent.name || !agent.protocol) {
508
- throw new Error("Invalid agent: missing required fields");
509
- }
510
-
511
- if (!agent.yamlContent || agent.yamlContent.length === 0) {
512
- throw new Error("Invalid agent: missing YAML content");
513
- }
514
-
515
- if (!agent.protocol.startsWith("beddel-declarative-protocol")) {
516
- throw new Error(`Unsupported protocol: ${agent.protocol}`);
517
- }
518
- }
519
-
520
- /**
521
- * Resolve agent asset path when running in bundled runtimes
522
- */
523
- private resolveAgentPath(filename: string): string {
524
- const candidatePaths = [
525
- join(__dirname, filename),
526
- join(process.cwd(), "packages", "beddel", "src", "agents", filename),
527
- ];
528
-
529
- for (const path of candidatePaths) {
530
- if (existsSync(path)) {
531
- return path;
532
- }
533
- }
534
-
535
- throw new Error(
536
- `Unable to locate agent asset '${filename}' in paths: ${candidatePaths.join(
537
- ", "
538
- )}`
539
- );
540
- }
541
-
542
- /**
543
- * Load custom TypeScript function implementations from /agents directory
544
- * @param agentsPath - Path to the agents directory
545
- */
546
- private async loadCustomFunctions(agentsPath: string): Promise<void> {
547
- try {
548
- const files = readdirSync(agentsPath);
549
- let functionCount = 0;
550
-
551
- for (const file of files) {
552
- if (file.endsWith(".ts")) {
553
- const modulePath = join(agentsPath, file);
554
- try {
555
- // Dynamic import of the custom agent module
556
- const module = await import(modulePath);
557
-
558
- // Register all exported functions with a namespaced key
559
- // e.g., "my-agent/myFunction"
560
- Object.keys(module).forEach((funcName) => {
561
- if (typeof module[funcName] === "function") {
562
- const key = `${file.replace(".ts", "")}/${funcName}`;
563
- this.customFunctions.set(key, module[funcName]);
564
- functionCount++;
565
- console.log(`📦 Registered custom function: ${key}`);
566
- }
567
- });
568
- } catch (err) {
569
- console.error(
570
- `Failed to load custom agent implementation ${file}:`,
571
- err
572
- );
573
- }
574
- }
575
- }
576
-
577
- if (functionCount > 0) {
578
- console.log(`✅ Successfully loaded ${functionCount} custom function(s)`);
579
- }
580
- } catch (error) {
581
- console.error("Failed to load custom functions:", error);
582
- }
583
- }
584
-
585
- /**
586
- * Get a custom function by its namespaced key
587
- * @param name - Function name in format "agent-name/functionName"
588
- * @returns The registered function or undefined
589
- */
590
- public getCustomFunction(name: string): Function | undefined {
591
- return this.customFunctions.get(name);
592
- }
593
- }
594
-
595
- // Singleton instance
596
- export const agentRegistry = new AgentRegistry();
597
-
598
- export default AgentRegistry;
@@ -1,6 +0,0 @@
1
- /**
2
- * Agent Registry - Re-exports
3
- */
4
-
5
- export { AgentRegistry, agentRegistry } from './agentRegistry';
6
- export type { AgentRegistration } from './agentRegistry';
@@ -1,19 +0,0 @@
1
- /**
2
- * Translator Agent - Public exports (client-safe)
3
- */
4
-
5
- // Schema exports (client-safe)
6
- export { TranslatorInputSchema, TranslatorOutputSchema } from './translator.schema';
7
- export type { TranslatorInput, TranslatorOutput } from './translator.schema';
8
-
9
- // Type exports (client-safe)
10
- export type { TranslationHandlerParams, TranslationHandlerResult, TranslatorMetadata } from './translator.types';
11
-
12
- // Metadata (client-safe)
13
- export const translatorMetadata = {
14
- id: 'translator',
15
- name: 'Translator Agent',
16
- description: 'Translates text between languages using Gemini Flash via Genkit',
17
- category: 'translation',
18
- route: '/agents/translator',
19
- } as const;