@ainetwork/adk 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/README.md +9 -39
  2. package/dist/cjs/chunk-5VIAH4HE.cjs +34 -0
  3. package/dist/cjs/chunk-5VIAH4HE.cjs.map +1 -0
  4. package/dist/cjs/chunk-6BZKW7OJ.cjs +27 -0
  5. package/dist/cjs/chunk-6BZKW7OJ.cjs.map +1 -0
  6. package/dist/cjs/chunk-7BZO57TG.cjs +111 -0
  7. package/dist/cjs/chunk-7BZO57TG.cjs.map +1 -0
  8. package/dist/cjs/chunk-A5UYNW2C.cjs +34 -0
  9. package/dist/cjs/chunk-A5UYNW2C.cjs.map +1 -0
  10. package/dist/cjs/chunk-AHF32UIX.cjs +171 -0
  11. package/dist/cjs/chunk-AHF32UIX.cjs.map +1 -0
  12. package/dist/cjs/chunk-AHMW3HCU.cjs +168 -0
  13. package/dist/cjs/chunk-AHMW3HCU.cjs.map +1 -0
  14. package/dist/cjs/chunk-CNNO354A.cjs +37 -0
  15. package/dist/cjs/chunk-CNNO354A.cjs.map +1 -0
  16. package/dist/cjs/chunk-DOFTYGJR.cjs +21 -0
  17. package/dist/cjs/chunk-DOFTYGJR.cjs.map +1 -0
  18. package/dist/cjs/chunk-E433ONEN.cjs +26 -0
  19. package/dist/cjs/chunk-E433ONEN.cjs.map +1 -0
  20. package/dist/cjs/chunk-EL3TFOO4.cjs +8 -0
  21. package/dist/cjs/chunk-EL3TFOO4.cjs.map +1 -0
  22. package/dist/cjs/chunk-F7I4G6JG.cjs +26 -0
  23. package/dist/cjs/chunk-F7I4G6JG.cjs.map +1 -0
  24. package/dist/cjs/chunk-FIVYFMQW.cjs +22 -0
  25. package/dist/cjs/chunk-FIVYFMQW.cjs.map +1 -0
  26. package/dist/cjs/chunk-ILGIEJCX.cjs +111 -0
  27. package/dist/cjs/chunk-ILGIEJCX.cjs.map +1 -0
  28. package/dist/cjs/chunk-JTAXZJQ2.cjs +40 -0
  29. package/dist/cjs/chunk-JTAXZJQ2.cjs.map +1 -0
  30. package/dist/cjs/chunk-KGI5WVRN.cjs +22 -0
  31. package/dist/cjs/chunk-KGI5WVRN.cjs.map +1 -0
  32. package/dist/cjs/chunk-KOQCHAYO.cjs +8 -0
  33. package/dist/cjs/chunk-KOQCHAYO.cjs.map +1 -0
  34. package/dist/cjs/chunk-LISZOU2X.cjs +20 -0
  35. package/dist/cjs/chunk-LISZOU2X.cjs.map +1 -0
  36. package/dist/cjs/chunk-LPXYZH22.cjs +11 -0
  37. package/dist/cjs/chunk-LPXYZH22.cjs.map +1 -0
  38. package/dist/cjs/chunk-MWX4THZT.cjs +100 -0
  39. package/dist/cjs/chunk-MWX4THZT.cjs.map +1 -0
  40. package/dist/cjs/chunk-N7NGEMKL.cjs +17 -0
  41. package/dist/cjs/chunk-N7NGEMKL.cjs.map +1 -0
  42. package/dist/cjs/chunk-PL7Q2WFS.cjs +13 -0
  43. package/dist/cjs/chunk-PL7Q2WFS.cjs.map +1 -0
  44. package/dist/cjs/chunk-PPVGWM7D.cjs +42 -0
  45. package/dist/cjs/chunk-PPVGWM7D.cjs.map +1 -0
  46. package/dist/cjs/chunk-QWASSVCU.cjs +52 -0
  47. package/dist/cjs/chunk-QWASSVCU.cjs.map +1 -0
  48. package/dist/cjs/chunk-SSSDO7PA.cjs +1 -0
  49. package/dist/cjs/chunk-SSSDO7PA.cjs.map +1 -0
  50. package/dist/cjs/chunk-V5RSN2DY.cjs +20 -0
  51. package/dist/cjs/chunk-V5RSN2DY.cjs.map +1 -0
  52. package/dist/cjs/chunk-WRCQQ2FO.cjs +17 -0
  53. package/dist/cjs/chunk-WRCQQ2FO.cjs.map +1 -0
  54. package/dist/cjs/chunk-WTT6FJEA.cjs +8 -0
  55. package/dist/cjs/chunk-WTT6FJEA.cjs.map +1 -0
  56. package/dist/cjs/controllers/a2a.controller.cjs +8 -0
  57. package/dist/cjs/controllers/a2a.controller.cjs.map +1 -0
  58. package/dist/cjs/controllers/api/model.api.controller.cjs +7 -0
  59. package/dist/cjs/controllers/api/model.api.controller.cjs.map +1 -0
  60. package/dist/cjs/controllers/api/session.api.controller.cjs +8 -0
  61. package/dist/cjs/controllers/api/session.api.controller.cjs.map +1 -0
  62. package/dist/cjs/controllers/index.cjs +21 -0
  63. package/dist/cjs/controllers/index.cjs.map +1 -0
  64. package/dist/cjs/controllers/query.controller.cjs +7 -0
  65. package/dist/cjs/controllers/query.controller.cjs.map +1 -0
  66. package/dist/cjs/index.cjs +728 -0
  67. package/dist/cjs/index.cjs.map +1 -0
  68. package/dist/cjs/middlewares/auth.middleware.cjs +8 -0
  69. package/dist/cjs/middlewares/auth.middleware.cjs.map +1 -0
  70. package/dist/cjs/middlewares/error.middleware.cjs +8 -0
  71. package/dist/cjs/middlewares/error.middleware.cjs.map +1 -0
  72. package/dist/cjs/modules/a2a/a2a.module.cjs +10 -0
  73. package/dist/cjs/modules/a2a/a2a.module.cjs.map +1 -0
  74. package/dist/cjs/modules/a2a/a2a.tool.cjs +8 -0
  75. package/dist/cjs/modules/a2a/a2a.tool.cjs.map +1 -0
  76. package/dist/cjs/modules/auth/base.auth.cjs +7 -0
  77. package/dist/cjs/modules/auth/base.auth.cjs.map +1 -0
  78. package/dist/cjs/modules/index.cjs +36 -0
  79. package/dist/cjs/modules/index.cjs.map +1 -0
  80. package/dist/cjs/modules/mcp/mcp.module.cjs +10 -0
  81. package/dist/cjs/modules/mcp/mcp.module.cjs.map +1 -0
  82. package/dist/cjs/modules/mcp/mcp.tool.cjs +8 -0
  83. package/dist/cjs/modules/mcp/mcp.tool.cjs.map +1 -0
  84. package/dist/cjs/modules/memory/base.memory.cjs +7 -0
  85. package/dist/cjs/modules/memory/base.memory.cjs.map +1 -0
  86. package/dist/cjs/modules/memory/memory.module.cjs +8 -0
  87. package/dist/cjs/modules/memory/memory.module.cjs.map +1 -0
  88. package/dist/cjs/modules/models/base.model.cjs +7 -0
  89. package/dist/cjs/modules/models/base.model.cjs.map +1 -0
  90. package/dist/cjs/modules/models/model.module.cjs +7 -0
  91. package/dist/cjs/modules/models/model.module.cjs.map +1 -0
  92. package/dist/cjs/routes/a2a.routes.cjs +13 -0
  93. package/dist/cjs/routes/a2a.routes.cjs.map +1 -0
  94. package/dist/cjs/routes/api/models.routes.cjs +8 -0
  95. package/dist/cjs/routes/api/models.routes.cjs.map +1 -0
  96. package/dist/cjs/routes/api/sessions.routes.cjs +9 -0
  97. package/dist/cjs/routes/api/sessions.routes.cjs.map +1 -0
  98. package/dist/cjs/routes/api.routes.cjs +12 -0
  99. package/dist/cjs/routes/api.routes.cjs.map +1 -0
  100. package/dist/cjs/routes/index.cjs +34 -0
  101. package/dist/cjs/routes/index.cjs.map +1 -0
  102. package/dist/cjs/routes/query.routes.cjs +12 -0
  103. package/dist/cjs/routes/query.routes.cjs.map +1 -0
  104. package/dist/cjs/services/a2a.service.cjs +8 -0
  105. package/dist/cjs/services/a2a.service.cjs.map +1 -0
  106. package/dist/cjs/services/index.cjs +14 -0
  107. package/dist/cjs/services/index.cjs.map +1 -0
  108. package/dist/cjs/services/query.service.cjs +10 -0
  109. package/dist/cjs/services/query.service.cjs.map +1 -0
  110. package/dist/cjs/types/fol.cjs +1 -0
  111. package/dist/cjs/types/fol.cjs.map +1 -0
  112. package/dist/cjs/types/index.cjs +7 -0
  113. package/dist/cjs/types/index.cjs.map +1 -0
  114. package/dist/cjs/types/mcp.cjs +1 -0
  115. package/dist/cjs/types/mcp.cjs.map +1 -0
  116. package/dist/cjs/types/memory.cjs +9 -0
  117. package/dist/cjs/types/memory.cjs.map +1 -0
  118. package/dist/cjs/types/tool.cjs +7 -0
  119. package/dist/cjs/types/tool.cjs.map +1 -0
  120. package/dist/cjs/utils/logger.cjs +11 -0
  121. package/dist/cjs/utils/logger.cjs.map +1 -0
  122. package/dist/esm/chunk-2TJPWFUT.js +171 -0
  123. package/dist/esm/chunk-2TJPWFUT.js.map +1 -0
  124. package/dist/esm/chunk-2Z7GJVJJ.js +17 -0
  125. package/dist/esm/chunk-2Z7GJVJJ.js.map +1 -0
  126. package/dist/esm/chunk-3LLHEUY2.js +26 -0
  127. package/dist/esm/chunk-3LLHEUY2.js.map +1 -0
  128. package/dist/esm/chunk-5SZU5YDN.js +13 -0
  129. package/dist/esm/chunk-5SZU5YDN.js.map +1 -0
  130. package/dist/esm/chunk-64GEXWSE.js +40 -0
  131. package/dist/esm/chunk-64GEXWSE.js.map +1 -0
  132. package/dist/esm/chunk-AQ5YZERE.js +111 -0
  133. package/dist/esm/chunk-AQ5YZERE.js.map +1 -0
  134. package/dist/esm/chunk-AXVFAKZM.js +27 -0
  135. package/dist/esm/chunk-AXVFAKZM.js.map +1 -0
  136. package/dist/esm/chunk-BTZVK3EA.js +100 -0
  137. package/dist/esm/chunk-BTZVK3EA.js.map +1 -0
  138. package/dist/esm/chunk-COSAMSMR.js +37 -0
  139. package/dist/esm/chunk-COSAMSMR.js.map +1 -0
  140. package/dist/esm/chunk-DGH3GB5I.js +26 -0
  141. package/dist/esm/chunk-DGH3GB5I.js.map +1 -0
  142. package/dist/esm/chunk-DSZEHW6O.js +22 -0
  143. package/dist/esm/chunk-DSZEHW6O.js.map +1 -0
  144. package/dist/esm/chunk-EODMRV4H.js +111 -0
  145. package/dist/esm/chunk-EODMRV4H.js.map +1 -0
  146. package/dist/esm/chunk-FI2UQLVC.js +11 -0
  147. package/dist/esm/chunk-FI2UQLVC.js.map +1 -0
  148. package/dist/esm/chunk-FO2KESGM.js +42 -0
  149. package/dist/esm/chunk-FO2KESGM.js.map +1 -0
  150. package/dist/esm/chunk-GZFRRFOE.js +8 -0
  151. package/dist/esm/chunk-GZFRRFOE.js.map +1 -0
  152. package/dist/esm/chunk-HE54QMIW.js +17 -0
  153. package/dist/esm/chunk-HE54QMIW.js.map +1 -0
  154. package/dist/esm/chunk-KJ4MVCYE.js +8 -0
  155. package/dist/esm/chunk-KJ4MVCYE.js.map +1 -0
  156. package/dist/esm/chunk-KUMCCCED.js +8 -0
  157. package/dist/esm/chunk-KUMCCCED.js.map +1 -0
  158. package/dist/esm/chunk-PHKK5NHK.js +52 -0
  159. package/dist/esm/chunk-PHKK5NHK.js.map +1 -0
  160. package/dist/esm/chunk-SQWZXP4P.js +168 -0
  161. package/dist/esm/chunk-SQWZXP4P.js.map +1 -0
  162. package/dist/esm/chunk-TMHRCGTE.js +20 -0
  163. package/dist/esm/chunk-TMHRCGTE.js.map +1 -0
  164. package/dist/esm/chunk-UA44VKFE.js +20 -0
  165. package/dist/esm/chunk-UA44VKFE.js.map +1 -0
  166. package/dist/esm/chunk-XBKWMBQQ.js +34 -0
  167. package/dist/esm/chunk-XBKWMBQQ.js.map +1 -0
  168. package/dist/esm/chunk-XOMQNCCR.js +21 -0
  169. package/dist/esm/chunk-XOMQNCCR.js.map +1 -0
  170. package/dist/esm/chunk-XPJK5O3I.js +34 -0
  171. package/dist/esm/chunk-XPJK5O3I.js.map +1 -0
  172. package/dist/esm/chunk-XYCWK2ZM.js +1 -0
  173. package/dist/esm/chunk-XYCWK2ZM.js.map +1 -0
  174. package/dist/esm/chunk-YVU3FDHY.js +22 -0
  175. package/dist/esm/chunk-YVU3FDHY.js.map +1 -0
  176. package/dist/esm/controllers/a2a.controller.d.ts +25 -6
  177. package/dist/esm/controllers/a2a.controller.js +7 -93
  178. package/dist/esm/controllers/a2a.controller.js.map +1 -1
  179. package/dist/esm/controllers/api/model.api.controller.d.ts +12 -4
  180. package/dist/esm/controllers/api/model.api.controller.js +6 -14
  181. package/dist/esm/controllers/api/model.api.controller.js.map +1 -1
  182. package/dist/esm/controllers/api/session.api.controller.d.ts +8 -4
  183. package/dist/esm/controllers/api/session.api.controller.js +7 -22
  184. package/dist/esm/controllers/api/session.api.controller.js.map +1 -1
  185. package/dist/esm/controllers/index.d.ts +25 -5
  186. package/dist/esm/controllers/index.js +20 -4
  187. package/dist/esm/controllers/index.js.map +1 -1
  188. package/dist/esm/controllers/query.controller.d.ts +23 -4
  189. package/dist/esm/controllers/query.controller.js +6 -15
  190. package/dist/esm/controllers/query.controller.js.map +1 -1
  191. package/dist/{cjs/app.d.ts → esm/index.d.ts} +23 -10
  192. package/dist/esm/index.js +728 -0
  193. package/dist/esm/index.js.map +1 -0
  194. package/dist/esm/middlewares/auth.middleware.d.ts +10 -0
  195. package/dist/esm/middlewares/auth.middleware.js +8 -0
  196. package/dist/esm/middlewares/auth.middleware.js.map +1 -0
  197. package/dist/esm/middlewares/error.middleware.d.ts +7 -4
  198. package/dist/esm/middlewares/error.middleware.js +6 -11
  199. package/dist/esm/middlewares/error.middleware.js.map +1 -1
  200. package/dist/esm/modules/a2a/a2a.module.d.ts +9 -4
  201. package/dist/esm/modules/a2a/a2a.module.js +9 -190
  202. package/dist/esm/modules/a2a/a2a.module.js.map +1 -1
  203. package/dist/esm/modules/a2a/a2a.tool.d.ts +8 -5
  204. package/dist/esm/modules/a2a/a2a.tool.js +7 -16
  205. package/dist/esm/modules/a2a/a2a.tool.js.map +1 -1
  206. package/dist/esm/modules/auth/base.auth.d.ts +7 -0
  207. package/dist/esm/modules/auth/base.auth.js +7 -0
  208. package/dist/esm/modules/auth/base.auth.js.map +1 -0
  209. package/dist/esm/modules/index.d.ts +17 -6
  210. package/dist/esm/modules/index.js +35 -5
  211. package/dist/esm/modules/index.js.map +1 -1
  212. package/dist/esm/modules/mcp/mcp.module.d.ts +11 -4
  213. package/dist/esm/modules/mcp/mcp.module.js +9 -113
  214. package/dist/esm/modules/mcp/mcp.module.js.map +1 -1
  215. package/dist/esm/modules/mcp/mcp.tool.d.ts +8 -4
  216. package/dist/esm/modules/mcp/mcp.tool.js +7 -17
  217. package/dist/esm/modules/mcp/mcp.tool.js.map +1 -1
  218. package/dist/esm/modules/memory/base.memory.d.ts +5 -3
  219. package/dist/esm/modules/memory/base.memory.js +6 -9
  220. package/dist/esm/modules/memory/base.memory.js.map +1 -1
  221. package/dist/esm/modules/memory/memory.module.d.ts +6 -4
  222. package/dist/esm/modules/memory/memory.module.js +7 -43
  223. package/dist/esm/modules/memory/memory.module.js.map +1 -1
  224. package/dist/esm/modules/models/base.model.d.ts +9 -4
  225. package/dist/esm/modules/models/base.model.js +6 -12
  226. package/dist/esm/modules/models/base.model.js.map +1 -1
  227. package/dist/esm/modules/models/model.module.d.ts +10 -3
  228. package/dist/esm/modules/models/model.module.js +6 -62
  229. package/dist/esm/modules/models/model.module.js.map +1 -1
  230. package/dist/esm/routes/a2a.routes.d.ts +24 -4
  231. package/dist/esm/routes/a2a.routes.js +11 -23
  232. package/dist/esm/routes/a2a.routes.js.map +1 -1
  233. package/dist/esm/routes/api/models.routes.d.ts +12 -4
  234. package/dist/esm/routes/api/models.routes.js +6 -8
  235. package/dist/esm/routes/api/models.routes.js.map +1 -1
  236. package/dist/esm/routes/api/sessions.routes.d.ts +8 -4
  237. package/dist/esm/routes/api/sessions.routes.js +7 -8
  238. package/dist/esm/routes/api/sessions.routes.js.map +1 -1
  239. package/dist/esm/routes/api.routes.d.ts +24 -4
  240. package/dist/esm/routes/api.routes.js +10 -10
  241. package/dist/esm/routes/api.routes.js.map +1 -1
  242. package/dist/esm/routes/index.d.ts +25 -5
  243. package/dist/esm/routes/index.js +33 -4
  244. package/dist/esm/routes/index.js.map +1 -1
  245. package/dist/esm/routes/query.routes.d.ts +24 -4
  246. package/dist/esm/routes/query.routes.js +10 -9
  247. package/dist/esm/routes/query.routes.js.map +1 -1
  248. package/dist/esm/services/a2a.service.d.ts +23 -4
  249. package/dist/esm/services/a2a.service.js +7 -88
  250. package/dist/esm/services/a2a.service.js.map +1 -1
  251. package/dist/esm/services/index.d.ts +20 -3
  252. package/dist/esm/services/index.js +13 -2
  253. package/dist/esm/services/index.js.map +1 -1
  254. package/dist/esm/services/query.service.d.ts +21 -4
  255. package/dist/esm/services/query.service.js +9 -157
  256. package/dist/esm/services/query.service.js.map +1 -1
  257. package/dist/esm/types/fol.d.ts +4 -3
  258. package/dist/esm/types/fol.js +0 -1
  259. package/dist/esm/types/fol.js.map +1 -1
  260. package/dist/esm/types/index.d.ts +7 -5
  261. package/dist/esm/types/index.js +6 -6
  262. package/dist/esm/types/index.js.map +1 -1
  263. package/dist/esm/types/mcp.d.ts +5 -3
  264. package/dist/esm/types/mcp.js +0 -1
  265. package/dist/esm/types/mcp.js.map +1 -1
  266. package/dist/esm/types/memory.d.ts +7 -6
  267. package/dist/esm/types/memory.js +8 -19
  268. package/dist/esm/types/memory.js.map +1 -1
  269. package/dist/esm/types/tool.d.ts +12 -10
  270. package/dist/esm/types/tool.js +6 -10
  271. package/dist/esm/types/tool.js.map +1 -1
  272. package/dist/esm/utils/logger.d.ts +7 -5
  273. package/dist/esm/utils/logger.js +9 -30
  274. package/dist/esm/utils/logger.js.map +1 -1
  275. package/package.json +18 -12
  276. package/dist/cjs/app.d.ts.map +0 -1
  277. package/dist/cjs/app.js +0 -170
  278. package/dist/cjs/app.js.map +0 -1
  279. package/dist/cjs/controllers/a2a.controller.d.ts +0 -15
  280. package/dist/cjs/controllers/a2a.controller.d.ts.map +0 -1
  281. package/dist/cjs/controllers/a2a.controller.js +0 -98
  282. package/dist/cjs/controllers/a2a.controller.js.map +0 -1
  283. package/dist/cjs/controllers/api/model.api.controller.d.ts +0 -8
  284. package/dist/cjs/controllers/api/model.api.controller.d.ts.map +0 -1
  285. package/dist/cjs/controllers/api/model.api.controller.js +0 -19
  286. package/dist/cjs/controllers/api/model.api.controller.js.map +0 -1
  287. package/dist/cjs/controllers/api/session.api.controller.d.ts +0 -8
  288. package/dist/cjs/controllers/api/session.api.controller.d.ts.map +0 -1
  289. package/dist/cjs/controllers/api/session.api.controller.js +0 -27
  290. package/dist/cjs/controllers/api/session.api.controller.js.map +0 -1
  291. package/dist/cjs/controllers/index.d.ts +0 -5
  292. package/dist/cjs/controllers/index.d.ts.map +0 -1
  293. package/dist/cjs/controllers/index.js +0 -12
  294. package/dist/cjs/controllers/index.js.map +0 -1
  295. package/dist/cjs/controllers/query.controller.d.ts +0 -8
  296. package/dist/cjs/controllers/query.controller.d.ts.map +0 -1
  297. package/dist/cjs/controllers/query.controller.js +0 -20
  298. package/dist/cjs/controllers/query.controller.js.map +0 -1
  299. package/dist/cjs/middlewares/auth/base.d.ts +0 -5
  300. package/dist/cjs/middlewares/auth/base.d.ts.map +0 -1
  301. package/dist/cjs/middlewares/auth/base.js +0 -13
  302. package/dist/cjs/middlewares/auth/base.js.map +0 -1
  303. package/dist/cjs/middlewares/base.auth.middleware.d.ts +0 -5
  304. package/dist/cjs/middlewares/base.auth.middleware.d.ts.map +0 -1
  305. package/dist/cjs/middlewares/base.auth.middleware.js +0 -13
  306. package/dist/cjs/middlewares/base.auth.middleware.js.map +0 -1
  307. package/dist/cjs/middlewares/error.middleware.d.ts +0 -4
  308. package/dist/cjs/middlewares/error.middleware.d.ts.map +0 -1
  309. package/dist/cjs/middlewares/error.middleware.js +0 -17
  310. package/dist/cjs/middlewares/error.middleware.js.map +0 -1
  311. package/dist/cjs/modules/a2a/a2a.module.d.ts +0 -71
  312. package/dist/cjs/modules/a2a/a2a.module.d.ts.map +0 -1
  313. package/dist/cjs/modules/a2a/a2a.module.js +0 -195
  314. package/dist/cjs/modules/a2a/a2a.module.js.map +0 -1
  315. package/dist/cjs/modules/a2a/a2a.tool.d.ts +0 -14
  316. package/dist/cjs/modules/a2a/a2a.tool.d.ts.map +0 -1
  317. package/dist/cjs/modules/a2a/a2a.tool.js +0 -21
  318. package/dist/cjs/modules/a2a/a2a.tool.js.map +0 -1
  319. package/dist/cjs/modules/fol/fol.module.d.ts +0 -31
  320. package/dist/cjs/modules/fol/fol.module.d.ts.map +0 -1
  321. package/dist/cjs/modules/fol/fol.module.js +0 -184
  322. package/dist/cjs/modules/fol/fol.module.js.map +0 -1
  323. package/dist/cjs/modules/fol/store/base.d.ts +0 -9
  324. package/dist/cjs/modules/fol/store/base.d.ts.map +0 -1
  325. package/dist/cjs/modules/fol/store/base.js +0 -7
  326. package/dist/cjs/modules/fol/store/base.js.map +0 -1
  327. package/dist/cjs/modules/fol/store/index.d.ts +0 -3
  328. package/dist/cjs/modules/fol/store/index.d.ts.map +0 -1
  329. package/dist/cjs/modules/fol/store/index.js +0 -8
  330. package/dist/cjs/modules/fol/store/index.js.map +0 -1
  331. package/dist/cjs/modules/fol/store/local.d.ts +0 -25
  332. package/dist/cjs/modules/fol/store/local.d.ts.map +0 -1
  333. package/dist/cjs/modules/fol/store/local.js +0 -221
  334. package/dist/cjs/modules/fol/store/local.js.map +0 -1
  335. package/dist/cjs/modules/index.d.ts +0 -6
  336. package/dist/cjs/modules/index.d.ts.map +0 -1
  337. package/dist/cjs/modules/index.js +0 -14
  338. package/dist/cjs/modules/index.js.map +0 -1
  339. package/dist/cjs/modules/mcp/mcp.module.d.ts +0 -65
  340. package/dist/cjs/modules/mcp/mcp.module.d.ts.map +0 -1
  341. package/dist/cjs/modules/mcp/mcp.module.js +0 -118
  342. package/dist/cjs/modules/mcp/mcp.module.js.map +0 -1
  343. package/dist/cjs/modules/mcp/mcp.tool.d.ts +0 -13
  344. package/dist/cjs/modules/mcp/mcp.tool.d.ts.map +0 -1
  345. package/dist/cjs/modules/mcp/mcp.tool.js +0 -22
  346. package/dist/cjs/modules/mcp/mcp.tool.js.map +0 -1
  347. package/dist/cjs/modules/memory/base/index.d.ts +0 -33
  348. package/dist/cjs/modules/memory/base/index.d.ts.map +0 -1
  349. package/dist/cjs/modules/memory/base/index.js +0 -14
  350. package/dist/cjs/modules/memory/base/index.js.map +0 -1
  351. package/dist/cjs/modules/memory/base.memory.d.ts +0 -33
  352. package/dist/cjs/modules/memory/base.memory.d.ts.map +0 -1
  353. package/dist/cjs/modules/memory/base.memory.js +0 -14
  354. package/dist/cjs/modules/memory/base.memory.js.map +0 -1
  355. package/dist/cjs/modules/memory/memory.module.d.ts +0 -35
  356. package/dist/cjs/modules/memory/memory.module.d.ts.map +0 -1
  357. package/dist/cjs/modules/memory/memory.module.js +0 -48
  358. package/dist/cjs/modules/memory/memory.module.js.map +0 -1
  359. package/dist/cjs/modules/memory/providers/inmemory.d.ts +0 -14
  360. package/dist/cjs/modules/memory/providers/inmemory.d.ts.map +0 -1
  361. package/dist/cjs/modules/memory/providers/inmemory.js +0 -27
  362. package/dist/cjs/modules/memory/providers/inmemory.js.map +0 -1
  363. package/dist/cjs/modules/memory/providers/mongodb/index.d.ts +0 -12
  364. package/dist/cjs/modules/memory/providers/mongodb/index.d.ts.map +0 -1
  365. package/dist/cjs/modules/memory/providers/mongodb/index.js +0 -91
  366. package/dist/cjs/modules/memory/providers/mongodb/index.js.map +0 -1
  367. package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.d.ts +0 -26
  368. package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.d.ts.map +0 -1
  369. package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.js +0 -79
  370. package/dist/cjs/modules/memory/providers/mongodb/models/chats.model.js.map +0 -1
  371. package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts +0 -27
  372. package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts.map +0 -1
  373. package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js +0 -59
  374. package/dist/cjs/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js.map +0 -1
  375. package/dist/cjs/modules/models/base/index.d.ts +0 -57
  376. package/dist/cjs/modules/models/base/index.d.ts.map +0 -1
  377. package/dist/cjs/modules/models/base/index.js +0 -17
  378. package/dist/cjs/modules/models/base/index.js.map +0 -1
  379. package/dist/cjs/modules/models/base.model.d.ts +0 -57
  380. package/dist/cjs/modules/models/base.model.d.ts.map +0 -1
  381. package/dist/cjs/modules/models/base.model.js +0 -17
  382. package/dist/cjs/modules/models/base.model.js.map +0 -1
  383. package/dist/cjs/modules/models/model.module.d.ts +0 -33
  384. package/dist/cjs/modules/models/model.module.d.ts.map +0 -1
  385. package/dist/cjs/modules/models/model.module.js +0 -67
  386. package/dist/cjs/modules/models/model.module.js.map +0 -1
  387. package/dist/cjs/modules/models/providers/gemini.d.ts +0 -20
  388. package/dist/cjs/modules/models/providers/gemini.d.ts.map +0 -1
  389. package/dist/cjs/modules/models/providers/gemini.js +0 -111
  390. package/dist/cjs/modules/models/providers/gemini.js.map +0 -1
  391. package/dist/cjs/modules/models/providers/openai.d.ts +0 -20
  392. package/dist/cjs/modules/models/providers/openai.d.ts.map +0 -1
  393. package/dist/cjs/modules/models/providers/openai.js +0 -117
  394. package/dist/cjs/modules/models/providers/openai.js.map +0 -1
  395. package/dist/cjs/package.json +0 -1
  396. package/dist/cjs/routes/a2a.routes.d.ts +0 -12
  397. package/dist/cjs/routes/a2a.routes.d.ts.map +0 -1
  398. package/dist/cjs/routes/a2a.routes.js +0 -29
  399. package/dist/cjs/routes/a2a.routes.js.map +0 -1
  400. package/dist/cjs/routes/api/models.routes.d.ts +0 -4
  401. package/dist/cjs/routes/api/models.routes.d.ts.map +0 -1
  402. package/dist/cjs/routes/api/models.routes.js +0 -14
  403. package/dist/cjs/routes/api/models.routes.js.map +0 -1
  404. package/dist/cjs/routes/api/sessions.routes.d.ts +0 -4
  405. package/dist/cjs/routes/api/sessions.routes.d.ts.map +0 -1
  406. package/dist/cjs/routes/api/sessions.routes.js +0 -14
  407. package/dist/cjs/routes/api/sessions.routes.js.map +0 -1
  408. package/dist/cjs/routes/api.routes.d.ts +0 -4
  409. package/dist/cjs/routes/api.routes.d.ts.map +0 -1
  410. package/dist/cjs/routes/api.routes.js +0 -16
  411. package/dist/cjs/routes/api.routes.js.map +0 -1
  412. package/dist/cjs/routes/index.d.ts +0 -5
  413. package/dist/cjs/routes/index.d.ts.map +0 -1
  414. package/dist/cjs/routes/index.js +0 -10
  415. package/dist/cjs/routes/index.js.map +0 -1
  416. package/dist/cjs/routes/query.routes.d.ts +0 -4
  417. package/dist/cjs/routes/query.routes.d.ts.map +0 -1
  418. package/dist/cjs/routes/query.routes.js +0 -15
  419. package/dist/cjs/routes/query.routes.js.map +0 -1
  420. package/dist/cjs/services/a2a.service.d.ts +0 -15
  421. package/dist/cjs/services/a2a.service.d.ts.map +0 -1
  422. package/dist/cjs/services/a2a.service.js +0 -93
  423. package/dist/cjs/services/a2a.service.js.map +0 -1
  424. package/dist/cjs/services/index.d.ts +0 -3
  425. package/dist/cjs/services/index.d.ts.map +0 -1
  426. package/dist/cjs/services/index.js +0 -8
  427. package/dist/cjs/services/index.js.map +0 -1
  428. package/dist/cjs/services/query.service.d.ts +0 -57
  429. package/dist/cjs/services/query.service.d.ts.map +0 -1
  430. package/dist/cjs/services/query.service.js +0 -162
  431. package/dist/cjs/services/query.service.js.map +0 -1
  432. package/dist/cjs/types/fol.d.ts +0 -38
  433. package/dist/cjs/types/fol.d.ts.map +0 -1
  434. package/dist/cjs/types/fol.js +0 -3
  435. package/dist/cjs/types/fol.js.map +0 -1
  436. package/dist/cjs/types/index.d.ts +0 -49
  437. package/dist/cjs/types/index.d.ts.map +0 -1
  438. package/dist/cjs/types/index.js +0 -11
  439. package/dist/cjs/types/index.js.map +0 -1
  440. package/dist/cjs/types/mcp.d.ts +0 -5
  441. package/dist/cjs/types/mcp.d.ts.map +0 -1
  442. package/dist/cjs/types/mcp.js +0 -3
  443. package/dist/cjs/types/mcp.js.map +0 -1
  444. package/dist/cjs/types/memory.d.ts +0 -79
  445. package/dist/cjs/types/memory.d.ts.map +0 -1
  446. package/dist/cjs/types/memory.js +0 -23
  447. package/dist/cjs/types/memory.js.map +0 -1
  448. package/dist/cjs/types/tool.d.ts +0 -88
  449. package/dist/cjs/types/tool.d.ts.map +0 -1
  450. package/dist/cjs/types/tool.js +0 -14
  451. package/dist/cjs/types/tool.js.map +0 -1
  452. package/dist/cjs/utils/logger.d.ts +0 -13
  453. package/dist/cjs/utils/logger.d.ts.map +0 -1
  454. package/dist/cjs/utils/logger.js +0 -39
  455. package/dist/cjs/utils/logger.js.map +0 -1
  456. package/dist/esm/app.d.ts +0 -102
  457. package/dist/esm/app.d.ts.map +0 -1
  458. package/dist/esm/app.js +0 -163
  459. package/dist/esm/app.js.map +0 -1
  460. package/dist/esm/controllers/a2a.controller.d.ts.map +0 -1
  461. package/dist/esm/controllers/api/model.api.controller.d.ts.map +0 -1
  462. package/dist/esm/controllers/api/session.api.controller.d.ts.map +0 -1
  463. package/dist/esm/controllers/index.d.ts.map +0 -1
  464. package/dist/esm/controllers/query.controller.d.ts.map +0 -1
  465. package/dist/esm/middlewares/auth/base.d.ts +0 -5
  466. package/dist/esm/middlewares/auth/base.d.ts.map +0 -1
  467. package/dist/esm/middlewares/auth/base.js +0 -9
  468. package/dist/esm/middlewares/auth/base.js.map +0 -1
  469. package/dist/esm/middlewares/base.auth.middleward.d.ts +0 -5
  470. package/dist/esm/middlewares/base.auth.middleward.d.ts.map +0 -1
  471. package/dist/esm/middlewares/base.auth.middleward.js +0 -9
  472. package/dist/esm/middlewares/base.auth.middleward.js.map +0 -1
  473. package/dist/esm/middlewares/base.auth.middleware.d.ts +0 -5
  474. package/dist/esm/middlewares/base.auth.middleware.d.ts.map +0 -1
  475. package/dist/esm/middlewares/base.auth.middleware.js +0 -9
  476. package/dist/esm/middlewares/base.auth.middleware.js.map +0 -1
  477. package/dist/esm/middlewares/error.middleware.d.ts.map +0 -1
  478. package/dist/esm/modules/a2a/a2a.module.d.ts.map +0 -1
  479. package/dist/esm/modules/a2a/a2a.tool.d.ts.map +0 -1
  480. package/dist/esm/modules/fol/fol.module.d.ts +0 -31
  481. package/dist/esm/modules/fol/fol.module.d.ts.map +0 -1
  482. package/dist/esm/modules/fol/fol.module.js +0 -180
  483. package/dist/esm/modules/fol/fol.module.js.map +0 -1
  484. package/dist/esm/modules/fol/store/base.d.ts +0 -9
  485. package/dist/esm/modules/fol/store/base.d.ts.map +0 -1
  486. package/dist/esm/modules/fol/store/base.js +0 -3
  487. package/dist/esm/modules/fol/store/base.js.map +0 -1
  488. package/dist/esm/modules/fol/store/index.d.ts +0 -3
  489. package/dist/esm/modules/fol/store/index.d.ts.map +0 -1
  490. package/dist/esm/modules/fol/store/index.js +0 -3
  491. package/dist/esm/modules/fol/store/index.js.map +0 -1
  492. package/dist/esm/modules/fol/store/local.d.ts +0 -25
  493. package/dist/esm/modules/fol/store/local.d.ts.map +0 -1
  494. package/dist/esm/modules/fol/store/local.js +0 -214
  495. package/dist/esm/modules/fol/store/local.js.map +0 -1
  496. package/dist/esm/modules/index.d.ts.map +0 -1
  497. package/dist/esm/modules/mcp/mcp.module.d.ts.map +0 -1
  498. package/dist/esm/modules/mcp/mcp.tool.d.ts.map +0 -1
  499. package/dist/esm/modules/memory/base/index.d.ts +0 -33
  500. package/dist/esm/modules/memory/base/index.d.ts.map +0 -1
  501. package/dist/esm/modules/memory/base/index.js +0 -10
  502. package/dist/esm/modules/memory/base/index.js.map +0 -1
  503. package/dist/esm/modules/memory/base.memory.d.ts.map +0 -1
  504. package/dist/esm/modules/memory/memory.module.d.ts.map +0 -1
  505. package/dist/esm/modules/memory/providers/inmemory.d.ts +0 -14
  506. package/dist/esm/modules/memory/providers/inmemory.d.ts.map +0 -1
  507. package/dist/esm/modules/memory/providers/inmemory.js +0 -23
  508. package/dist/esm/modules/memory/providers/inmemory.js.map +0 -1
  509. package/dist/esm/modules/memory/providers/mongodb/index.d.ts +0 -12
  510. package/dist/esm/modules/memory/providers/mongodb/index.d.ts.map +0 -1
  511. package/dist/esm/modules/memory/providers/mongodb/index.js +0 -84
  512. package/dist/esm/modules/memory/providers/mongodb/index.js.map +0 -1
  513. package/dist/esm/modules/memory/providers/mongodb/models/chats.model.d.ts +0 -26
  514. package/dist/esm/modules/memory/providers/mongodb/models/chats.model.d.ts.map +0 -1
  515. package/dist/esm/modules/memory/providers/mongodb/models/chats.model.js +0 -43
  516. package/dist/esm/modules/memory/providers/mongodb/models/chats.model.js.map +0 -1
  517. package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts +0 -27
  518. package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.d.ts.map +0 -1
  519. package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js +0 -23
  520. package/dist/esm/modules/memory/providers/mongodb/models/intentTriggeringInfos.model.js.map +0 -1
  521. package/dist/esm/modules/models/base/index.d.ts +0 -57
  522. package/dist/esm/modules/models/base/index.d.ts.map +0 -1
  523. package/dist/esm/modules/models/base/index.js +0 -13
  524. package/dist/esm/modules/models/base/index.js.map +0 -1
  525. package/dist/esm/modules/models/base.model.d.ts.map +0 -1
  526. package/dist/esm/modules/models/model.module.d.ts.map +0 -1
  527. package/dist/esm/modules/models/providers/gemini.d.ts +0 -20
  528. package/dist/esm/modules/models/providers/gemini.d.ts.map +0 -1
  529. package/dist/esm/modules/models/providers/gemini.js +0 -107
  530. package/dist/esm/modules/models/providers/gemini.js.map +0 -1
  531. package/dist/esm/modules/models/providers/openai.d.ts +0 -20
  532. package/dist/esm/modules/models/providers/openai.d.ts.map +0 -1
  533. package/dist/esm/modules/models/providers/openai.js +0 -113
  534. package/dist/esm/modules/models/providers/openai.js.map +0 -1
  535. package/dist/esm/package.json +0 -1
  536. package/dist/esm/routes/a2a.routes.d.ts.map +0 -1
  537. package/dist/esm/routes/api/models.routes.d.ts.map +0 -1
  538. package/dist/esm/routes/api/sessions.routes.d.ts.map +0 -1
  539. package/dist/esm/routes/api.routes.d.ts.map +0 -1
  540. package/dist/esm/routes/index.d.ts.map +0 -1
  541. package/dist/esm/routes/query.routes.d.ts.map +0 -1
  542. package/dist/esm/services/a2a.service.d.ts.map +0 -1
  543. package/dist/esm/services/index.d.ts.map +0 -1
  544. package/dist/esm/services/query.service.d.ts.map +0 -1
  545. package/dist/esm/types/fol.d.ts.map +0 -1
  546. package/dist/esm/types/index.d.ts.map +0 -1
  547. package/dist/esm/types/mcp.d.ts.map +0 -1
  548. package/dist/esm/types/memory.d.ts.map +0 -1
  549. package/dist/esm/types/tool.d.ts.map +0 -1
  550. package/dist/esm/utils/logger.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/a2a/a2a.tool.ts"],"sourcesContent":["import type { AgentCard } from \"@a2a-js/sdk\";\nimport type { A2AClient } from \"@a2a-js/sdk/client\";\nimport { type IA2ATool, TOOL_PROTOCOL_TYPE } from \"@/types/tool.js\";\n\nexport class A2ATool implements IA2ATool {\n\tpublic id: string;\n\tpublic protocol: TOOL_PROTOCOL_TYPE;\n\tpublic enabled: boolean;\n\tpublic client: A2AClient;\n\tpublic card: AgentCard;\n\n\tconstructor(name: string, client: A2AClient, card: AgentCard) {\n\t\tthis.id = name;\n\t\tthis.protocol = TOOL_PROTOCOL_TYPE.A2A;\n\t\tthis.enabled = true;\n\t\tthis.client = client;\n\t\tthis.card = card;\n\t}\n\n\tpublic enable(): void {\n\t\tthis.enabled = true;\n\t}\n\n\tpublic disable(): void {\n\t\tthis.enabled = false;\n\t}\n}\n"],"mappings":";AAIO,IAAM,UAAN,MAAkC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEP,YAAY,MAAc,QAAmB,MAAiB;AAC7D,SAAK,KAAK;AACV,SAAK;AACL,SAAK,UAAU;AACf,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACb;AAAA,EAEO,SAAe;AACrB,SAAK,UAAU;AAAA,EAChB;AAAA,EAEO,UAAgB;AACtB,SAAK,UAAU;AAAA,EAChB;AACD;","names":[]}
