@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
package/README.md ADDED
@@ -0,0 +1,299 @@
1
+ # AI Network Agent Development Kit (AIN-ADK)
2
+
3
+ A TypeScript library for building AI agents with multi-protocol support including MCP (Model Context Protocol) and A2A (Agent-to-Agent) communication.
4
+
5
+ # NOTE
6
+ IMPORTANT: This project is currently under active development. Features may be incomplete, and there might be significant changes in future updates. Please be aware that some functionalities may not work as expected or might change without prior notice.
7
+
8
+ # Features
9
+
10
+ - **Multi-Protocol Support**: Integrate with MCP servers and A2A agents
11
+ - **Modular Architecture**: Flexible module system for models, memory, MCP, and A2A
12
+ - **Multiple AI Models**: Support for OpenAI and Gemini with easy extensibility
13
+ - **Session Management**: Built-in memory module for conversation history
14
+ - **Dual Build System**: Supports both ESM and CJS formats for maximum compatibility
15
+ - **Structured Logging**: Winston-based logging system with service-specific loggers
16
+ - **TypeScript First**: Built with strict TypeScript configuration
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ npm install @ainetwork/adk
22
+ ```
23
+
24
+ ## Requirements
25
+
26
+ - Node.js >= 20
27
+ - TypeScript >= 5.8
28
+
29
+ ## Quick Start
30
+
31
+ ### Basic Agent Setup
32
+
33
+ ```typescript
34
+ import { AINAgent } from '@ainetwork/adk/app';
35
+ import { ModelModule, MCPModule, MemoryModule } from '@ainetwork/adk/modules';
36
+ import { AzureOpenAI } from '@ainetwork/adk/modules/models/openai';
37
+ import { InMemoryMemory } from '@ainetwork/adk/modules/memory/inmemory';
38
+ import { AinAgentManifest } from '@ainetwork/adk/types';
39
+
40
+ // Initialize modules
41
+ const modelModule = new ModelModule();
42
+ const model = new AzureOpenAI(
43
+ process.env.AZURE_OPENAI_BASE_URL!,
44
+ process.env.AZURE_OPENAI_API_KEY!,
45
+ process.env.AZURE_OPENAI_API_VERSION!,
46
+ process.env.AZURE_OPENAI_MODEL_NAME!
47
+ );
48
+ modelModule.addModel('azure-gpt-4o', model);
49
+
50
+ const memoryModule = new MemoryModule(new InMemoryMemory(""));
51
+
52
+ // Define agent manifest
53
+ const manifest: AinAgentManifest = {
54
+ name: "My Agent",
55
+ description: "An intelligent AI agent",
56
+ version: "0.0.1",
57
+ };
58
+
59
+ // Create and start agent
60
+ const agent = new AINAgent(manifest, { modelModule, memoryModule });
61
+ agent.start(3000);
62
+ ```
63
+
64
+ ### Adding MCP Support
65
+
66
+ ```typescript
67
+ import { MCPModule } from '@ainetwork/adk/modules';
68
+
69
+ const mcpModule = new MCPModule();
70
+
71
+ // Add MCP server configuration
72
+ await mcpModule.addMCPConfig({
73
+ notionApi: {
74
+ command: 'npx',
75
+ args: ['-y', '@notionhq/notion-mcp-server'],
76
+ env: {
77
+ NOTION_API_KEY: process.env.NOTION_API_KEY!
78
+ }
79
+ }
80
+ });
81
+
82
+ // Pass to agent constructor
83
+ const agent = new AINAgent(manifest, { modelModule, mcpModule, memoryModule });
84
+ ```
85
+
86
+ ### Adding A2A Support
87
+
88
+ ```typescript
89
+ import { A2AModule } from '@ainetwork/adk/modules';
90
+
91
+ // Define agent manifest
92
+ const manifest: AinAgentManifest = {
93
+ ...,
94
+ url: "<AGENT_ENDPOINT_URL>" // configure manifest.url
95
+ };
96
+
97
+ const agent = new AINAgent(
98
+ manifest,
99
+ { modelModule, a2aModule, memoryModule },
100
+ );
101
+ ```
102
+
103
+ ## Architecture
104
+
105
+ ### Core Components
106
+
107
+ - **AINAgent** (`src/app.ts`): Main Express.js server class that orchestrates all modules
108
+ - **ModelModule** (`src/modules/models/`): Manages AI model integrations (OpenAI, Gemini)
109
+ - **MCPModule** (`src/modules/mcp/`): Handles Model Context Protocol connections
110
+ - **A2AModule** (`src/modules/a2a/`): Manages agent-to-agent communication
111
+ - **MemoryModule** (`src/modules/memory/`): Provides session and conversation history
112
+
113
+ ### Module System
114
+
115
+ The library uses a flexible module architecture:
116
+
117
+ ```typescript
118
+ interface AINAgentModules {
119
+ modelModule?: ModelModule;
120
+ mcpModule?: MCPModule;
121
+ a2aModule?: A2AModule;
122
+ memoryModule?: MemoryModule;
123
+ }
124
+ ```
125
+
126
+ Each module can be independently configured and passed to the agent constructor.
127
+
128
+ ### Protocol Support
129
+
130
+ #### MCP (Model Context Protocol)
131
+ - Connects to external MCP servers via stdio
132
+ - Automatic tool discovery and execution
133
+ - Supports multiple concurrent MCP servers
134
+
135
+ #### A2A (Agent-to-Agent)
136
+ - RESTful API for inter-agent communication
137
+ - Streaming response support
138
+ - Agent discovery via well-known endpoints
139
+ - Task delegation and context passing
140
+
141
+ ### Key Features
142
+
143
+ - **Unified Tool Interface**: Protocol-agnostic `IAgentTool` interface
144
+ - **Service Layer**: Clean separation with controllers and services
145
+ - **Type Safety**: Comprehensive TypeScript types throughout
146
+ - **Error Handling**: Global error middleware with structured logging
147
+ - **Authentication**: Optional auth middleware support
148
+
149
+ ## Development
150
+
151
+ ### Scripts
152
+
153
+ ```bash
154
+ # Build commands
155
+ yarn build # Build both ESM and CJS distributions
156
+ yarn build:esm # Build ESM format only
157
+ yarn build:cjs # Build CJS format only
158
+
159
+ # Development
160
+ yarn dev # Run TypeScript directly with tsx
161
+
162
+ # Code quality
163
+ yarn lint # Run linting with Biome
164
+ yarn format # Format code with Biome
165
+ yarn check # Check code with Biome
166
+ yarn check:write # Check and auto-fix with Biome
167
+
168
+ # Testing
169
+ yarn test # Run Jest tests
170
+ ```
171
+
172
+ ### Examples
173
+
174
+ ```bash
175
+ # Run example applications
176
+ npx tsx examples/simpleAgent.ts
177
+ npx tsx examples/a2aClientAgent.ts
178
+ ```
179
+
180
+ ## Logging System
181
+
182
+ The library uses Winston for structured logging with service-specific loggers:
183
+
184
+ ```typescript
185
+ import { getLogger } from '@ainetwork/adk/utils/logger';
186
+
187
+ // Get service-specific loggers
188
+ const agentLogger = getLogger('agent');
189
+ const mcpLogger = getLogger('mcp');
190
+ const a2aLogger = getLogger('a2a');
191
+ const modelLogger = getLogger('model');
192
+
193
+ // Usage examples
194
+ agentLogger.info('AINAgent started');
195
+ mcpLogger.debug('Connected to MCP server');
196
+ a2aLogger.warn('A2A connection timeout');
197
+ modelLogger.error('Model API error');
198
+ ```
199
+
200
+ ### Available Loggers
201
+ - `agent`: Main agent operations
202
+ - `intent`: Query processing and intent analysis
203
+ - `mcp`: MCP server connections and tool execution
204
+ - `a2a`: Agent-to-agent communication
205
+ - `model`: AI model interactions
206
+ - `server`: HTTP server operations
207
+ - `memory`: Session and memory management
208
+
209
+ ### Log Levels
210
+ - `error`: Error conditions
211
+ - `warn`: Warning conditions
212
+ - `info`: Informational messages (default)
213
+ - `debug`: Debug-level messages
214
+
215
+ ## API Endpoints
216
+
217
+ ### Standard Endpoints
218
+ - `GET /` - Welcome message
219
+ - `POST /query` - Process queries
220
+ - Request: `{ message: string, sessionId?: string }`
221
+ - Response: `{ content: string }`
222
+
223
+ ### A2A Server Endpoints (when `manifest.url` is configured)
224
+ - `GET /agent-card` - Get agent card information
225
+ - `GET /.well-known/agent.json` - Agent discovery endpoint
226
+ - `POST /a2a` - A2A communication endpoint
227
+ - Supports streaming responses
228
+ - Request: `{ message: string, stream?: boolean }`
229
+
230
+ ## Build System
231
+
232
+ The project supports dual build output:
233
+
234
+ - **ESM** (`dist/esm/`): ES Module format with `{"type": "module"}`
235
+ - **CJS** (`dist/cjs/`): CommonJS format with `{"type": "commonjs"}`
236
+
237
+ Import paths use `@/` alias for `src/` directory.
238
+
239
+ ## Models Support
240
+
241
+ ### Built-in Models
242
+ - **OpenAI/Azure OpenAI**: Full support for GPT models
243
+ - **Google Gemini**: Support for Gemini models
244
+
245
+ ### Custom Models
246
+ Extend the `BaseModel` class to add support for other AI models:
247
+
248
+ ```typescript
249
+ import { BaseModel } from '@ainetwork/adk/modules/models/base';
250
+
251
+ class MyCustomModel extends BaseModel {
252
+ async generateResponse(messages: any[], tools?: any[]): Promise<any> {
253
+ // Implement your model logic
254
+ }
255
+ }
256
+ ```
257
+
258
+ ## Error Handling
259
+
260
+ The library includes comprehensive error handling:
261
+ - Global error middleware for uncaught errors
262
+ - Service-specific error logging
263
+ - Graceful handling of:
264
+ - MCP server connection failures
265
+ - A2A agent communication errors
266
+ - Model API failures
267
+ - Tool execution errors
268
+ - Invalid requests
269
+
270
+ All errors are logged with appropriate context for debugging.
271
+
272
+ ## Authentication
273
+
274
+ The library supports optional authentication middleware:
275
+
276
+ ```typescript
277
+ import { BaseAuth } from '@ainetwork/adk/middlewares/auth/base';
278
+
279
+ class MyAuth extends BaseAuth {
280
+ async authenticate(req: Request): Promise<boolean> {
281
+ // Implement your auth logic
282
+ return true;
283
+ }
284
+ }
285
+
286
+ const agent = new AINAgent(manifest, modules, false, new MyAuth());
287
+ ```
288
+
289
+ ## Contributing
290
+
291
+ 1. Follow the established code conventions
292
+ 2. Use TypeScript strict mode
293
+ 3. Add appropriate service-specific logging
294
+ 4. Run `yarn check:write` and `yarn test` before submitting
295
+ 5. Maintain the modular architecture
296
+
297
+ ## License
298
+
299
+ MIT
@@ -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,68 @@
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.AINAgent = void 0;
7
+ const cors_1 = __importDefault(require("cors"));
8
+ const express_1 = __importDefault(require("express"));
9
+ const logger_js_1 = require("./utils/logger.js");
10
+ const router_js_1 = require("./router/a2a/router.js");
11
+ class AINAgent {
12
+ constructor(intentAnalyzer, info, url) {
13
+ this.app = (0, express_1.default)();
14
+ this.app.use((0, cors_1.default)());
15
+ this.app.use(express_1.default.json());
16
+ this.intentAnalyzer = intentAnalyzer;
17
+ this.info = info;
18
+ if (url) {
19
+ // A2A Server enabled
20
+ const card = this.infoToCard(info, url);
21
+ this.a2aRouter = new router_js_1.A2ARouter(intentAnalyzer, card);
22
+ }
23
+ }
24
+ infoToCard(info, url) {
25
+ const _url = new URL(url);
26
+ _url.pathname = "a2a";
27
+ return {
28
+ ...info,
29
+ url: _url.toString(),
30
+ capabilities: {
31
+ streaming: true, // The new framework supports streaming
32
+ pushNotifications: false, // Assuming not implemented for this agent yet
33
+ stateTransitionHistory: true, // Agent uses history
34
+ },
35
+ defaultInputModes: ["text"],
36
+ defaultOutputModes: ["text", "task-status"], // task-status is a common output mode
37
+ skills: [],
38
+ supportsAuthenticatedExtendedCard: false,
39
+ };
40
+ }
41
+ start(port) {
42
+ if (this.authScheme) {
43
+ this.app.use(this.authScheme.middleware());
44
+ }
45
+ this.app.get("/", async (_req, res) => {
46
+ const { name, description, version } = this.info;
47
+ res.status(200).send(`
48
+ ⚡ AIN Agent: ${name} v${version}<br/>
49
+ ${description}<br/><br/>
50
+ Agent status: Online and ready.
51
+ `.trim());
52
+ });
53
+ this.app.post("/query", async (req, res) => {
54
+ const { message, sessionId } = req.body;
55
+ // load session memory
56
+ const sessionHistory = (await this.sessionManager?.getSessionHistory(sessionId)) || {};
57
+ // TODO: Handle query type
58
+ const response = await this.intentAnalyzer?.handleQueryWithSession(message, sessionId, sessionHistory);
59
+ res.json(response);
60
+ });
61
+ this.a2aRouter?.setupRoutes(this.app);
62
+ this.app.listen(port, () => {
63
+ logger_js_1.loggers.agent.info(`AINAgent is running on port ${port}`);
64
+ });
65
+ }
66
+ }
67
+ exports.AINAgent = AINAgent;
68
+ //# 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,170 @@
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.AINAgent = void 0;
7
+ const cors_1 = __importDefault(require("cors"));
8
+ const express_1 = __importDefault(require("express"));
9
+ const helmet_1 = __importDefault(require("helmet"));
10
+ const http_status_codes_1 = require("http-status-codes");
11
+ const logger_js_1 = require("./utils/logger.js");
12
+ const error_middleware_js_1 = require("./middlewares/error.middleware.js");
13
+ const a2a_routes_js_1 = require("./routes/a2a.routes.js");
14
+ const query_routes_js_1 = require("./routes/query.routes.js");
15
+ /**
16
+ * Main class for AI Network Agent Development Kit (AIN-ADK).
17
+ *
18
+ * AINAgent orchestrates all modules and provides an Express server for handling
19
+ * agent interactions through both standard query endpoints and A2A protocol endpoints.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const manifest = {
24
+ * name: "MyAgent",
25
+ * description: "An example AI agent",
26
+ * version: "1.0.0"
27
+ * };
28
+ *
29
+ * const agent = new AINAgent(manifest, {
30
+ * modelModule: new ModelModule(),
31
+ * a2aModule: new A2AModule(),
32
+ * mcpModule: new MCPModule()
33
+ * });
34
+ *
35
+ * agent.start(3000);
36
+ * ```
37
+ */
38
+ class AINAgent {
39
+ /**
40
+ * Creates a new AINAgent instance.
41
+ *
42
+ * @param manifest - Agent manifest containing name, description, version, and optional URL
43
+ * @param modules - Required and optional modules for the agent
44
+ * @param modules.modelModule - Required module for AI model integrations
45
+ * @param modules.a2aModule - Optional module for A2A protocol support
46
+ * @param modules.mcpModule - Optional module for MCP server connections
47
+ * @param modules.memoryModule - Optional module for memory management
48
+ * @param modules.folModule - Optional module for fol management
49
+ * @param authScheme - Optional authentication middleware for securing endpoints
50
+ */
51
+ constructor(manifest, modules, authScheme) {
52
+ /**
53
+ * Generates an A2A protocol agent card for discovery.
54
+ *
55
+ * The agent card contains metadata about the agent's capabilities,
56
+ * supported input/output modes, and connection information.
57
+ *
58
+ * @returns AgentCard object with agent metadata and capabilities
59
+ * @throws Error if manifest URL is invalid or missing
60
+ */
61
+ this.generateAgentCard = () => {
62
+ const _url = new URL(this.manifest.url || "");
63
+ _url.pathname = "a2a";
64
+ return {
65
+ name: this.manifest.name,
66
+ description: this.manifest.description,
67
+ version: this.manifest.version,
68
+ url: _url.toString(),
69
+ capabilities: {
70
+ streaming: true, // The new framework supports streaming
71
+ pushNotifications: false, // Assuming not implemented for this agent yet
72
+ stateTransitionHistory: true, // Agent uses history
73
+ },
74
+ defaultInputModes: ["text"],
75
+ defaultOutputModes: ["text", "task-status"], // task-status is a common output mode
76
+ skills: [],
77
+ supportsAuthenticatedExtendedCard: false,
78
+ };
79
+ };
80
+ /**
81
+ * Initializes all HTTP routes including health check, agent discovery,
82
+ * query endpoints, and optional A2A endpoints.
83
+ *
84
+ * Routes initialized:
85
+ * - GET / - Health check endpoint
86
+ * - GET /.well-known/agent.json - Agent card discovery endpoint
87
+ * - /query/* - Query processing endpoints
88
+ * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
89
+ */
90
+ this.initializeRoutes = () => {
91
+ this.app.get("/", async (_, res) => {
92
+ const { name, description, version } = this.manifest;
93
+ res.status(200).send(`
94
+ ⚡ AIN Agent: ${name} v${version}<br/>
95
+ ${description}<br/><br/>
96
+ Agent status: Online and ready.
97
+ `.trim());
98
+ });
99
+ this.app.get("/.well-known/agent.json", async (_, res) => {
100
+ try {
101
+ const card = this.generateAgentCard();
102
+ res.json(card);
103
+ }
104
+ catch (_error) {
105
+ res.status(http_status_codes_1.StatusCodes.NOT_FOUND).send("No agent card");
106
+ }
107
+ });
108
+ this.app.use((0, query_routes_js_1.createQueryRouter)(this));
109
+ if (this.isValidUrl(this.manifest.url)) {
110
+ this.app.use((0, a2a_routes_js_1.createA2ARouter)(this));
111
+ }
112
+ };
113
+ this.app = (0, express_1.default)();
114
+ // Set manifest
115
+ this.manifest = manifest;
116
+ // Set modules
117
+ this.modelModule = modules.modelModule;
118
+ this.a2aModule = modules.a2aModule;
119
+ this.mcpModule = modules.mcpModule;
120
+ this.memoryModule = modules.memoryModule;
121
+ this.folModule = modules.folModule;
122
+ this.authScheme = authScheme;
123
+ this.initializeMiddlewares();
124
+ this.initializeRoutes();
125
+ this.app.use(error_middleware_js_1.errorMiddleware);
126
+ }
127
+ /**
128
+ * Initializes Express middlewares for security, CORS, and body parsing.
129
+ * Also applies authentication middleware if configured.
130
+ */
131
+ initializeMiddlewares() {
132
+ this.app.use((0, helmet_1.default)());
133
+ this.app.use((0, cors_1.default)());
134
+ this.app.use(express_1.default.json());
135
+ this.app.use(express_1.default.urlencoded({ extended: true }));
136
+ if (this.authScheme) {
137
+ this.app.use(this.authScheme.middleware());
138
+ }
139
+ }
140
+ /**
141
+ * Validates if a string is a valid HTTP or HTTPS URL.
142
+ *
143
+ * @param urlString - The URL string to validate
144
+ * @returns true if the URL is valid HTTP/HTTPS, false otherwise
145
+ */
146
+ isValidUrl(urlString) {
147
+ if (!urlString) {
148
+ return false;
149
+ }
150
+ try {
151
+ const url = new URL(urlString);
152
+ return url.protocol === "http:" || url.protocol === "https:";
153
+ }
154
+ catch (_error) {
155
+ return false;
156
+ }
157
+ }
158
+ /**
159
+ * Starts the Express server on the specified port.
160
+ *
161
+ * @param port - The port number to listen on
162
+ */
163
+ start(port) {
164
+ this.app.listen(port, () => {
165
+ logger_js_1.loggers.agent.info(`AINAgent is running on port ${port}`);
166
+ });
167
+ }
168
+ }
169
+ exports.AINAgent = AINAgent;
170
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}