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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.3] - 2025-12-20
4
+
5
+ ### Added
6
+ - **Client-Safe Type Exports**: Exposed shared types for frontend consumption
7
+ - `AgentMetadata`, `AgentResponse`, `ExecutionStep` from shared agent types
8
+ - `WorkflowStepType`, `AgentCategory` for workflow typing
9
+ - `ChatHandlerParams`, `ChatHandlerResult`, `ChatMetadata` for chat agent
10
+ - `ConversationMessage` from RAG types
11
+ - `chatMetadata` constant for chat agent metadata
12
+
13
+ ### Purpose
14
+ - Enable frontend applications to import types directly from `beddel` package
15
+ - Support type-safe chat UI development without duplicating type definitions
16
+ - All exported types are client-safe (no server-only dependencies)
17
+
18
+ ## [0.2.2] - 2025-12-19
19
+
20
+ ### Changed
21
+ - Maintenance release (no functional changes)
22
+
3
23
  ## [0.2.0] - 2025-12-18
4
24
 
5
25
  ### Added
package/README.md CHANGED
@@ -132,10 +132,29 @@ your-app/
132
132
  │ └── translator-custom/
133
133
  │ └── translator-custom.yaml # Override built-in
134
134
 
135
- └── packages/beddel/src/agents/ # Built-in agents (package)
136
- ├── joker-agent.yaml
137
- ├── translator-agent.yaml
138
- └── image-agent.yaml
135
+ └── packages/beddel/src/agents/ # Built-in agents (sharded structure)
136
+ ├── joker/
137
+ ├── joker.yaml # Agent definition
138
+ │ ├── joker.handler.ts # Server-only handler
139
+ │ ├── joker.schema.ts # Zod validation
140
+ │ ├── joker.types.ts # TypeScript types
141
+ │ └── index.ts # Public exports
142
+ ├── translator/
143
+ │ └── ...
144
+ ├── image/
145
+ │ └── ...
146
+ ├── mcp-tool/
147
+ │ └── ...
148
+ ├── gemini-vectorize/
149
+ │ └── ...
150
+ ├── chromadb/
151
+ │ └── ...
152
+ ├── gitmcp/
153
+ │ └── ...
154
+ ├── rag/
155
+ │ └── ...
156
+ └── chat/
157
+ └── ...
139
158
  ```
140
159
 
141
160
  ### Agent Loading Flow
@@ -215,21 +234,29 @@ output:
215
234
 
216
235
  2. **The agent is automatically registered** when your application starts.
217
236
 
218
- 3. **Execute via GraphQL or directly**:
237
+ 3. **Execute via GraphQL or directly** (GraphQL Yoga, introspection always enabled). GraphiQL is available at `GET /api/graphql`:
219
238
 
220
239
  ```graphql