@@ -0,0 +1,22 @@
1
+ import {
2
+ logger
3
+ } from "./chunk-64GEXWSE.js";
4
+
5
+ // src/middlewares/error.middleware.ts
6
+ var errorMiddleware = (error, req, res, next) => {
7
+ try {
8
+ const status = error.status || 500;
9
+ const message = error.message || "Something went wrong";
10
+ logger.error(
11
+ `[${req.method}] ${req.path} >> StatusCode:: ${status}, Message:: ${message}`
12
+ );
13
+ res.status(status).json({ message });
14
+ } catch (error2) {
15
+ next(error2);
16
+ }
17
+ };
18
+
19
+ export {
20
+ errorMiddleware
21
+ };
22
+ //# sourceMappingURL=chunk-DSZEHW6O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middlewares/error.middleware.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport type { AinHttpError } from \"@/types\";\nimport { logger } from \"@/utils/logger\";\n\nexport const errorMiddleware = (\n\terror: AinHttpError,\n\treq: Request,\n\tres: Response,\n\tnext: NextFunction,\n): void => {\n\ttry {\n\t\tconst status: number = error.status || 500;\n\t\tconst message: string = error.message || \"Something went wrong\";\n\n\t\tlogger.error(\n\t\t\t`[${req.method}] ${req.path} >> StatusCode:: ${status}, Message:: ${message}`,\n\t\t);\n\t\tres.status(status).json({ message });\n\t} catch (error) {\n\t\tnext(error);\n\t}\n};\n"],"mappings":";;;;;AAIO,IAAM,kBAAkB,CAC9B,OACA,KACA,KACA,SACU;AACV,MAAI;AACH,UAAM,SAAiB,MAAM,UAAU;AACvC,UAAM,UAAkB,MAAM,WAAW;AAEzC,WAAO;AAAA,MACN,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,oBAAoB,MAAM,eAAe,OAAO;AAAA,IAC5E;AACA,QAAI,OAAO,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;AAAA,EACpC,SAASA,QAAO;AACf,SAAKA,MAAK;AAAA,EACX;AACD;","names":["error"]}
@@ -0,0 +1,111 @@
1
+ import {
2
+ loggers
3
+ } from "./chunk-64GEXWSE.js";
4
+
5
+ // src/controllers/a2a.controller.ts
6
+ import {
7
+ A2AError,
8
+ DefaultExecutionEventBusManager,
9
+ DefaultRequestHandler,
10
+ JsonRpcTransportHandler
11
+ } from "@a2a-js/sdk/server";
12
+ var AINRequestHandler = class extends DefaultRequestHandler {
13
+ cardGenerator;
14
+ constructor(cardGenerator, taskStore, executor, eventBusManager = new DefaultExecutionEventBusManager()) {
15
+ const card = cardGenerator();
16
+ super(card, taskStore, executor, eventBusManager);
17
+ this.cardGenerator = cardGenerator;
18
+ }
19
+ async getAgentCard() {
20
+ return this.cardGenerator();
21
+ }
22
+ };
23
+ var A2AController = class {
24
+ jsonRpcTransportHandler;
25
+ constructor(a2aService, taskStore, cardGenerator) {
26
+ const requestHandler = new AINRequestHandler(
27
+ cardGenerator,
28
+ taskStore,
29
+ a2aService
30
+ // Injecting the service here as the executor
31
+ );
32
+ this.jsonRpcTransportHandler = new JsonRpcTransportHandler(requestHandler);
33
+ }
34
+ /**
35
+ * Handles the POST /a2a request.
36
+ */
37
+ handleA2ARequest = async (req, res) => {
38
+ try {
39
+ const rpcResponseOrStream = await this.jsonRpcTransportHandler.handle(
40
+ req.body
41
+ );
42
+ if (typeof rpcResponseOrStream?.[Symbol.asyncIterator] === "function") {
43
+ const stream = rpcResponseOrStream;
44
+ this.streamSse(req, res, stream);
45
+ } else {
46
+ const rpcResponse = rpcResponseOrStream;
47
+ res.status(200).json(rpcResponse);
48
+ }
49
+ } catch (error) {
50
+ this.handleError(req, res, error);
51
+ }
52
+ };
53
+ async streamSse(req, res, stream) {
54
+ res.setHeader("Content-Type", "text/event-stream");
55
+ res.setHeader("Cache-Control", "no-cache");
56
+ res.setHeader("Connection", "keep-alive");
57
+ res.flushHeaders();
58
+ try {
59
+ for await (const event of stream) {
60
+ res.write(`id: ${Date.now()}
61
+ `);
62
+ res.write(`data: ${JSON.stringify(event)}
63
+
64
+ `);
65
+ }
66
+ } catch (streamError) {
67
+ loggers.server.error(
68
+ `Error during SSE streaming (request ${req.body?.id}):`,
69
+ streamError
70
+ );
71
+ const a2aError = streamError instanceof A2AError ? streamError : A2AError.internalError("Streaming error");
72
+ const errorResponse = {
73
+ jsonrpc: "2.0",
74
+ id: req.body?.id || null,
75
+ error: a2aError.toJSONRPCError()
76
+ };
77
+ res.write(`id: ${Date.now()}
78
+ `);
79
+ res.write("event: error\n");
80
+ res.write(`data: ${JSON.stringify(errorResponse)}
81
+
82
+ `);
83
+ } finally {
84
+ if (!res.writableEnded) {
85
+ res.end();
86
+ }
87
+ }
88
+ }
89
+ handleError(req, res, error) {
90
+ loggers.server.error(
91
+ "Unhandled error in AINAgent A2A POST handler:",
92
+ error
93
+ );
94
+ const a2aError = error instanceof A2AError ? error : A2AError.internalError("General processing error");
95
+ const errorResponse = {
96
+ jsonrpc: "2.0",
97
+ id: req.body?.id || null,
98
+ error: a2aError.toJSONRPCError()
99
+ };
100
+ if (!res.headersSent) {
101
+ res.status(500).json(errorResponse);
102
+ } else if (!res.writableEnded) {
103
+ res.end();
104
+ }
105
+ }
106
+ };
107
+
108
+ export {
109
+ A2AController
110
+ };
111
+ //# sourceMappingURL=chunk-EODMRV4H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/a2a.controller.ts"],"sourcesContent":["import type {\n\tA2AResponse,\n\tAgentCard,\n\tJSONRPCErrorResponse,\n\tJSONRPCSuccessResponse,\n} from \"@a2a-js/sdk\";\nimport type {\n\tAgentExecutor,\n\tExecutionEventBusManager,\n\tTaskStore,\n} from \"@a2a-js/sdk/server\";\nimport {\n\tA2AError,\n\tDefaultExecutionEventBusManager,\n\tDefaultRequestHandler,\n\tJsonRpcTransportHandler,\n} from \"@a2a-js/sdk/server\";\nimport type { Request, Response } from \"express\";\nimport type { A2AService } from \"@/services/a2a.service.js\";\nimport { loggers } from \"@/utils/logger.js\";\n\n/**\n * Handles the transport layer for A2A communication.\n * It orchestrates the A2A-JS SDK components and manages the HTTP request/response lifecycle.\n */\n\nclass AINRequestHandler extends DefaultRequestHandler {\n\tprivate cardGenerator: () => AgentCard;\n\n\tconstructor(\n\t\tcardGenerator: () => AgentCard,\n\t\ttaskStore: TaskStore,\n\t\texecutor: AgentExecutor,\n\t\teventBusManager: ExecutionEventBusManager = new DefaultExecutionEventBusManager(),\n\t) {\n\t\tconst card = cardGenerator();\n\t\tsuper(card, taskStore, executor, eventBusManager);\n\t\tthis.cardGenerator = cardGenerator;\n\t}\n\n\tasync getAgentCard(): Promise<AgentCard> {\n\t\treturn this.cardGenerator();\n\t}\n}\n\nexport class A2AController {\n\tprivate jsonRpcTransportHandler: JsonRpcTransportHandler;\n\n\tconstructor(\n\t\ta2aService: A2AService,\n\t\ttaskStore: TaskStore,\n\t\tcardGenerator: () => AgentCard,\n\t) {\n\t\t// The controller is responsible for setting up the SDK components.\n\t\tconst requestHandler = new AINRequestHandler(\n\t\t\tcardGenerator,\n\t\t\ttaskStore,\n\t\t\ta2aService, // Injecting the service here as the executor\n\t\t);\n\t\tthis.jsonRpcTransportHandler = new JsonRpcTransportHandler(requestHandler);\n\t}\n\n\t/**\n\t * Handles the POST /a2a request.\n\t */\n\tpublic handleA2ARequest = async (req: Request, res: Response) => {\n\t\ttry {\n\t\t\tconst rpcResponseOrStream = await this.jsonRpcTransportHandler.handle(\n\t\t\t\treq.body,\n\t\t\t);\n\n\t\t\t// Handle streaming responses (AsyncGenerator)\n\t\t\tif (\n\t\t\t\ttypeof (rpcResponseOrStream as any)?.[Symbol.asyncIterator] ===\n\t\t\t\t\"function\"\n\t\t\t) {\n\t\t\t\tconst stream = rpcResponseOrStream as AsyncGenerator<\n\t\t\t\t\tJSONRPCSuccessResponse,\n\t\t\t\t\tvoid,\n\t\t\t\t\tundefined\n\t\t\t\t>;\n\t\t\t\tthis.streamSse(req, res, stream);\n\t\t\t} else {\n\t\t\t\t// Handle single JSON-RPC response\n\t\t\t\tconst rpcResponse = rpcResponseOrStream as A2AResponse;\n\t\t\t\tres.status(200).json(rpcResponse);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tthis.handleError(req, res, error);\n\t\t}\n\t};\n\n\tprivate async streamSse(\n\t\treq: Request,\n\t\tres: Response,\n\t\tstream: AsyncGenerator<JSONRPCSuccessResponse, void, undefined>,\n\t) {\n\t\tres.setHeader(\"Content-Type\", \"text/event-stream\");\n\t\tres.setHeader(\"Cache-Control\", \"no-cache\");\n\t\tres.setHeader(\"Connection\", \"keep-alive\");\n\t\tres.flushHeaders();\n\n\t\ttry {\n\t\t\tfor await (const event of stream) {\n\t\t\t\tres.write(`id: ${Date.now()}\\n`);\n\t\t\t\tres.write(`data: ${JSON.stringify(event)}\\n\\n`);\n\t\t\t}\n\t\t} catch (streamError: unknown) {\n\t\t\tloggers.server.error(\n\t\t\t\t`Error during SSE streaming (request ${req.body?.id}):`,\n\t\t\t\tstreamError,\n\t\t\t);\n\t\t\tconst a2aError =\n\t\t\t\tstreamError instanceof A2AError\n\t\t\t\t\t? streamError\n\t\t\t\t\t: A2AError.internalError(\"Streaming error\");\n\t\t\tconst errorResponse: JSONRPCErrorResponse = {\n\t\t\t\tjsonrpc: \"2.0\",\n\t\t\t\tid: req.body?.id || null,\n\t\t\t\terror: a2aError.toJSONRPCError(),\n\t\t\t};\n\t\t\tres.write(`id: ${Date.now()}\\n`);\n\t\t\tres.write(\"event: error\\n\");\n\t\t\tres.write(`data: ${JSON.stringify(errorResponse)}\\n\\n`);\n\t\t} finally {\n\t\t\tif (!res.writableEnded) {\n\t\t\t\tres.end();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleError(req: Request, res: Response, error: unknown) {\n\t\tloggers.server.error(\n\t\t\t\"Unhandled error in AINAgent A2A POST handler:\",\n\t\t\terror,\n\t\t);\n\t\tconst a2aError =\n\t\t\terror instanceof A2AError\n\t\t\t\t? error\n\t\t\t\t: A2AError.internalError(\"General processing error\");\n\t\tconst errorResponse: JSONRPCErrorResponse = {\n\t\t\tjsonrpc: \"2.0\",\n\t\t\tid: req.body?.id || null,\n\t\t\terror: a2aError.toJSONRPCError(),\n\t\t};\n\t\tif (!res.headersSent) {\n\t\t\tres.status(500).json(errorResponse);\n\t\t} else if (!res.writableEnded) {\n\t\t\tres.end();\n\t\t}\n\t}\n}\n"],"mappings":";;;;;AAWA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAUP,IAAM,oBAAN,cAAgC,sBAAsB;AAAA,EAC7C;AAAA,EAER,YACC,eACA,WACA,UACA,kBAA4C,IAAI,gCAAgC,GAC/E;AACD,UAAM,OAAO,cAAc;AAC3B,UAAM,MAAM,WAAW,UAAU,eAAe;AAChD,SAAK,gBAAgB;AAAA,EACtB;AAAA,EAEA,MAAM,eAAmC;AACxC,WAAO,KAAK,cAAc;AAAA,EAC3B;AACD;AAEO,IAAM,gBAAN,MAAoB;AAAA,EAClB;AAAA,EAER,YACC,YACA,WACA,eACC;AAED,UAAM,iBAAiB,IAAI;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IACD;AACA,SAAK,0BAA0B,IAAI,wBAAwB,cAAc;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKO,mBAAmB,OAAO,KAAc,QAAkB;AAChE,QAAI;AACH,YAAM,sBAAsB,MAAM,KAAK,wBAAwB;AAAA,QAC9D,IAAI;AAAA,MACL;AAGA,UACC,OAAQ,sBAA8B,OAAO,aAAa,MAC1D,YACC;AACD,cAAM,SAAS;AAKf,aAAK,UAAU,KAAK,KAAK,MAAM;AAAA,MAChC,OAAO;AAEN,cAAM,cAAc;AACpB,YAAI,OAAO,GAAG,EAAE,KAAK,WAAW;AAAA,MACjC;AAAA,IACD,SAAS,OAAgB;AACxB,WAAK,YAAY,KAAK,KAAK,KAAK;AAAA,IACjC;AAAA,EACD;AAAA,EAEA,MAAc,UACb,KACA,KACA,QACC;AACD,QAAI,UAAU,gBAAgB,mBAAmB;AACjD,QAAI,UAAU,iBAAiB,UAAU;AACzC,QAAI,UAAU,cAAc,YAAY;AACxC,QAAI,aAAa;AAEjB,QAAI;AACH,uBAAiB,SAAS,QAAQ;AACjC,YAAI,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,CAAI;AAC/B,YAAI,MAAM,SAAS,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,CAAM;AAAA,MAC/C;AAAA,IACD,SAAS,aAAsB;AAC9B,cAAQ,OAAO;AAAA,QACd,uCAAuC,IAAI,MAAM,EAAE;AAAA,QACnD;AAAA,MACD;AACA,YAAM,WACL,uBAAuB,WACpB,cACA,SAAS,cAAc,iBAAiB;AAC5C,YAAM,gBAAsC;AAAA,QAC3C,SAAS;AAAA,QACT,IAAI,IAAI,MAAM,MAAM;AAAA,QACpB,OAAO,SAAS,eAAe;AAAA,MAChC;AACA,UAAI,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,CAAI;AAC/B,UAAI,MAAM,gBAAgB;AAC1B,UAAI,MAAM,SAAS,KAAK,UAAU,aAAa,CAAC;AAAA;AAAA,CAAM;AAAA,IACvD,UAAE;AACD,UAAI,CAAC,IAAI,eAAe;AACvB,YAAI,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAAA,EAEQ,YAAY,KAAc,KAAe,OAAgB;AAChE,YAAQ,OAAO;AAAA,MACd;AAAA,MACA;AAAA,IACD;AACA,UAAM,WACL,iBAAiB,WACd,QACA,SAAS,cAAc,0BAA0B;AACrD,UAAM,gBAAsC;AAAA,MAC3C,SAAS;AAAA,MACT,IAAI,IAAI,MAAM,MAAM;AAAA,MACpB,OAAO,SAAS,eAAe;AAAA,IAChC;AACA,QAAI,CAAC,IAAI,aAAa;AACrB,UAAI,OAAO,GAAG,EAAE,KAAK,aAAa;AAAA,IACnC,WAAW,CAAC,IAAI,eAAe;AAC9B,UAAI,IAAI;AAAA,IACT;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,11 @@
1
+ // src/types/tool.ts
2
+ var TOOL_PROTOCOL_TYPE = /* @__PURE__ */ ((TOOL_PROTOCOL_TYPE2) => {
3
+ TOOL_PROTOCOL_TYPE2["A2A"] = "A2A";
4
+ TOOL_PROTOCOL_TYPE2["MCP"] = "MCP";
5
+ return TOOL_PROTOCOL_TYPE2;
6
+ })(TOOL_PROTOCOL_TYPE || {});
7
+
8
+ export {
9
+ TOOL_PROTOCOL_TYPE
10
+ };
11
+ //# sourceMappingURL=chunk-FI2UQLVC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/tool.ts"],"sourcesContent":["import type { AgentCard } from \"@a2a-js/sdk\";\nimport type { A2AClient } from \"@a2a-js/sdk/client\";\nimport type { Tool } from \"@modelcontextprotocol/sdk/types.js\";\n\n/**\n * Supported tool protocol types in the AIN-ADK framework.\n */\nexport enum TOOL_PROTOCOL_TYPE {\n\t/** Agent-to-Agent protocol */\n\tA2A = \"A2A\",\n\t/** Model Context Protocol */\n\tMCP = \"MCP\",\n}\n\n/**\n * Represents a tool invocation request.\n */\nexport type ToolCall = {\n\t/** Name of the tool to invoke */\n\tname: string;\n\t/** Arguments to pass to the tool */\n\targuments?: Record<string, unknown>;\n};\n\n/**\n * Response from a model fetch operation.\n *\n * Contains either content (text response) or tool calls (function invocations),\n * or both in the case of mixed responses.\n */\nexport type FetchResponse = {\n\t/** Text content response from the model */\n\tcontent?: string;\n\t/** Array of tool calls requested by the model */\n\ttoolCalls?: ToolCall[];\n};\n\n/**\n * MCP-specific tool implementation.\n *\n * Wraps an MCP tool with additional metadata and functionality\n * required for integration with the AIN-ADK framework.\n */\nexport interface IMCPTool extends IAgentTool {\n\t/** The underlying MCP tool definition */\n\tmcpTool: Tool;\n\t/** Name of the MCP server providing this tool */\n\tserverName: string;\n}\n\n/**\n * A2A-specific tool implementation.\n *\n * Represents a tool provided by another agent through the A2A protocol,\n * including the client connection and agent metadata.\n */\nexport interface IA2ATool extends IAgentTool {\n\t/** A2A client instance for communication with the remote agent */\n\tclient: A2AClient;\n\t/** Agent card containing metadata about the remote agent */\n\tcard: AgentCard;\n}\n\n/**\n * Base interface for all tools in the AIN-ADK framework.\n *\n * Provides a protocol-agnostic interface for tool management,\n * allowing tools from different sources (MCP, A2A) to be used\n * interchangeably throughout the system.\n *\n * @example\n * ```typescript\n * const tool: IAgentTool = {\n * id: \"search-tool\",\n * protocol: TOOL_PROTOCOL_TYPE.MCP,\n * enabled: true,\n * enable: () => { this.enabled = true; },\n * disable: () => { this.enabled = false; }\n * };\n * ```\n */\nexport interface IAgentTool {\n\t/** Unique identifier for the tool */\n\tid: string;\n\t/** Protocol type (MCP or A2A) */\n\tprotocol: TOOL_PROTOCOL_TYPE;\n\t/** Whether the tool is currently enabled for use */\n\tenabled: boolean;\n\t/** Enables the tool for use */\n\tenable: () => void;\n\t/** Disables the tool from being used */\n\tdisable: () => void;\n}\n"],"mappings":";AAOO,IAAK,qBAAL,kBAAKA,wBAAL;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAJK,SAAAA;AAAA,GAAA;","names":["TOOL_PROTOCOL_TYPE"]}
@@ -0,0 +1,42 @@
1
+ import {
2
+ AinHttpError
3
+ } from "./chunk-5SZU5YDN.js";
4
+
5
+ // src/middlewares/auth.middleware.ts
6
+ import { StatusCodes } from "http-status-codes";
7
+ var AuthMiddleware = class {
8
+ auth;
9
+ constructor(auth) {
10
+ this.auth = auth;
11
+ }
12
+ middleware() {
13
+ return async (req, res, next) => {
14
+ try {
15
+ const isAuthenticated = await this.auth.authenticate(req, res);
16
+ if (isAuthenticated) {
17
+ next();
18
+ } else {
19
+ const error = new AinHttpError(
20
+ StatusCodes.UNAUTHORIZED,
21
+ "Unauthorized"
22
+ );
23
+ throw error;
24
+ }
25
+ } catch (e) {
26
+ if (!e.status) {
27
+ const error = new AinHttpError(
28
+ StatusCodes.INTERNAL_SERVER_ERROR,
29
+ `Authentication error: ${JSON.stringify(e)}`
30
+ );
31
+ throw error;
32
+ }
33
+ throw e;
34
+ }
35
+ };
36
+ }
37
+ };
38
+
39
+ export {
40
+ AuthMiddleware
41
+ };
42
+ //# sourceMappingURL=chunk-FO2KESGM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/middlewares/auth.middleware.ts"],"sourcesContent":["import type { NextFunction, Request, RequestHandler, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { BaseAuth } from \"@/modules/auth/base.auth\";\nimport { AinHttpError } from \"@/types\";\n\nexport class AuthMiddleware {\n\tprivate auth: BaseAuth;\n\tconstructor(auth: BaseAuth) {\n\t\tthis.auth = auth;\n\t}\n\n\tpublic middleware(): RequestHandler {\n\t\treturn async (req: Request, res: Response, next: NextFunction) => {\n\t\t\ttry {\n\t\t\t\tconst isAuthenticated = await this.auth.authenticate(req, res);\n\t\t\t\tif (isAuthenticated) {\n\t\t\t\t\tnext();\n\t\t\t\t} else {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.UNAUTHORIZED,\n\t\t\t\t\t\t\"Unauthorized\",\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t} catch (e: any) {\n\t\t\t\tif (!e.status) {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.INTERNAL_SERVER_ERROR,\n\t\t\t\t\t\t`Authentication error: ${JSON.stringify(e)}`,\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t};\n\t}\n}\n"],"mappings":";;;;;AACA,SAAS,mBAAmB;AAIrB,IAAM,iBAAN,MAAqB;AAAA,EACnB;AAAA,EACR,YAAY,MAAgB;AAC3B,SAAK,OAAO;AAAA,EACb;AAAA,EAEO,aAA6B;AACnC,WAAO,OAAO,KAAc,KAAe,SAAuB;AACjE,UAAI;AACH,cAAM,kBAAkB,MAAM,KAAK,KAAK,aAAa,KAAK,GAAG;AAC7D,YAAI,iBAAiB;AACpB,eAAK;AAAA,QACN,OAAO;AACN,gBAAM,QAAsB,IAAI;AAAA,YAC/B,YAAY;AAAA,YACZ;AAAA,UACD;AACA,gBAAM;AAAA,QACP;AAAA,MACD,SAAS,GAAQ;AAChB,YAAI,CAAC,EAAE,QAAQ;AACd,gBAAM,QAAsB,IAAI;AAAA,YAC/B,YAAY;AAAA,YACZ,yBAAyB,KAAK,UAAU,CAAC,CAAC;AAAA,UAC3C;AACA,gBAAM;AAAA,QACP;AACA,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,8 @@
1
+ // src/modules/models/base.model.ts
2
+ var BaseModel = class {
3
+ };
4
+
5
+ export {
6
+ BaseModel
7
+ };
8
+ //# sourceMappingURL=chunk-GZFRRFOE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/models/base.model.ts"],"sourcesContent":["import type { SessionObject } from \"@/types/memory.js\";\nimport type { FetchResponse, IAgentTool } from \"@/types/tool.js\";\n\n/**\n * Abstract base class for AI model implementations.\n *\n * Provides a common interface for different AI model providers (OpenAI, Gemini, etc.)\n * to integrate with the AIN-ADK framework. Each model implementation must handle\n * message formatting, tool conversion, and API communication.\n *\n * @typeParam MessageType - The message format used by the specific model API\n * @typeParam FunctionType - The function/tool format used by the specific model API\n */\nexport abstract class BaseModel<MessageType, FunctionType> {\n\t/**\n\t * Generates an array of messages from session history and current query.\n\t *\n\t * @param sessionHistory - Previous conversation history\n\t * @param query - Current user query\n\t * @param systemPrompt - Optional system prompt to set context\n\t * @returns Array of messages formatted for the specific model API\n\t */\n\tabstract generateMessages(params: {\n\t\tquery: string;\n\t\tsessionHistory?: SessionObject;\n\t\tsystemPrompt?: string;\n\t}): MessageType[];\n\n\t/**\n\t * Appends a new message to the existing message array.\n\t *\n\t * @param messages - Existing message array to expand\n\t * @param message - New message content to append\n\t */\n\tabstract appendMessages(messages: MessageType[], message: string): void;\n\n\t/**\n\t * Converts protocol-agnostic tools to model-specific function format.\n\t *\n\t * @param tools - Array of agent tools from MCP or A2A sources\n\t * @returns Array of functions in the format required by the model API\n\t */\n\tabstract convertToolsToFunctions(tools: IAgentTool[]): FunctionType[];\n\n\t/**\n\t * Fetches a response from the model API without tool support.\n\t *\n\t * @param messages - Array of messages to send to the model\n\t * @returns Promise resolving to the model's response\n\t */\n\tabstract fetch(messages: MessageType[]): Promise<FetchResponse>;\n\n\t/**\n\t * Fetches a response from the model API with tool/function support.\n\t *\n\t * @param messages - Array of messages to send to the model\n\t * @param functions - Array of available functions/tools the model can call\n\t * @returns Promise resolving to the model's response, possibly including tool calls\n\t */\n\tabstract fetchWithContextMessage(\n\t\tmessages: MessageType[],\n\t\tfunctions: FunctionType[],\n\t): Promise<FetchResponse>;\n}\n"],"mappings":";AAaO,IAAe,YAAf,MAAoD;AAkD3D;","names":[]}
@@ -0,0 +1,17 @@
1
+ import {
2
+ SessionApiController
3
+ } from "./chunk-XBKWMBQQ.js";
4
+
5
+ // src/routes/api/sessions.routes.ts
6
+ import { Router } from "express";
7
+ var createSessionApiRouter = (memoryModule) => {
8
+ const router = Router();
9
+ const sessionApiController = new SessionApiController(memoryModule);
10
+ router.get("/:id", sessionApiController.handleSessionHistory);
11
+ return router;
12
+ };
13
+
14
+ export {
15
+ createSessionApiRouter
16
+ };
17
+ //# sourceMappingURL=chunk-HE54QMIW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/routes/api/sessions.routes.ts"],"sourcesContent":["import { Router } from \"express\";\nimport { SessionApiController } from \"@/controllers/api/session.api.controller.js\";\nimport type { MemoryModule } from \"@/modules/index.js\";\n\nexport const createSessionApiRouter = (memoryModule: MemoryModule): Router => {\n\tconst router = Router();\n\tconst sessionApiController = new SessionApiController(memoryModule);\n\n\t// APIs (prefix: /api/sessions)\n\trouter.get(\"/:id\", sessionApiController.handleSessionHistory);\n\n\treturn router;\n};\n"],"mappings":";;;;;AAAA,SAAS,cAAc;AAIhB,IAAM,yBAAyB,CAAC,iBAAuC;AAC7E,QAAM,SAAS,OAAO;AACtB,QAAM,uBAAuB,IAAI,qBAAqB,YAAY;AAGlE,SAAO,IAAI,QAAQ,qBAAqB,oBAAoB;AAE5D,SAAO;AACR;","names":[]}
@@ -0,0 +1,8 @@
1
+ // src/modules/auth/base.auth.ts
2
+ var BaseAuth = class {
3
+ };
4
+
5
+ export {
6
+ BaseAuth
7
+ };
8
+ //# sourceMappingURL=chunk-KJ4MVCYE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/auth/base.auth.ts"],"sourcesContent":["import type { Request, Response } from \"express\";\n\nexport abstract class BaseAuth {\n\tabstract authenticate(req: Request, res: Response): Promise<boolean>;\n}\n"],"mappings":";AAEO,IAAe,WAAf,MAAwB;AAE/B;","names":[]}
@@ -0,0 +1,8 @@
1
+ // src/modules/memory/base.memory.ts
2
+ var BaseMemory = class {
3
+ };
4
+
5
+ export {
6
+ BaseMemory
7
+ };
8
+ //# sourceMappingURL=chunk-KUMCCCED.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/memory/base.memory.ts"],"sourcesContent":["import type { ChatObject, SessionObject } from \"@/types/memory.js\";\n\n/**\n * Abstract base class for memory storage implementations.\n *\n * Provides an interface for storing and retrieving conversation history\n * and query-intent pairs. Implementations can use various backends\n * such as in-memory storage, databases, or file systems.\n */\nexport abstract class BaseMemory {\n\t/**\n\t * Retrieves the conversation history for a specific session.\n\t *\n\t * @param sessionId - Unique identifier for the session\n\t * @returns Promise resolving to the session's conversation history\n\t */\n\tabstract getSessionHistory(sessionId: string): Promise<SessionObject>;\n\t/**\n\t * Adds a new chat message to the session history.\n\t *\n\t * @param sessionId - Unique identifier for the session\n\t * @param chat - The chat object to add to the history\n\t */\n\tabstract updateSessionHistory(\n\t\tsessionId: string,\n\t\tchat: ChatObject,\n\t): Promise<void>;\n\t/**\n\t * Stores a query-intent pair for analysis or training purposes.\n\t *\n\t * @param query - The user's input query\n\t * @param intent - The detected intent for the query\n\t * @param sessionId - Unique identifier for the session\n\t */\n\tabstract storeQueryAndIntent(\n\t\tquery: string,\n\t\tintent: string,\n\t\tsessionId: string,\n\t): Promise<void>;\n}\n"],"mappings":";AASO,IAAe,aAAf,MAA0B;AA8BjC;","names":[]}
@@ -0,0 +1,52 @@
1
+ // src/modules/models/model.module.ts
2
+ var ModelModule = class {
3
+ /** Registry of available models indexed by name */
4
+ models = {};
5
+ /** Name of the default model to use when none specified */
6
+ defaultModelName;
7
+ /**
8
+ * Registers a new model with the module.
9
+ *
10
+ * @param name - Unique identifier for the model
11
+ * @param model - Model instance implementing BaseModel
12
+ * @param isDefault - Whether to set this as the default model
13
+ */
14
+ addModel(name, model, isDefault) {
15
+ this.models[name] = model;
16
+ if (isDefault || !this.defaultModelName) {
17
+ this.defaultModelName = name;
18
+ }
19
+ }
20
+ /**
21
+ * Retrieves a model by name or returns the default model.
22
+ *
23
+ * @param name - Optional model name to retrieve
24
+ * @returns The requested model or default model if name not provided
25
+ * @throws Error if no default model is set and name is not provided
26
+ */
27
+ getModel(name) {
28
+ if (!this.defaultModelName) {
29
+ throw Error("No default model");
30
+ }
31
+ if (!name || !this.models[name]) {
32
+ return this.models[this.defaultModelName];
33
+ }
34
+ return this.models[name];
35
+ }
36
+ /**
37
+ * Returns information about all registered models.
38
+ *
39
+ * @returns Object containing all models and the default model name
40
+ */
41
+ getModelList() {
42
+ return {
43
+ models: Object.keys(this.models),
44
+ defaultModelName: this.defaultModelName
45
+ };
46
+ }
47
+ };
48
+
49
+ export {
50
+ ModelModule
51
+ };
52
+ //# sourceMappingURL=chunk-PHKK5NHK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/models/model.module.ts"],"sourcesContent":["import type { BaseModel } from \"./base.model.js\";\n\n/*\n * Module for managing multiple AI model implementations.\n *\n * Allows registration of multiple models and provides a unified interface\n * for accessing them. Supports setting a default model for convenience.\n *\n * @example\n * ```typescript\n * const modelModule = new ModelModule();\n * modelModule.addModel(\"gpt-4\", new OpenAIModel(\"gpt-4\"), true);\n * modelModule.addModel(\"gemini\", new GeminiModel(\"gemini-pro\"));\n *\n * const defaultModel = modelModule.getModel();\n * const specificModel = modelModule.getModel(\"gemini\");\n * ```\n */\nexport class ModelModule {\n\t/** Registry of available models indexed by name */\n\tprivate models: { [name: string]: BaseModel<unknown, unknown> } = {};\n\t/** Name of the default model to use when none specified */\n\tprivate defaultModelName?: string;\n\n\t/**\n\t * Registers a new model with the module.\n\t *\n\t * @param name - Unique identifier for the model\n\t * @param model - Model instance implementing BaseModel\n\t * @param isDefault - Whether to set this as the default model\n\t */\n\tpublic addModel(\n\t\tname: string,\n\t\tmodel: BaseModel<unknown, unknown>,\n\t\tisDefault?: boolean,\n\t) {\n\t\tthis.models[name] = model;\n\t\tif (isDefault || !this.defaultModelName) {\n\t\t\tthis.defaultModelName = name;\n\t\t}\n\t}\n\n\t/**\n\t * Retrieves a model by name or returns the default model.\n\t *\n\t * @param name - Optional model name to retrieve\n\t * @returns The requested model or default model if name not provided\n\t * @throws Error if no default model is set and name is not provided\n\t */\n\tpublic getModel(name?: string): BaseModel<unknown, unknown> {\n\t\tif (!this.defaultModelName) {\n\t\t\tthrow Error(\"No default model\");\n\t\t}\n\n\t\tif (!name || !this.models[name]) {\n\t\t\treturn this.models[this.defaultModelName];\n\t\t}\n\t\treturn this.models[name];\n\t}\n\n\t/**\n\t * Returns information about all registered models.\n\t *\n\t * @returns Object containing all models and the default model name\n\t */\n\tpublic getModelList() {\n\t\treturn {\n\t\t\tmodels: Object.keys(this.models),\n\t\t\tdefaultModelName: this.defaultModelName,\n\t\t};\n\t}\n}\n"],"mappings":";AAkBO,IAAM,cAAN,MAAkB;AAAA;AAAA,EAEhB,SAA0D,CAAC;AAAA;AAAA,EAE3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASD,SACN,MACA,OACA,WACC;AACD,SAAK,OAAO,IAAI,IAAI;AACpB,QAAI,aAAa,CAAC,KAAK,kBAAkB;AACxC,WAAK,mBAAmB;AAAA,IACzB;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASO,SAAS,MAA4C;AAC3D,QAAI,CAAC,KAAK,kBAAkB;AAC3B,YAAM,MAAM,kBAAkB;AAAA,IAC/B;AAEA,QAAI,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,GAAG;AAChC,aAAO,KAAK,OAAO,KAAK,gBAAgB;AAAA,IACzC;AACA,WAAO,KAAK,OAAO,IAAI;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,eAAe;AACrB,WAAO;AAAA,MACN,QAAQ,OAAO,KAAK,KAAK,MAAM;AAAA,MAC/B,kBAAkB,KAAK;AAAA,IACxB;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,168 @@
1
+ import {
2
+ A2ATool
3
+ } from "./chunk-DGH3GB5I.js";
4
+ import {
5
+ loggers
6
+ } from "./chunk-64GEXWSE.js";
7
+
8
+ // src/modules/a2a/a2a.module.ts
9
+ import { randomUUID } from "crypto";
10
+ import { A2AClient } from "@a2a-js/sdk/client";
11
+ var A2AModule = class {
12
+ /** Map of A2A server URLs to their corresponding tool instances */
13
+ a2aPeerServers = /* @__PURE__ */ new Map();
14
+ /** Map of session IDs to their A2A session state */
15
+ a2aSessions = /* @__PURE__ */ new Map();
16
+ /**
17
+ * Registers a new A2A peer server URL for connection.
18
+ *
19
+ * @param url - The URL of the A2A-compatible agent to connect to
20
+ */
21
+ async addA2APeerServer(url) {
22
+ this.a2aPeerServers.set(url, null);
23
+ }
24
+ /**
25
+ * Retrieves tools from all registered A2A peer servers.
26
+ *
27
+ * Attempts to connect to each registered server, fetch their agent cards,
28
+ * and create tool instances. Disables tools for unreachable servers.
29
+ *
30
+ * @returns Promise resolving to array of available A2A tools
31
+ */
32
+ async getTools() {
33
+ const tools = [];
34
+ for (const url of [...this.a2aPeerServers.keys()]) {
35
+ const tool = this.a2aPeerServers.get(url);
36
+ if (!tool || !tool.enabled) {
37
+ try {
38
+ const client = new A2AClient(url);
39
+ const card = await client.getAgentCard();
40
+ const toolName = card.name.replaceAll(" ", "-");
41
+ const a2aTool = new A2ATool(toolName, client, card);
42
+ tools.push(a2aTool);
43
+ } catch (_error) {
44
+ if (tool) {
45
+ tool.disable();
46
+ }
47
+ }
48
+ } else {
49
+ tools.push(tool);
50
+ }
51
+ }
52
+ return tools;
53
+ }
54
+ /**
55
+ * Gets or creates an A2A session for the given session ID.
56
+ *
57
+ * @param sessionId - The session identifier
58
+ * @returns A2ASession object with task and context IDs
59
+ */
60
+ getA2ASessionWithId = (sessionId) => {
61
+ const a2aSession = this.a2aSessions.get(sessionId) ?? {
62
+ taskId: void 0,
63
+ contextId: void 0
64
+ };
65
+ if (!this.a2aSessions.has(sessionId)) {
66
+ this.a2aSessions.set(sessionId, a2aSession);
67
+ }
68
+ return a2aSession;
69
+ };
70
+ /**
71
+ * Constructs a message payload for A2A communication.
72
+ *
73
+ * Includes session context (task ID and context ID) if available
74
+ * for maintaining conversation continuity.
75
+ *
76
+ * @param query - The message content to send
77
+ * @param sessionId - The session identifier
78
+ * @returns Formatted Message object for A2A protocol
79
+ */
80
+ getMessagePayload(query, sessionId) {
81
+ const messagePayload = {
82
+ messageId: randomUUID(),
83
+ kind: "message",
84
+ role: "user",
85
+ // FIXME: it could be 'agent'
86
+ metadata: {
87
+ sessionId
88
+ },
89
+ parts: [
90
+ {
91
+ kind: "text",
92
+ text: query
93
+ }
94
+ ]
95
+ };
96
+ const a2aSession = this.getA2ASessionWithId(sessionId);
97
+ if (a2aSession.taskId) {
98
+ messagePayload.taskId = a2aSession.taskId;
99
+ }
100
+ if (a2aSession.contextId) {
101
+ messagePayload.contextId = a2aSession.contextId;
102
+ }
103
+ return messagePayload;
104
+ }
105
+ /**
106
+ * Executes an A2A tool by sending a message to the remote agent.
107
+ *
108
+ * Handles streaming responses, maintains session state, and extracts
109
+ * text content from various event types in the response stream.
110
+ *
111
+ * @param tool - The A2ATool instance to use
112
+ * @param messagePayload - The message to send to the agent
113
+ * @param sessionId - The session identifier for context tracking
114
+ * @returns Promise resolving to array of text responses from the agent
115
+ */
116
+ async useTool(tool, messagePayload, sessionId) {
117
+ const finalText = [];
118
+ const client = tool.client;
119
+ const params = {
120
+ message: messagePayload
121
+ };
122
+ const a2aSession = this.getA2ASessionWithId(sessionId);
123
+ try {
124
+ const stream = client.sendMessageStream(params);
125
+ for await (const event of stream) {
126
+ if (event.kind === "status-update") {
127
+ const typedEvent = event;
128
+ if (typedEvent.final && typedEvent.status.state !== "input-required") {
129
+ a2aSession.taskId = void 0;
130
+ }
131
+ const texts = typedEvent.status.message?.parts.filter((part) => part.kind === "text").map((part) => part.text).join("\n");
132
+ if (texts) {
133
+ finalText.push(texts);
134
+ }
135
+ } else if (event.kind === "message") {
136
+ const msg = event;
137
+ if (msg.taskId && msg.taskId !== a2aSession.taskId) {
138
+ a2aSession.taskId = msg.taskId;
139
+ }
140
+ if (msg.contextId && msg.contextId !== a2aSession.contextId) {
141
+ a2aSession.contextId = msg.contextId;
142
+ }
143
+ } else if (event.kind === "task") {
144
+ const task = event;
145
+ if (task.id !== a2aSession.taskId) {
146
+ a2aSession.taskId = task.id;
147
+ }
148
+ if (task.contextId && task.contextId !== a2aSession.contextId) {
149
+ a2aSession.contextId = task.contextId;
150
+ }
151
+ } else {
152
+ loggers.a2a.warn("Received unknown event structure from stream:", {
153
+ event
154
+ });
155
+ }
156
+ }
157
+ } catch (error) {
158
+ loggers.a2a.error("Error communicating with agent:", { error });
159
+ tool.disable();
160
+ }
161
+ return finalText;
162
+ }
163
+ };
164
+
165
+ export {
166
+ A2AModule
167
+ };
168
+ //# sourceMappingURL=chunk-SQWZXP4P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/modules/a2a/a2a.module.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type {\n\tAgentCard,\n\tMessage,\n\tMessageSendParams,\n\tTask,\n\tTaskStatusUpdateEvent,\n\tTextPart,\n} from \"@a2a-js/sdk\";\nimport { A2AClient } from \"@a2a-js/sdk/client\";\nimport { loggers } from \"@/utils/logger.js\";\nimport { A2ATool } from \"./a2a.tool.js\";\n\n/**\n * Represents an active A2A communication session.\n */\ninterface A2ASession {\n\t/** Current task ID for multi-turn conversations */\n\ttaskId: string | undefined;\n\t/** Context ID for maintaining conversation state */\n\tcontextId: string | undefined;\n}\n\n/**\n * Module for managing Agent-to-Agent (A2A) protocol connections.\n *\n * This module handles connections to other A2A-compatible agents, manages\n * conversation sessions, and provides an interface for inter-agent communication.\n * Supports multi-turn conversations with task and context tracking.\n *\n * @example\n * ```typescript\n * const a2aModule = new A2AModule();\n * await a2aModule.addA2APeerServer(\"https://api.example.com/agent\");\n *\n * const tools = await a2aModule.getTools();\n * const message = a2aModule.getMessagePayload(\"Hello\", \"session-123\");\n * const response = await a2aModule.useTool(tools[0], message, \"session-123\");\n * ```\n */\nexport class A2AModule {\n\t/** Map of A2A server URLs to their corresponding tool instances */\n\tprivate a2aPeerServers: Map<string, A2ATool | null> = new Map();\n\t/** Map of session IDs to their A2A session state */\n\tprivate a2aSessions: Map<string, A2ASession> = new Map();\n\n\t/**\n\t * Registers a new A2A peer server URL for connection.\n\t *\n\t * @param url - The URL of the A2A-compatible agent to connect to\n\t */\n\tpublic async addA2APeerServer(url: string): Promise<void> {\n\t\tthis.a2aPeerServers.set(url, null);\n\t}\n\n\t/**\n\t * Retrieves tools from all registered A2A peer servers.\n\t *\n\t * Attempts to connect to each registered server, fetch their agent cards,\n\t * and create tool instances. Disables tools for unreachable servers.\n\t *\n\t * @returns Promise resolving to array of available A2A tools\n\t */\n\tpublic async getTools(): Promise<A2ATool[]> {\n\t\tconst tools: A2ATool[] = [];\n\t\tfor (const url of [...this.a2aPeerServers.keys()]) {\n\t\t\tconst tool = this.a2aPeerServers.get(url);\n\t\t\tif (!tool || !tool.enabled) {\n\t\t\t\ttry {\n\t\t\t\t\tconst client = new A2AClient(url);\n\t\t\t\t\tconst card: AgentCard = await client.getAgentCard();\n\t\t\t\t\tconst toolName = card.name.replaceAll(\" \", \"-\");\n\t\t\t\t\tconst a2aTool = new A2ATool(toolName, client, card);\n\n\t\t\t\t\ttools.push(a2aTool);\n\t\t\t\t} catch (_error: any) {\n\t\t\t\t\t// Agent not responded\n\t\t\t\t\tif (tool) {\n\t\t\t\t\t\ttool.disable();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttools.push(tool);\n\t\t\t}\n\t\t}\n\t\treturn tools;\n\t}\n\n\t/**\n\t * Gets or creates an A2A session for the given session ID.\n\t *\n\t * @param sessionId - The session identifier\n\t * @returns A2ASession object with task and context IDs\n\t */\n\tprivate getA2ASessionWithId = (sessionId: string): A2ASession => {\n\t\tconst a2aSession = this.a2aSessions.get(sessionId) ?? {\n\t\t\ttaskId: undefined,\n\t\t\tcontextId: undefined,\n\t\t};\n\t\tif (!this.a2aSessions.has(sessionId)) {\n\t\t\tthis.a2aSessions.set(sessionId, a2aSession);\n\t\t}\n\n\t\treturn a2aSession;\n\t};\n\n\t/**\n\t * Constructs a message payload for A2A communication.\n\t *\n\t * Includes session context (task ID and context ID) if available\n\t * for maintaining conversation continuity.\n\t *\n\t * @param query - The message content to send\n\t * @param sessionId - The session identifier\n\t * @returns Formatted Message object for A2A protocol\n\t */\n\tpublic getMessagePayload(query: string, sessionId: string): Message {\n\t\tconst messagePayload: Message = {\n\t\t\tmessageId: randomUUID(),\n\t\t\tkind: \"message\",\n\t\t\trole: \"user\", // FIXME: it could be 'agent'\n\t\t\tmetadata: {\n\t\t\t\tsessionId,\n\t\t\t},\n\t\t\tparts: [\n\t\t\t\t{\n\t\t\t\t\tkind: \"text\",\n\t\t\t\t\ttext: query,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\n\t\tconst a2aSession = this.getA2ASessionWithId(sessionId);\n\t\tif (a2aSession.taskId) {\n\t\t\tmessagePayload.taskId = a2aSession.taskId;\n\t\t}\n\t\tif (a2aSession.contextId) {\n\t\t\tmessagePayload.contextId = a2aSession.contextId;\n\t\t}\n\n\t\treturn messagePayload;\n\t}\n\n\t/**\n\t * Executes an A2A tool by sending a message to the remote agent.\n\t *\n\t * Handles streaming responses, maintains session state, and extracts\n\t * text content from various event types in the response stream.\n\t *\n\t * @param tool - The A2ATool instance to use\n\t * @param messagePayload - The message to send to the agent\n\t * @param sessionId - The session identifier for context tracking\n\t * @returns Promise resolving to array of text responses from the agent\n\t */\n\tpublic async useTool(\n\t\ttool: A2ATool,\n\t\tmessagePayload: Message,\n\t\tsessionId: string,\n\t): Promise<string[]> {\n\t\tconst finalText: string[] = [];\n\t\tconst client = tool.client;\n\t\tconst params: MessageSendParams = {\n\t\t\tmessage: messagePayload,\n\t\t};\n\t\tconst a2aSession = this.getA2ASessionWithId(sessionId);\n\n\t\ttry {\n\t\t\tconst stream = client.sendMessageStream(params);\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (event.kind === \"status-update\") {\n\t\t\t\t\tconst typedEvent = event as TaskStatusUpdateEvent;\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypedEvent.final &&\n\t\t\t\t\t\ttypedEvent.status.state !== \"input-required\"\n\t\t\t\t\t) {\n\t\t\t\t\t\ta2aSession.taskId = undefined;\n\t\t\t\t\t}\n\t\t\t\t\t// TODO: handle 'file', 'data' parts\n\t\t\t\t\tconst texts = typedEvent.status.message?.parts\n\t\t\t\t\t\t.filter((part) => part.kind === \"text\")\n\t\t\t\t\t\t.map((part: TextPart) => part.text)\n\t\t\t\t\t\t.join(\"\\n\");\n\t\t\t\t\tif (texts) {\n\t\t\t\t\t\tfinalText.push(texts);\n\t\t\t\t\t}\n\t\t\t\t} else if (event.kind === \"message\") {\n\t\t\t\t\t// FIXME: handling text in 'message'?\n\t\t\t\t\tconst msg = event as Message;\n\t\t\t\t\tif (msg.taskId && msg.taskId !== a2aSession.taskId) {\n\t\t\t\t\t\ta2aSession.taskId = msg.taskId;\n\t\t\t\t\t}\n\t\t\t\t\tif (msg.contextId && msg.contextId !== a2aSession.contextId) {\n\t\t\t\t\t\ta2aSession.contextId = msg.contextId;\n\t\t\t\t\t}\n\t\t\t\t} else if (event.kind === \"task\") {\n\t\t\t\t\t// FIXME: handling text in 'task'?\n\t\t\t\t\tconst task = event as Task;\n\t\t\t\t\tif (task.id !== a2aSession.taskId) {\n\t\t\t\t\t\ta2aSession.taskId = task.id;\n\t\t\t\t\t}\n\t\t\t\t\tif (task.contextId && task.contextId !== a2aSession.contextId) {\n\t\t\t\t\t\ta2aSession.contextId = task.contextId;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tloggers.a2a.warn(\"Received unknown event structure from stream:\", {\n\t\t\t\t\t\tevent,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tloggers.a2a.error(\"Error communicating with agent:\", { error });\n\t\t\ttool.disable();\n\t\t\t// TODO: add failed & disabled text for next inference?\n\t\t}\n\n\t\treturn finalText;\n\t}\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,kBAAkB;AAS3B,SAAS,iBAAiB;AA+BnB,IAAM,YAAN,MAAgB;AAAA;AAAA,EAEd,iBAA8C,oBAAI,IAAI;AAAA;AAAA,EAEtD,cAAuC,oBAAI,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOvD,MAAa,iBAAiB,KAA4B;AACzD,SAAK,eAAe,IAAI,KAAK,IAAI;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,WAA+B;AAC3C,UAAM,QAAmB,CAAC;AAC1B,eAAW,OAAO,CAAC,GAAG,KAAK,eAAe,KAAK,CAAC,GAAG;AAClD,YAAM,OAAO,KAAK,eAAe,IAAI,GAAG;AACxC,UAAI,CAAC,QAAQ,CAAC,KAAK,SAAS;AAC3B,YAAI;AACH,gBAAM,SAAS,IAAI,UAAU,GAAG;AAChC,gBAAM,OAAkB,MAAM,OAAO,aAAa;AAClD,gBAAM,WAAW,KAAK,KAAK,WAAW,KAAK,GAAG;AAC9C,gBAAM,UAAU,IAAI,QAAQ,UAAU,QAAQ,IAAI;AAElD,gBAAM,KAAK,OAAO;AAAA,QACnB,SAAS,QAAa;AAErB,cAAI,MAAM;AACT,iBAAK,QAAQ;AAAA,UACd;AAAA,QACD;AAAA,MACD,OAAO;AACN,cAAM,KAAK,IAAI;AAAA,MAChB;AAAA,IACD;AACA,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,sBAAsB,CAAC,cAAkC;AAChE,UAAM,aAAa,KAAK,YAAY,IAAI,SAAS,KAAK;AAAA,MACrD,QAAQ;AAAA,MACR,WAAW;AAAA,IACZ;AACA,QAAI,CAAC,KAAK,YAAY,IAAI,SAAS,GAAG;AACrC,WAAK,YAAY,IAAI,WAAW,UAAU;AAAA,IAC3C;AAEA,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYO,kBAAkB,OAAe,WAA4B;AACnE,UAAM,iBAA0B;AAAA,MAC/B,WAAW,WAAW;AAAA,MACtB,MAAM;AAAA,MACN,MAAM;AAAA;AAAA,MACN,UAAU;AAAA,QACT;AAAA,MACD;AAAA,MACA,OAAO;AAAA,QACN;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,QACP;AAAA,MACD;AAAA,IACD;AAEA,UAAM,aAAa,KAAK,oBAAoB,SAAS;AACrD,QAAI,WAAW,QAAQ;AACtB,qBAAe,SAAS,WAAW;AAAA,IACpC;AACA,QAAI,WAAW,WAAW;AACzB,qBAAe,YAAY,WAAW;AAAA,IACvC;AAEA,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAa,QACZ,MACA,gBACA,WACoB;AACpB,UAAM,YAAsB,CAAC;AAC7B,UAAM,SAAS,KAAK;AACpB,UAAM,SAA4B;AAAA,MACjC,SAAS;AAAA,IACV;AACA,UAAM,aAAa,KAAK,oBAAoB,SAAS;AAErD,QAAI;AACH,YAAM,SAAS,OAAO,kBAAkB,MAAM;AAC9C,uBAAiB,SAAS,QAAQ;AACjC,YAAI,MAAM,SAAS,iBAAiB;AACnC,gBAAM,aAAa;AACnB,cACC,WAAW,SACX,WAAW,OAAO,UAAU,kBAC3B;AACD,uBAAW,SAAS;AAAA,UACrB;AAEA,gBAAM,QAAQ,WAAW,OAAO,SAAS,MACvC,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM,EACrC,IAAI,CAAC,SAAmB,KAAK,IAAI,EACjC,KAAK,IAAI;AACX,cAAI,OAAO;AACV,sBAAU,KAAK,KAAK;AAAA,UACrB;AAAA,QACD,WAAW,MAAM,SAAS,WAAW;AAEpC,gBAAM,MAAM;AACZ,cAAI,IAAI,UAAU,IAAI,WAAW,WAAW,QAAQ;AACnD,uBAAW,SAAS,IAAI;AAAA,UACzB;AACA,cAAI,IAAI,aAAa,IAAI,cAAc,WAAW,WAAW;AAC5D,uBAAW,YAAY,IAAI;AAAA,UAC5B;AAAA,QACD,WAAW,MAAM,SAAS,QAAQ;AAEjC,gBAAM,OAAO;AACb,cAAI,KAAK,OAAO,WAAW,QAAQ;AAClC,uBAAW,SAAS,KAAK;AAAA,UAC1B;AACA,cAAI,KAAK,aAAa,KAAK,cAAc,WAAW,WAAW;AAC9D,uBAAW,YAAY,KAAK;AAAA,UAC7B;AAAA,QACD,OAAO;AACN,kBAAQ,IAAI,KAAK,iDAAiD;AAAA,YACjE;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD,SAAS,OAAgB;AACxB,cAAQ,IAAI,MAAM,mCAAmC,EAAE,MAAM,CAAC;AAC9D,WAAK,QAAQ;AAAA,IAEd;AAEA,WAAO;AAAA,EACR;AACD;","names":[]}
@@ -0,0 +1,20 @@
1
+ // src/types/memory.ts
2
+ var MemoryType = /* @__PURE__ */ ((MemoryType2) => {
3
+ MemoryType2["_DEFAULT"] = "_DEFAULT";
4
+ MemoryType2["SESSION"] = "SESSION";
5
+ MemoryType2["INTENT"] = "INTENT";
6
+ MemoryType2["USER"] = "USER";
7
+ return MemoryType2;
8
+ })(MemoryType || {});
9
+ var ChatRole = /* @__PURE__ */ ((ChatRole2) => {
10
+ ChatRole2["USER"] = "USER";
11
+ ChatRole2["SYSTEM"] = "SYSTEM";
12
+ ChatRole2["MODEL"] = "MODEL";
13
+ return ChatRole2;
14
+ })(ChatRole || {});
15
+
16
+ export {
17
+ MemoryType,
18
+ ChatRole
19
+ };
20
+ //# sourceMappingURL=chunk-TMHRCGTE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/memory.ts"],"sourcesContent":["export enum MemoryType {\n\t_DEFAULT = \"_DEFAULT\",\n\tSESSION = \"SESSION\",\n\tINTENT = \"INTENT\",\n\tUSER = \"USER\",\n}\n\n/**\n * Roles for participants in a chat conversation.\n */\nexport enum ChatRole {\n\t/** User/human participant */\n\tUSER = \"USER\",\n\t/** System-generated messages or instructions */\n\tSYSTEM = \"SYSTEM\",\n\t/** AI model responses */\n\tMODEL = \"MODEL\",\n}\n\n/**\n * Content structure for chat messages.\n *\n * Supports multi-part content with different types (text, images, etc.).\n */\nexport type ChatContentObject = {\n\t/** Content type (e.g., \"text\", \"image\", \"tool_use\") */\n\ttype: string;\n\t/** Array of content parts, structure depends on content type */\n\tparts: any[];\n};\n\n/**\n * Represents a single message in a chat conversation.\n *\n * @example\n * ```typescript\n * const message: ChatObject = {\n * role: ChatRole.USER,\n * content: {\n * type: \"text\",\n * parts: [\"Hello, how can you help me?\"]\n * },\n * timestamp: Date.now(),\n * metadata: { source: \"web-ui\" }\n * };\n * ```\n */\nexport type ChatObject = {\n\t/** Role of the message sender */\n\trole: ChatRole;\n\t/** Message content with type and parts */\n\tcontent: ChatContentObject;\n\t/** Unix timestamp when the message was created */\n\ttimestamp: number;\n\t/** Optional metadata for additional context */\n\tmetadata?: { [key: string]: unknown };\n};\n\n/**\n * Represents a conversation session containing multiple chat messages.\n *\n * Messages are stored in a key-value structure where keys are unique chat IDs\n * and values are the corresponding chat objects.\n *\n * @example\n * ```typescript\n * const session: SessionObject = {\n * chats: {\n * \"<UUID_1>\": { role: ChatRole.USER, content: {...}, timestamp: 1234567890 },\n * \"<UUID_2>\": { role: ChatRole.MODEL, content: {...}, timestamp: 1234567891 }\n * }\n * };\n * ```\n */\nexport type SessionObject = {\n\t/** Collection of chat messages indexed by unique chat ID */\n\tchats: {\n\t\t[chatId: string]: ChatObject;\n\t};\n};\n"],"mappings":";AAAO,IAAK,aAAL,kBAAKA,gBAAL;AACN,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,UAAO;AAJI,SAAAA;AAAA,GAAA;AAUL,IAAK,WAAL,kBAAKC,cAAL;AAEN,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,WAAQ;AANG,SAAAA;AAAA,GAAA;","names":["MemoryType","ChatRole"]}
@@ -0,0 +1,20 @@
1
+ // src/controllers/api/model.api.controller.ts
2
+ var ModelApiController = class {
3
+ modelModule;
4
+ constructor(modelModule) {
5
+ this.modelModule = modelModule;
6
+ }
7
+ handleModelList = (_req, res, next) => {
8
+ try {
9
+ const models = this.modelModule.getModelList();
10
+ res.json(models);
11
+ } catch (error) {
12
+ next(error);
13
+ }
14
+ };
15
+ };
16
+
17
+ export {
18
+ ModelApiController
19
+ };
20
+ //# sourceMappingURL=chunk-UA44VKFE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/api/model.api.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport type { ModelModule } from \"@/modules/index.js\";\n\nexport class ModelApiController {\n\tprivate modelModule: ModelModule;\n\n\tconstructor(modelModule: ModelModule) {\n\t\tthis.modelModule = modelModule;\n\t}\n\n\tpublic handleModelList = (\n\t\t_req: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst models = this.modelModule.getModelList();\n\t\t\tres.json(models);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";AAGO,IAAM,qBAAN,MAAyB;AAAA,EACvB;AAAA,EAER,YAAY,aAA0B;AACrC,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,kBAAkB,CACxB,MACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,SAAS,KAAK,YAAY,aAAa;AAC7C,UAAI,KAAK,MAAM;AAAA,IAChB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,34 @@
1
+ import {
2
+ AinHttpError
3
+ } from "./chunk-5SZU5YDN.js";
4
+
5
+ // src/controllers/api/session.api.controller.ts
6
+ import { StatusCodes } from "http-status-codes";
7
+ var SessionApiController = class {
8
+ memoryModule;
9
+ constructor(memoryModule) {
10
+ this.memoryModule = memoryModule;
11
+ }
12
+ handleSessionHistory = async (req, res, next) => {
13
+ try {
14
+ const { id: sessionId } = req.params;
15
+ const memoryInstance = this.memoryModule.getMemory();
16
+ if (!memoryInstance) {
17
+ const error = new AinHttpError(
18
+ StatusCodes.SERVICE_UNAVAILABLE,
19
+ "Memory module is not initialized"
20
+ );
21
+ throw error;
22
+ }
23
+ const session = await memoryInstance.getSessionHistory(sessionId);
24
+ res.json(session);
25
+ } catch (error) {
26
+ next(error);
27
+ }
28
+ };
29
+ };
30
+
31
+ export {
32
+ SessionApiController
33
+ };
34
+ //# sourceMappingURL=chunk-XBKWMBQQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/api/session.api.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { MemoryModule } from \"@/modules/index.js\";\nimport { AinHttpError } from \"@/types/index.js\";\nexport class SessionApiController {\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(memoryModule: MemoryModule) {\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tpublic handleSessionHistory = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: sessionId } = req.params;\n\t\t\tconst memoryInstance = this.memoryModule.getMemory();\n\t\t\tif (!memoryInstance) {\n\t\t\t\tconst error = new AinHttpError(\n\t\t\t\t\tStatusCodes.SERVICE_UNAVAILABLE,\n\t\t\t\t\t\"Memory module is not initialized\",\n\t\t\t\t);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst session = await memoryInstance.getSessionHistory(sessionId);\n\t\t\tres.json(session);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";;;;;AACA,SAAS,mBAAmB;AAGrB,IAAM,uBAAN,MAA2B;AAAA,EACzB;AAAA,EAER,YAAY,cAA4B;AACvC,SAAK,eAAe;AAAA,EACrB;AAAA,EAEO,uBAAuB,OAC7B,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,UAAU,IAAI,IAAI;AAC9B,YAAM,iBAAiB,KAAK,aAAa,UAAU;AACnD,UAAI,CAAC,gBAAgB;AACpB,cAAM,QAAQ,IAAI;AAAA,UACjB,YAAY;AAAA,UACZ;AAAA,QACD;AACA,cAAM;AAAA,MACP;AACA,YAAM,UAAU,MAAM,eAAe,kBAAkB,SAAS;AAChE,UAAI,KAAK,OAAO;AAAA,IACjB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}