@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,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loggers = exports.getLogger = exports.logger = void 0;
7
+ const winston_1 = __importDefault(require("winston"));
8
+ const { combine, timestamp, printf, colorize, errors } = winston_1.default.format;
9
+ const createLogger = (service) => {
10
+ const logger = winston_1.default.createLogger({
11
+ level: process.env.LOG_LEVEL || "info",
12
+ format: combine(errors({ stack: true }), colorize(), timestamp({ format: "HH:mm:ss" }), printf(({ level, message, timestamp, service, stack, ...meta }) => {
13
+ const metaStr = Object.keys(meta).length
14
+ ? ` | ${JSON.stringify(meta)}`
15
+ : "";
16
+ const errorStack = stack ? `\n${stack}` : "";
17
+ return `${timestamp} [${service}] ${level}: ${message}${metaStr}${errorStack}`;
18
+ })),
19
+ defaultMeta: { service },
20
+ transports: [new winston_1.default.transports.Console()],
21
+ });
22
+ return logger;
23
+ };
24
+ // Default logger instance
25
+ exports.logger = createLogger("ain-adk");
26
+ // Factory function for creating service-specific loggers
27
+ const getLogger = (service) => createLogger(service);
28
+ exports.getLogger = getLogger;
29
+ // Convenience methods for different components
30
+ exports.loggers = {
31
+ agent: (0, exports.getLogger)("AINAgent"),
32
+ intent: (0, exports.getLogger)("Intent"),
33
+ mcp: (0, exports.getLogger)("MCPModule"),
34
+ a2a: (0, exports.getLogger)("A2AModule"),
35
+ model: (0, exports.getLogger)("Model"),
36
+ server: (0, exports.getLogger)("A2AServer"),
37
+ fol: (0, exports.getLogger)("FOL"),
38
+ };
39
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAE9B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAC;AAExE,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;IACxC,MAAM,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;QACnC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;QACtC,MAAM,EAAE,OAAO,CACd,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACvB,QAAQ,EAAE,EACV,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EACjC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;YACjE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;gBACvC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC9B,CAAC,CAAC,EAAE,CAAC;YACN,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,GAAG,SAAS,KAAK,OAAO,KAAK,KAAK,KAAK,OAAO,GAAG,OAAO,GAAG,UAAU,EAAE,CAAC;QAChF,CAAC,CAAC,CACF;QACD,WAAW,EAAE,EAAE,OAAO,EAAE;QACxB,UAAU,EAAE,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,0BAA0B;AACb,QAAA,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAE9C,yDAAyD;AAClD,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAAvD,QAAA,SAAS,aAA8C;AAEpE,+CAA+C;AAClC,QAAA,OAAO,GAAG;IACtB,KAAK,EAAE,IAAA,iBAAS,EAAC,UAAU,CAAC;IAC5B,MAAM,EAAE,IAAA,iBAAS,EAAC,QAAQ,CAAC;IAC3B,GAAG,EAAE,IAAA,iBAAS,EAAC,WAAW,CAAC;IAC3B,GAAG,EAAE,IAAA,iBAAS,EAAC,WAAW,CAAC;IAC3B,KAAK,EAAE,IAAA,iBAAS,EAAC,OAAO,CAAC;IACzB,MAAM,EAAE,IAAA,iBAAS,EAAC,WAAW,CAAC;IAC9B,GAAG,EAAE,IAAA,iBAAS,EAAC,KAAK,CAAC;CACZ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import express from "express";
2
+ import type { IntentAnalyzer } from "./intent/analyzer.js";
3
+ import type { AINAgentInfo } from "./types/index.js";
4
+ export declare class AINAgent {
5
+ app: express.Application;
6
+ info: AINAgentInfo;
7
+ private authScheme?;
8
+ private sessionManager?;
9
+ private intentAnalyzer;
10
+ private a2aRouter?;
11
+ constructor(intentAnalyzer: IntentAnalyzer, info: AINAgentInfo, url?: string);
12
+ private infoToCard;
13
+ start(port: number): void;
14
+ }
15
+ //# sourceMappingURL=ainagent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ainagent.d.ts","sourceRoot":"","sources":["../../src/ainagent.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,qBAAa,QAAQ;IACb,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IAG1B,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAG7B,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,YAAY,EAClB,GAAG,CAAC,EAAE,MAAM;IAeb,OAAO,CAAC,UAAU;IAkBX,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAsChC"}
@@ -0,0 +1,61 @@
1
+ import cors from "cors";
2
+ import express from "express";
3
+ import { loggers } from "./utils/logger.js";
4
+ import { A2ARouter } from "./router/a2a/router.js";
5
+ export class AINAgent {
6
+ constructor(intentAnalyzer, info, url) {
7
+ this.app = express();
8
+ this.app.use(cors());
9
+ this.app.use(express.json());
10
+ this.intentAnalyzer = intentAnalyzer;
11
+ this.info = info;
12
+ if (url) {
13
+ // A2A Server enabled
14
+ const card = this.infoToCard(info, url);
15
+ this.a2aRouter = new A2ARouter(intentAnalyzer, card);
16
+ }
17
+ }
18
+ infoToCard(info, url) {
19
+ const _url = new URL(url);
20
+ _url.pathname = "a2a";
21
+ return {
22
+ ...info,
23
+ url: _url.toString(),
24
+ capabilities: {
25
+ streaming: true, // The new framework supports streaming
26
+ pushNotifications: false, // Assuming not implemented for this agent yet
27
+ stateTransitionHistory: true, // Agent uses history
28
+ },
29
+ defaultInputModes: ["text"],
30
+ defaultOutputModes: ["text", "task-status"], // task-status is a common output mode
31
+ skills: [],
32
+ supportsAuthenticatedExtendedCard: false,
33
+ };
34
+ }
35
+ start(port) {
36
+ if (this.authScheme) {
37
+ this.app.use(this.authScheme.middleware());
38
+ }
39
+ this.app.get("/", async (_req, res) => {
40
+ const { name, description, version } = this.info;
41
+ res.status(200).send(`
42
+ ⚡ AIN Agent: ${name} v${version}<br/>
43
+ ${description}<br/><br/>
44
+ Agent status: Online and ready.
45
+ `.trim());
46
+ });
47
+ this.app.post("/query", async (req, res) => {
48
+ const { message, sessionId } = req.body;
49
+ // load session memory
50
+ const sessionHistory = (await this.sessionManager?.getSessionHistory(sessionId)) || {};
51
+ // TODO: Handle query type
52
+ const response = await this.intentAnalyzer?.handleQueryWithSession(message, sessionId, sessionHistory);
53
+ res.json(response);
54
+ });
55
+ this.a2aRouter?.setupRoutes(this.app);
56
+ this.app.listen(port, () => {
57
+ loggers.agent.info(`AINAgent is running on port ${port}`);
58
+ });
59
+ }
60
+ }
61
+ //# sourceMappingURL=ainagent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ainagent.js","sourceRoot":"","sources":["../../src/ainagent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import type { AgentCard } from "@a2a-js/sdk";
2
+ import express from "express";
3
+ import type { BaseAuth } from "./middlewares/auth/base.js";
4
+ import type { FOLModule } from "./modules/fol/fol.module.js";
5
+ import type { A2AModule, MCPModule, MemoryModule, ModelModule } from "./modules/index.js";
6
+ import type { AinAgentManifest } from "./types/index.js";
7
+ /**
8
+ * Main class for AI Network Agent Development Kit (AIN-ADK).
9
+ *
10
+ * AINAgent orchestrates all modules and provides an Express server for handling
11
+ * agent interactions through both standard query endpoints and A2A protocol endpoints.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const manifest = {
16
+ * name: "MyAgent",
17
+ * description: "An example AI agent",
18
+ * version: "1.0.0"
19
+ * };
20
+ *
21
+ * const agent = new AINAgent(manifest, {
22
+ * modelModule: new ModelModule(),
23
+ * a2aModule: new A2AModule(),
24
+ * mcpModule: new MCPModule()
25
+ * });
26
+ *
27
+ * agent.start(3000);
28
+ * ```
29
+ */
30
+ export declare class AINAgent {
31
+ /** Express application instance */
32
+ app: express.Application;
33
+ /** Agent manifest containing metadata and configuration */
34
+ manifest: AinAgentManifest;
35
+ /** Modules */
36
+ modelModule: ModelModule;
37
+ a2aModule?: A2AModule;
38
+ mcpModule?: MCPModule;
39
+ memoryModule?: MemoryModule;
40
+ folModule?: FOLModule;
41
+ /** Optional authentication scheme for securing endpoints */
42
+ authScheme?: BaseAuth;
43
+ /**
44
+ * Creates a new AINAgent instance.
45
+ *
46
+ * @param manifest - Agent manifest containing name, description, version, and optional URL
47
+ * @param modules - Required and optional modules for the agent
48
+ * @param modules.modelModule - Required module for AI model integrations
49
+ * @param modules.a2aModule - Optional module for A2A protocol support
50
+ * @param modules.mcpModule - Optional module for MCP server connections
51
+ * @param modules.memoryModule - Optional module for memory management
52
+ * @param modules.folModule - Optional module for fol management
53
+ * @param authScheme - Optional authentication middleware for securing endpoints
54
+ */
55
+ constructor(manifest: AinAgentManifest, modules: {
56
+ modelModule: ModelModule;
57
+ a2aModule?: A2AModule;
58
+ mcpModule?: MCPModule;
59
+ memoryModule?: MemoryModule;
60
+ folModule?: FOLModule;
61
+ }, authScheme?: BaseAuth);
62
+ /**
63
+ * Initializes Express middlewares for security, CORS, and body parsing.
64
+ * Also applies authentication middleware if configured.
65
+ */
66
+ private initializeMiddlewares;
67
+ /**
68
+ * Validates if a string is a valid HTTP or HTTPS URL.
69
+ *
70
+ * @param urlString - The URL string to validate
71
+ * @returns true if the URL is valid HTTP/HTTPS, false otherwise
72
+ */
73
+ private isValidUrl;
74
+ /**
75
+ * Generates an A2A protocol agent card for discovery.
76
+ *
77
+ * The agent card contains metadata about the agent's capabilities,
78
+ * supported input/output modes, and connection information.
79
+ *
80
+ * @returns AgentCard object with agent metadata and capabilities
81
+ * @throws Error if manifest URL is invalid or missing
82
+ */
83
+ generateAgentCard: () => AgentCard;
84
+ /**
85
+ * Initializes all HTTP routes including health check, agent discovery,
86
+ * query endpoints, and optional A2A endpoints.
87
+ *
88
+ * Routes initialized:
89
+ * - GET / - Health check endpoint
90
+ * - GET /.well-known/agent.json - Agent card discovery endpoint
91
+ * - /query/* - Query processing endpoints
92
+ * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
93
+ */
94
+ private initializeRoutes;
95
+ /**
96
+ * Starts the Express server on the specified port.
97
+ *
98
+ * @param port - The port number to listen on
99
+ */
100
+ start(port: number): void;
101
+ }
102
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,OAA0B,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EACX,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,QAAQ;IACpB,mCAAmC;IAC5B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;IAEhC,2DAA2D;IACpD,QAAQ,EAAE,gBAAgB,CAAC;IAElC,cAAc;IACP,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IAE7B,4DAA4D;IACrD,UAAU,CAAC,EAAE,QAAQ,CAAC;IAE7B;;;;;;;;;;;OAWG;gBAEF,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE;QACR,WAAW,EAAE,WAAW,CAAC;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;KACtB,EACD,UAAU,CAAC,EAAE,QAAQ;IAqBtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAalB;;;;;;;;OAQG;IACI,iBAAiB,QAAO,SAAS,CAmBtC;IAEF;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB,CAyBtB;IAEF;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAKhC"}
@@ -0,0 +1,163 @@
1
+ import cors from "cors";
2
+ import express from "express";
3
+ import helmet from "helmet";
4
+ import { StatusCodes } from "http-status-codes";
5
+ import { loggers } from "./utils/logger.js";
6
+ import { errorMiddleware } from "./middlewares/error.middleware.js";
7
+ import { createA2ARouter } from "./routes/a2a.routes.js";
8
+ import { createQueryRouter } from "./routes/query.routes.js";
9
+ /**
10
+ * Main class for AI Network Agent Development Kit (AIN-ADK).
11
+ *
12
+ * AINAgent orchestrates all modules and provides an Express server for handling
13
+ * agent interactions through both standard query endpoints and A2A protocol endpoints.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const manifest = {
18
+ * name: "MyAgent",
19
+ * description: "An example AI agent",
20
+ * version: "1.0.0"
21
+ * };
22
+ *
23
+ * const agent = new AINAgent(manifest, {
24
+ * modelModule: new ModelModule(),
25
+ * a2aModule: new A2AModule(),
26
+ * mcpModule: new MCPModule()
27
+ * });
28
+ *
29
+ * agent.start(3000);
30
+ * ```
31
+ */
32
+ export class AINAgent {
33
+ /**
34
+ * Creates a new AINAgent instance.
35
+ *
36
+ * @param manifest - Agent manifest containing name, description, version, and optional URL
37
+ * @param modules - Required and optional modules for the agent
38
+ * @param modules.modelModule - Required module for AI model integrations
39
+ * @param modules.a2aModule - Optional module for A2A protocol support
40
+ * @param modules.mcpModule - Optional module for MCP server connections
41
+ * @param modules.memoryModule - Optional module for memory management
42
+ * @param modules.folModule - Optional module for fol management
43
+ * @param authScheme - Optional authentication middleware for securing endpoints
44
+ */
45
+ constructor(manifest, modules, authScheme) {
46
+ /**
47
+ * Generates an A2A protocol agent card for discovery.
48
+ *
49
+ * The agent card contains metadata about the agent's capabilities,
50
+ * supported input/output modes, and connection information.
51
+ *
52
+ * @returns AgentCard object with agent metadata and capabilities
53
+ * @throws Error if manifest URL is invalid or missing
54
+ */
55
+ this.generateAgentCard = () => {
56
+ const _url = new URL(this.manifest.url || "");
57
+ _url.pathname = "a2a";
58
+ return {
59
+ name: this.manifest.name,
60
+ description: this.manifest.description,
61
+ version: this.manifest.version,
62
+ url: _url.toString(),
63
+ capabilities: {
64
+ streaming: true, // The new framework supports streaming
65
+ pushNotifications: false, // Assuming not implemented for this agent yet
66
+ stateTransitionHistory: true, // Agent uses history
67
+ },
68
+ defaultInputModes: ["text"],
69
+ defaultOutputModes: ["text", "task-status"], // task-status is a common output mode
70
+ skills: [],
71
+ supportsAuthenticatedExtendedCard: false,
72
+ };
73
+ };
74
+ /**
75
+ * Initializes all HTTP routes including health check, agent discovery,
76
+ * query endpoints, and optional A2A endpoints.
77
+ *
78
+ * Routes initialized:
79
+ * - GET / - Health check endpoint
80
+ * - GET /.well-known/agent.json - Agent card discovery endpoint
81
+ * - /query/* - Query processing endpoints
82
+ * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
83
+ */
84
+ this.initializeRoutes = () => {
85
+ this.app.get("/", async (_, res) => {
86
+ const { name, description, version } = this.manifest;
87
+ res.status(200).send(`
88
+ ⚡ AIN Agent: ${name} v${version}<br/>
89
+ ${description}<br/><br/>
90
+ Agent status: Online and ready.
91
+ `.trim());
92
+ });
93
+ this.app.get("/.well-known/agent.json", async (_, res) => {
94
+ try {
95
+ const card = this.generateAgentCard();
96
+ res.json(card);
97
+ }
98
+ catch (_error) {
99
+ res.status(StatusCodes.NOT_FOUND).send("No agent card");
100
+ }
101
+ });
102
+ this.app.use(createQueryRouter(this));
103
+ if (this.isValidUrl(this.manifest.url)) {
104
+ this.app.use(createA2ARouter(this));
105
+ }
106
+ };
107
+ this.app = express();
108
+ // Set manifest
109
+ this.manifest = manifest;
110
+ // Set modules
111
+ this.modelModule = modules.modelModule;
112
+ this.a2aModule = modules.a2aModule;
113
+ this.mcpModule = modules.mcpModule;
114
+ this.memoryModule = modules.memoryModule;
115
+ this.folModule = modules.folModule;
116
+ this.authScheme = authScheme;
117
+ this.initializeMiddlewares();
118
+ this.initializeRoutes();
119
+ this.app.use(errorMiddleware);
120
+ }
121
+ /**
122
+ * Initializes Express middlewares for security, CORS, and body parsing.
123
+ * Also applies authentication middleware if configured.
124
+ */
125
+ initializeMiddlewares() {
126
+ this.app.use(helmet());
127
+ this.app.use(cors());
128
+ this.app.use(express.json());
129
+ this.app.use(express.urlencoded({ extended: true }));
130
+ if (this.authScheme) {
131
+ this.app.use(this.authScheme.middleware());
132
+ }
133
+ }
134
+ /**
135
+ * Validates if a string is a valid HTTP or HTTPS URL.
136
+ *
137
+ * @param urlString - The URL string to validate
138
+ * @returns true if the URL is valid HTTP/HTTPS, false otherwise
139
+ */
140
+ isValidUrl(urlString) {
141
+ if (!urlString) {
142
+ return false;
143
+ }
144
+ try {
145
+ const url = new URL(urlString);
146
+ return url.protocol === "http:" || url.protocol === "https:";
147
+ }
148
+ catch (_error) {
149
+ return false;
150
+ }
151
+ }
152
+ /**
153
+ * Starts the Express server on the specified port.
154
+ *
155
+ * @param port - The port number to listen on
156
+ */
157
+ start(port) {
158
+ this.app.listen(port, () => {
159
+ loggers.agent.info(`AINAgent is running on port ${port}`);
160
+ });
161
+ }
162
+ }
163
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AgentCard, TaskStore } from "@a2a-js/sdk";
2
+ import type { Request, Response } from "express";
3
+ import type { A2AService } from "../services/a2a.service.js";
4
+ export declare class A2AController {
5
+ private jsonRpcTransportHandler;
6
+ constructor(a2aService: A2AService, taskStore: TaskStore, cardGenerator: () => AgentCard);
7
+ /**
8
+ * Handles the POST /a2a request.
9
+ */
10
+ handleA2ARequest: (req: Request, res: Response) => Promise<void>;
11
+ private streamSse;
12
+ private handleError;
13
+ }
14
+ //# sourceMappingURL=a2a.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/a2a.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,SAAS,EAKT,SAAS,EACT,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA2B5D,qBAAa,aAAa;IACzB,OAAO,CAAC,uBAAuB,CAA0B;gBAGxD,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,SAAS;IAW/B;;OAEG;IACI,gBAAgB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,mBAyB1D;YAEY,SAAS;IAuCvB,OAAO,CAAC,WAAW;CAoBnB"}
@@ -0,0 +1,94 @@
1
+ import { A2AError, DefaultExecutionEventBusManager, DefaultRequestHandler, JsonRpcTransportHandler, } from "@a2a-js/sdk";
2
+ import { loggers } from "../utils/logger.js";
3
+ /**
4
+ * Handles the transport layer for A2A communication.
5
+ * It orchestrates the A2A-JS SDK components and manages the HTTP request/response lifecycle.
6
+ */
7
+ class AINRequestHandler extends DefaultRequestHandler {
8
+ constructor(cardGenerator, taskStore, executor, eventBusManager = new DefaultExecutionEventBusManager()) {
9
+ const card = cardGenerator();
10
+ super(card, taskStore, executor, eventBusManager);
11
+ this.cardGenerator = cardGenerator;
12
+ }
13
+ async getAgentCard() {
14
+ return this.cardGenerator();
15
+ }
16
+ }
17
+ export class A2AController {
18
+ constructor(a2aService, taskStore, cardGenerator) {
19
+ /**
20
+ * Handles the POST /a2a request.
21
+ */
22
+ this.handleA2ARequest = async (req, res) => {
23
+ try {
24
+ const rpcResponseOrStream = await this.jsonRpcTransportHandler.handle(req.body);
25
+ // Handle streaming responses (AsyncGenerator)
26
+ if (typeof rpcResponseOrStream?.[Symbol.asyncIterator] ===
27
+ "function") {
28
+ const stream = rpcResponseOrStream;
29
+ this.streamSse(req, res, stream);
30
+ }
31
+ else {
32
+ // Handle single JSON-RPC response
33
+ const rpcResponse = rpcResponseOrStream;
34
+ res.status(200).json(rpcResponse);
35
+ }
36
+ }
37
+ catch (error) {
38
+ this.handleError(req, res, error);
39
+ }
40
+ };
41
+ // The controller is responsible for setting up the SDK components.
42
+ const requestHandler = new AINRequestHandler(cardGenerator, taskStore, a2aService);
43
+ this.jsonRpcTransportHandler = new JsonRpcTransportHandler(requestHandler);
44
+ }
45
+ async streamSse(req, res, stream) {
46
+ res.setHeader("Content-Type", "text/event-stream");
47
+ res.setHeader("Cache-Control", "no-cache");
48
+ res.setHeader("Connection", "keep-alive");
49
+ res.flushHeaders();
50
+ try {
51
+ for await (const event of stream) {
52
+ res.write(`id: ${Date.now()}\n`);
53
+ res.write(`data: ${JSON.stringify(event)}\n\n`);
54
+ }
55
+ }
56
+ catch (streamError) {
57
+ loggers.server.error(`Error during SSE streaming (request ${req.body?.id}):`, streamError);
58
+ const a2aError = streamError instanceof A2AError
59
+ ? streamError
60
+ : A2AError.internalError("Streaming error");
61
+ const errorResponse = {
62
+ jsonrpc: "2.0",
63
+ id: req.body?.id || null,
64
+ error: a2aError.toJSONRPCError(),
65
+ };
66
+ res.write(`id: ${Date.now()}\n`);
67
+ res.write("event: error\n");
68
+ res.write(`data: ${JSON.stringify(errorResponse)}\n\n`);
69
+ }
70
+ finally {
71
+ if (!res.writableEnded) {
72
+ res.end();
73
+ }
74
+ }
75
+ }
76
+ handleError(req, res, error) {
77
+ loggers.server.error("Unhandled error in AINAgent A2A POST handler:", error);
78
+ const a2aError = error instanceof A2AError
79
+ ? error
80
+ : A2AError.internalError("General processing error");
81
+ const errorResponse = {
82
+ jsonrpc: "2.0",
83
+ id: req.body?.id || null,
84
+ error: a2aError.toJSONRPCError(),
85
+ };
86
+ if (!res.headersSent) {
87
+ res.status(500).json(errorResponse);
88
+ }
89
+ else if (!res.writableEnded) {
90
+ res.end();
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=a2a.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.controller.js","sourceRoot":"","sources":["../../../src/controllers/a2a.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ import type { ModelModule } from "../../modules/index.js";
3
+ export declare class ModelApiController {
4
+ private modelModule;
5
+ constructor(modelModule: ModelModule);
6
+ handleModelList: (_req: Request, res: Response, next: NextFunction) => Promise<void>;
7
+ }
8
+ //# sourceMappingURL=model.api.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.api.controller.d.ts","sourceRoot":"","sources":["../../../../src/controllers/api/model.api.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAI7B,eAAe,GACrB,MAAM,OAAO,EACb,KAAK,QAAQ,EACb,MAAM,YAAY,mBAQjB;CACF"}
@@ -0,0 +1,15 @@
1
+ export class ModelApiController {
2
+ constructor(modelModule) {
3
+ this.handleModelList = async (_req, res, next) => {
4
+ try {
5
+ const models = this.modelModule.getModelList();
6
+ res.json(models);
7
+ }
8
+ catch (error) {
9
+ next(error);
10
+ }
11
+ };
12
+ this.modelModule = modelModule;
13
+ }
14
+ }
15
+ //# sourceMappingURL=model.api.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.api.controller.js","sourceRoot":"","sources":["../../../../src/controllers/api/model.api.controller.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IAG9B,YAAY,WAAwB;QAI7B,oBAAe,GAAG,KAAK,EAC7B,IAAa,EACb,GAAa,EACb,IAAkB,EACjB,EAAE;YACH,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC/C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,CAAC;YACb,CAAC;QACF,CAAC,CAAC;QAdD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;CAcD"}
@@ -0,0 +1,8 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ import type { MemoryModule } from "../../modules/index.js";
3
+ export declare class SessionApiController {
4
+ private memoryModule;
5
+ constructor(memoryModule: MemoryModule);
6
+ handleSessionHistory: (req: Request, res: Response, next: NextFunction) => Promise<void>;
7
+ }
8
+ //# sourceMappingURL=session.api.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.api.controller.d.ts","sourceRoot":"","sources":["../../../../src/controllers/api/session.api.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,oBAAoB;IAChC,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,YAAY;IAI/B,oBAAoB,GAC1B,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,mBAUjB;CACF"}
@@ -0,0 +1,17 @@
1
+ export class SessionApiController {
2
+ constructor(memoryModule) {
3
+ this.handleSessionHistory = async (req, res, next) => {
4
+ try {
5
+ const { id: sessionId } = req.params;
6
+ const memoryInstance = this.memoryModule.getMemory();
7
+ const session = await memoryInstance.getSessionHistory(sessionId);
8
+ res.json(session);
9
+ }
10
+ catch (error) {
11
+ next(error);
12
+ }
13
+ };
14
+ this.memoryModule = memoryModule;
15
+ }
16
+ }
17
+ //# sourceMappingURL=session.api.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.api.controller.js","sourceRoot":"","sources":["../../../../src/controllers/api/session.api.controller.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oBAAoB;IAGhC,YAAY,YAA0B;QAI/B,yBAAoB,GAAG,KAAK,EAClC,GAAY,EACZ,GAAa,EACb,IAAkB,EACjB,EAAE;YACH,IAAI,CAAC;gBACJ,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;gBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAClE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,CAAC;YACb,CAAC;QACF,CAAC,CAAC;QAhBD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAClC,CAAC;CAgBD"}
@@ -0,0 +1,8 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ import type { QueryService } from "../services/query.service.js";
3
+ export declare class QueryController {
4
+ private queryService;
5
+ constructor(queryService: QueryService);
6
+ handleQueryRequest: (req: Request, res: Response, next: NextFunction) => Promise<void>;
7
+ }
8
+ //# sourceMappingURL=query.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/query.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,qBAAa,eAAe;IAC3B,OAAO,CAAC,YAAY,CAAC;gBAET,YAAY,EAAE,YAAY;IAI/B,kBAAkB,GACxB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,mBAWjB;CACF"}
@@ -0,0 +1,16 @@
1
+ export class QueryController {
2
+ constructor(queryService) {
3
+ this.handleQueryRequest = async (req, res, next) => {
4
+ try {
5
+ const { message, sessionId } = req.body;
6
+ const result = await this.queryService.handleQuery(message, sessionId);
7
+ res.status(200).json(result);
8
+ }
9
+ catch (error) {
10
+ next(error);
11
+ }
12
+ };
13
+ this.queryService = queryService;
14
+ }
15
+ }
16
+ //# sourceMappingURL=query.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.controller.js","sourceRoot":"","sources":["../../../src/controllers/query.controller.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,eAAe;IAG3B,YAAY,YAA0B;QAI/B,uBAAkB,GAAG,KAAK,EAChC,GAAY,EACZ,GAAa,EACb,IAAkB,EACjB,EAAE;YACH,IAAI,CAAC;gBACJ,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAEvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,CAAC;YACb,CAAC;QACF,CAAC,CAAC;QAjBD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAClC,CAAC;CAiBD"}