221
- mutation {
222
- executeMethod(
223
- methodName: "greeting.execute"
224
- params: { name: "Alice" }
225
- props: { gemini_api_key: "your-api-key" }
226
- ) {
240
+ mutation Execute($methodName: String!, $params: JSON!, $props: JSON!) {
241
+ executeMethod(methodName: $methodName, params: $params, props: $props) {
227
242
  success
228
243
  data
244
+ error
245
+ executionTime
229
246
  }
230
247
  }
231
248
  ```
232
249
 
250
+ Example variables:
251
+
252
+ ```json
253
+ {
254
+ "methodName": "greeting.execute",
255
+ "params": { "name": "Alice" },
256
+ "props": { "gemini_api_key": "your-api-key" }
257
+ }
258
+ ```
259
+
233
260
  ### Custom Agents with TypeScript Code-Behind
234
261
 
235
262
  For more complex logic, create custom agents with TypeScript implementations:
@@ -401,7 +428,7 @@ const result = await agentRegistry.executeAgent(
401
428
  | **Security** | `SecurityScanner`, `ThreatDetectionEngine` | Static scanning, scoring |
402
429
  | **Compliance** | `GDPRCompliance`, `LGPDCompliance` | Audit, anonymization |
403
430
  | **Performance** | `PerformanceMonitor`, `AutoScaler` | Metrics, scaling |
404
- | **Multi-tenancy** | `MultiTenantFirebaseManager` | Firebase tenant isolation |
431
+ | **Multi-tenancy** | `TenantManager`, `ITenantProvider` | Provider-agnostic tenant isolation |
405
432
 
406
433
  ### Secure YAML Parsing
407
434
 
@@ -487,6 +514,65 @@ Supported types: `string`, `number`, `boolean`, `object`, `array`
487
514
 
488
515
  ---
489
516
 
517
+ ## Multi-Tenant Architecture
518
+
519
+ Beddel provides a provider-agnostic multi-tenant system with a dynamic registry for external providers.
520
+
521
+ ### Built-in Providers
522
+
523
+ | Provider | Type | Use Case |
524
+ |----------|------|----------|
525
+ | `InMemoryTenantProvider` | `memory` | Testing, development |
526
+
527
+ ### External Providers
528
+
529
+ Provider implementations that handle credentials (Firebase, Supabase, etc.) should be implemented in the consuming application. Use `ProviderRegistry` to register custom providers:
530
+
531
+ ```typescript
532
+ import { ProviderRegistry } from "beddel";
533
+ import { FirebaseTenantProvider } from "./providers/FirebaseTenantProvider";
534
+
535
+ // Register during application bootstrap
536
+ ProviderRegistry.register('firebase', () => new FirebaseTenantProvider());
537
+ ```
538
+
539
+ ### Quick Start
540
+
541
+ ```typescript
542
+ import { TenantManager } from "beddel";
543
+
544
+ const manager = TenantManager.getInstance();
545
+
546
+ // Initialize tenant
547
+ const result = await manager.initializeTenant({
548
+ tenantId: "tenant-123",
549
+ securityProfile: "tenant-isolated",
550
+ dataRetentionDays: 365,
551
+ lgpdEnabled: true,
552
+ gdprEnabled: true,
553
+ provider: "memory", // or registered external provider like "firebase"
554
+ providerConfig: {}
555
+ });
556
+
557
+ // Execute in tenant context
558
+ await manager.executeInTenant("tenant-123", "operation", data, async () => {
559
+ const app = manager.getTenantApp("tenant-123");
560
+ const db = app.getDatabase();
561
+ await db.collection("users").add({ name: "Alice" });
562
+ });
563
+ ```
564
+
565
+ ### Core Interfaces
566
+
567
+ - `ITenantProvider` — Abstract provider for tenant management
568
+ - `ITenantApp` — Isolated tenant instance
569
+ - `ITenantDatabase` — Database operations
570
+ - `ITenantCollection` — Collection operations
571
+ - `ITenantDocument` — Document CRUD
572
+ - `ProviderRegistry` — Dynamic provider registration
573
+
574
+ ---
575
+
490
576
  ## Security
491
577
 
492
578
  ### Multi-Layer Security Model
@@ -512,20 +598,45 @@ const result = await runtime.execute({
512
598
 
513
599
  ```
514
600
  src/
515
- ├── agents/ # Agent registry and built-in agents
516
- │ ├── agentRegistry.ts # Agent management
517
- │ ├── joker-agent.yaml # Built-in: Joker
518
- ├── translator-agent.yaml
519
- └── image-agent.yaml
520
- ├── parser/ # Secure YAML parsing
601
+ ├── agents/ # Agent registry and sharded agent modules
602
+ │ ├── registry/ # Agent registry
603
+ ├── agentRegistry.ts
604
+ │ └── index.ts
605
+ ├── joker/ # Joker agent
606
+ │ │ ├── joker.yaml
607
+ │ │ ├── joker.handler.ts
608
+ │ │ ├── joker.schema.ts
609
+ │ │ ├── joker.types.ts
610
+ │ │ └── index.ts
611
+ │ ├── translator/ # Translator agent
612
+ │ ├── image/ # Image generator agent
613
+ │ ├── mcp-tool/ # MCP tool agent
614
+ │ ├── gemini-vectorize/ # Embeddings agent
615
+ │ ├── chromadb/ # Vector storage agent
616
+ │ ├── gitmcp/ # GitHub docs agent
617
+ │ ├── rag/ # RAG agent
618
+ │ ├── chat/ # Chat orchestrator agent
619
+ │ └── index.ts # Public exports
521
620
  ├── runtime/ # Execution environments
522
- │ ├── isolatedRuntime.ts
523
621
  │ ├── declarativeAgentRuntime.ts
524
- └── schemaCompiler.ts
622
+ ├── workflowExecutor.ts # Workflow step execution
623
+ │ ├── schemaCompiler.ts
624
+ │ └── index.ts
625
+ ├── shared/ # Client-safe types and utilities
626
+ │ ├── types/
627
+ │ └── utils/
628
+ ├── client/ # Client-safe exports
629
+ ├── parser/ # Secure YAML parsing
525
630
  ├── security/ # Scanning and threat detection
526
631
  ├── compliance/ # GDPR/LGPD utilities
527
632
  ├── performance/ # Monitoring and autoscaling
528
- ├── firebase/ # Multi-tenant management
633
+ ├── tenant/ # Provider-agnostic multi-tenant management
634
+ │ ├── TenantManager.ts # Singleton tenant orchestrator
635
+ │ ├── interfaces.ts # ITenantProvider, ITenantApp, etc.
636
+ │ ├── providerFactory.ts # Provider instantiation
637
+ │ ├── providerRegistry.ts # Dynamic provider registration
638
+ │ └── providers/ # Built-in provider implementations
639
+ │ └── InMemoryTenantProvider.ts
529
640
  └── index.ts # Public exports
530
641
  ```
531
642
 
@@ -0,0 +1,12 @@
1
+ import 'server-only';
2
+ /**
3
+ * Chat Agent Handler - Server-only execution logic
4
+ * Orchestrates RAG pipeline or simple chat based on mode
5
+ */
6
+ import type { ExecutionContext } from '../../types/executionContext';
7
+ import type { ChatHandlerParams, ChatHandlerResult } from './chat.types';
8
+ /**
9
+ * Execute chat orchestration
10
+ */
11
+ export declare function executeChatHandler(params: ChatHandlerParams, props: Record<string, string>, context: ExecutionContext): Promise<ChatHandlerResult>;
12
+ //# sourceMappingURL=chat.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.handler.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/chat.handler.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAY,MAAM,cAAc,CAAC;AAqKnF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CA2B5B"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeChatHandler = executeChatHandler;
4
+ require("server-only");
5
+ const gemini_vectorize_handler_1 = require("../gemini-vectorize/gemini-vectorize.handler");
6
+ const chromadb_handler_1 = require("../chromadb/chromadb.handler");
7
+ const rag_handler_1 = require("../rag/rag.handler");
8
+ const KNOWLEDGE_COLLECTION = 'beddel_knowledge';
9
+ /**
10
+ * Execute simple chat mode - direct LLM with conversation history
11
+ */
12
+ async function executeSimpleChat(query, messages, props, context, executionSteps) {
13
+ const startTime = Date.now();
14
+ context.log(`[Chat:Simple] Processing query: "${query.substring(0, 50)}..."`);
15
+ const chatStep = {
16
+ agent: 'rag',
17
+ action: 'chat',
18
+ status: 'running',
19
+ startTime: Date.now(),
20
+ phase: 'generation',
21
+ };
22
+ executionSteps.push(chatStep);
23
+ const result = await (0, rag_handler_1.executeRagHandler)({ query, history: messages, mode: 'simple' }, props, context);
24
+ chatStep.status = result.error ? 'error' : 'success';
25
+ chatStep.endTime = Date.now();
26
+ chatStep.duration = chatStep.endTime - chatStep.startTime;
27
+ if (result.error)
28
+ chatStep.error = result.error;
29
+ return {
30
+ response: result.response,
31
+ timestamp: result.timestamp,
32
+ execution_steps: executionSteps,
33
+ total_duration: Date.now() - startTime,
34
+ };
35
+ }
36
+ /**
37
+ * Execute RAG chat mode - full pipeline with knowledge base
38
+ */
39
+ async function executeRagChat(query, messages, props, context, executionSteps) {
40
+ const startTime = Date.now();
41
+ context.log(`[Chat:RAG] Processing query: "${query.substring(0, 50)}..."`);
42
+ // Step 1: Vectorize user query
43
+ const vectorizeStep = {
44
+ agent: 'gemini-vectorize',
45
+ action: 'embedSingle',
46
+ status: 'running',
47
+ startTime: Date.now(),
48
+ phase: 'vectorization',
49
+ };
50
+ executionSteps.push(vectorizeStep);
51
+ const vectorResult = await (0, gemini_vectorize_handler_1.executeVectorizeHandler)({ action: 'embedSingle', text: query }, props, context);
52
+ vectorizeStep.status = vectorResult.success ? 'success' : 'error';
53
+ vectorizeStep.endTime = Date.now();
54
+ vectorizeStep.duration = vectorizeStep.endTime - vectorizeStep.startTime;
55
+ if (!vectorResult.success || !vectorResult.vector) {
56
+ throw new Error(`Vectorization failed: ${vectorResult.error}`);
57
+ }
58
+ // Step 2: Check if knowledge base has data
59
+ const checkStep = {
60
+ agent: 'chromadb',
61
+ action: 'hasData',
62
+ status: 'running',
63
+ startTime: Date.now(),
64
+ phase: 'retrieval',
65
+ };
66
+ executionSteps.push(checkStep);
67
+ const hasDataResult = await (0, chromadb_handler_1.executeChromaDBHandler)({ action: 'hasData', collection_name: KNOWLEDGE_COLLECTION, min_count: 5 }, props, context);
68
+ checkStep.status = hasDataResult.success ? 'success' : 'error';
69
+ checkStep.endTime = Date.now();
70
+ checkStep.duration = checkStep.endTime - checkStep.startTime;
71
+ // Step 3: Search knowledge base
72
+ const searchStep = {
73
+ agent: 'chromadb',
74
+ action: 'search',
75
+ status: 'running',
76
+ startTime: Date.now(),
77
+ phase: 'retrieval',
78
+ };
79
+ executionSteps.push(searchStep);
80
+ const searchResult = await (0, chromadb_handler_1.executeChromaDBHandler)({
81
+ action: 'search',
82
+ collection_name: KNOWLEDGE_COLLECTION,
83
+ query_vector: vectorResult.vector,
84
+ limit: 5,
85
+ }, props, context);
86
+ searchStep.status = searchResult.success ? 'success' : 'error';
87
+ searchStep.endTime = Date.now();
88
+ searchStep.duration = searchStep.endTime - searchStep.startTime;
89
+ // Step 4: Generate answer
90
+ const ragStep = {
91
+ agent: 'rag',
92
+ action: 'generate',
93
+ status: 'running',
94
+ startTime: Date.now(),
95
+ phase: 'generation',
96
+ };
97
+ executionSteps.push(ragStep);
98
+ const hasDocuments = searchResult.documents && searchResult.documents.trim().length > 0;
99
+ const ragResult = hasDocuments
100
+ ? await (0, rag_handler_1.executeRagHandler)({ query, documents: searchResult.documents, history: messages }, props, context)
101
+ : await (0, rag_handler_1.executeRagHandler)({ query, documents: 'No specific documentation available. Answer based on general knowledge.', history: messages }, props, context);
102
+ ragStep.status = ragResult.error ? 'error' : 'success';
103
+ ragStep.endTime = Date.now();
104
+ ragStep.duration = ragStep.endTime - ragStep.startTime;
105
+ if (ragResult.error)
106
+ ragStep.error = ragResult.error;
107
+ return {
108
+ response: ragResult.response,
109
+ timestamp: ragResult.timestamp,
110
+ execution_steps: executionSteps,
111
+ total_duration: Date.now() - startTime,
112
+ };
113
+ }
114
+ /**
115
+ * Execute chat orchestration
116
+ */
117
+ async function executeChatHandler(params, props, context) {
118
+ const executionSteps = [];
119
+ const messages = params.messages || [];
120
+ const lastUserMessage = [...messages].reverse().find((m) => m.role === 'user');
121
+ const query = params.query || lastUserMessage?.content || '';
122
+ const mode = params.mode || 'rag';
123
+ if (!query) {
124
+ throw new Error('No query found in messages or query parameter');
125
+ }
126
+ try {
127
+ return mode === 'simple'
128
+ ? await executeSimpleChat(query, messages, props, context, executionSteps)
129
+ : await executeRagChat(query, messages, props, context, executionSteps);
130
+ }
131
+ catch (error) {
132
+ const message = error instanceof Error ? error.message : String(error);
133
+ context.log(`[Chat] Error: ${message}`);
134
+ context.setError(message);
135
+ return {
136
+ response: `Error processing your request: ${message}`,
137
+ timestamp: new Date().toISOString(),
138
+ execution_steps: executionSteps,
139
+ total_duration: 0,
140
+ };
141
+ }
142
+ }
143
+ //# sourceMappingURL=chat.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.handler.js","sourceRoot":"","sources":["../../../src/agents/chat/chat.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Chat Agent Schema - Zod validation schemas
3
+ * Safe for both client and server
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const ChatInputSchema: z.ZodObject<{
7
+ messages: z.ZodArray<z.ZodObject<{
8
+ role: z.ZodEnum<{
9
+ user: "user";
10
+ assistant: "assistant";
11
+ system: "system";
12
+ }>;
13
+ content: z.ZodString;
14
+ }, z.core.$strip>>;
15
+ query: z.ZodOptional<z.ZodString>;
16
+ knowledge_sources: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ }, z.core.$strip>;
18
+ export declare const ChatOutputSchema: z.ZodObject<{
19
+ response: z.ZodString;
20
+ timestamp: z.ZodString;
21
+ execution_steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
22
+ agent: z.ZodString;
23
+ action: z.ZodString;
24
+ status: z.ZodEnum<{
25
+ error: "error";
26
+ success: "success";
27
+ running: "running";
28
+ }>;
29
+ startTime: z.ZodNumber;
30
+ endTime: z.ZodOptional<z.ZodNumber>;
31
+ duration: z.ZodOptional<z.ZodNumber>;
32
+ error: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>>>;
34
+ total_duration: z.ZodOptional<z.ZodNumber>;
35
+ }, z.core.$strip>;
36
+ export type ChatInput = z.infer<typeof ChatInputSchema>;
37
+ export type ChatOutput = z.infer<typeof ChatOutputSchema>;
38
+ //# sourceMappingURL=chat.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.schema.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/chat.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;;iBAO1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAa3B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Chat Agent Schema - Zod validation schemas
4
+ * Safe for both client and server
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ChatOutputSchema = exports.ChatInputSchema = void 0;
8
+ const zod_1 = require("zod");
9
+ exports.ChatInputSchema = zod_1.z.object({
10
+ messages: zod_1.z.array(zod_1.z.object({
11
+ role: zod_1.z.enum(['user', 'assistant', 'system']),
12
+ content: zod_1.z.string(),
13
+ })),
14
+ query: zod_1.z.string().optional(),
15
+ knowledge_sources: zod_1.z.array(zod_1.z.string()).optional(),
16
+ });
17
+ exports.ChatOutputSchema = zod_1.z.object({
18
+ response: zod_1.z.string(),
19
+ timestamp: zod_1.z.string(),
20
+ execution_steps: zod_1.z.array(zod_1.z.object({
21
+ agent: zod_1.z.string(),
22
+ action: zod_1.z.string(),
23
+ status: zod_1.z.enum(['running', 'success', 'error']),
24
+ startTime: zod_1.z.number(),
25
+ endTime: zod_1.z.number().optional(),
26
+ duration: zod_1.z.number().optional(),
27
+ error: zod_1.z.string().optional(),
28
+ })).optional(),
29
+ total_duration: zod_1.z.number().optional(),
30
+ });
31
+ //# sourceMappingURL=chat.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.schema.js","sourceRoot":"","sources":["../../../src/agents/chat/chat.schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAAwB;AAEX,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,iBAAiB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;QAChC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Chat Agent Types - Shared between client and server
3
+ */
4
+ import type { ConversationMessage } from '../rag/rag.types';
5
+ import type { ExecutionStep } from '../../shared/types/agent.types';
6
+ /**
7
+ * Chat mode determines the execution flow
8
+ * - 'rag': Full RAG pipeline with knowledge base (default)
9
+ * - 'simple': Direct LLM chat maintaining conversation context only
10
+ */
11
+ export type ChatMode = 'rag' | 'simple';
12
+ /**
13
+ * Parameters for chat orchestration
14
+ */
15
+ export interface ChatHandlerParams {
16
+ messages: ConversationMessage[];
17
+ query?: string;
18
+ mode?: ChatMode;
19
+ knowledge_sources?: string[];
20
+ }
21
+ /**
22
+ * Result from chat orchestration
23
+ */
24
+ export interface ChatHandlerResult {
25
+ response: string;
26
+ timestamp: string;
27
+ execution_steps?: ExecutionStep[];
28
+ total_duration?: number;
29
+ }
30
+ /**
31
+ * Chat agent metadata
32
+ */
33
+ export interface ChatMetadata {
34
+ id: 'chat';
35
+ name: string;
36
+ description: string;
37
+ category: 'chat';
38
+ route: '/agents/chat';
39
+ knowledge_sources: string[];
40
+ tags: string[];
41
+ }
42
+ //# sourceMappingURL=chat.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../src/agents/chat/chat.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Chat Agent Types - Shared between client and server
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=chat.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../../src/agents/chat/chat.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}