beddel 0.2.1 → 0.2.3

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 (332) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +132 -21
  3. package/dist/agents/chat/chat.handler.d.ts +12 -0
  4. package/dist/agents/chat/chat.handler.d.ts.map +1 -0
  5. package/dist/agents/chat/chat.handler.js +143 -0
  6. package/dist/agents/chat/chat.handler.js.map +1 -0
  7. package/dist/agents/chat/chat.schema.d.ts +38 -0
  8. package/dist/agents/chat/chat.schema.d.ts.map +1 -0
  9. package/dist/agents/chat/chat.schema.js +31 -0
  10. package/dist/agents/chat/chat.schema.js.map +1 -0
  11. package/dist/agents/chat/chat.types.d.ts +42 -0
  12. package/dist/agents/chat/chat.types.d.ts.map +1 -0
  13. package/dist/agents/chat/chat.types.js +6 -0
  14. package/dist/agents/chat/chat.types.js.map +1 -0
  15. package/dist/agents/chat/chat.yaml +150 -0
  16. package/dist/agents/chat/index.d.ts +16 -0
  17. package/dist/agents/chat/index.d.ts.map +1 -0
  18. package/dist/agents/chat/index.js +21 -0
  19. package/dist/agents/chat/index.js.map +1 -0
  20. package/dist/agents/chromadb/chromadb.handler.d.ts +12 -0
  21. package/dist/agents/chromadb/chromadb.handler.d.ts.map +1 -0
  22. package/dist/agents/chromadb/chromadb.handler.js +139 -0
  23. package/dist/agents/chromadb/chromadb.handler.js.map +1 -0
  24. package/dist/agents/chromadb/chromadb.schema.d.ts +36 -0
  25. package/dist/agents/chromadb/chromadb.schema.d.ts.map +1 -0
  26. package/dist/agents/chromadb/chromadb.schema.js +33 -0
  27. package/dist/agents/chromadb/chromadb.schema.js.map +1 -0
  28. package/dist/agents/chromadb/chromadb.types.d.ts +49 -0
  29. package/dist/agents/chromadb/chromadb.types.d.ts.map +1 -0
  30. package/dist/agents/chromadb/chromadb.types.js +6 -0
  31. package/dist/agents/chromadb/chromadb.types.js.map +1 -0
  32. package/dist/agents/chromadb/chromadb.yaml +128 -0
  33. package/dist/agents/chromadb/index.d.ts +15 -0
  34. package/dist/agents/chromadb/index.d.ts.map +1 -0
  35. package/dist/agents/chromadb/index.js +20 -0
  36. package/dist/agents/chromadb/index.js.map +1 -0
  37. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts +8 -0
  38. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.d.ts.map +1 -0
  39. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js +58 -0
  40. package/dist/agents/gemini-vectorize/gemini-vectorize.handler.js.map +1 -0
  41. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts +22 -0
  42. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.d.ts.map +1 -0
  43. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js +20 -0
  44. package/dist/agents/gemini-vectorize/gemini-vectorize.schema.js.map +1 -0
  45. package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts +32 -0
  46. package/dist/agents/gemini-vectorize/gemini-vectorize.types.d.ts.map +1 -0
  47. package/dist/agents/gemini-vectorize/gemini-vectorize.types.js +6 -0
  48. package/dist/agents/gemini-vectorize/gemini-vectorize.types.js.map +1 -0
  49. package/dist/agents/gemini-vectorize/gemini-vectorize.yaml +84 -0
  50. package/dist/agents/gemini-vectorize/index.d.ts +15 -0
  51. package/dist/agents/gemini-vectorize/index.d.ts.map +1 -0
  52. package/dist/agents/gemini-vectorize/index.js +20 -0
  53. package/dist/agents/gemini-vectorize/index.js.map +1 -0
  54. package/dist/agents/gitmcp/gitmcp.handler.d.ts +12 -0
  55. package/dist/agents/gitmcp/gitmcp.handler.d.ts.map +1 -0
  56. package/dist/agents/gitmcp/gitmcp.handler.js +95 -0
  57. package/dist/agents/gitmcp/gitmcp.handler.js.map +1 -0
  58. package/dist/agents/gitmcp/gitmcp.schema.d.ts +17 -0
  59. package/dist/agents/gitmcp/gitmcp.schema.d.ts.map +1 -0
  60. package/dist/agents/gitmcp/gitmcp.schema.js +18 -0
  61. package/dist/agents/gitmcp/gitmcp.schema.js.map +1 -0
  62. package/dist/agents/gitmcp/gitmcp.types.d.ts +31 -0
  63. package/dist/agents/gitmcp/gitmcp.types.d.ts.map +1 -0
  64. package/dist/agents/gitmcp/gitmcp.types.js +6 -0
  65. package/dist/agents/gitmcp/gitmcp.types.js.map +1 -0
  66. package/dist/agents/gitmcp/gitmcp.yaml +71 -0
  67. package/dist/agents/gitmcp/index.d.ts +16 -0
  68. package/dist/agents/gitmcp/index.d.ts.map +1 -0
  69. package/dist/agents/gitmcp/index.js +21 -0
  70. package/dist/agents/gitmcp/index.js.map +1 -0
  71. package/dist/agents/image/image.handler.d.ts +8 -0
  72. package/dist/agents/image/image.handler.d.ts.map +1 -0
  73. package/dist/agents/image/image.handler.js +66 -0
  74. package/dist/agents/image/image.handler.js.map +1 -0
  75. package/dist/agents/image/image.schema.d.ts +29 -0
  76. package/dist/agents/image/image.schema.d.ts.map +1 -0
  77. package/dist/agents/image/image.schema.js +26 -0
  78. package/dist/agents/image/image.schema.js.map +1 -0
  79. package/dist/agents/image/image.types.d.ts +42 -0
  80. package/dist/agents/image/image.types.d.ts.map +1 -0
  81. package/dist/agents/image/image.types.js +6 -0
  82. package/dist/agents/image/image.types.js.map +1 -0
  83. package/{src/agents/image-agent.yaml → dist/agents/image/image.yaml} +21 -21
  84. package/dist/agents/image/index.d.ts +14 -0
  85. package/dist/agents/image/index.d.ts.map +1 -0
  86. package/dist/agents/image/index.js +19 -0
  87. package/dist/agents/image/index.js.map +1 -0
  88. package/dist/agents/index.d.ts +95 -0
  89. package/dist/agents/index.d.ts.map +1 -0
  90. package/dist/agents/index.js +76 -0
  91. package/dist/agents/index.js.map +1 -0
  92. package/dist/agents/joker/index.d.ts +14 -0
  93. package/dist/agents/joker/index.d.ts.map +1 -0
  94. package/dist/agents/joker/index.js +19 -0
  95. package/dist/agents/joker/index.js.map +1 -0
  96. package/dist/agents/joker/joker.handler.d.ts +8 -0
  97. package/dist/agents/joker/joker.handler.d.ts.map +1 -0
  98. package/dist/agents/joker/joker.handler.js +48 -0
  99. package/dist/agents/joker/joker.handler.js.map +1 -0
  100. package/dist/agents/joker/joker.schema.d.ts +12 -0
  101. package/dist/agents/joker/joker.schema.d.ts.map +1 -0
  102. package/dist/agents/joker/joker.schema.js +13 -0
  103. package/dist/agents/joker/joker.schema.js.map +1 -0
  104. package/dist/agents/joker/joker.types.d.ts +35 -0
  105. package/dist/agents/joker/joker.types.d.ts.map +1 -0
  106. package/dist/agents/joker/joker.types.js +6 -0
  107. package/dist/agents/joker/joker.types.js.map +1 -0
  108. package/{src/agents/joker-agent.yaml → dist/agents/joker/joker.yaml} +4 -4
  109. package/dist/agents/mcp-tool/index.d.ts +14 -0
  110. package/dist/agents/mcp-tool/index.d.ts.map +1 -0
  111. package/dist/agents/mcp-tool/index.js +19 -0
  112. package/dist/agents/mcp-tool/index.js.map +1 -0
  113. package/dist/agents/mcp-tool/mcp-tool.handler.d.ts +12 -0
  114. package/dist/agents/mcp-tool/mcp-tool.handler.d.ts.map +1 -0
  115. package/dist/agents/mcp-tool/mcp-tool.handler.js +116 -0
  116. package/dist/agents/mcp-tool/mcp-tool.handler.js.map +1 -0
  117. package/dist/agents/mcp-tool/mcp-tool.schema.d.ts +19 -0
  118. package/dist/agents/mcp-tool/mcp-tool.schema.d.ts.map +1 -0
  119. package/dist/agents/mcp-tool/mcp-tool.schema.js +20 -0
  120. package/dist/agents/mcp-tool/mcp-tool.schema.js.map +1 -0
  121. package/dist/agents/mcp-tool/mcp-tool.types.d.ts +31 -0
  122. package/dist/agents/mcp-tool/mcp-tool.types.d.ts.map +1 -0
  123. package/dist/agents/mcp-tool/mcp-tool.types.js +6 -0
  124. package/dist/agents/mcp-tool/mcp-tool.types.js.map +1 -0
  125. package/dist/agents/mcp-tool/mcp-tool.yaml +71 -0
  126. package/dist/agents/rag/index.d.ts +15 -0
  127. package/dist/agents/rag/index.d.ts.map +1 -0
  128. package/dist/agents/rag/index.js +20 -0
  129. package/dist/agents/rag/index.js.map +1 -0
  130. package/dist/agents/rag/rag.handler.d.ts +8 -0
  131. package/dist/agents/rag/rag.handler.d.ts.map +1 -0
  132. package/dist/agents/rag/rag.handler.js +101 -0
  133. package/dist/agents/rag/rag.handler.js.map +1 -0
  134. package/dist/agents/rag/rag.schema.d.ts +27 -0
  135. package/dist/agents/rag/rag.schema.d.ts.map +1 -0
  136. package/dist/agents/rag/rag.schema.js +24 -0
  137. package/dist/agents/rag/rag.schema.js.map +1 -0
  138. package/dist/agents/rag/rag.types.d.ts +47 -0
  139. package/dist/agents/rag/rag.types.d.ts.map +1 -0
  140. package/dist/agents/rag/rag.types.js +6 -0
  141. package/dist/agents/rag/rag.types.js.map +1 -0
  142. package/dist/agents/rag/rag.yaml +89 -0
  143. package/dist/agents/{agentRegistry.d.ts → registry/agentRegistry.d.ts} +25 -1
  144. package/dist/agents/registry/agentRegistry.d.ts.map +1 -0
  145. package/dist/agents/{agentRegistry.js → registry/agentRegistry.js} +154 -4
  146. package/dist/agents/registry/agentRegistry.js.map +1 -0
  147. package/dist/agents/registry/index.d.ts +6 -0
  148. package/dist/agents/registry/index.d.ts.map +1 -0
  149. package/dist/agents/registry/index.js +10 -0
  150. package/dist/agents/registry/index.js.map +1 -0
  151. package/dist/agents/translator/index.d.ts +14 -0
  152. package/dist/agents/translator/index.d.ts.map +1 -0
  153. package/dist/agents/translator/index.js +19 -0
  154. package/dist/agents/translator/index.js.map +1 -0
  155. package/dist/agents/translator/translator.handler.d.ts +8 -0
  156. package/dist/agents/translator/translator.handler.d.ts.map +1 -0
  157. package/dist/agents/translator/translator.handler.js +83 -0
  158. package/dist/agents/translator/translator.handler.js.map +1 -0
  159. package/dist/agents/translator/translator.schema.d.ts +27 -0
  160. package/dist/agents/translator/translator.schema.d.ts.map +1 -0
  161. package/dist/agents/translator/translator.schema.js +28 -0
  162. package/dist/agents/translator/translator.schema.js.map +1 -0
  163. package/dist/agents/translator/translator.types.d.ts +40 -0
  164. package/dist/agents/translator/translator.types.d.ts.map +1 -0
  165. package/dist/agents/translator/translator.types.js +6 -0
  166. package/dist/agents/translator/translator.types.js.map +1 -0
  167. package/{src/agents/translator-agent.yaml → dist/agents/translator/translator.yaml} +27 -27
  168. package/dist/client/index.d.ts +89 -0
  169. package/dist/client/index.d.ts.map +1 -0
  170. package/dist/client/index.js +93 -0
  171. package/dist/client/index.js.map +1 -0
  172. package/dist/client/types.d.ts +17 -0
  173. package/dist/client/types.d.ts.map +1 -0
  174. package/dist/client/types.js +7 -0
  175. package/dist/client/types.js.map +1 -0
  176. package/dist/firebase/tenantManager.d.ts +34 -2
  177. package/dist/firebase/tenantManager.d.ts.map +1 -1
  178. package/dist/firebase/tenantManager.js +67 -1
  179. package/dist/firebase/tenantManager.js.map +1 -1
  180. package/dist/index.d.ts +8 -4
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +22 -7
  183. package/dist/index.js.map +1 -1
  184. package/dist/runtime/declarativeAgentRuntime.d.ts +14 -49
  185. package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -1
  186. package/dist/runtime/declarativeAgentRuntime.js +248 -355
  187. package/dist/runtime/declarativeAgentRuntime.js.map +1 -1
  188. package/dist/runtime/index.d.ts +12 -0
  189. package/dist/runtime/index.d.ts.map +1 -0
  190. package/dist/runtime/index.js +33 -0
  191. package/dist/runtime/index.js.map +1 -0
  192. package/dist/runtime/workflowExecutor.d.ts +30 -0
  193. package/dist/runtime/workflowExecutor.d.ts.map +1 -0
  194. package/dist/runtime/workflowExecutor.js +70 -0
  195. package/dist/runtime/workflowExecutor.js.map +1 -0
  196. package/dist/server/api/graphql.d.ts +1 -1
  197. package/dist/server/api/graphql.d.ts.map +1 -1
  198. package/dist/server/api/graphql.js +104 -62
  199. package/dist/server/api/graphql.js.map +1 -1
  200. package/dist/server/index.d.ts +2 -2
  201. package/dist/server/index.d.ts.map +1 -1
  202. package/dist/server/index.js +2 -2
  203. package/dist/server/index.js.map +1 -1
  204. package/dist/shared/index.d.ts +7 -0
  205. package/dist/shared/index.d.ts.map +1 -0
  206. package/dist/shared/index.js +23 -0
  207. package/dist/shared/index.js.map +1 -0
  208. package/dist/shared/types/agent.types.d.ts +50 -0
  209. package/dist/shared/types/agent.types.d.ts.map +1 -0
  210. package/dist/shared/types/agent.types.js +7 -0
  211. package/dist/shared/types/agent.types.js.map +1 -0
  212. package/dist/shared/types/execution.types.d.ts +42 -0
  213. package/dist/shared/types/execution.types.d.ts.map +1 -0
  214. package/dist/shared/types/execution.types.js +7 -0
  215. package/dist/shared/types/execution.types.js.map +1 -0
  216. package/dist/shared/types/index.d.ts +7 -0
  217. package/dist/shared/types/index.d.ts.map +1 -0
  218. package/dist/shared/types/index.js +23 -0
  219. package/dist/shared/types/index.js.map +1 -0
  220. package/dist/shared/types/schema.types.d.ts +52 -0
  221. package/dist/shared/types/schema.types.d.ts.map +1 -0
  222. package/dist/shared/types/schema.types.js +7 -0
  223. package/dist/shared/types/schema.types.js.map +1 -0
  224. package/dist/shared/utils/index.d.ts +5 -0
  225. package/dist/shared/utils/index.d.ts.map +1 -0
  226. package/dist/shared/utils/index.js +21 -0
  227. package/dist/shared/utils/index.js.map +1 -0
  228. package/dist/shared/utils/validation.d.ts +42 -0
  229. package/dist/shared/utils/validation.d.ts.map +1 -0
  230. package/dist/shared/utils/validation.js +93 -0
  231. package/dist/shared/utils/validation.js.map +1 -0
  232. package/dist/tenant/TenantManager.d.ts +152 -0
  233. package/dist/tenant/TenantManager.d.ts.map +1 -0
  234. package/dist/tenant/TenantManager.js +392 -0
  235. package/dist/tenant/TenantManager.js.map +1 -0
  236. package/dist/tenant/index.d.ts +47 -0
  237. package/dist/tenant/index.d.ts.map +1 -0
  238. package/dist/tenant/index.js +74 -0
  239. package/dist/tenant/index.js.map +1 -0
  240. package/dist/tenant/interfaces.d.ts +170 -0
  241. package/dist/tenant/interfaces.d.ts.map +1 -0
  242. package/dist/tenant/interfaces.js +67 -0
  243. package/dist/tenant/interfaces.js.map +1 -0
  244. package/dist/tenant/providerFactory.d.ts +43 -0
  245. package/dist/tenant/providerFactory.d.ts.map +1 -0
  246. package/dist/tenant/providerFactory.js +70 -0
  247. package/dist/tenant/providerFactory.js.map +1 -0
  248. package/dist/tenant/providerRegistry.d.ts +47 -0
  249. package/dist/tenant/providerRegistry.d.ts.map +1 -0
  250. package/dist/tenant/providerRegistry.js +79 -0
  251. package/dist/tenant/providerRegistry.js.map +1 -0
  252. package/dist/tenant/providers/FirebaseTenantProvider.d.ts +41 -0
  253. package/dist/tenant/providers/FirebaseTenantProvider.d.ts.map +1 -0
  254. package/dist/tenant/providers/FirebaseTenantProvider.js +290 -0
  255. package/dist/tenant/providers/FirebaseTenantProvider.js.map +1 -0
  256. package/dist/tenant/providers/InMemoryTenantProvider.d.ts +18 -0
  257. package/dist/tenant/providers/InMemoryTenantProvider.d.ts.map +1 -0
  258. package/dist/tenant/providers/InMemoryTenantProvider.js +137 -0
  259. package/dist/tenant/providers/InMemoryTenantProvider.js.map +1 -0
  260. package/package.json +48 -12
  261. package/src/agents/chat/chat.handler.ts +209 -0
  262. package/src/agents/chat/chat.schema.ts +33 -0
  263. package/src/agents/chat/chat.types.ts +46 -0
  264. package/src/agents/chat/chat.yaml +150 -0
  265. package/src/agents/chat/index.ts +21 -0
  266. package/src/agents/chromadb/chromadb.handler.ts +130 -0
  267. package/src/agents/chromadb/chromadb.schema.ts +35 -0
  268. package/src/agents/chromadb/chromadb.types.ts +52 -0
  269. package/src/agents/chromadb/chromadb.yaml +128 -0
  270. package/src/agents/chromadb/index.ts +20 -0
  271. package/src/agents/gemini-vectorize/gemini-vectorize.handler.ts +72 -0
  272. package/src/agents/gemini-vectorize/gemini-vectorize.schema.ts +22 -0
  273. package/src/agents/gemini-vectorize/gemini-vectorize.types.ts +34 -0
  274. package/src/agents/gemini-vectorize/gemini-vectorize.yaml +84 -0
  275. package/src/agents/gemini-vectorize/index.ts +20 -0
  276. package/src/agents/gitmcp/gitmcp.handler.ts +122 -0
  277. package/src/agents/gitmcp/gitmcp.schema.ts +20 -0
  278. package/src/agents/gitmcp/gitmcp.types.ts +33 -0
  279. package/src/agents/gitmcp/gitmcp.yaml +71 -0
  280. package/src/agents/gitmcp/index.ts +21 -0
  281. package/src/agents/image/image.handler.ts +82 -0
  282. package/src/agents/image/image.schema.ts +28 -0
  283. package/src/agents/image/image.types.ts +45 -0
  284. package/src/agents/image/image.yaml +86 -0
  285. package/src/agents/image/index.ts +19 -0
  286. package/src/agents/index.ts +59 -0
  287. package/src/agents/joker/index.ts +19 -0
  288. package/src/agents/joker/joker.handler.ts +60 -0
  289. package/src/agents/joker/joker.schema.ts +15 -0
  290. package/src/agents/joker/joker.types.ts +37 -0
  291. package/src/agents/joker/joker.yaml +47 -0
  292. package/src/agents/mcp-tool/index.ts +19 -0
  293. package/src/agents/mcp-tool/mcp-tool.handler.ts +112 -0
  294. package/src/agents/mcp-tool/mcp-tool.schema.ts +22 -0
  295. package/src/agents/mcp-tool/mcp-tool.types.ts +33 -0
  296. package/src/agents/mcp-tool/mcp-tool.yaml +71 -0
  297. package/src/agents/rag/index.ts +20 -0
  298. package/src/agents/rag/rag.handler.ts +119 -0
  299. package/src/agents/rag/rag.schema.ts +26 -0
  300. package/src/agents/rag/rag.types.ts +51 -0
  301. package/src/agents/rag/rag.yaml +89 -0
  302. package/src/agents/{agentRegistry.ts → registry/agentRegistry.ts} +161 -5
  303. package/src/agents/registry/index.ts +6 -0
  304. package/src/agents/translator/index.ts +19 -0
  305. package/src/agents/translator/translator.handler.ts +99 -0
  306. package/src/agents/translator/translator.schema.ts +30 -0
  307. package/src/agents/translator/translator.types.ts +42 -0
  308. package/src/agents/translator/translator.yaml +80 -0
  309. package/src/client/index.ts +53 -0
  310. package/src/client/types.ts +38 -0
  311. package/src/index.ts +48 -5
  312. package/src/runtime/declarativeAgentRuntime.ts +367 -489
  313. package/src/runtime/index.ts +31 -0
  314. package/src/runtime/workflowExecutor.ts +94 -0
  315. package/src/server/api/graphql.ts +109 -74
  316. package/src/server/index.ts +2 -2
  317. package/src/shared/index.ts +7 -0
  318. package/src/shared/types/agent.types.ts +80 -0
  319. package/src/shared/types/execution.types.ts +45 -0
  320. package/src/shared/types/index.ts +7 -0
  321. package/src/shared/types/schema.types.ts +55 -0
  322. package/src/shared/utils/index.ts +5 -0
  323. package/src/shared/utils/validation.ts +100 -0
  324. package/src/tenant/TenantManager.ts +488 -0
  325. package/src/tenant/index.ts +101 -0
  326. package/src/tenant/interfaces.ts +231 -0
  327. package/src/tenant/providerFactory.ts +75 -0
  328. package/src/tenant/providerRegistry.ts +86 -0
  329. package/src/tenant/providers/InMemoryTenantProvider.ts +168 -0
  330. package/dist/agents/agentRegistry.d.ts.map +0 -1
  331. package/dist/agents/agentRegistry.js.map +0 -1
  332. package/src/firebase/tenantManager.ts +0 -443
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeJokeHandler = executeJokeHandler;
4
+ require("server-only");
5
+ /**
6
+ * Joker Agent Handler - Server-only execution logic
7
+ * Generates jokes using Gemini Flash
8
+ */
9
+ const ai_1 = require("ai");
10
+ const google_1 = require("@ai-sdk/google");
11
+ const GEMINI_MODEL = 'models/gemini-2.5-flash';
12
+ /**
13
+ * Execute joke generation using Gemini Flash
14
+ */
15
+ async function executeJokeHandler(params, props, context) {
16
+ const apiKey = props?.gemini_api_key?.trim();
17
+ if (!apiKey) {
18
+ throw new Error('Missing required prop: gemini_api_key');
19
+ }
20
+ const prompt = params.prompt?.trim() || 'Tell a short and original joke that works for any audience.';
21
+ const temperature = params.temperature ?? 0.8;
22
+ const maxTokens = params.maxTokens;
23
+ const google = (0, google_1.createGoogleGenerativeAI)({ apiKey });
24
+ const model = google(GEMINI_MODEL);
25
+ const startTime = Date.now();
26
+ context.log(`[Joker] Generating joke with temperature=${temperature}`);
27
+ const { text } = await (0, ai_1.generateText)({
28
+ model,
29
+ prompt,
30
+ temperature,
31
+ ...(maxTokens && { maxOutputTokens: maxTokens }),
32
+ });
33
+ const finalText = text?.trim() || '';
34
+ if (!finalText) {
35
+ throw new Error('Gemini returned empty response');
36
+ }
37
+ return {
38
+ text: finalText,
39
+ metadata: {
40
+ model_used: GEMINI_MODEL,
41
+ processing_time: Date.now() - startTime,
42
+ temperature,
43
+ max_tokens: maxTokens ?? null,
44
+ prompt_used: prompt,
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=joker.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joker.handler.js","sourceRoot":"","sources":["../../../src/agents/joker/joker.handler.ts"],"names":[],"mappings":";;AAiBA,gDA0CC;AA3DD,uBAAqB;AAErB;;;GAGG;AAEH,2BAAkC;AAClC,2CAA0D;AAI1D,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAE/C;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAyB,EACzB,KAA6B,EAC7B,OAAyB;IAEzB,MAAM,MAAM,GAAG,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,6DAA6D,CAAC;IACtG,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;IAEvE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAY,EAAC;QAClC,KAAK;QACL,MAAM;QACN,WAAW;QACX,GAAG,CAAC,SAAS,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;KACjD,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE;YACR,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACvC,WAAW;YACX,UAAU,EAAE,SAAS,IAAI,IAAI;YAC7B,WAAW,EAAE,MAAM;SACpB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Joker Agent Schema - Zod validation schemas
3
+ * Safe for both client and server
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const JokerInputSchema: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
7
+ export declare const JokerOutputSchema: z.ZodObject<{
8
+ response: z.ZodString;
9
+ }, z.core.$strip>;
10
+ export type JokerInput = z.infer<typeof JokerInputSchema>;
11
+ export type JokerOutput = z.infer<typeof JokerOutputSchema>;
12
+ //# sourceMappingURL=joker.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joker.schema.d.ts","sourceRoot":"","sources":["../../../src/agents/joker/joker.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB,+CAA0B,CAAC;AAExD,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * Joker Agent Schema - Zod validation schemas
4
+ * Safe for both client and server
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.JokerOutputSchema = exports.JokerInputSchema = void 0;
8
+ const zod_1 = require("zod");
9
+ exports.JokerInputSchema = zod_1.z.object({}).optional();
10
+ exports.JokerOutputSchema = zod_1.z.object({
11
+ response: zod_1.z.string(),
12
+ });
13
+ //# sourceMappingURL=joker.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joker.schema.js","sourceRoot":"","sources":["../../../src/agents/joker/joker.schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAAwB;AAEX,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE3C,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Joker Agent Types - Shared between client and server
3
+ */
4
+ /**
5
+ * Parameters for joke generation
6
+ */
7
+ export interface JokeHandlerParams {
8
+ prompt?: string;
9
+ temperature?: number;
10
+ maxTokens?: number;
11
+ }
12
+ /**
13
+ * Result from joke generation
14
+ */
15
+ export interface JokeHandlerResult {
16
+ text: string;
17
+ metadata: {
18
+ model_used: string;
19
+ processing_time: number;
20
+ temperature: number;
21
+ max_tokens: number | null;
22
+ prompt_used: string;
23
+ };
24
+ }
25
+ /**
26
+ * Joker agent metadata
27
+ */
28
+ export interface JokerMetadata {
29
+ id: 'joker';
30
+ name: string;
31
+ description: string;
32
+ category: 'utility';
33
+ route: '/agents/joker';
34
+ }
35
+ //# sourceMappingURL=joker.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joker.types.d.ts","sourceRoot":"","sources":["../../../src/agents/joker/joker.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Joker Agent Types - Shared between client and server
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=joker.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"joker.types.js","sourceRoot":"","sources":["../../../src/agents/joker/joker.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -9,7 +9,7 @@ agent:
9
9
 
10
10
  metadata:
11
11
  name: "Joker Agent"
12
- description: "Conta piadas usando Gemini Flash"
12
+ description: "Tells jokes using Gemini Flash"
13
13
  category: "utility"
14
14
  route: "/agents/joker"
15
15
 
@@ -32,7 +32,7 @@ logic:
32
32
  type: "genkit-joke"
33
33
  action:
34
34
  type: "joke"
35
- prompt: "Conte uma piada curta e original que funcione para qualquer público."
35
+ prompt: "Tell a short and original joke that works for any audience."
36
36
  result: "jokerResult"
37
37
 
38
38
  - name: "deliver-response"
@@ -40,8 +40,8 @@ logic:
40
40
  action:
41
41
  type: "generate"
42
42
  output:
43
- response: "$jokerResult.texto"
43
+ response: "$jokerResult.text"
44
44
 
45
45
  output:
46
46
  schema:
47
- response: "$jokerResult.texto"
47
+ response: "$jokerResult.text"
@@ -0,0 +1,14 @@
1
+ /**
2
+ * MCP Tool Agent - Public exports (client-safe)
3
+ */
4
+ export { McpToolInputSchema, McpToolOutputSchema } from './mcp-tool.schema';
5
+ export type { McpToolInput, McpToolOutput } from './mcp-tool.schema';
6
+ export type { McpToolHandlerParams, McpToolHandlerResult, McpToolMetadata } from './mcp-tool.types';
7
+ export declare const mcpToolMetadata: {
8
+ readonly id: "mcp-tool";
9
+ readonly name: "MCP Tool Agent";
10
+ readonly description: "Generic agent for calling MCP server tools via SSE transport";
11
+ readonly category: "integration";
12
+ readonly route: "/agents/mcp-tool";
13
+ };
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp-tool/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGpG,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tool Agent - Public exports (client-safe)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mcpToolMetadata = exports.McpToolOutputSchema = exports.McpToolInputSchema = void 0;
7
+ // Schema exports (client-safe)
8
+ var mcp_tool_schema_1 = require("./mcp-tool.schema");
9
+ Object.defineProperty(exports, "McpToolInputSchema", { enumerable: true, get: function () { return mcp_tool_schema_1.McpToolInputSchema; } });
10
+ Object.defineProperty(exports, "McpToolOutputSchema", { enumerable: true, get: function () { return mcp_tool_schema_1.McpToolOutputSchema; } });
11
+ // Metadata (client-safe)
12
+ exports.mcpToolMetadata = {
13
+ id: 'mcp-tool',
14
+ name: 'MCP Tool Agent',
15
+ description: 'Generic agent for calling MCP server tools via SSE transport',
16
+ category: 'integration',
17
+ route: '/agents/mcp-tool',
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/mcp-tool/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+BAA+B;AAC/B,qDAA4E;AAAnE,qHAAA,kBAAkB,OAAA;AAAE,sHAAA,mBAAmB,OAAA;AAMhD,yBAAyB;AACZ,QAAA,eAAe,GAAG;IAC7B,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,kBAAkB;CACjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import 'server-only';
2
+ /**
3
+ * MCP Tool Agent Handler - Server-only execution logic
4
+ * Generic agent for calling MCP server tools via SSE transport
5
+ */
6
+ import type { ExecutionContext } from '../../types/executionContext';
7
+ import type { McpToolHandlerParams, McpToolHandlerResult } from './mcp-tool.types';
8
+ /**
9
+ * Execute MCP tool invocation
10
+ */
11
+ export declare function executeMcpToolHandler(params: McpToolHandlerParams, _props: Record<string, string>, context: ExecutionContext): Promise<McpToolHandlerResult>;
12
+ //# sourceMappingURL=mcp-tool.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.handler.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp-tool/mcp-tool.handler.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMnF;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CA0F/B"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.executeMcpToolHandler = executeMcpToolHandler;
37
+ require("server-only");
38
+ // MCP imports (lazy loaded to avoid issues if not installed)
39
+ let mcpClient = null;
40
+ let mcpSSETransport = null;
41
+ /**
42
+ * Execute MCP tool invocation
43
+ */
44
+ async function executeMcpToolHandler(params, _props, context) {
45
+ const serverUrl = params.server_url;
46
+ const toolName = params.tool_name;
47
+ const toolArguments = params.tool_arguments || {};
48
+ if (!serverUrl) {
49
+ throw new Error('Missing required MCP input: server_url');
50
+ }
51
+ if (!toolName) {
52
+ throw new Error('Missing required MCP input: tool_name');
53
+ }
54
+ context.log(`[MCP Tool] Connecting to ${serverUrl}...`);
55
+ context.log(`[MCP Tool] Tool: ${toolName}`);
56
+ try {
57
+ // Lazy load MCP SDK
58
+ if (!mcpClient) {
59
+ const { Client } = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/client/index.js')));
60
+ const { SSEClientTransport } = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/client/sse.js')));
61
+ mcpClient = Client;
62
+ mcpSSETransport = SSEClientTransport;
63
+ // Setup EventSource for Node.js
64
+ const eventsourceModule = await Promise.resolve().then(() => __importStar(require('eventsource')));
65
+ const EventSourceClass = eventsourceModule.default || eventsourceModule;
66
+ if (!global.EventSource) {
67
+ global.EventSource = EventSourceClass;
68
+ }
69
+ }
70
+ const transport = new mcpSSETransport(new URL(serverUrl));
71
+ const client = new mcpClient({ name: 'beddel-mcp-client', version: '1.0.0' }, { capabilities: {} });
72
+ await client.connect(transport);
73
+ context.log('[MCP Tool] Connected!');
74
+ // List available tools
75
+ const tools = await client.listTools();
76
+ const availableToolNames = tools.tools.map((t) => t.name);
77
+ context.log(`[MCP Tool] Available tools: ${availableToolNames.join(', ')}`);
78
+ // Handle list_tools special case
79
+ if (toolName === 'list_tools') {
80
+ await client.close();
81
+ return {
82
+ success: true,
83
+ data: JSON.stringify(tools.tools),
84
+ tool_names: availableToolNames,
85
+ };
86
+ }
87
+ // Validate tool exists
88
+ if (!availableToolNames.includes(toolName)) {
89
+ await client.close();
90
+ return {
91
+ success: false,
92
+ error: `Tool '${toolName}' not found. Available tools: ${availableToolNames.join(', ')}`,
93
+ };
94
+ }
95
+ // Call the tool with timeout
96
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('MCP Tool Timeout (30s)')), 30000));
97
+ const callPromise = client.callTool({
98
+ name: toolName,
99
+ arguments: toolArguments,
100
+ });
101
+ const callResult = await Promise.race([callPromise, timeoutPromise]);
102
+ await client.close();
103
+ // Parse result content
104
+ const textContent = callResult.content
105
+ .filter((c) => c.type === 'text')
106
+ .map((c) => c.text)
107
+ .join('\n') || 'No text content returned';
108
+ return { success: true, data: textContent };
109
+ }
110
+ catch (error) {
111
+ const message = error instanceof Error ? error.message : String(error);
112
+ context.log(`[MCP Tool] Error: ${message}`);
113
+ return { success: false, error: message };
114
+ }
115
+ }
116
+ //# sourceMappingURL=mcp-tool.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.handler.js","sourceRoot":"","sources":["../../../src/agents/mcp-tool/mcp-tool.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * MCP Tool Agent Schema - Zod validation schemas
3
+ * Safe for both client and server
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const McpToolInputSchema: z.ZodObject<{
7
+ server_url: z.ZodString;
8
+ tool_name: z.ZodString;
9
+ tool_arguments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
10
+ }, z.core.$strip>;
11
+ export declare const McpToolOutputSchema: z.ZodObject<{
12
+ success: z.ZodBoolean;
13
+ data: z.ZodOptional<z.ZodString>;
14
+ tool_names: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ error: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ export type McpToolInput = z.infer<typeof McpToolInputSchema>;
18
+ export type McpToolOutput = z.infer<typeof McpToolOutputSchema>;
19
+ //# sourceMappingURL=mcp-tool.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.schema.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp-tool/mcp-tool.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tool Agent Schema - Zod validation schemas
4
+ * Safe for both client and server
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.McpToolOutputSchema = exports.McpToolInputSchema = void 0;
8
+ const zod_1 = require("zod");
9
+ exports.McpToolInputSchema = zod_1.z.object({
10
+ server_url: zod_1.z.string().url(),
11
+ tool_name: zod_1.z.string().min(1),
12
+ tool_arguments: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
13
+ });
14
+ exports.McpToolOutputSchema = zod_1.z.object({
15
+ success: zod_1.z.boolean(),
16
+ data: zod_1.z.string().optional(),
17
+ tool_names: zod_1.z.array(zod_1.z.string()).optional(),
18
+ error: zod_1.z.string().optional(),
19
+ });
20
+ //# sourceMappingURL=mcp-tool.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.schema.js","sourceRoot":"","sources":["../../../src/agents/mcp-tool/mcp-tool.schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAAwB;AAEX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * MCP Tool Agent Types - Shared between client and server
3
+ */
4
+ /**
5
+ * Parameters for MCP tool invocation
6
+ */
7
+ export interface McpToolHandlerParams {
8
+ server_url: string;
9
+ tool_name: string;
10
+ tool_arguments?: Record<string, unknown>;
11
+ }
12
+ /**
13
+ * Result from MCP tool invocation
14
+ */
15
+ export interface McpToolHandlerResult {
16
+ success: boolean;
17
+ data?: string;
18
+ tool_names?: string[];
19
+ error?: string;
20
+ }
21
+ /**
22
+ * MCP Tool agent metadata
23
+ */
24
+ export interface McpToolMetadata {
25
+ id: 'mcp-tool';
26
+ name: string;
27
+ description: string;
28
+ category: 'integration';
29
+ route: '/agents/mcp-tool';
30
+ }
31
+ //# sourceMappingURL=mcp-tool.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.types.d.ts","sourceRoot":"","sources":["../../../src/agents/mcp-tool/mcp-tool.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;CAC3B"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Tool Agent Types - Shared between client and server
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=mcp-tool.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.types.js","sourceRoot":"","sources":["../../../src/agents/mcp-tool/mcp-tool.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,71 @@
1
+ # MCP Tool Agent - Native Builtin Agent for Beddel Runtime
2
+ # Route: /agents/mcp-tool
3
+ # Method: mcp-tool.execute
4
+
5
+ agent:
6
+ id: mcp-tool
7
+ version: 1.0.0
8
+ protocol: beddel-declarative-protocol/v2.0
9
+
10
+ metadata:
11
+ name: "MCP Tool Agent"
12
+ description: "Generic agent for calling MCP server tools via SSE transport"
13
+ category: "integration"
14
+ route: "/agents/mcp-tool"
15
+
16
+ schema:
17
+ input:
18
+ type: "object"
19
+ properties:
20
+ server_url:
21
+ type: "string"
22
+ description: "MCP server SSE endpoint URL"
23
+ tool_name:
24
+ type: "string"
25
+ description: "Name of the MCP tool to invoke (use 'list_tools' to discover available tools)"
26
+ tool_arguments:
27
+ type: "object"
28
+ description: "Arguments to pass to the tool"
29
+ required: ["server_url", "tool_name"]
30
+
31
+ output:
32
+ type: "object"
33
+ properties:
34
+ success:
35
+ type: "boolean"
36
+ data:
37
+ type: "string"
38
+ tool_names:
39
+ type: "array"
40
+ items:
41
+ type: "string"
42
+ error:
43
+ type: "string"
44
+ required: ["success"]
45
+
46
+ logic:
47
+ workflow:
48
+ - name: "call-mcp-tool"
49
+ type: "mcp-tool"
50
+ action:
51
+ server_url: "$input.server_url"
52
+ tool_name: "$input.tool_name"
53
+ tool_arguments: "$input.tool_arguments"
54
+ result: "mcpResult"
55
+
56
+ - name: "deliver-response"
57
+ type: "output-generator"
58
+ action:
59
+ type: "generate"
60
+ output:
61
+ success: "$mcpResult.success"
62
+ data: "$mcpResult.data"
63
+ tool_names: "$mcpResult.toolNames"
64
+ error: "$mcpResult.error"
65
+
66
+ output:
67
+ schema:
68
+ success: "$mcpResult.success"
69
+ data: "$mcpResult.data"
70
+ tool_names: "$mcpResult.toolNames"
71
+ error: "$mcpResult.error"
@@ -0,0 +1,15 @@
1
+ /**
2
+ * RAG Agent - Public exports (client-safe)
3
+ */
4
+ export { RagInputSchema, RagOutputSchema } from './rag.schema';
5
+ export type { RagInput, RagOutput } from './rag.schema';
6
+ export type { RagHandlerParams, RagHandlerResult, ConversationMessage, RagMetadata } from './rag.types';
7
+ export declare const ragMetadata: {
8
+ readonly id: "rag";
9
+ readonly name: "RAG Intelligence Agent";
10
+ readonly description: "Generates natural language answers based on provided context using Gemini";
11
+ readonly category: "intelligence";
12
+ readonly route: "/agents/rag";
13
+ readonly tags: readonly ["rag", "gemini", "qa", "generation"];
14
+ };
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/rag/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGxD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGxG,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * RAG Agent - Public exports (client-safe)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ragMetadata = exports.RagOutputSchema = exports.RagInputSchema = void 0;
7
+ // Schema exports (client-safe)
8
+ var rag_schema_1 = require("./rag.schema");
9
+ Object.defineProperty(exports, "RagInputSchema", { enumerable: true, get: function () { return rag_schema_1.RagInputSchema; } });
10
+ Object.defineProperty(exports, "RagOutputSchema", { enumerable: true, get: function () { return rag_schema_1.RagOutputSchema; } });
11
+ // Metadata (client-safe)
12
+ exports.ragMetadata = {
13
+ id: 'rag',
14
+ name: 'RAG Intelligence Agent',
15
+ description: 'Generates natural language answers based on provided context using Gemini',
16
+ category: 'intelligence',
17
+ route: '/agents/rag',
18
+ tags: ['rag', 'gemini', 'qa', 'generation'],
19
+ };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/rag/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+BAA+B;AAC/B,2CAA+D;AAAtD,4GAAA,cAAc,OAAA;AAAE,6GAAA,eAAe,OAAA;AAMxC,yBAAyB;AACZ,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,2EAA2E;IACxF,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC;CACnC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import 'server-only';
2
+ import type { ExecutionContext } from '../../types/executionContext';
3
+ import type { RagHandlerParams, RagHandlerResult } from './rag.types';
4
+ /**
5
+ * Execute RAG answer generation
6
+ */
7
+ export declare function executeRagHandler(params: RagHandlerParams, props: Record<string, string>, context: ExecutionContext): Promise<RagHandlerResult>;
8
+ //# sourceMappingURL=rag.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.handler.d.ts","sourceRoot":"","sources":["../../../src/agents/rag/rag.handler.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAuB,MAAM,aAAa,CAAC;AAkD3F;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAkD3B"}