@ainetwork/adk 0.0.1

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 (484) hide show
  1. package/README.md +299 -0
  2. package/dist/cjs/ainagent.d.ts +15 -0
  3. package/dist/cjs/ainagent.d.ts.map +1 -0
  4. package/dist/cjs/ainagent.js +68 -0
  5. package/dist/cjs/ainagent.js.map +1 -0
  6. package/dist/cjs/app.d.ts +102 -0
  7. package/dist/cjs/app.d.ts.map +1 -0
  8. package/dist/cjs/app.js +170 -0
  9. package/dist/cjs/app.js.map +1 -0
  10. package/dist/cjs/controllers/a2a.controller.d.ts +14 -0
  11. package/dist/cjs/controllers/a2a.controller.d.ts.map +1 -0
  12. package/dist/cjs/controllers/a2a.controller.js +98 -0
  13. package/dist/cjs/controllers/a2a.controller.js.map +1 -0
  14. package/dist/cjs/controllers/api/model.api.controller.d.ts +8 -0
  15. package/dist/cjs/controllers/api/model.api.controller.d.ts.map +1 -0
  16. package/dist/cjs/controllers/api/model.api.controller.js +19 -0
  17. package/dist/cjs/controllers/api/model.api.controller.js.map +1 -0
  18. package/dist/cjs/controllers/api/session.api.controller.d.ts +8 -0
  19. package/dist/cjs/controllers/api/session.api.controller.d.ts.map +1 -0
  20. package/dist/cjs/controllers/api/session.api.controller.js +21 -0
  21. package/dist/cjs/controllers/api/session.api.controller.js.map +1 -0
  22. package/dist/cjs/controllers/query.controller.d.ts +8 -0
  23. package/dist/cjs/controllers/query.controller.d.ts.map +1 -0
  24. package/dist/cjs/controllers/query.controller.js +20 -0
  25. package/dist/cjs/controllers/query.controller.js.map +1 -0
  26. package/dist/cjs/intent/analyzer.d.ts +24 -0
  27. package/dist/cjs/intent/analyzer.d.ts.map +1 -0
  28. package/dist/cjs/intent/analyzer.js +154 -0
  29. package/dist/cjs/intent/analyzer.js.map +1 -0
  30. package/dist/cjs/intent/modules/a2a/index.d.ts +12 -0
  31. package/dist/cjs/intent/modules/a2a/index.d.ts.map +1 -0
  32. package/dist/cjs/intent/modules/a2a/index.js +136 -0
  33. package/dist/cjs/intent/modules/a2a/index.js.map +1 -0
  34. package/dist/cjs/intent/modules/a2a/tool.d.ts +8 -0
  35. package/dist/cjs/intent/modules/a2a/tool.d.ts.map +1 -0
  36. package/dist/cjs/intent/modules/a2a/tool.js +14 -0
  37. package/dist/cjs/intent/modules/a2a/tool.js.map +1 -0
  38. package/dist/cjs/intent/modules/common/tool.d.ts +10 -0
  39. package/dist/cjs/intent/modules/common/tool.d.ts.map +1 -0
  40. package/dist/cjs/intent/modules/common/tool.js +18 -0
  41. package/dist/cjs/intent/modules/common/tool.js.map +1 -0
  42. package/dist/cjs/intent/modules/common/types.d.ts +5 -0
  43. package/dist/cjs/intent/modules/common/types.d.ts.map +1 -0
  44. package/dist/cjs/intent/modules/common/types.js +9 -0
  45. package/dist/cjs/intent/modules/common/types.js.map +1 -0
  46. package/dist/cjs/intent/modules/fol/client/folClient.d.ts +31 -0
  47. package/dist/cjs/intent/modules/fol/client/folClient.d.ts.map +1 -0
  48. package/dist/cjs/intent/modules/fol/client/folClient.js +185 -0
  49. package/dist/cjs/intent/modules/fol/client/folClient.js.map +1 -0
  50. package/dist/cjs/intent/modules/fol/index.d.ts +4 -0
  51. package/dist/cjs/intent/modules/fol/index.d.ts.map +1 -0
  52. package/dist/cjs/intent/modules/fol/index.js +14 -0
  53. package/dist/cjs/intent/modules/fol/index.js.map +1 -0
  54. package/dist/cjs/intent/modules/fol/store/base.d.ts +9 -0
  55. package/dist/cjs/intent/modules/fol/store/base.d.ts.map +1 -0
  56. package/dist/cjs/intent/modules/fol/store/base.js +7 -0
  57. package/dist/cjs/intent/modules/fol/store/base.js.map +1 -0
  58. package/dist/cjs/intent/modules/fol/store/index.d.ts +5 -0
  59. package/dist/cjs/intent/modules/fol/store/index.d.ts.map +1 -0
  60. package/dist/cjs/intent/modules/fol/store/index.js +12 -0
  61. package/dist/cjs/intent/modules/fol/store/index.js.map +1 -0
  62. package/dist/cjs/intent/modules/fol/store/local.d.ts +25 -0
  63. package/dist/cjs/intent/modules/fol/store/local.d.ts.map +1 -0
  64. package/dist/cjs/intent/modules/fol/store/local.js +221 -0
  65. package/dist/cjs/intent/modules/fol/store/local.js.map +1 -0
  66. package/dist/cjs/intent/modules/fol/store/mongo.d.ts +4 -0
  67. package/dist/cjs/intent/modules/fol/store/mongo.d.ts.map +1 -0
  68. package/dist/cjs/intent/modules/fol/store/mongo.js +9 -0
  69. package/dist/cjs/intent/modules/fol/store/mongo.js.map +1 -0
  70. package/dist/cjs/intent/modules/fol/store/postgresql.d.ts +4 -0
  71. package/dist/cjs/intent/modules/fol/store/postgresql.d.ts.map +1 -0
  72. package/dist/cjs/intent/modules/fol/store/postgresql.js +9 -0
  73. package/dist/cjs/intent/modules/fol/store/postgresql.js.map +1 -0
  74. package/dist/cjs/intent/modules/fol/types/index.d.ts +43 -0
  75. package/dist/cjs/intent/modules/fol/types/index.d.ts.map +1 -0
  76. package/dist/cjs/intent/modules/fol/types/index.js +3 -0
  77. package/dist/cjs/intent/modules/fol/types/index.js.map +1 -0
  78. package/dist/cjs/intent/modules/mcp/index.d.ts +12 -0
  79. package/dist/cjs/intent/modules/mcp/index.d.ts.map +1 -0
  80. package/dist/cjs/intent/modules/mcp/index.js +65 -0
  81. package/dist/cjs/intent/modules/mcp/index.js.map +1 -0
  82. package/dist/cjs/intent/modules/mcp/tool.d.ts +8 -0
  83. package/dist/cjs/intent/modules/mcp/tool.d.ts.map +1 -0
  84. package/dist/cjs/intent/modules/mcp/tool.js +15 -0
  85. package/dist/cjs/intent/modules/mcp/tool.js.map +1 -0
  86. package/dist/cjs/middleware/auth/base.d.ts +5 -0
  87. package/dist/cjs/middleware/auth/base.d.ts.map +1 -0
  88. package/dist/cjs/middleware/auth/base.js +13 -0
  89. package/dist/cjs/middleware/auth/base.js.map +1 -0
  90. package/dist/cjs/middlewares/auth/base.d.ts +5 -0
  91. package/dist/cjs/middlewares/auth/base.d.ts.map +1 -0
  92. package/dist/cjs/middlewares/auth/base.js +13 -0
  93. package/dist/cjs/middlewares/auth/base.js.map +1 -0
  94. package/dist/cjs/middlewares/error.middleware.d.ts +6 -0
  95. package/dist/cjs/middlewares/error.middleware.d.ts.map +1 -0
  96. package/dist/cjs/middlewares/error.middleware.js +17 -0
  97. package/dist/cjs/middlewares/error.middleware.js.map +1 -0
  98. package/dist/cjs/models/BaseModel.d.ts +25 -0
  99. package/dist/cjs/models/BaseModel.d.ts.map +1 -0
  100. package/dist/cjs/models/BaseModel.js +7 -0
  101. package/dist/cjs/models/BaseModel.js.map +1 -0
  102. package/dist/cjs/models/base.d.ts +24 -0
  103. package/dist/cjs/models/base.d.ts.map +1 -0
  104. package/dist/cjs/models/base.js +7 -0
  105. package/dist/cjs/models/base.js.map +1 -0
  106. package/dist/cjs/models/gemini.d.ts +16 -0
  107. package/dist/cjs/models/gemini.d.ts.map +1 -0
  108. package/dist/cjs/models/gemini.js +107 -0
  109. package/dist/cjs/models/gemini.js.map +1 -0
  110. package/dist/cjs/models/openai.d.ts +16 -0
  111. package/dist/cjs/models/openai.d.ts.map +1 -0
  112. package/dist/cjs/models/openai.js +113 -0
  113. package/dist/cjs/models/openai.js.map +1 -0
  114. package/dist/cjs/modules/a2a/a2a.module.d.ts +71 -0
  115. package/dist/cjs/modules/a2a/a2a.module.d.ts.map +1 -0
  116. package/dist/cjs/modules/a2a/a2a.module.js +195 -0
  117. package/dist/cjs/modules/a2a/a2a.module.js.map +1 -0
  118. package/dist/cjs/modules/a2a/a2a.tool.d.ts +13 -0
  119. package/dist/cjs/modules/a2a/a2a.tool.d.ts.map +1 -0
  120. package/dist/cjs/modules/a2a/a2a.tool.js +21 -0
  121. package/dist/cjs/modules/a2a/a2a.tool.js.map +1 -0
  122. package/dist/cjs/modules/fol/fol.module.d.ts +31 -0
  123. package/dist/cjs/modules/fol/fol.module.d.ts.map +1 -0
  124. package/dist/cjs/modules/fol/fol.module.js +180 -0
  125. package/dist/cjs/modules/fol/fol.module.js.map +1 -0
  126. package/dist/cjs/modules/fol/store/base.d.ts +9 -0
  127. package/dist/cjs/modules/fol/store/base.d.ts.map +1 -0
  128. package/dist/cjs/modules/fol/store/base.js +7 -0
  129. package/dist/cjs/modules/fol/store/base.js.map +1 -0
  130. package/dist/cjs/modules/fol/store/index.d.ts +3 -0
  131. package/dist/cjs/modules/fol/store/index.d.ts.map +1 -0
  132. package/dist/cjs/modules/fol/store/index.js +8 -0
  133. package/dist/cjs/modules/fol/store/index.js.map +1 -0
  134. package/dist/cjs/modules/fol/store/local.d.ts +25 -0
  135. package/dist/cjs/modules/fol/store/local.d.ts.map +1 -0
  136. package/dist/cjs/modules/fol/store/local.js +221 -0
  137. package/dist/cjs/modules/fol/store/local.js.map +1 -0
  138. package/dist/cjs/modules/index.d.ts +6 -0
  139. package/dist/cjs/modules/index.d.ts.map +1 -0
  140. package/dist/cjs/modules/index.js +14 -0
  141. package/dist/cjs/modules/index.js.map +1 -0
  142. package/dist/cjs/modules/mcp/mcp.module.d.ts +65 -0
  143. package/dist/cjs/modules/mcp/mcp.module.d.ts.map +1 -0
  144. package/dist/cjs/modules/mcp/mcp.module.js +118 -0
  145. package/dist/cjs/modules/mcp/mcp.module.js.map +1 -0
  146. package/dist/cjs/modules/mcp/mcp.tool.d.ts +13 -0
  147. package/dist/cjs/modules/mcp/mcp.tool.d.ts.map +1 -0
  148. package/dist/cjs/modules/mcp/mcp.tool.js +22 -0
  149. package/dist/cjs/modules/mcp/mcp.tool.js.map +1 -0
  150. package/dist/cjs/modules/memory/inmemory.d.ts +14 -0
  151. package/dist/cjs/modules/memory/inmemory.d.ts.map +1 -0
  152. package/dist/cjs/modules/memory/inmemory.js +27 -0
  153. package/dist/cjs/modules/memory/inmemory.js.map +1 -0
  154. package/dist/cjs/modules/memory/memory.module.d.ts +65 -0
  155. package/dist/cjs/modules/memory/memory.module.d.ts.map +1 -0
  156. package/dist/cjs/modules/memory/memory.module.js +50 -0
  157. package/dist/cjs/modules/memory/memory.module.js.map +1 -0
  158. package/dist/cjs/modules/models/gemini.d.ts +16 -0
  159. package/dist/cjs/modules/models/gemini.d.ts.map +1 -0
  160. package/dist/cjs/modules/models/gemini.js +108 -0
  161. package/dist/cjs/modules/models/gemini.js.map +1 -0
  162. package/dist/cjs/modules/models/model.module.d.ts +102 -0
  163. package/dist/cjs/modules/models/model.module.d.ts.map +1 -0
  164. package/dist/cjs/modules/models/model.module.js +80 -0
  165. package/dist/cjs/modules/models/model.module.js.map +1 -0
  166. package/dist/cjs/modules/models/openai.d.ts +16 -0
  167. package/dist/cjs/modules/models/openai.d.ts.map +1 -0
  168. package/dist/cjs/modules/models/openai.js +114 -0
  169. package/dist/cjs/modules/models/openai.js.map +1 -0
  170. package/dist/cjs/package.json +1 -0
  171. package/dist/cjs/router/a2a/executor.d.ts +11 -0
  172. package/dist/cjs/router/a2a/executor.d.ts.map +1 -0
  173. package/dist/cjs/router/a2a/executor.js +96 -0
  174. package/dist/cjs/router/a2a/executor.js.map +1 -0
  175. package/dist/cjs/router/a2a/requestHandler.d.ts +9 -0
  176. package/dist/cjs/router/a2a/requestHandler.d.ts.map +1 -0
  177. package/dist/cjs/router/a2a/requestHandler.js +20 -0
  178. package/dist/cjs/router/a2a/requestHandler.js.map +1 -0
  179. package/dist/cjs/router/a2a/router.d.ts +12 -0
  180. package/dist/cjs/router/a2a/router.d.ts.map +1 -0
  181. package/dist/cjs/router/a2a/router.js +99 -0
  182. package/dist/cjs/router/a2a/router.js.map +1 -0
  183. package/dist/cjs/routes/a2a.routes.d.ts +12 -0
  184. package/dist/cjs/routes/a2a.routes.d.ts.map +1 -0
  185. package/dist/cjs/routes/a2a.routes.js +29 -0
  186. package/dist/cjs/routes/a2a.routes.js.map +1 -0
  187. package/dist/cjs/routes/api/models.routes.d.ts +4 -0
  188. package/dist/cjs/routes/api/models.routes.d.ts.map +1 -0
  189. package/dist/cjs/routes/api/models.routes.js +14 -0
  190. package/dist/cjs/routes/api/models.routes.js.map +1 -0
  191. package/dist/cjs/routes/api/sessions.routes.d.ts +4 -0
  192. package/dist/cjs/routes/api/sessions.routes.d.ts.map +1 -0
  193. package/dist/cjs/routes/api/sessions.routes.js +14 -0
  194. package/dist/cjs/routes/api/sessions.routes.js.map +1 -0
  195. package/dist/cjs/routes/api.routes.d.ts +4 -0
  196. package/dist/cjs/routes/api.routes.d.ts.map +1 -0
  197. package/dist/cjs/routes/api.routes.js +16 -0
  198. package/dist/cjs/routes/api.routes.js.map +1 -0
  199. package/dist/cjs/routes/index.d.ts +5 -0
  200. package/dist/cjs/routes/index.d.ts.map +1 -0
  201. package/dist/cjs/routes/index.js +10 -0
  202. package/dist/cjs/routes/index.js.map +1 -0
  203. package/dist/cjs/routes/query.routes.d.ts +4 -0
  204. package/dist/cjs/routes/query.routes.d.ts.map +1 -0
  205. package/dist/cjs/routes/query.routes.js +15 -0
  206. package/dist/cjs/routes/query.routes.js.map +1 -0
  207. package/dist/cjs/services/a2a.service.d.ts +15 -0
  208. package/dist/cjs/services/a2a.service.d.ts.map +1 -0
  209. package/dist/cjs/services/a2a.service.js +93 -0
  210. package/dist/cjs/services/a2a.service.js.map +1 -0
  211. package/dist/cjs/services/query.service.d.ts +57 -0
  212. package/dist/cjs/services/query.service.d.ts.map +1 -0
  213. package/dist/cjs/services/query.service.js +158 -0
  214. package/dist/cjs/services/query.service.js.map +1 -0
  215. package/dist/cjs/session/BaseSession.d.ts +21 -0
  216. package/dist/cjs/session/BaseSession.d.ts.map +1 -0
  217. package/dist/cjs/session/BaseSession.js +13 -0
  218. package/dist/cjs/session/BaseSession.js.map +1 -0
  219. package/dist/cjs/types/fol.d.ts +38 -0
  220. package/dist/cjs/types/fol.d.ts.map +1 -0
  221. package/dist/cjs/types/fol.js +3 -0
  222. package/dist/cjs/types/fol.js.map +1 -0
  223. package/dist/cjs/types/index.d.ts +44 -0
  224. package/dist/cjs/types/index.d.ts.map +1 -0
  225. package/dist/cjs/types/index.js +3 -0
  226. package/dist/cjs/types/index.js.map +1 -0
  227. package/dist/cjs/types/mcp.d.ts +5 -0
  228. package/dist/cjs/types/mcp.d.ts.map +1 -0
  229. package/dist/cjs/types/mcp.js +3 -0
  230. package/dist/cjs/types/mcp.js.map +1 -0
  231. package/dist/cjs/types/memory.d.ts +73 -0
  232. package/dist/cjs/types/memory.d.ts.map +1 -0
  233. package/dist/cjs/types/memory.js +16 -0
  234. package/dist/cjs/types/memory.js.map +1 -0
  235. package/dist/cjs/types/tool.d.ts +87 -0
  236. package/dist/cjs/types/tool.d.ts.map +1 -0
  237. package/dist/cjs/types/tool.js +14 -0
  238. package/dist/cjs/types/tool.js.map +1 -0
  239. package/dist/cjs/utils/logger.d.ts +13 -0
  240. package/dist/cjs/utils/logger.d.ts.map +1 -0
  241. package/dist/cjs/utils/logger.js +39 -0
  242. package/dist/cjs/utils/logger.js.map +1 -0
  243. package/dist/esm/ainagent.d.ts +15 -0
  244. package/dist/esm/ainagent.d.ts.map +1 -0
  245. package/dist/esm/ainagent.js +61 -0
  246. package/dist/esm/ainagent.js.map +1 -0
  247. package/dist/esm/app.d.ts +102 -0
  248. package/dist/esm/app.d.ts.map +1 -0
  249. package/dist/esm/app.js +163 -0
  250. package/dist/esm/app.js.map +1 -0
  251. package/dist/esm/controllers/a2a.controller.d.ts +14 -0
  252. package/dist/esm/controllers/a2a.controller.d.ts.map +1 -0
  253. package/dist/esm/controllers/a2a.controller.js +94 -0
  254. package/dist/esm/controllers/a2a.controller.js.map +1 -0
  255. package/dist/esm/controllers/api/model.api.controller.d.ts +8 -0
  256. package/dist/esm/controllers/api/model.api.controller.d.ts.map +1 -0
  257. package/dist/esm/controllers/api/model.api.controller.js +15 -0
  258. package/dist/esm/controllers/api/model.api.controller.js.map +1 -0
  259. package/dist/esm/controllers/api/session.api.controller.d.ts +8 -0
  260. package/dist/esm/controllers/api/session.api.controller.d.ts.map +1 -0
  261. package/dist/esm/controllers/api/session.api.controller.js +17 -0
  262. package/dist/esm/controllers/api/session.api.controller.js.map +1 -0
  263. package/dist/esm/controllers/query.controller.d.ts +8 -0
  264. package/dist/esm/controllers/query.controller.d.ts.map +1 -0
  265. package/dist/esm/controllers/query.controller.js +16 -0
  266. package/dist/esm/controllers/query.controller.js.map +1 -0
  267. package/dist/esm/intent/analyzer.d.ts +24 -0
  268. package/dist/esm/intent/analyzer.d.ts.map +1 -0
  269. package/dist/esm/intent/analyzer.js +150 -0
  270. package/dist/esm/intent/analyzer.js.map +1 -0
  271. package/dist/esm/intent/modules/a2a/index.d.ts +12 -0
  272. package/dist/esm/intent/modules/a2a/index.d.ts.map +1 -0
  273. package/dist/esm/intent/modules/a2a/index.js +132 -0
  274. package/dist/esm/intent/modules/a2a/index.js.map +1 -0
  275. package/dist/esm/intent/modules/a2a/tool.d.ts +8 -0
  276. package/dist/esm/intent/modules/a2a/tool.d.ts.map +1 -0
  277. package/dist/esm/intent/modules/a2a/tool.js +10 -0
  278. package/dist/esm/intent/modules/a2a/tool.js.map +1 -0
  279. package/dist/esm/intent/modules/common/tool.d.ts +10 -0
  280. package/dist/esm/intent/modules/common/tool.d.ts.map +1 -0
  281. package/dist/esm/intent/modules/common/tool.js +14 -0
  282. package/dist/esm/intent/modules/common/tool.js.map +1 -0
  283. package/dist/esm/intent/modules/common/types.d.ts +5 -0
  284. package/dist/esm/intent/modules/common/types.d.ts.map +1 -0
  285. package/dist/esm/intent/modules/common/types.js +6 -0
  286. package/dist/esm/intent/modules/common/types.js.map +1 -0
  287. package/dist/esm/intent/modules/fol/client/folClient.d.ts +31 -0
  288. package/dist/esm/intent/modules/fol/client/folClient.d.ts.map +1 -0
  289. package/dist/esm/intent/modules/fol/client/folClient.js +178 -0
  290. package/dist/esm/intent/modules/fol/client/folClient.js.map +1 -0
  291. package/dist/esm/intent/modules/fol/index.d.ts +4 -0
  292. package/dist/esm/intent/modules/fol/index.d.ts.map +1 -0
  293. package/dist/esm/intent/modules/fol/index.js +6 -0
  294. package/dist/esm/intent/modules/fol/index.js.map +1 -0
  295. package/dist/esm/intent/modules/fol/store/base.d.ts +9 -0
  296. package/dist/esm/intent/modules/fol/store/base.d.ts.map +1 -0
  297. package/dist/esm/intent/modules/fol/store/base.js +3 -0
  298. package/dist/esm/intent/modules/fol/store/base.js.map +1 -0
  299. package/dist/esm/intent/modules/fol/store/index.d.ts +5 -0
  300. package/dist/esm/intent/modules/fol/store/index.d.ts.map +1 -0
  301. package/dist/esm/intent/modules/fol/store/index.js +5 -0
  302. package/dist/esm/intent/modules/fol/store/index.js.map +1 -0
  303. package/dist/esm/intent/modules/fol/store/local.d.ts +25 -0
  304. package/dist/esm/intent/modules/fol/store/local.d.ts.map +1 -0
  305. package/dist/esm/intent/modules/fol/store/local.js +214 -0
  306. package/dist/esm/intent/modules/fol/store/local.js.map +1 -0
  307. package/dist/esm/intent/modules/fol/store/mongo.d.ts +4 -0
  308. package/dist/esm/intent/modules/fol/store/mongo.d.ts.map +1 -0
  309. package/dist/esm/intent/modules/fol/store/mongo.js +5 -0
  310. package/dist/esm/intent/modules/fol/store/mongo.js.map +1 -0
  311. package/dist/esm/intent/modules/fol/store/postgresql.d.ts +4 -0
  312. package/dist/esm/intent/modules/fol/store/postgresql.d.ts.map +1 -0
  313. package/dist/esm/intent/modules/fol/store/postgresql.js +5 -0
  314. package/dist/esm/intent/modules/fol/store/postgresql.js.map +1 -0
  315. package/dist/esm/intent/modules/fol/types/index.d.ts +43 -0
  316. package/dist/esm/intent/modules/fol/types/index.d.ts.map +1 -0
  317. package/dist/esm/intent/modules/fol/types/index.js +2 -0
  318. package/dist/esm/intent/modules/fol/types/index.js.map +1 -0
  319. package/dist/esm/intent/modules/mcp/index.d.ts +12 -0
  320. package/dist/esm/intent/modules/mcp/index.d.ts.map +1 -0
  321. package/dist/esm/intent/modules/mcp/index.js +61 -0
  322. package/dist/esm/intent/modules/mcp/index.js.map +1 -0
  323. package/dist/esm/intent/modules/mcp/tool.d.ts +8 -0
  324. package/dist/esm/intent/modules/mcp/tool.d.ts.map +1 -0
  325. package/dist/esm/intent/modules/mcp/tool.js +11 -0
  326. package/dist/esm/intent/modules/mcp/tool.js.map +1 -0
  327. package/dist/esm/middleware/auth/base.d.ts +5 -0
  328. package/dist/esm/middleware/auth/base.d.ts.map +1 -0
  329. package/dist/esm/middleware/auth/base.js +9 -0
  330. package/dist/esm/middleware/auth/base.js.map +1 -0
  331. package/dist/esm/middlewares/auth/base.d.ts +5 -0
  332. package/dist/esm/middlewares/auth/base.d.ts.map +1 -0
  333. package/dist/esm/middlewares/auth/base.js +9 -0
  334. package/dist/esm/middlewares/auth/base.js.map +1 -0
  335. package/dist/esm/middlewares/error.middleware.d.ts +6 -0
  336. package/dist/esm/middlewares/error.middleware.d.ts.map +1 -0
  337. package/dist/esm/middlewares/error.middleware.js +13 -0
  338. package/dist/esm/middlewares/error.middleware.js.map +1 -0
  339. package/dist/esm/models/BaseModel.d.ts +25 -0
  340. package/dist/esm/models/BaseModel.d.ts.map +1 -0
  341. package/dist/esm/models/BaseModel.js +3 -0
  342. package/dist/esm/models/BaseModel.js.map +1 -0
  343. package/dist/esm/models/base.d.ts +24 -0
  344. package/dist/esm/models/base.d.ts.map +1 -0
  345. package/dist/esm/models/base.js +3 -0
  346. package/dist/esm/models/base.js.map +1 -0
  347. package/dist/esm/models/gemini.d.ts +16 -0
  348. package/dist/esm/models/gemini.d.ts.map +1 -0
  349. package/dist/esm/models/gemini.js +104 -0
  350. package/dist/esm/models/gemini.js.map +1 -0
  351. package/dist/esm/models/openai.d.ts +16 -0
  352. package/dist/esm/models/openai.d.ts.map +1 -0
  353. package/dist/esm/models/openai.js +110 -0
  354. package/dist/esm/models/openai.js.map +1 -0
  355. package/dist/esm/modules/a2a/a2a.module.d.ts +71 -0
  356. package/dist/esm/modules/a2a/a2a.module.d.ts.map +1 -0
  357. package/dist/esm/modules/a2a/a2a.module.js +191 -0
  358. package/dist/esm/modules/a2a/a2a.module.js.map +1 -0
  359. package/dist/esm/modules/a2a/a2a.tool.d.ts +13 -0
  360. package/dist/esm/modules/a2a/a2a.tool.d.ts.map +1 -0
  361. package/dist/esm/modules/a2a/a2a.tool.js +17 -0
  362. package/dist/esm/modules/a2a/a2a.tool.js.map +1 -0
  363. package/dist/esm/modules/fol/fol.module.d.ts +31 -0
  364. package/dist/esm/modules/fol/fol.module.d.ts.map +1 -0
  365. package/dist/esm/modules/fol/fol.module.js +176 -0
  366. package/dist/esm/modules/fol/fol.module.js.map +1 -0
  367. package/dist/esm/modules/fol/store/base.d.ts +9 -0
  368. package/dist/esm/modules/fol/store/base.d.ts.map +1 -0
  369. package/dist/esm/modules/fol/store/base.js +3 -0
  370. package/dist/esm/modules/fol/store/base.js.map +1 -0
  371. package/dist/esm/modules/fol/store/index.d.ts +3 -0
  372. package/dist/esm/modules/fol/store/index.d.ts.map +1 -0
  373. package/dist/esm/modules/fol/store/index.js +3 -0
  374. package/dist/esm/modules/fol/store/index.js.map +1 -0
  375. package/dist/esm/modules/fol/store/local.d.ts +25 -0
  376. package/dist/esm/modules/fol/store/local.d.ts.map +1 -0
  377. package/dist/esm/modules/fol/store/local.js +214 -0
  378. package/dist/esm/modules/fol/store/local.js.map +1 -0
  379. package/dist/esm/modules/index.d.ts +6 -0
  380. package/dist/esm/modules/index.d.ts.map +1 -0
  381. package/dist/esm/modules/index.js +6 -0
  382. package/dist/esm/modules/index.js.map +1 -0
  383. package/dist/esm/modules/mcp/mcp.module.d.ts +65 -0
  384. package/dist/esm/modules/mcp/mcp.module.d.ts.map +1 -0
  385. package/dist/esm/modules/mcp/mcp.module.js +114 -0
  386. package/dist/esm/modules/mcp/mcp.module.js.map +1 -0
  387. package/dist/esm/modules/mcp/mcp.tool.d.ts +13 -0
  388. package/dist/esm/modules/mcp/mcp.tool.d.ts.map +1 -0
  389. package/dist/esm/modules/mcp/mcp.tool.js +18 -0
  390. package/dist/esm/modules/mcp/mcp.tool.js.map +1 -0
  391. package/dist/esm/modules/memory/inmemory.d.ts +14 -0
  392. package/dist/esm/modules/memory/inmemory.d.ts.map +1 -0
  393. package/dist/esm/modules/memory/inmemory.js +23 -0
  394. package/dist/esm/modules/memory/inmemory.js.map +1 -0
  395. package/dist/esm/modules/memory/memory.module.d.ts +65 -0
  396. package/dist/esm/modules/memory/memory.module.d.ts.map +1 -0
  397. package/dist/esm/modules/memory/memory.module.js +45 -0
  398. package/dist/esm/modules/memory/memory.module.js.map +1 -0
  399. package/dist/esm/modules/models/gemini.d.ts +16 -0
  400. package/dist/esm/modules/models/gemini.d.ts.map +1 -0
  401. package/dist/esm/modules/models/gemini.js +104 -0
  402. package/dist/esm/modules/models/gemini.js.map +1 -0
  403. package/dist/esm/modules/models/model.module.d.ts +102 -0
  404. package/dist/esm/modules/models/model.module.d.ts.map +1 -0
  405. package/dist/esm/modules/models/model.module.js +75 -0
  406. package/dist/esm/modules/models/model.module.js.map +1 -0
  407. package/dist/esm/modules/models/openai.d.ts +16 -0
  408. package/dist/esm/modules/models/openai.d.ts.map +1 -0
  409. package/dist/esm/modules/models/openai.js +110 -0
  410. package/dist/esm/modules/models/openai.js.map +1 -0
  411. package/dist/esm/package.json +1 -0
  412. package/dist/esm/router/a2a/executor.d.ts +11 -0
  413. package/dist/esm/router/a2a/executor.d.ts.map +1 -0
  414. package/dist/esm/router/a2a/executor.js +92 -0
  415. package/dist/esm/router/a2a/executor.js.map +1 -0
  416. package/dist/esm/router/a2a/requestHandler.d.ts +9 -0
  417. package/dist/esm/router/a2a/requestHandler.d.ts.map +1 -0
  418. package/dist/esm/router/a2a/requestHandler.js +16 -0
  419. package/dist/esm/router/a2a/requestHandler.js.map +1 -0
  420. package/dist/esm/router/a2a/router.d.ts +12 -0
  421. package/dist/esm/router/a2a/router.d.ts.map +1 -0
  422. package/dist/esm/router/a2a/router.js +95 -0
  423. package/dist/esm/router/a2a/router.js.map +1 -0
  424. package/dist/esm/routes/a2a.routes.d.ts +12 -0
  425. package/dist/esm/routes/a2a.routes.d.ts.map +1 -0
  426. package/dist/esm/routes/a2a.routes.js +25 -0
  427. package/dist/esm/routes/a2a.routes.js.map +1 -0
  428. package/dist/esm/routes/api/models.routes.d.ts +4 -0
  429. package/dist/esm/routes/api/models.routes.d.ts.map +1 -0
  430. package/dist/esm/routes/api/models.routes.js +10 -0
  431. package/dist/esm/routes/api/models.routes.js.map +1 -0
  432. package/dist/esm/routes/api/sessions.routes.d.ts +4 -0
  433. package/dist/esm/routes/api/sessions.routes.d.ts.map +1 -0
  434. package/dist/esm/routes/api/sessions.routes.js +10 -0
  435. package/dist/esm/routes/api/sessions.routes.js.map +1 -0
  436. package/dist/esm/routes/api.routes.d.ts +4 -0
  437. package/dist/esm/routes/api.routes.d.ts.map +1 -0
  438. package/dist/esm/routes/api.routes.js +12 -0
  439. package/dist/esm/routes/api.routes.js.map +1 -0
  440. package/dist/esm/routes/index.d.ts +5 -0
  441. package/dist/esm/routes/index.d.ts.map +1 -0
  442. package/dist/esm/routes/index.js +5 -0
  443. package/dist/esm/routes/index.js.map +1 -0
  444. package/dist/esm/routes/query.routes.d.ts +4 -0
  445. package/dist/esm/routes/query.routes.d.ts.map +1 -0
  446. package/dist/esm/routes/query.routes.js +11 -0
  447. package/dist/esm/routes/query.routes.js.map +1 -0
  448. package/dist/esm/services/a2a.service.d.ts +15 -0
  449. package/dist/esm/services/a2a.service.d.ts.map +1 -0
  450. package/dist/esm/services/a2a.service.js +89 -0
  451. package/dist/esm/services/a2a.service.js.map +1 -0
  452. package/dist/esm/services/query.service.d.ts +57 -0
  453. package/dist/esm/services/query.service.d.ts.map +1 -0
  454. package/dist/esm/services/query.service.js +154 -0
  455. package/dist/esm/services/query.service.js.map +1 -0
  456. package/dist/esm/session/BaseSession.d.ts +21 -0
  457. package/dist/esm/session/BaseSession.d.ts.map +1 -0
  458. package/dist/esm/session/BaseSession.js +9 -0
  459. package/dist/esm/session/BaseSession.js.map +1 -0
  460. package/dist/esm/types/fol.d.ts +38 -0
  461. package/dist/esm/types/fol.d.ts.map +1 -0
  462. package/dist/esm/types/fol.js +2 -0
  463. package/dist/esm/types/fol.js.map +1 -0
  464. package/dist/esm/types/index.d.ts +44 -0
  465. package/dist/esm/types/index.d.ts.map +1 -0
  466. package/dist/esm/types/index.js +2 -0
  467. package/dist/esm/types/index.js.map +1 -0
  468. package/dist/esm/types/mcp.d.ts +5 -0
  469. package/dist/esm/types/mcp.d.ts.map +1 -0
  470. package/dist/esm/types/mcp.js +2 -0
  471. package/dist/esm/types/mcp.js.map +1 -0
  472. package/dist/esm/types/memory.d.ts +73 -0
  473. package/dist/esm/types/memory.d.ts.map +1 -0
  474. package/dist/esm/types/memory.js +13 -0
  475. package/dist/esm/types/memory.js.map +1 -0
  476. package/dist/esm/types/tool.d.ts +87 -0
  477. package/dist/esm/types/tool.d.ts.map +1 -0
  478. package/dist/esm/types/tool.js +11 -0
  479. package/dist/esm/types/tool.js.map +1 -0
  480. package/dist/esm/utils/logger.d.ts +13 -0
  481. package/dist/esm/utils/logger.d.ts.map +1 -0
  482. package/dist/esm/utils/logger.js +32 -0
  483. package/dist/esm/utils/logger.js.map +1 -0
  484. package/package.json +63 -0
@@ -0,0 +1,13 @@
1
+ import { logger } from "../utils/logger.js";
2
+ export const errorMiddleware = (error, req, res, next) => {
3
+ try {
4
+ const status = error.status || 500;
5
+ const message = error.message || "Something went wrong";
6
+ logger.error(`[${req.method}] ${req.path} >> StatusCode:: ${status}, Message:: ${message}`);
7
+ res.status(status).json({ message });
8
+ }
9
+ catch (error) {
10
+ next(error);
11
+ }
12
+ };
13
+ //# sourceMappingURL=error.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.middleware.js","sourceRoot":"","sources":["../../../src/middlewares/error.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM3C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,KAAoB,EACpB,GAAY,EACZ,GAAa,EACb,IAAkB,EACX,EAAE;IACT,IAAI,CAAC;QACJ,MAAM,MAAM,GAAW,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;QAC3C,MAAM,OAAO,GAAW,KAAK,CAAC,OAAO,IAAI,sBAAsB,CAAC;QAEhE,MAAM,CAAC,KAAK,CACX,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,oBAAoB,MAAM,eAAe,OAAO,EAAE,CAC7E,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,CAAC;IACb,CAAC;AACF,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { SessionObject } from "../session/BaseSession.js";
2
+ import type { AgentTool } from "../intent/modules/common/tool.js";
3
+ export interface ToolCall {
4
+ name: string;
5
+ arguments?: Record<string, unknown>;
6
+ }
7
+ export interface FetchResponse {
8
+ content?: string;
9
+ toolCalls?: ToolCall[];
10
+ }
11
+ export interface IBaseModel {
12
+ generateMessages<M>(sessionHistory: SessionObject, query: string, systemPrompt?: string): M[];
13
+ expandMessages<M>(messages: M[], message: string): void;
14
+ convertToolsToFunctions<F>(tools: AgentTool[]): F[];
15
+ fetch<M>(messages: M[]): Promise<FetchResponse>;
16
+ fetchWithContextMessage<M, F>(messages: M[], functions: F[]): Promise<FetchResponse>;
17
+ }
18
+ export declare abstract class BaseModel<MessageType, FunctionType> {
19
+ abstract generateMessages(sessionHistory: SessionObject, query: string, systemPrompt?: string): MessageType[];
20
+ abstract expandMessages(messages: MessageType[], message: string): void;
21
+ abstract convertToolsToFunctions(tools: AgentTool[]): FunctionType[];
22
+ abstract fetch(messages: MessageType[]): Promise<FetchResponse>;
23
+ abstract fetchWithContextMessage(messages: MessageType[], functions: FunctionType[]): Promise<FetchResponse>;
24
+ }
25
+ //# sourceMappingURL=BaseModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModel.d.ts","sourceRoot":"","sources":["../../../src/models/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,gBAAgB,CAAC,CAAC,EACjB,cAAc,EAAE,aAAa,EAC7B,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACnB,CAAC,EAAE,CAAC;IACP,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAC3B,QAAQ,EAAE,CAAC,EAAE,EACb,SAAS,EAAE,CAAC,EAAE,GACZ,OAAO,CAAC,aAAa,CAAC,CAAC;CAC1B;AAED,8BAAsB,SAAS,CAAC,WAAW,EAAE,YAAY;IACxD,QAAQ,CAAC,gBAAgB,CACxB,cAAc,EAAE,aAAa,EAC7B,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACnB,WAAW,EAAE;IAEhB,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAEvE,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE;IAEpE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAE/D,QAAQ,CAAC,uBAAuB,CAC/B,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC,aAAa,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ export class BaseModel {
2
+ }
3
+ //# sourceMappingURL=BaseModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../../src/models/BaseModel.ts"],"names":[],"mappings":"AA2BA,MAAM,OAAgB,SAAS;CAiB9B"}
@@ -0,0 +1,24 @@
1
+ import type { AgentTool } from "../intent/modules/common/tool.js";
2
+ export interface ToolCall {
3
+ name: string;
4
+ arguments?: Record<string, unknown>;
5
+ }
6
+ export interface FetchResponse {
7
+ content?: string;
8
+ toolCalls?: ToolCall[];
9
+ }
10
+ export interface IBaseModel {
11
+ generateMessages<M>(queries: string[], systemPrompt?: string): M[];
12
+ expandMessages<M>(messages: M[], message: string): void;
13
+ convertToolsToFunctions<F>(tools: AgentTool[]): F[];
14
+ fetch<M>(messages: M[]): Promise<FetchResponse>;
15
+ fetchWithContextMessage<M, F>(messages: M[], functions: F[]): Promise<FetchResponse>;
16
+ }
17
+ export declare abstract class BaseModel<MessageType, FunctionType> {
18
+ abstract generateMessages(queries: string[], systemPrompt?: string): MessageType[];
19
+ abstract expandMessages(messages: MessageType[], message: string): void;
20
+ abstract convertToolsToFunctions(tools: AgentTool[]): FunctionType[];
21
+ abstract fetch(messages: MessageType[]): Promise<FetchResponse>;
22
+ abstract fetchWithContextMessage(messages: MessageType[], functions: FunctionType[]): Promise<FetchResponse>;
23
+ }
24
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/models/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IACnE,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IACpD,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAC3B,QAAQ,EAAE,CAAC,EAAE,EACb,SAAS,EAAE,CAAC,EAAE,GACZ,OAAO,CAAC,aAAa,CAAC,CAAC;CAC1B;AAED,8BAAsB,SAAS,CAAC,WAAW,EAAE,YAAY;IACxD,QAAQ,CAAC,gBAAgB,CACxB,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,GACnB,WAAW,EAAE;IAEhB,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAEvE,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE;IAEpE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAE/D,QAAQ,CAAC,uBAAuB,CAC/B,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC,aAAa,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ export class BaseModel {
2
+ }
3
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/models/base.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAgB,SAAS;CAgB9B"}
@@ -0,0 +1,16 @@
1
+ import { type Content, type FunctionDeclaration } from "@google/genai";
2
+ import type { AgentTool } from "../intent/modules/common/tool.js";
3
+ import { type SessionObject } from "../session/BaseSession.js";
4
+ import { BaseModel, type FetchResponse } from "./BaseModel.js";
5
+ export default class GeminiModel extends BaseModel<Content, FunctionDeclaration> {
6
+ private client;
7
+ private modelName;
8
+ constructor(apiKey: string, modelName: string);
9
+ private getMessageRole;
10
+ generateMessages(sessionHistory: SessionObject, query: string, systemPrompt?: string): Content[];
11
+ expandMessages(messages: Content[], message: string): void;
12
+ fetch(messages: Content[]): Promise<FetchResponse>;
13
+ fetchWithContextMessage(messages: Content[], functions: FunctionDeclaration[]): Promise<FetchResponse>;
14
+ convertToolsToFunctions(tools: AgentTool[]): FunctionDeclaration[];
15
+ }
16
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/models/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAEZ,KAAK,mBAAmB,EAExB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAE9E,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS,CACjD,OAAO,EACP,mBAAmB,CACnB;IACA,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM7C,OAAO,CAAC,cAAc;IAYtB,gBAAgB,CACf,cAAc,EAAE,aAAa,EAC7B,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACnB,OAAO,EAAE;IAkBZ,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOpD,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IASlD,uBAAuB,CAC5B,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,mBAAmB,EAAE,GAC9B,OAAO,CAAC,aAAa,CAAC;IAiCzB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,mBAAmB,EAAE;CAwBlE"}
@@ -0,0 +1,104 @@
1
+ import { GoogleGenAI, } from "@google/genai";
2
+ import { PROTOCOL_TYPE } from "../intent/modules/common/types.js";
3
+ import { ChatRole } from "../session/BaseSession.js";
4
+ import { BaseModel } from "./BaseModel.js";
5
+ export default class GeminiModel extends BaseModel {
6
+ constructor(apiKey, modelName) {
7
+ super();
8
+ this.client = new GoogleGenAI({ apiKey });
9
+ this.modelName = modelName;
10
+ }
11
+ getMessageRole(role) {
12
+ switch (role) {
13
+ case ChatRole.USER:
14
+ return "user";
15
+ case ChatRole.MODEL:
16
+ case ChatRole.SYSTEM:
17
+ return "model";
18
+ default:
19
+ return "model"; /*FIXME*/
20
+ }
21
+ }
22
+ generateMessages(sessionHistory, query, systemPrompt) {
23
+ const messages = !systemPrompt
24
+ ? []
25
+ : [{ role: "model", parts: [{ text: systemPrompt.trim() }] }];
26
+ const sessionContent = Object.keys(sessionHistory).map((messageId) => {
27
+ const message = sessionHistory[messageId];
28
+ // TODO: check message.content.type
29
+ return {
30
+ role: this.getMessageRole(message.role),
31
+ parts: [{ text: message.content.parts[0] }],
32
+ };
33
+ });
34
+ const userContent = { role: "user", parts: [{ text: query }] };
35
+ return messages.concat(sessionContent).concat(userContent);
36
+ }
37
+ expandMessages(messages, message) {
38
+ messages.push({
39
+ role: "user",
40
+ parts: [{ text: message }],
41
+ });
42
+ }
43
+ async fetch(messages) {
44
+ const response = await this.client.models.generateContent({
45
+ model: this.modelName,
46
+ contents: messages,
47
+ });
48
+ return { content: response.text };
49
+ }
50
+ async fetchWithContextMessage(messages, functions) {
51
+ if (functions.length > 0) {
52
+ const response = await this.client.models.generateContent({
53
+ model: this.modelName,
54
+ contents: messages,
55
+ config: {
56
+ tools: [{ functionDeclarations: functions }],
57
+ },
58
+ });
59
+ const { text, functionCalls } = response;
60
+ const hasName = (value) => {
61
+ return value.name !== undefined;
62
+ };
63
+ const toolCalls = functionCalls
64
+ ?.filter(hasName)
65
+ .map((value) => {
66
+ return {
67
+ name: value.name,
68
+ arguments: value.args,
69
+ };
70
+ });
71
+ return {
72
+ content: text,
73
+ toolCalls,
74
+ };
75
+ }
76
+ return await this.fetch(messages);
77
+ }
78
+ convertToolsToFunctions(tools) {
79
+ const functions = [];
80
+ for (const tool of tools) {
81
+ if (!tool.enabled) {
82
+ continue;
83
+ }
84
+ if (tool.protocol === PROTOCOL_TYPE.MCP) {
85
+ const { mcpTool, id } = tool;
86
+ functions.push({
87
+ name: id,
88
+ description: mcpTool.description,
89
+ parametersJsonSchema: mcpTool.inputSchema,
90
+ });
91
+ }
92
+ else {
93
+ // PROTOCOL_TYPE.A2A
94
+ const { id, card } = tool;
95
+ functions.push({
96
+ name: id,
97
+ description: card.description,
98
+ });
99
+ }
100
+ }
101
+ return functions;
102
+ }
103
+ }
104
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/models/gemini.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ChatCompletionMessageParam as CCMessageParam, ChatCompletionTool } from "openai/resources";
2
+ import { type SessionObject } from "../session/BaseSession.js";
3
+ import type { AgentTool } from "../intent/modules/common/tool.js";
4
+ import { BaseModel, type FetchResponse } from "./BaseModel.js";
5
+ export default class AzureOpenAI extends BaseModel<CCMessageParam, ChatCompletionTool> {
6
+ private client;
7
+ private modelName;
8
+ constructor(baseUrl: string, apiKey: string, apiVersion: string, modelName: string);
9
+ private getMessageRole;
10
+ generateMessages(sessionHistory: SessionObject, query: string, systemPrompt?: string): CCMessageParam[];
11
+ expandMessages(messages: CCMessageParam[], message: string): void;
12
+ fetch(messages: CCMessageParam[]): Promise<FetchResponse>;
13
+ fetchWithContextMessage(messages: CCMessageParam[], functions: ChatCompletionTool[]): Promise<FetchResponse>;
14
+ convertToolsToFunctions(tools: AgentTool[]): ChatCompletionTool[];
15
+ }
16
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/models/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,0BAA0B,IAAI,cAAc,EAE5C,kBAAkB,EAClB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAE9E,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS,CACjD,cAAc,EACd,kBAAkB,CAClB;IACA,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;gBAGzB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM;IAWlB,OAAO,CAAC,cAAc;IAYtB,gBAAgB,CACf,cAAc,EAAE,aAAa,EAC7B,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACnB,cAAc,EAAE;IAiBnB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3D,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAWzD,uBAAuB,CAC5B,QAAQ,EAAE,cAAc,EAAE,EAC1B,SAAS,EAAE,kBAAkB,EAAE,GAC7B,OAAO,CAAC,aAAa,CAAC;IA6BzB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE;CA8BjE"}
@@ -0,0 +1,110 @@
1
+ import { AzureOpenAI as AzureOpenAIClient } from "openai";
2
+ import { PROTOCOL_TYPE } from "../intent/modules/common/types.js";
3
+ import { ChatRole } from "../session/BaseSession.js";
4
+ import { BaseModel } from "./BaseModel.js";
5
+ export default class AzureOpenAI extends BaseModel {
6
+ constructor(baseUrl, apiKey, apiVersion, modelName) {
7
+ super();
8
+ this.client = new AzureOpenAIClient({
9
+ baseURL: baseUrl,
10
+ apiKey: apiKey,
11
+ apiVersion: apiVersion,
12
+ });
13
+ this.modelName = modelName;
14
+ }
15
+ getMessageRole(role) {
16
+ switch (role) {
17
+ case ChatRole.USER:
18
+ return "user";
19
+ case ChatRole.MODEL:
20
+ case ChatRole.SYSTEM:
21
+ return "system";
22
+ default:
23
+ return "system"; /*FIXME*/
24
+ }
25
+ }
26
+ generateMessages(sessionHistory, query, systemPrompt) {
27
+ const messages = !systemPrompt
28
+ ? []
29
+ : [{ role: "system", content: systemPrompt.trim() }];
30
+ const sessionContent = Object.keys(sessionHistory).map((messageId) => {
31
+ const message = sessionHistory[messageId];
32
+ return {
33
+ role: this.getMessageRole(message.role),
34
+ content: message.content.parts[0],
35
+ };
36
+ });
37
+ const userContent = { role: "user", content: query };
38
+ return messages.concat(sessionContent).concat(userContent);
39
+ }
40
+ expandMessages(messages, message) {
41
+ messages.push({
42
+ role: "user",
43
+ content: message,
44
+ });
45
+ }
46
+ async fetch(messages) {
47
+ const response = await this.client.chat.completions.create({
48
+ model: this.modelName,
49
+ messages,
50
+ });
51
+ return {
52
+ content: response.choices[0].message.content || undefined,
53
+ };
54
+ }
55
+ async fetchWithContextMessage(messages, functions) {
56
+ if (functions.length > 0) {
57
+ const response = await this.client.chat.completions.create({
58
+ model: this.modelName,
59
+ messages,
60
+ tools: functions,
61
+ tool_choice: "auto",
62
+ });
63
+ const { content, tool_calls } = response.choices[0].message;
64
+ const toolCalls = tool_calls?.map((value) => {
65
+ return {
66
+ name: value.function.name,
67
+ // FIXME: value.function.arguments could not be a valid JSON
68
+ arguments: JSON.parse(value.function.arguments),
69
+ };
70
+ });
71
+ return {
72
+ content: content || undefined,
73
+ toolCalls,
74
+ };
75
+ }
76
+ return await this.fetch(messages);
77
+ }
78
+ convertToolsToFunctions(tools) {
79
+ const functions = [];
80
+ for (const tool of tools) {
81
+ if (!tool.enabled) {
82
+ continue;
83
+ }
84
+ if (tool.protocol === PROTOCOL_TYPE.MCP) {
85
+ const { mcpTool, id } = tool;
86
+ functions.push({
87
+ type: "function",
88
+ function: {
89
+ name: id,
90
+ description: mcpTool.description,
91
+ parameters: mcpTool.inputSchema,
92
+ },
93
+ });
94
+ }
95
+ else {
96
+ // PROTOCOL_TYPE.A2A
97
+ const { id, card } = tool;
98
+ functions.push({
99
+ type: "function",
100
+ function: {
101
+ name: id,
102
+ description: card.description,
103
+ },
104
+ });
105
+ }
106
+ }
107
+ return functions;
108
+ }
109
+ }
110
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/models/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { type Message } from "@a2a-js/sdk";
2
+ import { A2ATool } from "./a2a.tool.js";
3
+ /**
4
+ * Module for managing Agent-to-Agent (A2A) protocol connections.
5
+ *
6
+ * This module handles connections to other A2A-compatible agents, manages
7
+ * conversation sessions, and provides an interface for inter-agent communication.
8
+ * Supports multi-turn conversations with task and context tracking.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const a2aModule = new A2AModule();
13
+ * await a2aModule.addA2APeerServer("https://api.example.com/agent");
14
+ *
15
+ * const tools = await a2aModule.getTools();
16
+ * const message = a2aModule.getMessagePayload("Hello", "session-123");
17
+ * const response = await a2aModule.useTool(tools[0], message, "session-123");
18
+ * ```
19
+ */
20
+ export declare class A2AModule {
21
+ /** Map of A2A server URLs to their corresponding tool instances */
22
+ private a2aPeerServers;
23
+ /** Map of session IDs to their A2A session state */
24
+ private a2aSessions;
25
+ /**
26
+ * Registers a new A2A peer server URL for connection.
27
+ *
28
+ * @param url - The URL of the A2A-compatible agent to connect to
29
+ */
30
+ addA2APeerServer(url: string): Promise<void>;
31
+ /**
32
+ * Retrieves tools from all registered A2A peer servers.
33
+ *
34
+ * Attempts to connect to each registered server, fetch their agent cards,
35
+ * and create tool instances. Disables tools for unreachable servers.
36
+ *
37
+ * @returns Promise resolving to array of available A2A tools
38
+ */
39
+ getTools(): Promise<A2ATool[]>;
40
+ /**
41
+ * Gets or creates an A2A session for the given session ID.
42
+ *
43
+ * @param sessionId - The session identifier
44
+ * @returns A2ASession object with task and context IDs
45
+ */
46
+ private getA2ASessionWithId;
47
+ /**
48
+ * Constructs a message payload for A2A communication.
49
+ *
50
+ * Includes session context (task ID and context ID) if available
51
+ * for maintaining conversation continuity.
52
+ *
53
+ * @param query - The message content to send
54
+ * @param sessionId - The session identifier
55
+ * @returns Formatted Message object for A2A protocol
56
+ */
57
+ getMessagePayload(query: string, sessionId: string): Message;
58
+ /**
59
+ * Executes an A2A tool by sending a message to the remote agent.
60
+ *
61
+ * Handles streaming responses, maintains session state, and extracts
62
+ * text content from various event types in the response stream.
63
+ *
64
+ * @param tool - The A2ATool instance to use
65
+ * @param messagePayload - The message to send to the agent
66
+ * @param sessionId - The session identifier for context tracking
67
+ * @returns Promise resolving to array of text responses from the agent
68
+ */
69
+ useTool(tool: A2ATool, messagePayload: Message, sessionId: string): Promise<string[]>;
70
+ }
71
+ //# sourceMappingURL=a2a.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.module.d.ts","sourceRoot":"","sources":["../../../../src/modules/a2a/a2a.module.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,OAAO,EAKZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYxC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,SAAS;IACrB,mEAAmE;IACnE,OAAO,CAAC,cAAc,CAA0C;IAChE,oDAAoD;IACpD,OAAO,CAAC,WAAW,CAAsC;IAEzD;;;;OAIG;IACU,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;;;;;;OAOG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAyB3C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAUzB;IAEF;;;;;;;;;OASG;IACI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IA2BnE;;;;;;;;;;OAUG;IACU,OAAO,CACnB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;CA2DpB"}
@@ -0,0 +1,191 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { A2AClient, } from "@a2a-js/sdk";
3
+ import { loggers } from "../../utils/logger.js";
4
+ import { A2ATool } from "./a2a.tool.js";
5
+ /**
6
+ * Module for managing Agent-to-Agent (A2A) protocol connections.
7
+ *
8
+ * This module handles connections to other A2A-compatible agents, manages
9
+ * conversation sessions, and provides an interface for inter-agent communication.
10
+ * Supports multi-turn conversations with task and context tracking.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const a2aModule = new A2AModule();
15
+ * await a2aModule.addA2APeerServer("https://api.example.com/agent");
16
+ *
17
+ * const tools = await a2aModule.getTools();
18
+ * const message = a2aModule.getMessagePayload("Hello", "session-123");
19
+ * const response = await a2aModule.useTool(tools[0], message, "session-123");
20
+ * ```
21
+ */
22
+ export class A2AModule {
23
+ constructor() {
24
+ /** Map of A2A server URLs to their corresponding tool instances */
25
+ this.a2aPeerServers = new Map();
26
+ /** Map of session IDs to their A2A session state */
27
+ this.a2aSessions = new Map();
28
+ /**
29
+ * Gets or creates an A2A session for the given session ID.
30
+ *
31
+ * @param sessionId - The session identifier
32
+ * @returns A2ASession object with task and context IDs
33
+ */
34
+ this.getA2ASessionWithId = (sessionId) => {
35
+ const a2aSession = this.a2aSessions.get(sessionId) ?? {
36
+ taskId: undefined,
37
+ contextId: undefined,
38
+ };
39
+ if (!this.a2aSessions.has(sessionId)) {
40
+ this.a2aSessions.set(sessionId, a2aSession);
41
+ }
42
+ return a2aSession;
43
+ };
44
+ }
45
+ /**
46
+ * Registers a new A2A peer server URL for connection.
47
+ *
48
+ * @param url - The URL of the A2A-compatible agent to connect to
49
+ */
50
+ async addA2APeerServer(url) {
51
+ this.a2aPeerServers.set(url, null);
52
+ }
53
+ /**
54
+ * Retrieves tools from all registered A2A peer servers.
55
+ *
56
+ * Attempts to connect to each registered server, fetch their agent cards,
57
+ * and create tool instances. Disables tools for unreachable servers.
58
+ *
59
+ * @returns Promise resolving to array of available A2A tools
60
+ */
61
+ async getTools() {
62
+ const tools = [];
63
+ for (const url of [...this.a2aPeerServers.keys()]) {
64
+ const tool = this.a2aPeerServers.get(url);
65
+ if (!tool || !tool.enabled) {
66
+ try {
67
+ const client = new A2AClient(url);
68
+ const card = await client.getAgentCard();
69
+ const toolName = card.name.replaceAll(" ", "-");
70
+ const a2aTool = new A2ATool(toolName, client, card);
71
+ tools.push(a2aTool);
72
+ }
73
+ catch (_error) {
74
+ // Agent not responded
75
+ if (tool) {
76
+ tool.disable();
77
+ }
78
+ }
79
+ }
80
+ else {
81
+ tools.push(tool);
82
+ }
83
+ }
84
+ return tools;
85
+ }
86
+ /**
87
+ * Constructs a message payload for A2A communication.
88
+ *
89
+ * Includes session context (task ID and context ID) if available
90
+ * for maintaining conversation continuity.
91
+ *
92
+ * @param query - The message content to send
93
+ * @param sessionId - The session identifier
94
+ * @returns Formatted Message object for A2A protocol
95
+ */
96
+ getMessagePayload(query, sessionId) {
97
+ const messagePayload = {
98
+ messageId: randomUUID(),
99
+ kind: "message",
100
+ role: "user", // FIXME: it could be 'agent'
101
+ metadata: {
102
+ sessionId,
103
+ },
104
+ parts: [
105
+ {
106
+ kind: "text",
107
+ text: query,
108
+ },
109
+ ],
110
+ };
111
+ const a2aSession = this.getA2ASessionWithId(sessionId);
112
+ if (a2aSession.taskId) {
113
+ messagePayload.taskId = a2aSession.taskId;
114
+ }
115
+ if (a2aSession.contextId) {
116
+ messagePayload.contextId = a2aSession.contextId;
117
+ }
118
+ return messagePayload;
119
+ }
120
+ /**
121
+ * Executes an A2A tool by sending a message to the remote agent.
122
+ *
123
+ * Handles streaming responses, maintains session state, and extracts
124
+ * text content from various event types in the response stream.
125
+ *
126
+ * @param tool - The A2ATool instance to use
127
+ * @param messagePayload - The message to send to the agent
128
+ * @param sessionId - The session identifier for context tracking
129
+ * @returns Promise resolving to array of text responses from the agent
130
+ */
131
+ async useTool(tool, messagePayload, sessionId) {
132
+ const finalText = [];
133
+ const client = tool.client;
134
+ const params = {
135
+ message: messagePayload,
136
+ };
137
+ const a2aSession = this.getA2ASessionWithId(sessionId);
138
+ try {
139
+ const stream = client.sendMessageStream(params);
140
+ for await (const event of stream) {
141
+ if (event.kind === "status-update") {
142
+ const typedEvent = event;
143
+ if (typedEvent.final &&
144
+ typedEvent.status.state !== "input-required") {
145
+ a2aSession.taskId = undefined;
146
+ }
147
+ // TODO: handle 'file', 'data' parts
148
+ const texts = typedEvent.status.message?.parts
149
+ .filter((part) => part.kind === "text")
150
+ .map((part) => part.text)
151
+ .join("\n");
152
+ if (texts) {
153
+ finalText.push(texts);
154
+ }
155
+ }
156
+ else if (event.kind === "message") {
157
+ // FIXME: handling text in 'message'?
158
+ const msg = event;
159
+ if (msg.taskId && msg.taskId !== a2aSession.taskId) {
160
+ a2aSession.taskId = msg.taskId;
161
+ }
162
+ if (msg.contextId && msg.contextId !== a2aSession.contextId) {
163
+ a2aSession.contextId = msg.contextId;
164
+ }
165
+ }
166
+ else if (event.kind === "task") {
167
+ // FIXME: handling text in 'task'?
168
+ const task = event;
169
+ if (task.id !== a2aSession.taskId) {
170
+ a2aSession.taskId = task.id;
171
+ }
172
+ if (task.contextId && task.contextId !== a2aSession.contextId) {
173
+ a2aSession.contextId = task.contextId;
174
+ }
175
+ }
176
+ else {
177
+ loggers.a2a.warn("Received unknown event structure from stream:", {
178
+ event,
179
+ });
180
+ }
181
+ }
182
+ }
183
+ catch (error) {
184
+ loggers.a2a.error("Error communicating with agent:", { error });
185
+ tool.disable();
186
+ // TODO: add failed & disabled text for next inference?
187
+ }
188
+ return finalText;
189
+ }
190
+ }
191
+ //# sourceMappingURL=a2a.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.module.js","sourceRoot":"","sources":["../../../../src/modules/a2a/a2a.module.ts"],"names":[],"mappings":"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"}