@ainetwork/adk 0.3.2 → 0.3.4

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 (382) hide show
  1. package/README.md +62 -29
  2. package/dist/cjs/{chunk-RCOESZIX.cjs → chunk-3COIZ4H5.cjs} +5 -5
  3. package/dist/cjs/chunk-3COIZ4H5.cjs.map +1 -0
  4. package/dist/cjs/chunk-4VIZ52C2.cjs +37 -0
  5. package/dist/cjs/chunk-4VIZ52C2.cjs.map +1 -0
  6. package/dist/cjs/{chunk-X46GJS7X.cjs → chunk-4ZTPNV3C.cjs} +4 -4
  7. package/dist/cjs/chunk-4ZTPNV3C.cjs.map +1 -0
  8. package/dist/cjs/{chunk-A2I7D6JW.cjs → chunk-6HUEBFXL.cjs} +1 -1
  9. package/dist/cjs/{chunk-A2I7D6JW.cjs.map → chunk-6HUEBFXL.cjs.map} +1 -1
  10. package/dist/cjs/{chunk-EA3YMPST.cjs → chunk-6JO4LWIY.cjs} +7 -14
  11. package/dist/cjs/chunk-6JO4LWIY.cjs.map +1 -0
  12. package/dist/cjs/{chunk-NEWJ7PXH.cjs → chunk-7E3A6PCO.cjs} +9 -8
  13. package/dist/cjs/chunk-7E3A6PCO.cjs.map +1 -0
  14. package/dist/cjs/chunk-7XYVRO76.cjs +68 -0
  15. package/dist/cjs/chunk-7XYVRO76.cjs.map +1 -0
  16. package/dist/cjs/chunk-AQGJBXBU.cjs +8 -0
  17. package/dist/cjs/chunk-AQGJBXBU.cjs.map +1 -0
  18. package/dist/cjs/chunk-CHREGFB3.cjs +38 -0
  19. package/dist/cjs/chunk-CHREGFB3.cjs.map +1 -0
  20. package/dist/cjs/chunk-CKZDAQBG.cjs +17 -0
  21. package/dist/cjs/chunk-CKZDAQBG.cjs.map +1 -0
  22. package/dist/cjs/chunk-EQWAVDJY.cjs +47 -0
  23. package/dist/cjs/chunk-EQWAVDJY.cjs.map +1 -0
  24. package/dist/cjs/{chunk-5FZ7QLJD.cjs → chunk-EUNCRF3F.cjs} +4 -4
  25. package/dist/cjs/chunk-EUNCRF3F.cjs.map +1 -0
  26. package/dist/cjs/chunk-FLPLVYXQ.cjs +45 -0
  27. package/dist/cjs/chunk-FLPLVYXQ.cjs.map +1 -0
  28. package/dist/cjs/chunk-GA6NTHXB.cjs +17 -0
  29. package/dist/cjs/chunk-GA6NTHXB.cjs.map +1 -0
  30. package/dist/cjs/{chunk-NNYPZA6W.cjs → chunk-HDF5WQFQ.cjs} +31 -26
  31. package/dist/cjs/chunk-HDF5WQFQ.cjs.map +1 -0
  32. package/dist/cjs/{chunk-YCTPMLZO.cjs → chunk-HVNTK4O7.cjs} +12 -8
  33. package/dist/cjs/chunk-HVNTK4O7.cjs.map +1 -0
  34. package/dist/cjs/chunk-I72VEOEC.cjs +62 -0
  35. package/dist/cjs/chunk-I72VEOEC.cjs.map +1 -0
  36. package/dist/cjs/{chunk-OZPPTVUA.cjs → chunk-IP6P2TQM.cjs} +121 -37
  37. package/dist/cjs/chunk-IP6P2TQM.cjs.map +1 -0
  38. package/dist/cjs/chunk-JQIAM5N4.cjs +18 -0
  39. package/dist/cjs/chunk-JQIAM5N4.cjs.map +1 -0
  40. package/dist/cjs/chunk-LTBTLUJD.cjs +74 -0
  41. package/dist/cjs/chunk-LTBTLUJD.cjs.map +1 -0
  42. package/dist/cjs/chunk-MSPDYSCC.cjs +21 -0
  43. package/dist/cjs/chunk-MSPDYSCC.cjs.map +1 -0
  44. package/dist/cjs/chunk-NFEFQTIX.cjs +104 -0
  45. package/dist/cjs/chunk-NFEFQTIX.cjs.map +1 -0
  46. package/dist/cjs/{chunk-QCYLIOXZ.cjs → chunk-NLONGI2K.cjs} +7 -4
  47. package/dist/cjs/chunk-NLONGI2K.cjs.map +1 -0
  48. package/dist/cjs/chunk-NNVC34HX.cjs +95 -0
  49. package/dist/cjs/chunk-NNVC34HX.cjs.map +1 -0
  50. package/dist/cjs/{chunk-Z6TQ7TFO.cjs → chunk-OERUQFT7.cjs} +1 -1
  51. package/dist/cjs/chunk-OERUQFT7.cjs.map +1 -0
  52. package/dist/cjs/{chunk-TZ6JOGWV.cjs → chunk-PH5CFKLN.cjs} +4 -1
  53. package/dist/cjs/chunk-PH5CFKLN.cjs.map +1 -0
  54. package/dist/cjs/{chunk-FJ2JWXSL.cjs → chunk-QHDIM62U.cjs} +12 -8
  55. package/dist/cjs/chunk-QHDIM62U.cjs.map +1 -0
  56. package/dist/cjs/{chunk-5QSLQX4H.cjs → chunk-TDHM5TWT.cjs} +24 -34
  57. package/dist/cjs/chunk-TDHM5TWT.cjs.map +1 -0
  58. package/dist/cjs/{chunk-W224GBH7.cjs → chunk-UNRN7WF6.cjs} +1 -1
  59. package/dist/cjs/{chunk-W224GBH7.cjs.map → chunk-UNRN7WF6.cjs.map} +1 -1
  60. package/dist/cjs/chunk-VM74R2KP.cjs +170 -0
  61. package/dist/cjs/chunk-VM74R2KP.cjs.map +1 -0
  62. package/dist/cjs/chunk-WQIUHNUX.cjs +45 -0
  63. package/dist/cjs/chunk-WQIUHNUX.cjs.map +1 -0
  64. package/dist/cjs/chunk-ZWJ6IAP2.cjs +89 -0
  65. package/dist/cjs/chunk-ZWJ6IAP2.cjs.map +1 -0
  66. package/dist/cjs/{chunk-4Z4HSVCQ.cjs → chunk-ZZP6LQ5R.cjs} +4 -5
  67. package/dist/cjs/chunk-ZZP6LQ5R.cjs.map +1 -0
  68. package/dist/cjs/config/agent.cjs +9 -0
  69. package/dist/cjs/config/agent.cjs.map +1 -0
  70. package/dist/cjs/config/modules.cjs +19 -0
  71. package/dist/cjs/config/modules.cjs.map +1 -0
  72. package/dist/cjs/config/options.cjs +11 -0
  73. package/dist/cjs/config/options.cjs.map +1 -0
  74. package/dist/cjs/container/controllers.cjs +16 -0
  75. package/dist/cjs/container/controllers.cjs.map +1 -0
  76. package/dist/cjs/container/index.cjs +40 -0
  77. package/dist/cjs/container/index.cjs.map +1 -0
  78. package/dist/cjs/container/services.cjs +25 -0
  79. package/dist/cjs/container/services.cjs.map +1 -0
  80. package/dist/cjs/controllers/api/agent.api.controller.cjs +2 -2
  81. package/dist/cjs/controllers/api/threads.api.controller.cjs +2 -2
  82. package/dist/cjs/controllers/api/workflow.api.controller.cjs +7 -0
  83. package/dist/cjs/controllers/api/workflow.api.controller.cjs.map +1 -0
  84. package/dist/cjs/controllers/index.cjs +7 -8
  85. package/dist/cjs/controllers/index.cjs.map +1 -1
  86. package/dist/cjs/controllers/query.controller.cjs +3 -4
  87. package/dist/cjs/controllers/query.controller.cjs.map +1 -1
  88. package/dist/cjs/index.cjs +74 -50
  89. package/dist/cjs/index.cjs.map +1 -1
  90. package/dist/cjs/middlewares/auth.middleware.cjs +3 -3
  91. package/dist/cjs/modules/a2a/a2a.module.cjs +1 -1
  92. package/dist/cjs/modules/auth/auth.module.cjs +7 -0
  93. package/dist/cjs/modules/auth/auth.module.cjs.map +1 -0
  94. package/dist/cjs/modules/index.cjs +9 -9
  95. package/dist/cjs/modules/index.cjs.map +1 -1
  96. package/dist/cjs/modules/memory/memory.module.cjs +2 -2
  97. package/dist/cjs/routes/a2a.routes.cjs +29 -11
  98. package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
  99. package/dist/cjs/routes/api/agent.routes.cjs +30 -3
  100. package/dist/cjs/routes/api/agent.routes.cjs.map +1 -1
  101. package/dist/cjs/routes/api/intent.routes.cjs +29 -3
  102. package/dist/cjs/routes/api/intent.routes.cjs.map +1 -1
  103. package/dist/cjs/routes/api/model.routes.cjs +29 -2
  104. package/dist/cjs/routes/api/model.routes.cjs.map +1 -1
  105. package/dist/cjs/routes/api/threads.routes.cjs +30 -4
  106. package/dist/cjs/routes/api/threads.routes.cjs.map +1 -1
  107. package/dist/cjs/routes/api/workflow.routes.cjs +35 -0
  108. package/dist/cjs/routes/api/workflow.routes.cjs.map +1 -0
  109. package/dist/cjs/routes/api.routes.cjs +33 -9
  110. package/dist/cjs/routes/api.routes.cjs.map +1 -1
  111. package/dist/cjs/routes/index.cjs +36 -24
  112. package/dist/cjs/routes/index.cjs.map +1 -1
  113. package/dist/cjs/routes/intent.routes.cjs +27 -15
  114. package/dist/cjs/routes/intent.routes.cjs.map +1 -1
  115. package/dist/cjs/routes/query.routes.cjs +27 -12
  116. package/dist/cjs/routes/query.routes.cjs.map +1 -1
  117. package/dist/cjs/services/a2a.service.cjs +2 -2
  118. package/dist/cjs/services/index.cjs +14 -19
  119. package/dist/cjs/services/index.cjs.map +1 -1
  120. package/dist/cjs/services/intents/aggregate.service.cjs +10 -0
  121. package/dist/cjs/services/intents/aggregate.service.cjs.map +1 -0
  122. package/dist/cjs/services/intents/fulfill.service.cjs +6 -3
  123. package/dist/cjs/services/intents/fulfill.service.cjs.map +1 -1
  124. package/dist/cjs/services/intents/multi-trigger.service.cjs +8 -0
  125. package/dist/cjs/services/intents/multi-trigger.service.cjs.map +1 -0
  126. package/dist/cjs/services/intents/single-trigger.service.cjs +8 -0
  127. package/dist/cjs/services/intents/single-trigger.service.cjs.map +1 -0
  128. package/dist/cjs/services/intents/trigger.service.cjs +4 -2
  129. package/dist/cjs/services/intents/trigger.service.cjs.map +1 -1
  130. package/dist/cjs/services/query.service.cjs +4 -8
  131. package/dist/cjs/services/query.service.cjs.map +1 -1
  132. package/dist/cjs/services/thread.service.cjs +2 -2
  133. package/dist/cjs/services/utils/aggregate.common.cjs +9 -0
  134. package/dist/cjs/services/utils/aggregate.common.cjs.map +1 -0
  135. package/dist/cjs/types/agent.cjs +2 -2
  136. package/dist/cjs/types/memory.cjs +2 -2
  137. package/dist/esm/{chunk-275JHD5P.js → chunk-2VGXYWJD.js} +5 -5
  138. package/dist/esm/chunk-2VGXYWJD.js.map +1 -0
  139. package/dist/esm/{chunk-A5PRJ33H.js → chunk-44CTGJX4.js} +116 -32
  140. package/dist/esm/chunk-44CTGJX4.js.map +1 -0
  141. package/dist/esm/{chunk-GRN6CHNO.js → chunk-4BHU7SPZ.js} +1 -1
  142. package/dist/esm/{chunk-GRN6CHNO.js.map → chunk-4BHU7SPZ.js.map} +1 -1
  143. package/dist/esm/{chunk-SPRW6KUR.js → chunk-6YBQCUNB.js} +12 -8
  144. package/dist/esm/chunk-6YBQCUNB.js.map +1 -0
  145. package/dist/esm/chunk-7DH4SI44.js +89 -0
  146. package/dist/esm/chunk-7DH4SI44.js.map +1 -0
  147. package/dist/esm/{chunk-OUIXXZFI.js → chunk-7GV6DSPE.js} +4 -1
  148. package/dist/esm/chunk-7GV6DSPE.js.map +1 -0
  149. package/dist/esm/chunk-7XQPJVYO.js +62 -0
  150. package/dist/esm/chunk-7XQPJVYO.js.map +1 -0
  151. package/dist/esm/{chunk-6AN7Z5OC.js → chunk-AEBBZSQ4.js} +10 -17
  152. package/dist/esm/chunk-AEBBZSQ4.js.map +1 -0
  153. package/dist/esm/chunk-BS52JTBH.js +8 -0
  154. package/dist/esm/chunk-BS52JTBH.js.map +1 -0
  155. package/dist/esm/chunk-BZUWX7HX.js +68 -0
  156. package/dist/esm/chunk-BZUWX7HX.js.map +1 -0
  157. package/dist/esm/{chunk-WUNZG3WP.js → chunk-C5JXXLCW.js} +1 -1
  158. package/dist/esm/chunk-C5JXXLCW.js.map +1 -0
  159. package/dist/esm/chunk-CC6DWPHZ.js +95 -0
  160. package/dist/esm/chunk-CC6DWPHZ.js.map +1 -0
  161. package/dist/esm/chunk-CG35V3ZH.js +21 -0
  162. package/dist/esm/chunk-CG35V3ZH.js.map +1 -0
  163. package/dist/esm/{chunk-JHKBIDPX.js → chunk-D6STNZ2L.js} +30 -25
  164. package/dist/esm/chunk-D6STNZ2L.js.map +1 -0
  165. package/dist/esm/chunk-FCH7BUK4.js +17 -0
  166. package/dist/esm/chunk-FCH7BUK4.js.map +1 -0
  167. package/dist/esm/chunk-I4P7JMJC.js +104 -0
  168. package/dist/esm/chunk-I4P7JMJC.js.map +1 -0
  169. package/dist/esm/chunk-IG3B5AXN.js +74 -0
  170. package/dist/esm/chunk-IG3B5AXN.js.map +1 -0
  171. package/dist/esm/{chunk-JCXAHLRN.js → chunk-JXGQVFCO.js} +20 -30
  172. package/dist/esm/chunk-JXGQVFCO.js.map +1 -0
  173. package/dist/esm/chunk-LMOWEXWF.js +38 -0
  174. package/dist/esm/chunk-LMOWEXWF.js.map +1 -0
  175. package/dist/esm/chunk-O3MPFL5J.js +47 -0
  176. package/dist/esm/chunk-O3MPFL5J.js.map +1 -0
  177. package/dist/esm/chunk-PZQRSWST.js +18 -0
  178. package/dist/esm/chunk-PZQRSWST.js.map +1 -0
  179. package/dist/esm/{chunk-KOCOM7IC.js → chunk-QQZ5ANSD.js} +8 -7
  180. package/dist/esm/chunk-QQZ5ANSD.js.map +1 -0
  181. package/dist/esm/chunk-TQJCYP7X.js +170 -0
  182. package/dist/esm/chunk-TQJCYP7X.js.map +1 -0
  183. package/dist/esm/{chunk-WZQVH4XY.js → chunk-V23GKNNJ.js} +7 -7
  184. package/dist/esm/chunk-V23GKNNJ.js.map +1 -0
  185. package/dist/esm/chunk-VBK4WM2M.js +17 -0
  186. package/dist/esm/chunk-VBK4WM2M.js.map +1 -0
  187. package/dist/esm/{chunk-F3SGL62A.js → chunk-VP5Q63JU.js} +12 -8
  188. package/dist/esm/chunk-VP5Q63JU.js.map +1 -0
  189. package/dist/esm/chunk-VSQVYW2H.js +37 -0
  190. package/dist/esm/chunk-VSQVYW2H.js.map +1 -0
  191. package/dist/esm/{chunk-TUEEIIR3.js → chunk-WKFSYGMH.js} +5 -6
  192. package/dist/esm/chunk-WKFSYGMH.js.map +1 -0
  193. package/dist/esm/{chunk-OTBWAUJF.js → chunk-YDER5JOU.js} +5 -2
  194. package/dist/esm/chunk-YDER5JOU.js.map +1 -0
  195. package/dist/esm/{chunk-4LBR3TIJ.js → chunk-ZJVWC666.js} +6 -6
  196. package/dist/esm/chunk-ZJVWC666.js.map +1 -0
  197. package/dist/esm/{chunk-AMRKK46V.js → chunk-ZK3HZBER.js} +5 -5
  198. package/dist/esm/chunk-ZK3HZBER.js.map +1 -0
  199. package/dist/esm/chunk-ZNZZZ4NN.js +45 -0
  200. package/dist/esm/chunk-ZNZZZ4NN.js.map +1 -0
  201. package/dist/esm/{chunk-RL6SRSSK.js → chunk-ZVYC5Y6Z.js} +1 -1
  202. package/dist/esm/chunk-ZVYC5Y6Z.js.map +1 -0
  203. package/dist/esm/config/agent.d.ts +25 -0
  204. package/dist/esm/config/agent.js +9 -0
  205. package/dist/esm/config/manifest.d.ts +3 -0
  206. package/dist/esm/config/modules.d.ts +34 -0
  207. package/dist/esm/config/modules.js +19 -0
  208. package/dist/esm/config/options.d.ts +14 -0
  209. package/dist/esm/config/options.js +11 -0
  210. package/dist/esm/container/controllers.d.ts +57 -0
  211. package/dist/esm/container/controllers.js +16 -0
  212. package/dist/esm/container/index.d.ts +68 -0
  213. package/dist/esm/container/index.js +40 -0
  214. package/dist/esm/container/index.js.map +1 -0
  215. package/dist/esm/container/services.d.ts +42 -0
  216. package/dist/esm/container/services.js +25 -0
  217. package/dist/esm/container/services.js.map +1 -0
  218. package/dist/esm/controllers/a2a.controller.d.ts +11 -7
  219. package/dist/esm/controllers/api/agent.api.controller.d.ts +3 -17
  220. package/dist/esm/controllers/api/agent.api.controller.js +1 -1
  221. package/dist/esm/controllers/api/threads.api.controller.js +1 -1
  222. package/dist/esm/controllers/api/workflow.api.controller.d.ts +16 -0
  223. package/dist/esm/controllers/api/workflow.api.controller.js +7 -0
  224. package/dist/esm/controllers/api/workflow.api.controller.js.map +1 -0
  225. package/dist/esm/controllers/index.d.ts +9 -11
  226. package/dist/esm/controllers/index.js +7 -8
  227. package/dist/esm/controllers/query.controller.d.ts +13 -11
  228. package/dist/esm/controllers/query.controller.js +2 -3
  229. package/dist/esm/index.d.ts +16 -10
  230. package/dist/esm/index.js +77 -53
  231. package/dist/esm/index.js.map +1 -1
  232. package/dist/esm/middlewares/auth.middleware.d.ts +2 -2
  233. package/dist/esm/middlewares/auth.middleware.js +2 -2
  234. package/dist/esm/middlewares/error.middleware.d.ts +3 -0
  235. package/dist/esm/modules/a2a/a2a.module.js +1 -1
  236. package/dist/esm/modules/auth/{base.auth.d.ts → auth.module.d.ts} +2 -2
  237. package/dist/esm/modules/auth/auth.module.js +7 -0
  238. package/dist/esm/modules/auth/auth.module.js.map +1 -0
  239. package/dist/esm/modules/index.d.ts +2 -2
  240. package/dist/esm/modules/index.js +9 -9
  241. package/dist/esm/modules/memory/base.memory.d.ts +13 -2
  242. package/dist/esm/modules/memory/memory.module.d.ts +2 -1
  243. package/dist/esm/modules/memory/memory.module.js +1 -1
  244. package/dist/esm/routes/a2a.routes.d.ts +1 -22
  245. package/dist/esm/routes/a2a.routes.js +28 -10
  246. package/dist/esm/routes/api/agent.routes.d.ts +1 -20
  247. package/dist/esm/routes/api/agent.routes.js +29 -2
  248. package/dist/esm/routes/api/intent.routes.d.ts +1 -4
  249. package/dist/esm/routes/api/intent.routes.js +28 -2
  250. package/dist/esm/routes/api/model.routes.d.ts +1 -6
  251. package/dist/esm/routes/api/model.routes.js +28 -1
  252. package/dist/esm/routes/api/threads.routes.d.ts +1 -4
  253. package/dist/esm/routes/api/threads.routes.js +29 -3
  254. package/dist/esm/routes/api/workflow.routes.d.ts +5 -0
  255. package/dist/esm/routes/api/workflow.routes.js +35 -0
  256. package/dist/esm/routes/api/workflow.routes.js.map +1 -0
  257. package/dist/esm/routes/api.routes.d.ts +1 -20
  258. package/dist/esm/routes/api.routes.js +32 -8
  259. package/dist/esm/routes/index.d.ts +0 -19
  260. package/dist/esm/routes/index.js +39 -27
  261. package/dist/esm/routes/intent.routes.d.ts +1 -20
  262. package/dist/esm/routes/intent.routes.js +26 -14
  263. package/dist/esm/routes/query.routes.d.ts +1 -20
  264. package/dist/esm/routes/query.routes.js +26 -11
  265. package/dist/esm/services/a2a.service.d.ts +14 -10
  266. package/dist/esm/services/a2a.service.js +1 -1
  267. package/dist/esm/services/index.d.ts +9 -9
  268. package/dist/esm/services/index.js +16 -21
  269. package/dist/esm/services/intents/aggregate.service.d.ts +41 -0
  270. package/dist/esm/services/intents/aggregate.service.js +10 -0
  271. package/dist/esm/services/intents/aggregate.service.js.map +1 -0
  272. package/dist/esm/services/intents/fulfill.service.d.ts +23 -7
  273. package/dist/esm/services/intents/fulfill.service.js +5 -2
  274. package/dist/esm/services/intents/multi-trigger.service.d.ts +27 -0
  275. package/dist/esm/services/intents/multi-trigger.service.js +8 -0
  276. package/dist/esm/services/intents/multi-trigger.service.js.map +1 -0
  277. package/dist/esm/services/intents/single-trigger.service.d.ts +28 -0
  278. package/dist/esm/services/intents/single-trigger.service.js +8 -0
  279. package/dist/esm/services/intents/single-trigger.service.js.map +1 -0
  280. package/dist/esm/services/intents/trigger.service.d.ts +9 -4
  281. package/dist/esm/services/intents/trigger.service.js +3 -1
  282. package/dist/esm/services/query.service.d.ts +21 -15
  283. package/dist/esm/services/query.service.js +3 -7
  284. package/dist/esm/services/thread.service.d.ts +2 -2
  285. package/dist/esm/services/thread.service.js +1 -1
  286. package/dist/esm/services/utils/aggregate.common.d.ts +10 -0
  287. package/dist/esm/services/utils/aggregate.common.js +9 -0
  288. package/dist/esm/services/utils/aggregate.common.js.map +1 -0
  289. package/dist/esm/types/agent.d.ts +9 -1
  290. package/dist/esm/types/agent.js +1 -1
  291. package/dist/esm/types/memory.d.ts +23 -1
  292. package/dist/esm/types/memory.js +1 -1
  293. package/dist/esm/types/stream.d.ts +11 -0
  294. package/package.json +1 -1
  295. package/dist/cjs/chunk-2P3ZBNVN.cjs +0 -45
  296. package/dist/cjs/chunk-2P3ZBNVN.cjs.map +0 -1
  297. package/dist/cjs/chunk-3RS6NVSN.cjs +0 -41
  298. package/dist/cjs/chunk-3RS6NVSN.cjs.map +0 -1
  299. package/dist/cjs/chunk-4Z4HSVCQ.cjs.map +0 -1
  300. package/dist/cjs/chunk-5FZ7QLJD.cjs.map +0 -1
  301. package/dist/cjs/chunk-5QSLQX4H.cjs.map +0 -1
  302. package/dist/cjs/chunk-6T2YGFSD.cjs +0 -28
  303. package/dist/cjs/chunk-6T2YGFSD.cjs.map +0 -1
  304. package/dist/cjs/chunk-7KXB6FOT.cjs +0 -112
  305. package/dist/cjs/chunk-7KXB6FOT.cjs.map +0 -1
  306. package/dist/cjs/chunk-AHNKY3JY.cjs +0 -30
  307. package/dist/cjs/chunk-AHNKY3JY.cjs.map +0 -1
  308. package/dist/cjs/chunk-DGXLVGIM.cjs +0 -36
  309. package/dist/cjs/chunk-DGXLVGIM.cjs.map +0 -1
  310. package/dist/cjs/chunk-E3PD4Q76.cjs +0 -41
  311. package/dist/cjs/chunk-E3PD4Q76.cjs.map +0 -1
  312. package/dist/cjs/chunk-EA3YMPST.cjs.map +0 -1
  313. package/dist/cjs/chunk-FJ2JWXSL.cjs.map +0 -1
  314. package/dist/cjs/chunk-HF2QUMQV.cjs +0 -30
  315. package/dist/cjs/chunk-HF2QUMQV.cjs.map +0 -1
  316. package/dist/cjs/chunk-HF7GKQ6Y.cjs +0 -105
  317. package/dist/cjs/chunk-HF7GKQ6Y.cjs.map +0 -1
  318. package/dist/cjs/chunk-MT722JJC.cjs +0 -1
  319. package/dist/cjs/chunk-MT722JJC.cjs.map +0 -1
  320. package/dist/cjs/chunk-NEWJ7PXH.cjs.map +0 -1
  321. package/dist/cjs/chunk-NNYPZA6W.cjs.map +0 -1
  322. package/dist/cjs/chunk-OZPPTVUA.cjs.map +0 -1
  323. package/dist/cjs/chunk-QCYLIOXZ.cjs.map +0 -1
  324. package/dist/cjs/chunk-RCOESZIX.cjs.map +0 -1
  325. package/dist/cjs/chunk-RVT67VJL.cjs +0 -105
  326. package/dist/cjs/chunk-RVT67VJL.cjs.map +0 -1
  327. package/dist/cjs/chunk-TZ6JOGWV.cjs.map +0 -1
  328. package/dist/cjs/chunk-U47SG7XG.cjs +0 -168
  329. package/dist/cjs/chunk-U47SG7XG.cjs.map +0 -1
  330. package/dist/cjs/chunk-X46GJS7X.cjs.map +0 -1
  331. package/dist/cjs/chunk-XEAJBA3S.cjs +0 -30
  332. package/dist/cjs/chunk-XEAJBA3S.cjs.map +0 -1
  333. package/dist/cjs/chunk-XQTVE64W.cjs +0 -8
  334. package/dist/cjs/chunk-XQTVE64W.cjs.map +0 -1
  335. package/dist/cjs/chunk-YCTPMLZO.cjs.map +0 -1
  336. package/dist/cjs/chunk-YY7HSXBP.cjs +0 -36
  337. package/dist/cjs/chunk-YY7HSXBP.cjs.map +0 -1
  338. package/dist/cjs/chunk-Z6TQ7TFO.cjs.map +0 -1
  339. package/dist/cjs/modules/auth/base.auth.cjs +0 -7
  340. package/dist/cjs/modules/auth/base.auth.cjs.map +0 -1
  341. package/dist/cjs/services/intents/fulfill-stream.service.cjs +0 -12
  342. package/dist/cjs/services/intents/fulfill-stream.service.cjs.map +0 -1
  343. package/dist/cjs/services/query-stream.service.cjs +0 -16
  344. package/dist/cjs/services/query-stream.service.cjs.map +0 -1
  345. package/dist/esm/chunk-275JHD5P.js.map +0 -1
  346. package/dist/esm/chunk-4LBR3TIJ.js.map +0 -1
  347. package/dist/esm/chunk-6AN7Z5OC.js.map +0 -1
  348. package/dist/esm/chunk-A5PRJ33H.js.map +0 -1
  349. package/dist/esm/chunk-AMRKK46V.js.map +0 -1
  350. package/dist/esm/chunk-F3SGL62A.js.map +0 -1
  351. package/dist/esm/chunk-FF5RJ4L2.js +0 -8
  352. package/dist/esm/chunk-FF5RJ4L2.js.map +0 -1
  353. package/dist/esm/chunk-JCXAHLRN.js.map +0 -1
  354. package/dist/esm/chunk-JHKBIDPX.js.map +0 -1
  355. package/dist/esm/chunk-KOCOM7IC.js.map +0 -1
  356. package/dist/esm/chunk-OTBWAUJF.js.map +0 -1
  357. package/dist/esm/chunk-OUIXXZFI.js.map +0 -1
  358. package/dist/esm/chunk-Q7NLA5X4.js +0 -30
  359. package/dist/esm/chunk-Q7NLA5X4.js.map +0 -1
  360. package/dist/esm/chunk-RL6SRSSK.js.map +0 -1
  361. package/dist/esm/chunk-SPRW6KUR.js.map +0 -1
  362. package/dist/esm/chunk-TUEEIIR3.js.map +0 -1
  363. package/dist/esm/chunk-U7REZSMO.js +0 -1
  364. package/dist/esm/chunk-UEUZ7G5P.js +0 -168
  365. package/dist/esm/chunk-UEUZ7G5P.js.map +0 -1
  366. package/dist/esm/chunk-WO2QJ6UM.js +0 -28
  367. package/dist/esm/chunk-WO2QJ6UM.js.map +0 -1
  368. package/dist/esm/chunk-WUNZG3WP.js.map +0 -1
  369. package/dist/esm/chunk-WZQVH4XY.js.map +0 -1
  370. package/dist/esm/chunk-Y7BKUWRJ.js +0 -105
  371. package/dist/esm/chunk-Y7BKUWRJ.js.map +0 -1
  372. package/dist/esm/chunk-YJTWW6QK.js +0 -41
  373. package/dist/esm/chunk-YJTWW6QK.js.map +0 -1
  374. package/dist/esm/modules/auth/base.auth.js +0 -7
  375. package/dist/esm/services/intents/fulfill-stream.service.d.ts +0 -50
  376. package/dist/esm/services/intents/fulfill-stream.service.js +0 -12
  377. package/dist/esm/services/query-stream.service.d.ts +0 -54
  378. package/dist/esm/services/query-stream.service.js +0 -16
  379. /package/dist/esm/{chunk-U7REZSMO.js.map → config/agent.js.map} +0 -0
  380. /package/dist/esm/{modules/auth/base.auth.js.map → config/modules.js.map} +0 -0
  381. /package/dist/esm/{services/intents/fulfill-stream.service.js.map → config/options.js.map} +0 -0
  382. /package/dist/esm/{services/query-stream.service.js.map → container/controllers.js.map} +0 -0
package/dist/esm/index.js CHANGED
@@ -2,52 +2,67 @@ import {
2
2
  isValidUrl
3
3
  } from "./chunk-I5DLV2CU.js";
4
4
  import "./chunk-PG3C4LQO.js";
5
- import {
6
- createA2ARouter
7
- } from "./chunk-6AN7Z5OC.js";
8
5
  import {
9
6
  createApiRouter
10
- } from "./chunk-Q7NLA5X4.js";
11
- import "./chunk-275JHD5P.js";
12
- import "./chunk-F3SGL62A.js";
13
- import "./chunk-AMRKK46V.js";
14
- import "./chunk-SPRW6KUR.js";
15
- import "./chunk-DFXHJUGV.js";
7
+ } from "./chunk-LMOWEXWF.js";
8
+ import "./chunk-ZK3HZBER.js";
9
+ import "./chunk-6YBQCUNB.js";
10
+ import "./chunk-7XQPJVYO.js";
11
+ import "./chunk-2VGXYWJD.js";
12
+ import "./chunk-VP5Q63JU.js";
16
13
  import {
17
14
  createIntentRouter
18
- } from "./chunk-WO2QJ6UM.js";
19
- import "./chunk-WZQVH4XY.js";
15
+ } from "./chunk-FCH7BUK4.js";
20
16
  import {
21
17
  createQueryRouter
22
- } from "./chunk-YJTWW6QK.js";
23
- import "./chunk-U7REZSMO.js";
24
- import "./chunk-Y7BKUWRJ.js";
25
- import "./chunk-UEUZ7G5P.js";
26
- import "./chunk-JCXAHLRN.js";
27
- import "./chunk-A5PRJ33H.js";
28
- import "./chunk-5IIF5O4A.js";
29
- import "./chunk-KOCOM7IC.js";
18
+ } from "./chunk-PZQRSWST.js";
19
+ import {
20
+ AuthMiddleware
21
+ } from "./chunk-YDER5JOU.js";
22
+ import {
23
+ errorMiddleware
24
+ } from "./chunk-RAHOYMKY.js";
25
+ import {
26
+ createA2ARouter
27
+ } from "./chunk-AEBBZSQ4.js";
28
+ import "./chunk-YMSNW2SU.js";
29
+ import {
30
+ setAgent
31
+ } from "./chunk-VBK4WM2M.js";
32
+ import "./chunk-IG3B5AXN.js";
33
+ import "./chunk-I4P7JMJC.js";
34
+ import "./chunk-DFXHJUGV.js";
35
+ import "./chunk-BZUWX7HX.js";
36
+ import "./chunk-WKFSYGMH.js";
37
+ import "./chunk-UA44VKFE.js";
38
+ import "./chunk-ZVYC5Y6Z.js";
39
+ import "./chunk-YUKPKFX5.js";
40
+ import "./chunk-D6STNZ2L.js";
41
+ import "./chunk-7DH4SI44.js";
42
+ import "./chunk-ZNZZZ4NN.js";
43
+ import "./chunk-QQZ5ANSD.js";
44
+ import "./chunk-CC6DWPHZ.js";
45
+ import "./chunk-44CTGJX4.js";
30
46
  import "./chunk-7BH6AYP7.js";
47
+ import "./chunk-TQJCYP7X.js";
48
+ import "./chunk-O3MPFL5J.js";
49
+ import "./chunk-ZJVWC666.js";
50
+ import "./chunk-JXGQVFCO.js";
51
+ import "./chunk-5IIF5O4A.js";
52
+ import "./chunk-V23GKNNJ.js";
31
53
  import "./chunk-7CULQDJF.js";
32
- import "./chunk-4LBR3TIJ.js";
54
+ import "./chunk-C5JXXLCW.js";
55
+ import "./chunk-VUMI4XOY.js";
33
56
  import {
34
57
  setManifest
35
58
  } from "./chunk-2J2TQRP4.js";
36
- import "./chunk-TUEEIIR3.js";
37
- import "./chunk-UA44VKFE.js";
38
- import "./chunk-RL6SRSSK.js";
39
- import "./chunk-YMSNW2SU.js";
40
- import "./chunk-YUKPKFX5.js";
41
- import "./chunk-JHKBIDPX.js";
42
- import "./chunk-GRN6CHNO.js";
43
59
  import {
44
- AuthMiddleware
45
- } from "./chunk-OTBWAUJF.js";
46
- import "./chunk-WUNZG3WP.js";
60
+ setOptions
61
+ } from "./chunk-CG35V3ZH.js";
62
+ import "./chunk-4BHU7SPZ.js";
47
63
  import {
48
- errorMiddleware
49
- } from "./chunk-RAHOYMKY.js";
50
- import "./chunk-VUMI4XOY.js";
64
+ setModules
65
+ } from "./chunk-VSQVYW2H.js";
51
66
 
52
67
  // src/index.ts
53
68
  import cors from "cors";
@@ -599,7 +614,7 @@ var helmet = Object.assign(
599
614
  import { StatusCodes } from "http-status-codes";
600
615
 
601
616
  // package.json
602
- var version = "0.3.2";
617
+ var version = "0.3.4";
603
618
 
604
619
  // src/index.ts
605
620
  var AINAgent = class {
@@ -609,11 +624,12 @@ var AINAgent = class {
609
624
  manifest;
610
625
  /** Modules */
611
626
  modelModule;
627
+ memoryModule;
628
+ authModule;
612
629
  a2aModule;
613
630
  mcpModule;
614
- memoryModule;
615
- /** Optional authentication scheme for securing endpoints */
616
- authScheme;
631
+ /** Optional fallback handler when intent matching fails */
632
+ onIntentFallback;
617
633
  /**
618
634
  * Creates a new AINAgent instance.
619
635
  *
@@ -623,10 +639,11 @@ var AINAgent = class {
623
639
  * @param modules.a2aModule - Optional module for A2A protocol support
624
640
  * @param modules.mcpModule - Optional module for MCP server connections
625
641
  * @param modules.memoryModule - Optional module for memory management
626
- * @param authScheme - Optional authentication middleware for securing endpoints
627
- * @param allowStream - Enable streaming query endpoints (default: false)
642
+ * @param authScheme - Authentication middleware for securing endpoints
643
+ * @param options - Optional configuration options
644
+ * @param options.onIntentFallback - Fallback handler when intent matching fails
628
645
  */
629
- constructor(manifest, modules, authScheme, allowStream = false) {
646
+ constructor(manifest, modules, options) {
630
647
  this.app = express();
631
648
  this.manifest = manifest;
632
649
  setManifest(manifest);
@@ -634,9 +651,20 @@ var AINAgent = class {
634
651
  this.a2aModule = modules.a2aModule;
635
652
  this.mcpModule = modules.mcpModule;
636
653
  this.memoryModule = modules.memoryModule;
637
- this.authScheme = authScheme;
654
+ this.authModule = modules.authModule;
655
+ this.onIntentFallback = options?.onIntentFallback;
656
+ setModules({
657
+ modelModule: modules.modelModule,
658
+ a2aModule: modules.a2aModule,
659
+ mcpModule: modules.mcpModule,
660
+ memoryModule: modules.memoryModule
661
+ });
662
+ setOptions({
663
+ onIntentFallback: options?.onIntentFallback
664
+ });
665
+ setAgent(this);
638
666
  this.initializeMiddlewares();
639
- this.initializeRoutes(allowStream);
667
+ this.initializeRoutes();
640
668
  this.app.use(errorMiddleware);
641
669
  }
642
670
  /**
@@ -693,8 +721,8 @@ var AINAgent = class {
693
721
  * - /api/* - API endpoints for agent management
694
722
  * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)
695
723
  */
696
- initializeRoutes = (allowStream = false) => {
697
- const auth = new AuthMiddleware(this.authScheme);
724
+ initializeRoutes = () => {
725
+ const auth = new AuthMiddleware(this.authModule);
698
726
  this.app.get("/", async (_, res) => {
699
727
  const { name, description } = this.manifest;
700
728
  res.status(200).send(
@@ -721,15 +749,11 @@ var AINAgent = class {
721
749
  }
722
750
  }
723
751
  );
724
- this.app.use(
725
- "/query",
726
- auth.middleware(),
727
- createQueryRouter(this, allowStream)
728
- );
729
- this.app.use("/intent", auth.middleware(), createIntentRouter(this));
730
- this.app.use("/api", auth.middleware(), createApiRouter(this));
752
+ this.app.use("/query", auth.middleware(), createQueryRouter());
753
+ this.app.use("/intent", auth.middleware(), createIntentRouter());
754
+ this.app.use("/api", auth.middleware(), createApiRouter());
731
755
  if (isValidUrl(this.manifest.url)) {
732
- this.app.use("/a2a", createA2ARouter(this));
756
+ this.app.use("/a2a", createA2ARouter());
733
757
  }
734
758
  };
735
759
  /**
@@ -739,7 +763,7 @@ var AINAgent = class {
739
763
  */
740
764
  async start(port) {
741
765
  const server = this.app.listen(port, async () => {
742
- await this.memoryModule?.initialize();
766
+ await this.memoryModule.initialize();
743
767
  await this.mcpModule?.connectToServers();
744
768
  console.log(`AINAgent is running on port ${port}`);
745
769
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../node_modules/helmet/index.mjs","../../package.json"],"sourcesContent":["import type { AgentCard } from \"@a2a-js/sdk\";\nimport cors from \"cors\";\nimport express, { type Response } from \"express\";\nimport helmet from \"helmet\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { version } from \"../package.json\";\nimport { setManifest } from \"./config/manifest\";\nimport { AuthMiddleware } from \"./middlewares/auth.middleware\";\nimport { errorMiddleware } from \"./middlewares/error.middleware\";\nimport type {\n\tA2AModule,\n\tBaseAuth,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"./modules\";\nimport { createA2ARouter, createApiRouter, createQueryRouter } from \"./routes\";\nimport { createIntentRouter } from \"./routes/intent.routes\";\nimport type { AinAgentManifest } from \"./types/agent\";\nimport isValidUrl from \"./utils/isValidUrl\";\n\n/**\n * Main class for AI Network Agent Development Kit (AIN-ADK).\n *\n * AINAgent orchestrates all modules and provides an Express server for handling\n * agent interactions through both standard query endpoints and A2A protocol endpoints.\n *\n * @example\n * ```typescript\n * const manifest = {\n * name: \"MyAgent\",\n * description: \"An example AI agent\",\n * };\n *\n * const agent = new AINAgent(manifest, {\n * modelModule: new ModelModule(),\n * a2aModule: new A2AModule(),\n * mcpModule: new MCPModule()\n * });\n *\n * agent.start(3000);\n * ```\n */\nexport class AINAgent {\n\t/** Express application instance */\n\tpublic app: express.Application;\n\n\t/** Agent manifest containing metadata and configuration */\n\tpublic manifest: AinAgentManifest;\n\n\t/** Modules */\n\tpublic modelModule: ModelModule;\n\tpublic a2aModule?: A2AModule;\n\tpublic mcpModule?: MCPModule;\n\tpublic memoryModule?: MemoryModule;\n\n\t/** Optional authentication scheme for securing endpoints */\n\tpublic authScheme: BaseAuth;\n\n\t/**\n\t * Creates a new AINAgent instance.\n\t *\n\t * @param manifest - Agent manifest containing name, description, version, and optional URL\n\t * @param modules - Required and optional modules for the agent\n\t * @param modules.modelModule - Required module for AI model integrations\n\t * @param modules.a2aModule - Optional module for A2A protocol support\n\t * @param modules.mcpModule - Optional module for MCP server connections\n\t * @param modules.memoryModule - Optional module for memory management\n\t * @param authScheme - Optional authentication middleware for securing endpoints\n\t * @param allowStream - Enable streaming query endpoints (default: false)\n\t */\n\tconstructor(\n\t\tmanifest: AinAgentManifest,\n\t\tmodules: {\n\t\t\tmodelModule: ModelModule;\n\t\t\ta2aModule?: A2AModule;\n\t\t\tmcpModule?: MCPModule;\n\t\t\tmemoryModule?: MemoryModule;\n\t\t},\n\t\tauthScheme: BaseAuth,\n\t\tallowStream = false,\n\t) {\n\t\tthis.app = express();\n\n\t\t// Set manifest\n\t\tthis.manifest = manifest;\n\t\tsetManifest(manifest);\n\n\t\t// Set modules\n\t\tthis.modelModule = modules.modelModule;\n\t\tthis.a2aModule = modules.a2aModule;\n\t\tthis.mcpModule = modules.mcpModule;\n\t\tthis.memoryModule = modules.memoryModule;\n\n\t\tthis.authScheme = authScheme;\n\n\t\tthis.initializeMiddlewares();\n\t\tthis.initializeRoutes(allowStream);\n\t\tthis.app.use(errorMiddleware);\n\t}\n\n\t/**\n\t * Initializes Express middlewares for security, CORS, and body parsing.\n\t * Also applies authentication middleware if configured.\n\t */\n\tprivate initializeMiddlewares(): void {\n\t\tthis.app.use(helmet());\n\t\tthis.app.use(cors());\n\t\tthis.app.use(express.json({ limit: \"25mb\" }));\n\t\tthis.app.use(express.urlencoded({ limit: \"25mb\", extended: true }));\n\t}\n\n\t/**\n\t * Generates an A2A protocol agent card for discovery.\n\t *\n\t * The agent card contains metadata about the agent's capabilities,\n\t * supported input/output modes, and connection information.\n\t *\n\t * @returns AgentCard object with agent metadata and capabilities\n\t * @throws Error if manifest URL is invalid or missing\n\t */\n\tpublic generateAgentCard = (): AgentCard => {\n\t\tconst _url = new URL(this.manifest.url || \"\");\n\t\t_url.pathname = \"a2a\";\n\n\t\treturn {\n\t\t\tname: this.manifest.name,\n\t\t\tdescription: this.manifest.description,\n\t\t\tversion: version,\n\t\t\tprotocolVersion: \"0.3.0\",\n\t\t\turl: _url.toString(),\n\t\t\tcapabilities: {\n\t\t\t\tstreaming: true, // The new framework supports streaming\n\t\t\t\tpushNotifications: false, // Assuming not implemented for this agent yet\n\t\t\t\tstateTransitionHistory: true, // Agent uses history\n\t\t\t},\n\t\t\tdefaultInputModes: [\"text\"],\n\t\t\tdefaultOutputModes: [\"text\", \"task-status\"], // task-status is a common output mode\n\t\t\tskills: [],\n\t\t\tsupportsAuthenticatedExtendedCard: false,\n\t\t};\n\t};\n\n\t/**\n\t * Initializes all HTTP routes including health check, agent discovery,\n\t * query endpoints, and optional A2A endpoints.\n\t *\n\t * Routes initialized:\n\t * - GET / - Health check endpoint\n\t * - GET /.well-known/agent.json - Agent card discovery endpoint\n\t * - /query/* - Query processing endpoints\n\t * - /api/* - API endpoints for agent management\n\t * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)\n\t */\n\tprivate initializeRoutes = (allowStream = false): void => {\n\t\tconst auth = new AuthMiddleware(this.authScheme);\n\n\t\tthis.app.get(\"/\", async (_, res: Response) => {\n\t\t\tconst { name, description } = this.manifest;\n\t\t\tres.status(200).send(\n\t\t\t\t`\n ⚡ AIN Agent: ${name} with ain-adk v${version}<br/>\n ${description}<br/><br/>\n Agent status: Online and ready.\n `.trim(),\n\t\t\t);\n\t\t});\n\n\t\tthis.app.get(\n\t\t\t[\n\t\t\t\t\"/.well-known/agent.json\", // ~v0.2.0\n\t\t\t\t\"/.well-known/agent-card.json\", // v0.3.0~\n\t\t\t],\n\t\t\tasync (_, res: Response) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst card = this.generateAgentCard();\n\t\t\t\t\tres.json(card);\n\t\t\t\t} catch (_error) {\n\t\t\t\t\tres.status(StatusCodes.NOT_FOUND).send(\"No agent card\");\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\n\t\tthis.app.use(\n\t\t\t\"/query\",\n\t\t\tauth.middleware(),\n\t\t\tcreateQueryRouter(this, allowStream),\n\t\t);\n\t\tthis.app.use(\"/intent\", auth.middleware(), createIntentRouter(this));\n\t\tthis.app.use(\"/api\", auth.middleware(), createApiRouter(this));\n\n\t\tif (isValidUrl(this.manifest.url)) {\n\t\t\tthis.app.use(\"/a2a\", createA2ARouter(this));\n\t\t}\n\t};\n\n\t/**\n\t * Starts the Express server on the specified port.\n\t *\n\t * @param port - The port number to listen on\n\t */\n\tpublic async start(port: number): Promise<void> {\n\t\tconst server = this.app.listen(port, async () => {\n\t\t\tawait this.memoryModule?.initialize();\n\t\t\tawait this.mcpModule?.connectToServers();\n\t\t\tconsole.log(`AINAgent is running on port ${port}`);\n\t\t});\n\n\t\t// Graceful shutdown handling\n\t\tconst gracefulShutdown = async (signal: string) => {\n\t\t\tconsole.log(`Received ${signal}, starting graceful shutdown...`);\n\n\t\t\t// Stop accepting new connections\n\t\t\tserver.close(() => {\n\t\t\t\tconsole.log(\"HTTP server closed\");\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\t// Cleanup modules\n\t\t\t\tif (this.mcpModule) {\n\t\t\t\t\tconsole.log(\"Disconnecting from MCP servers...\");\n\t\t\t\t\tawait this.mcpModule.cleanup();\n\t\t\t\t}\n\n\t\t\t\tif (this.memoryModule) {\n\t\t\t\t\tconsole.log(\"Closing memory module...\");\n\t\t\t\t\tawait this.memoryModule.shutdown();\n\t\t\t\t}\n\n\t\t\t\tconsole.log(\"Graceful shutdown completed\");\n\t\t\t\tprocess.exit(0);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error during graceful shutdown:\", error);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t};\n\n\t\t// Register signal handlers\n\t\tprocess.on(\"SIGTERM\", () => gracefulShutdown(\"SIGTERM\"));\n\t\tprocess.on(\"SIGINT\", () => gracefulShutdown(\"SIGINT\"));\n\t\tprocess.on(\"SIGHUP\", () => gracefulShutdown(\"SIGHUP\"));\n\t}\n}\n","const dangerouslyDisableDefaultSrc = Symbol(\"dangerouslyDisableDefaultSrc\")\nconst SHOULD_BE_QUOTED = new Set([\"none\", \"self\", \"strict-dynamic\", \"report-sample\", \"inline-speculation-rules\", \"unsafe-inline\", \"unsafe-eval\", \"unsafe-hashes\", \"wasm-unsafe-eval\"])\nconst getDefaultDirectives = () => ({\n\t\"default-src\": [\"'self'\"],\n\t\"base-uri\": [\"'self'\"],\n\t\"font-src\": [\"'self'\", \"https:\", \"data:\"],\n\t\"form-action\": [\"'self'\"],\n\t\"frame-ancestors\": [\"'self'\"],\n\t\"img-src\": [\"'self'\", \"data:\"],\n\t\"object-src\": [\"'none'\"],\n\t\"script-src\": [\"'self'\"],\n\t\"script-src-attr\": [\"'none'\"],\n\t\"style-src\": [\"'self'\", \"https:\", \"'unsafe-inline'\"],\n\t\"upgrade-insecure-requests\": []\n})\nconst dashify = str => str.replace(/[A-Z]/g, capitalLetter => \"-\" + capitalLetter.toLowerCase())\nconst assertDirectiveValueIsValid = (directiveName, directiveValue) => {\n\tif (/;|,/.test(directiveValue)) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t}\n}\nconst assertDirectiveValueEntryIsValid = (directiveName, directiveValueEntry) => {\n\tif (SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith(\"nonce-\") || directiveValueEntry.startsWith(\"sha256-\") || directiveValueEntry.startsWith(\"sha384-\") || directiveValueEntry.startsWith(\"sha512-\")) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`)\n\t}\n}\nfunction normalizeDirectives(options) {\n\tconst defaultDirectives = getDefaultDirectives()\n\tconst {useDefaults = true, directives: rawDirectives = defaultDirectives} = options\n\tconst result = new Map()\n\tconst directiveNamesSeen = new Set()\n\tconst directivesExplicitlyDisabled = new Set()\n\tfor (const rawDirectiveName in rawDirectives) {\n\t\tif (!Object.hasOwn(rawDirectives, rawDirectiveName)) {\n\t\t\tcontinue\n\t\t}\n\t\tif (rawDirectiveName.length === 0 || /[^a-zA-Z0-9-]/.test(rawDirectiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`)\n\t\t}\n\t\tconst directiveName = dashify(rawDirectiveName)\n\t\tif (directiveNamesSeen.has(directiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`)\n\t\t}\n\t\tdirectiveNamesSeen.add(directiveName)\n\t\tconst rawDirectiveValue = rawDirectives[rawDirectiveName]\n\t\tlet directiveValue\n\t\tif (rawDirectiveValue === null) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tthrow new Error(\"Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t\t\t}\n\t\t\tdirectivesExplicitlyDisabled.add(directiveName)\n\t\t\tcontinue\n\t\t} else if (typeof rawDirectiveValue === \"string\") {\n\t\t\tdirectiveValue = [rawDirectiveValue]\n\t\t} else if (!rawDirectiveValue) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t\t} else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tdirectivesExplicitlyDisabled.add(\"default-src\")\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`)\n\t\t\t}\n\t\t} else {\n\t\t\tdirectiveValue = rawDirectiveValue\n\t\t}\n\t\tfor (const element of directiveValue) {\n\t\t\tif (typeof element !== \"string\") continue\n\t\t\tassertDirectiveValueIsValid(directiveName, element)\n\t\t\tassertDirectiveValueEntryIsValid(directiveName, element)\n\t\t}\n\t\tresult.set(directiveName, directiveValue)\n\t}\n\tif (useDefaults) {\n\t\tObject.entries(defaultDirectives).forEach(([defaultDirectiveName, defaultDirectiveValue]) => {\n\t\t\tif (!result.has(defaultDirectiveName) && !directivesExplicitlyDisabled.has(defaultDirectiveName)) {\n\t\t\t\tresult.set(defaultDirectiveName, defaultDirectiveValue)\n\t\t\t}\n\t\t})\n\t}\n\tif (!result.size) {\n\t\tthrow new Error(\"Content-Security-Policy has no directives. Either set some or disable the header\")\n\t}\n\tif (!result.has(\"default-src\") && !directivesExplicitlyDisabled.has(\"default-src\")) {\n\t\tthrow new Error(\"Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t}\n\treturn result\n}\nfunction getHeaderValue(req, res, normalizedDirectives) {\n\tconst result = []\n\tfor (const [directiveName, rawDirectiveValue] of normalizedDirectives) {\n\t\tlet directiveValue = \"\"\n\t\tfor (const element of rawDirectiveValue) {\n\t\t\tif (typeof element === \"function\") {\n\t\t\t\tconst newElement = element(req, res)\n\t\t\t\tassertDirectiveValueEntryIsValid(directiveName, newElement)\n\t\t\t\tdirectiveValue += \" \" + newElement\n\t\t\t} else {\n\t\t\t\tdirectiveValue += \" \" + element\n\t\t\t}\n\t\t}\n\t\tif (directiveValue) {\n\t\t\tassertDirectiveValueIsValid(directiveName, directiveValue)\n\t\t\tresult.push(`${directiveName}${directiveValue}`)\n\t\t} else {\n\t\t\tresult.push(directiveName)\n\t\t}\n\t}\n\treturn result.join(\";\")\n}\nconst contentSecurityPolicy = function contentSecurityPolicy(options = {}) {\n\tconst headerName = options.reportOnly ? \"Content-Security-Policy-Report-Only\" : \"Content-Security-Policy\"\n\tconst normalizedDirectives = normalizeDirectives(options)\n\treturn function contentSecurityPolicyMiddleware(req, res, next) {\n\t\tconst result = getHeaderValue(req, res, normalizedDirectives)\n\t\tif (result instanceof Error) {\n\t\t\tnext(result)\n\t\t} else {\n\t\t\tres.setHeader(headerName, result)\n\t\t\tnext()\n\t\t}\n\t}\n}\ncontentSecurityPolicy.getDefaultDirectives = getDefaultDirectives\ncontentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc\n\nconst ALLOWED_POLICIES$2 = new Set([\"require-corp\", \"credentialless\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$6({policy = \"require-corp\"}) {\n\tif (ALLOWED_POLICIES$2.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginEmbedderPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$6(options)\n\treturn function crossOriginEmbedderPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Embedder-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES$1 = new Set([\"same-origin\", \"same-origin-allow-popups\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$5({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES$1.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginOpenerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$5(options)\n\treturn function crossOriginOpenerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Opener-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES = new Set([\"same-origin\", \"same-site\", \"cross-origin\"])\nfunction getHeaderValueFromOptions$4({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginResourcePolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$4(options)\n\treturn function crossOriginResourcePolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Resource-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction originAgentCluster() {\n\treturn function originAgentClusterMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Origin-Agent-Cluster\", \"?1\")\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_TOKENS = new Set([\"no-referrer\", \"no-referrer-when-downgrade\", \"same-origin\", \"origin\", \"strict-origin\", \"origin-when-cross-origin\", \"strict-origin-when-cross-origin\", \"unsafe-url\", \"\"])\nfunction getHeaderValueFromOptions$3({policy = [\"no-referrer\"]}) {\n\tconst tokens = typeof policy === \"string\" ? [policy] : policy\n\tif (tokens.length === 0) {\n\t\tthrow new Error(\"Referrer-Policy received no policy tokens\")\n\t}\n\tconst tokensSeen = new Set()\n\ttokens.forEach(token => {\n\t\tif (!ALLOWED_TOKENS.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`)\n\t\t} else if (tokensSeen.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`)\n\t\t}\n\t\ttokensSeen.add(token)\n\t})\n\treturn tokens.join(\",\")\n}\nfunction referrerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$3(options)\n\treturn function referrerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Referrer-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst DEFAULT_MAX_AGE = 365 * 24 * 60 * 60\nfunction parseMaxAge(value = DEFAULT_MAX_AGE) {\n\tif (value >= 0 && Number.isFinite(value)) {\n\t\treturn Math.floor(value)\n\t} else {\n\t\tthrow new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`)\n\t}\n}\nfunction getHeaderValueFromOptions$2(options) {\n\tif (\"maxage\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?\")\n\t}\n\tif (\"includeSubdomains\" in options) {\n\t\tthrow new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase \"D\".)')\n\t}\n\tconst directives = [`max-age=${parseMaxAge(options.maxAge)}`]\n\tif (options.includeSubDomains === undefined || options.includeSubDomains) {\n\t\tdirectives.push(\"includeSubDomains\")\n\t}\n\tif (options.preload) {\n\t\tdirectives.push(\"preload\")\n\t}\n\treturn directives.join(\"; \")\n}\nfunction strictTransportSecurity(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$2(options)\n\treturn function strictTransportSecurityMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Strict-Transport-Security\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xContentTypeOptions() {\n\treturn function xContentTypeOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Content-Type-Options\", \"nosniff\")\n\t\tnext()\n\t}\n}\n\nfunction xDnsPrefetchControl(options = {}) {\n\tconst headerValue = options.allow ? \"on\" : \"off\"\n\treturn function xDnsPrefetchControlMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-DNS-Prefetch-Control\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xDownloadOptions() {\n\treturn function xDownloadOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Download-Options\", \"noopen\")\n\t\tnext()\n\t}\n}\n\nfunction getHeaderValueFromOptions$1({action = \"sameorigin\"}) {\n\tconst normalizedAction = typeof action === \"string\" ? action.toUpperCase() : action\n\tswitch (normalizedAction) {\n\t\tcase \"SAME-ORIGIN\":\n\t\t\treturn \"SAMEORIGIN\"\n\t\tcase \"DENY\":\n\t\tcase \"SAMEORIGIN\":\n\t\t\treturn normalizedAction\n\t\tdefault:\n\t\t\tthrow new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`)\n\t}\n}\nfunction xFrameOptions(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$1(options)\n\treturn function xFrameOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Frame-Options\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_PERMITTED_POLICIES = new Set([\"none\", \"master-only\", \"by-content-type\", \"all\"])\nfunction getHeaderValueFromOptions({permittedPolicies = \"none\"}) {\n\tif (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) {\n\t\treturn permittedPolicies\n\t} else {\n\t\tthrow new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`)\n\t}\n}\nfunction xPermittedCrossDomainPolicies(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions(options)\n\treturn function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Permitted-Cross-Domain-Policies\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xPoweredBy() {\n\treturn function xPoweredByMiddleware(_req, res, next) {\n\t\tres.removeHeader(\"X-Powered-By\")\n\t\tnext()\n\t}\n}\n\nfunction xXssProtection() {\n\treturn function xXssProtectionMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-XSS-Protection\", \"0\")\n\t\tnext()\n\t}\n}\n\nfunction getMiddlewareFunctionsFromOptions(options) {\n\tconst result = []\n\tswitch (options.contentSecurityPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(contentSecurityPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(contentSecurityPolicy(options.contentSecurityPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginEmbedderPolicy) {\n\t\tcase undefined:\n\t\tcase false:\n\t\t\tbreak\n\t\tcase true:\n\t\t\tresult.push(crossOriginEmbedderPolicy())\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginOpenerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginOpenerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginResourcePolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginResourcePolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.originAgentCluster) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"Origin-Agent-Cluster does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t}\n\tswitch (options.referrerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(referrerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(referrerPolicy(options.referrerPolicy))\n\t\t\tbreak\n\t}\n\tif (\"strictTransportSecurity\" in options && \"hsts\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security option was specified twice. Remove `hsts` to silence this warning.\")\n\t}\n\tconst strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts\n\tswitch (strictTransportSecurityOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(strictTransportSecurity())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(strictTransportSecurity(strictTransportSecurityOption))\n\t\t\tbreak\n\t}\n\tif (\"xContentTypeOptions\" in options && \"noSniff\" in options) {\n\t\tthrow new Error(\"X-Content-Type-Options option was specified twice. Remove `noSniff` to silence this warning.\")\n\t}\n\tconst xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff\n\tswitch (xContentTypeOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Content-Type-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t}\n\tif (\"xDnsPrefetchControl\" in options && \"dnsPrefetchControl\" in options) {\n\t\tthrow new Error(\"X-DNS-Prefetch-Control option was specified twice. Remove `dnsPrefetchControl` to silence this warning.\")\n\t}\n\tconst xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl\n\tswitch (xDnsPrefetchControlOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDnsPrefetchControl())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xDnsPrefetchControl(xDnsPrefetchControlOption))\n\t\t\tbreak\n\t}\n\tif (\"xDownloadOptions\" in options && \"ieNoOpen\" in options) {\n\t\tthrow new Error(\"X-Download-Options option was specified twice. Remove `ieNoOpen` to silence this warning.\")\n\t}\n\tconst xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen\n\tswitch (xDownloadOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Download-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t}\n\tif (\"xFrameOptions\" in options && \"frameguard\" in options) {\n\t\tthrow new Error(\"X-Frame-Options option was specified twice. Remove `frameguard` to silence this warning.\")\n\t}\n\tconst xFrameOptionsOption = options.xFrameOptions ?? options.frameguard\n\tswitch (xFrameOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xFrameOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xFrameOptions(xFrameOptionsOption))\n\t\t\tbreak\n\t}\n\tif (\"xPermittedCrossDomainPolicies\" in options && \"permittedCrossDomainPolicies\" in options) {\n\t\tthrow new Error(\"X-Permitted-Cross-Domain-Policies option was specified twice. Remove `permittedCrossDomainPolicies` to silence this warning.\")\n\t}\n\tconst xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies\n\tswitch (xPermittedCrossDomainPoliciesOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPermittedCrossDomainPolicies())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption))\n\t\t\tbreak\n\t}\n\tif (\"xPoweredBy\" in options && \"hidePoweredBy\" in options) {\n\t\tthrow new Error(\"X-Powered-By option was specified twice. Remove `hidePoweredBy` to silence this warning.\")\n\t}\n\tconst xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy\n\tswitch (xPoweredByOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Powered-By does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t}\n\tif (\"xXssProtection\" in options && \"xssFilter\" in options) {\n\t\tthrow new Error(\"X-XSS-Protection option was specified twice. Remove `xssFilter` to silence this warning.\")\n\t}\n\tconst xXssProtectionOption = options.xXssProtection ?? options.xssFilter\n\tswitch (xXssProtectionOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-XSS-Protection does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t}\n\treturn result\n}\nconst helmet = Object.assign(\n\tfunction helmet(options = {}) {\n\t\t// People should be able to pass an options object with no prototype,\n\t\t// so we want this optional chaining.\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\tif (options.constructor?.name === \"IncomingMessage\") {\n\t\t\tthrow new Error(\"It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`.\")\n\t\t}\n\t\tconst middlewareFunctions = getMiddlewareFunctionsFromOptions(options)\n\t\treturn function helmetMiddleware(req, res, next) {\n\t\t\tlet middlewareIndex = 0\n\t\t\t;(function internalNext(err) {\n\t\t\t\tif (err) {\n\t\t\t\t\tnext(err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconst middlewareFunction = middlewareFunctions[middlewareIndex]\n\t\t\t\tif (middlewareFunction) {\n\t\t\t\t\tmiddlewareIndex++\n\t\t\t\t\tmiddlewareFunction(req, res, internalNext)\n\t\t\t\t} else {\n\t\t\t\t\tnext()\n\t\t\t\t}\n\t\t\t})()\n\t\t}\n\t},\n\t{\n\t\tcontentSecurityPolicy,\n\t\tcrossOriginEmbedderPolicy,\n\t\tcrossOriginOpenerPolicy,\n\t\tcrossOriginResourcePolicy,\n\t\toriginAgentCluster,\n\t\treferrerPolicy,\n\t\tstrictTransportSecurity,\n\t\txContentTypeOptions,\n\t\txDnsPrefetchControl,\n\t\txDownloadOptions,\n\t\txFrameOptions,\n\t\txPermittedCrossDomainPolicies,\n\t\txPoweredBy,\n\t\txXssProtection,\n\t\t// Legacy aliases\n\t\tdnsPrefetchControl: xDnsPrefetchControl,\n\t\txssFilter: xXssProtection,\n\t\tpermittedCrossDomainPolicies: xPermittedCrossDomainPolicies,\n\t\tieNoOpen: xDownloadOptions,\n\t\tnoSniff: xContentTypeOptions,\n\t\tframeguard: xFrameOptions,\n\t\thidePoweredBy: xPoweredBy,\n\t\thsts: strictTransportSecurity\n\t}\n)\n\nexport {contentSecurityPolicy, crossOriginEmbedderPolicy, crossOriginOpenerPolicy, crossOriginResourcePolicy, helmet as default, xDnsPrefetchControl as dnsPrefetchControl, xFrameOptions as frameguard, xPoweredBy as hidePoweredBy, strictTransportSecurity as hsts, xDownloadOptions as ieNoOpen, xContentTypeOptions as noSniff, originAgentCluster, xPermittedCrossDomainPolicies as permittedCrossDomainPolicies, referrerPolicy, strictTransportSecurity, xContentTypeOptions, xDnsPrefetchControl, xDownloadOptions, xFrameOptions, xPermittedCrossDomainPolicies, xPoweredBy, xXssProtection, xXssProtection as xssFilter}\n","{\n\t\"name\": \"@ainetwork/adk\",\n\t\"version\": \"0.3.2\",\n\t\"description\": \"AI Network Agent Development Kit\",\n\t\"repository\": \"git@github.com:ainetwork-ai/ain-adk.git\",\n\t\"author\": \"AI Network (https://ainetwork.ai)\",\n\t\"type\": \"module\",\n\t\"engines\": {\n\t\t\"node\": \">=20\"\n\t},\n\t\"main\": \"./dist/cjs/index.cjs\",\n\t\"module\": \"./dist/esm/index.js\",\n\t\"types\": \"./dist/esm/index.d.ts\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": \"./dist/esm/index.d.ts\",\n\t\t\t\"import\": \"./dist/esm/index.js\",\n\t\t\t\"require\": \"./dist/cjs/index.cjs\",\n\t\t\t\"default\": \"./dist/esm/index.js\"\n\t\t},\n\t\t\"./modules\": {\n\t\t\t\"types\": \"./dist/esm/modules/index.d.ts\",\n\t\t\t\"import\": \"./dist/esm/modules/index.js\",\n\t\t\t\"require\": \"./dist/cjs/modules/index.cjs\",\n\t\t\t\"default\": \"./dist/esm/modules/index.js\"\n\t\t},\n\t\t\"./types/*\": {\n\t\t\t\"types\": \"./dist/esm/types/*.d.ts\",\n\t\t\t\"import\": \"./dist/esm/types/*.js\",\n\t\t\t\"require\": \"./dist/cjs/types/*.cjs\",\n\t\t\t\"default\": \"./dist/esm/types/*.js\"\n\t\t},\n\t\t\"./utils/*\": {\n\t\t\t\"types\": \"./dist/esm/utils/*.d.ts\",\n\t\t\t\"import\": \"./dist/esm/utils/*.js\",\n\t\t\t\"require\": \"./dist/cjs/utils/*.cjs\",\n\t\t\t\"default\": \"./dist/esm/utils/*.js\"\n\t\t}\n\t},\n\t\"files\": [\n\t\t\"dist\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsup\",\n\t\t\"clean\": \"rm -rf dist\",\n\t\t\"biome\": \"npx @biomejs/biome check\",\n\t\t\"biome:write\": \"npx @biomejs/biome check --write\",\n\t\t\"test\": \"jest --passWithNoTests\",\n\t\t\"prepare\": \"husky\",\n\t\t\"release\": \"release-it\"\n\t},\n\t\"keywords\": [],\n\t\"license\": \"MIT\",\n\t\"devDependencies\": {\n\t\t\"@biomejs/biome\": \"2.0.4\",\n\t\t\"@eslint/js\": \"^9.29.0\",\n\t\t\"@types/cors\": \"^2.8.19\",\n\t\t\"@types/express\": \"^5.0.3\",\n\t\t\"@types/helmet\": \"^4.0.0\",\n\t\t\"@types/jest\": \"^30.0.0\",\n\t\t\"@types/node\": \"^24.0.1\",\n\t\t\"eslint\": \"^9.29.0\",\n\t\t\"husky\": \"^9.1.7\",\n\t\t\"jest\": \"^30.0.0\",\n\t\t\"release-it\": \"^19.0.4\",\n\t\t\"ts-jest\": \"^29.4.0\",\n\t\t\"ts-node\": \"^10.9.2\",\n\t\t\"tsup\": \"^8.5.0\",\n\t\t\"tsx\": \"^4.20.3\",\n\t\t\"typescript\": \"^5.8.3\",\n\t\t\"typescript-eslint\": \"^8.34.1\"\n\t},\n\t\"dependencies\": {\n\t\t\"@a2a-js/sdk\": \"^0.3.7\",\n\t\t\"@modelcontextprotocol/sdk\": \"^1.25.1\",\n\t\t\"cors\": \"^2.8.5\",\n\t\t\"dotenv\": \"^16.5.0\",\n\t\t\"express\": \"^5.1.0\",\n\t\t\"http-status-codes\": \"^2.3.0\",\n\t\t\"uuid\": \"^11.1.0\",\n\t\t\"winston\": \"^3.17.0\",\n\t\t\"winston-daily-rotate-file\": \"^5.0.0\"\n\t},\n\t\"publishConfig\": {\n\t\t\"registry\": \"https://registry.npmjs.org\"\n\t}\n}\n"],"mappings":"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","names":["contentSecurityPolicy","helmet"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../node_modules/helmet/index.mjs","../../package.json"],"sourcesContent":["import type { AgentCard } from \"@a2a-js/sdk\";\nimport cors from \"cors\";\nimport express, { type Response } from \"express\";\nimport helmet from \"helmet\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { version } from \"../package.json\";\nimport { setAgent } from \"./config/agent\";\nimport { setManifest } from \"./config/manifest\";\nimport { setModules } from \"./config/modules\";\nimport { setOptions } from \"./config/options\";\nimport { AuthMiddleware } from \"./middlewares/auth.middleware\";\nimport { errorMiddleware } from \"./middlewares/error.middleware\";\nimport type {\n\tA2AModule,\n\tAuthModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"./modules\";\nimport { createA2ARouter, createApiRouter, createQueryRouter } from \"./routes\";\nimport { createIntentRouter } from \"./routes/intent.routes\";\nimport type { AinAgentManifest, OnIntentFallback } from \"./types/agent\";\n\nexport type {\n\tAinAgentManifest,\n\tIntentFallbackContext,\n\tOnIntentFallback,\n} from \"./types/agent\";\n\nimport isValidUrl from \"./utils/isValidUrl\";\n\n/**\n * Main class for AI Network Agent Development Kit (AIN-ADK).\n *\n * AINAgent orchestrates all modules and provides an Express server for handling\n * agent interactions through both standard query endpoints and A2A protocol endpoints.\n *\n * @example\n * ```typescript\n * const manifest = {\n * name: \"MyAgent\",\n * description: \"An example AI agent\",\n * };\n *\n * const agent = new AINAgent(manifest, {\n * modelModule: new ModelModule(),\n * a2aModule: new A2AModule(),\n * mcpModule: new MCPModule()\n * });\n *\n * agent.start(3000);\n * ```\n */\nexport class AINAgent {\n\t/** Express application instance */\n\tpublic app: express.Application;\n\n\t/** Agent manifest containing metadata and configuration */\n\tpublic manifest: AinAgentManifest;\n\n\t/** Modules */\n\tpublic modelModule: ModelModule;\n\tpublic memoryModule: MemoryModule;\n\tpublic authModule?: AuthModule;\n\tpublic a2aModule?: A2AModule;\n\tpublic mcpModule?: MCPModule;\n\n\t/** Optional fallback handler when intent matching fails */\n\tpublic onIntentFallback?: OnIntentFallback;\n\n\t/**\n\t * Creates a new AINAgent instance.\n\t *\n\t * @param manifest - Agent manifest containing name, description, version, and optional URL\n\t * @param modules - Required and optional modules for the agent\n\t * @param modules.modelModule - Required module for AI model integrations\n\t * @param modules.a2aModule - Optional module for A2A protocol support\n\t * @param modules.mcpModule - Optional module for MCP server connections\n\t * @param modules.memoryModule - Optional module for memory management\n\t * @param authScheme - Authentication middleware for securing endpoints\n\t * @param options - Optional configuration options\n\t * @param options.onIntentFallback - Fallback handler when intent matching fails\n\t */\n\tconstructor(\n\t\tmanifest: AinAgentManifest,\n\t\tmodules: {\n\t\t\tauthModule: AuthModule;\n\t\t\tmodelModule: ModelModule;\n\t\t\tmemoryModule: MemoryModule;\n\t\t\ta2aModule?: A2AModule;\n\t\t\tmcpModule?: MCPModule;\n\t\t},\n\t\toptions?: {\n\t\t\tonIntentFallback?: OnIntentFallback;\n\t\t},\n\t) {\n\t\tthis.app = express();\n\n\t\t// Set manifest\n\t\tthis.manifest = manifest;\n\t\tsetManifest(manifest);\n\n\t\t// Set modules\n\t\tthis.modelModule = modules.modelModule;\n\t\tthis.a2aModule = modules.a2aModule;\n\t\tthis.mcpModule = modules.mcpModule;\n\t\tthis.memoryModule = modules.memoryModule;\n\t\tthis.authModule = modules.authModule;\n\t\tthis.onIntentFallback = options?.onIntentFallback;\n\n\t\t// Set global modules for easy access\n\t\tsetModules({\n\t\t\tmodelModule: modules.modelModule,\n\t\t\ta2aModule: modules.a2aModule,\n\t\t\tmcpModule: modules.mcpModule,\n\t\t\tmemoryModule: modules.memoryModule,\n\t\t});\n\n\t\t// Set global options\n\t\tsetOptions({\n\t\t\tonIntentFallback: options?.onIntentFallback,\n\t\t});\n\n\t\t// Set global agent reference\n\t\tsetAgent(this);\n\n\t\tthis.initializeMiddlewares();\n\t\tthis.initializeRoutes();\n\t\tthis.app.use(errorMiddleware);\n\t}\n\n\t/**\n\t * Initializes Express middlewares for security, CORS, and body parsing.\n\t * Also applies authentication middleware if configured.\n\t */\n\tprivate initializeMiddlewares(): void {\n\t\tthis.app.use(helmet());\n\t\tthis.app.use(cors());\n\t\tthis.app.use(express.json({ limit: \"25mb\" }));\n\t\tthis.app.use(express.urlencoded({ limit: \"25mb\", extended: true }));\n\t}\n\n\t/**\n\t * Generates an A2A protocol agent card for discovery.\n\t *\n\t * The agent card contains metadata about the agent's capabilities,\n\t * supported input/output modes, and connection information.\n\t *\n\t * @returns AgentCard object with agent metadata and capabilities\n\t * @throws Error if manifest URL is invalid or missing\n\t */\n\tpublic generateAgentCard = (): AgentCard => {\n\t\tconst _url = new URL(this.manifest.url || \"\");\n\t\t_url.pathname = \"a2a\";\n\n\t\treturn {\n\t\t\tname: this.manifest.name,\n\t\t\tdescription: this.manifest.description,\n\t\t\tversion: version,\n\t\t\tprotocolVersion: \"0.3.0\",\n\t\t\turl: _url.toString(),\n\t\t\tcapabilities: {\n\t\t\t\tstreaming: true, // The new framework supports streaming\n\t\t\t\tpushNotifications: false, // Assuming not implemented for this agent yet\n\t\t\t\tstateTransitionHistory: true, // Agent uses history\n\t\t\t},\n\t\t\tdefaultInputModes: [\"text\"],\n\t\t\tdefaultOutputModes: [\"text\", \"task-status\"], // task-status is a common output mode\n\t\t\tskills: [],\n\t\t\tsupportsAuthenticatedExtendedCard: false,\n\t\t};\n\t};\n\n\t/**\n\t * Initializes all HTTP routes including health check, agent discovery,\n\t * query endpoints, and optional A2A endpoints.\n\t *\n\t * Routes initialized:\n\t * - GET / - Health check endpoint\n\t * - GET /.well-known/agent.json - Agent card discovery endpoint\n\t * - /query/* - Query processing endpoints\n\t * - /api/* - API endpoints for agent management\n\t * - /a2a/* - A2A protocol endpoints (only if valid URL is configured)\n\t */\n\tprivate initializeRoutes = (): void => {\n\t\tconst auth = new AuthMiddleware(this.authModule);\n\n\t\tthis.app.get(\"/\", async (_, res: Response) => {\n\t\t\tconst { name, description } = this.manifest;\n\t\t\tres.status(200).send(\n\t\t\t\t`\n ⚡ AIN Agent: ${name} with ain-adk v${version}<br/>\n ${description}<br/><br/>\n Agent status: Online and ready.\n `.trim(),\n\t\t\t);\n\t\t});\n\n\t\tthis.app.get(\n\t\t\t[\n\t\t\t\t\"/.well-known/agent.json\", // ~v0.2.0\n\t\t\t\t\"/.well-known/agent-card.json\", // v0.3.0~\n\t\t\t],\n\t\t\tasync (_, res: Response) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst card = this.generateAgentCard();\n\t\t\t\t\tres.json(card);\n\t\t\t\t} catch (_error) {\n\t\t\t\t\tres.status(StatusCodes.NOT_FOUND).send(\"No agent card\");\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\n\t\tthis.app.use(\"/query\", auth.middleware(), createQueryRouter());\n\t\tthis.app.use(\"/intent\", auth.middleware(), createIntentRouter());\n\t\tthis.app.use(\"/api\", auth.middleware(), createApiRouter());\n\n\t\tif (isValidUrl(this.manifest.url)) {\n\t\t\tthis.app.use(\"/a2a\", createA2ARouter());\n\t\t}\n\t};\n\n\t/**\n\t * Starts the Express server on the specified port.\n\t *\n\t * @param port - The port number to listen on\n\t */\n\tpublic async start(port: number): Promise<void> {\n\t\tconst server = this.app.listen(port, async () => {\n\t\t\tawait this.memoryModule.initialize();\n\t\t\tawait this.mcpModule?.connectToServers();\n\t\t\tconsole.log(`AINAgent is running on port ${port}`);\n\t\t});\n\n\t\t// Graceful shutdown handling\n\t\tconst gracefulShutdown = async (signal: string) => {\n\t\t\tconsole.log(`Received ${signal}, starting graceful shutdown...`);\n\n\t\t\t// Stop accepting new connections\n\t\t\tserver.close(() => {\n\t\t\t\tconsole.log(\"HTTP server closed\");\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\t// Cleanup modules\n\t\t\t\tif (this.mcpModule) {\n\t\t\t\t\tconsole.log(\"Disconnecting from MCP servers...\");\n\t\t\t\t\tawait this.mcpModule.cleanup();\n\t\t\t\t}\n\n\t\t\t\tif (this.memoryModule) {\n\t\t\t\t\tconsole.log(\"Closing memory module...\");\n\t\t\t\t\tawait this.memoryModule.shutdown();\n\t\t\t\t}\n\n\t\t\t\tconsole.log(\"Graceful shutdown completed\");\n\t\t\t\tprocess.exit(0);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error during graceful shutdown:\", error);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t};\n\n\t\t// Register signal handlers\n\t\tprocess.on(\"SIGTERM\", () => gracefulShutdown(\"SIGTERM\"));\n\t\tprocess.on(\"SIGINT\", () => gracefulShutdown(\"SIGINT\"));\n\t\tprocess.on(\"SIGHUP\", () => gracefulShutdown(\"SIGHUP\"));\n\t}\n}\n","const dangerouslyDisableDefaultSrc = Symbol(\"dangerouslyDisableDefaultSrc\")\nconst SHOULD_BE_QUOTED = new Set([\"none\", \"self\", \"strict-dynamic\", \"report-sample\", \"inline-speculation-rules\", \"unsafe-inline\", \"unsafe-eval\", \"unsafe-hashes\", \"wasm-unsafe-eval\"])\nconst getDefaultDirectives = () => ({\n\t\"default-src\": [\"'self'\"],\n\t\"base-uri\": [\"'self'\"],\n\t\"font-src\": [\"'self'\", \"https:\", \"data:\"],\n\t\"form-action\": [\"'self'\"],\n\t\"frame-ancestors\": [\"'self'\"],\n\t\"img-src\": [\"'self'\", \"data:\"],\n\t\"object-src\": [\"'none'\"],\n\t\"script-src\": [\"'self'\"],\n\t\"script-src-attr\": [\"'none'\"],\n\t\"style-src\": [\"'self'\", \"https:\", \"'unsafe-inline'\"],\n\t\"upgrade-insecure-requests\": []\n})\nconst dashify = str => str.replace(/[A-Z]/g, capitalLetter => \"-\" + capitalLetter.toLowerCase())\nconst assertDirectiveValueIsValid = (directiveName, directiveValue) => {\n\tif (/;|,/.test(directiveValue)) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t}\n}\nconst assertDirectiveValueEntryIsValid = (directiveName, directiveValueEntry) => {\n\tif (SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith(\"nonce-\") || directiveValueEntry.startsWith(\"sha256-\") || directiveValueEntry.startsWith(\"sha384-\") || directiveValueEntry.startsWith(\"sha512-\")) {\n\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`)\n\t}\n}\nfunction normalizeDirectives(options) {\n\tconst defaultDirectives = getDefaultDirectives()\n\tconst {useDefaults = true, directives: rawDirectives = defaultDirectives} = options\n\tconst result = new Map()\n\tconst directiveNamesSeen = new Set()\n\tconst directivesExplicitlyDisabled = new Set()\n\tfor (const rawDirectiveName in rawDirectives) {\n\t\tif (!Object.hasOwn(rawDirectives, rawDirectiveName)) {\n\t\t\tcontinue\n\t\t}\n\t\tif (rawDirectiveName.length === 0 || /[^a-zA-Z0-9-]/.test(rawDirectiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`)\n\t\t}\n\t\tconst directiveName = dashify(rawDirectiveName)\n\t\tif (directiveNamesSeen.has(directiveName)) {\n\t\t\tthrow new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`)\n\t\t}\n\t\tdirectiveNamesSeen.add(directiveName)\n\t\tconst rawDirectiveValue = rawDirectives[rawDirectiveName]\n\t\tlet directiveValue\n\t\tif (rawDirectiveValue === null) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tthrow new Error(\"Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t\t\t}\n\t\t\tdirectivesExplicitlyDisabled.add(directiveName)\n\t\t\tcontinue\n\t\t} else if (typeof rawDirectiveValue === \"string\") {\n\t\t\tdirectiveValue = [rawDirectiveValue]\n\t\t} else if (!rawDirectiveValue) {\n\t\t\tthrow new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`)\n\t\t} else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) {\n\t\t\tif (directiveName === \"default-src\") {\n\t\t\t\tdirectivesExplicitlyDisabled.add(\"default-src\")\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`)\n\t\t\t}\n\t\t} else {\n\t\t\tdirectiveValue = rawDirectiveValue\n\t\t}\n\t\tfor (const element of directiveValue) {\n\t\t\tif (typeof element !== \"string\") continue\n\t\t\tassertDirectiveValueIsValid(directiveName, element)\n\t\t\tassertDirectiveValueEntryIsValid(directiveName, element)\n\t\t}\n\t\tresult.set(directiveName, directiveValue)\n\t}\n\tif (useDefaults) {\n\t\tObject.entries(defaultDirectives).forEach(([defaultDirectiveName, defaultDirectiveValue]) => {\n\t\t\tif (!result.has(defaultDirectiveName) && !directivesExplicitlyDisabled.has(defaultDirectiveName)) {\n\t\t\t\tresult.set(defaultDirectiveName, defaultDirectiveValue)\n\t\t\t}\n\t\t})\n\t}\n\tif (!result.size) {\n\t\tthrow new Error(\"Content-Security-Policy has no directives. Either set some or disable the header\")\n\t}\n\tif (!result.has(\"default-src\") && !directivesExplicitlyDisabled.has(\"default-src\")) {\n\t\tthrow new Error(\"Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.\")\n\t}\n\treturn result\n}\nfunction getHeaderValue(req, res, normalizedDirectives) {\n\tconst result = []\n\tfor (const [directiveName, rawDirectiveValue] of normalizedDirectives) {\n\t\tlet directiveValue = \"\"\n\t\tfor (const element of rawDirectiveValue) {\n\t\t\tif (typeof element === \"function\") {\n\t\t\t\tconst newElement = element(req, res)\n\t\t\t\tassertDirectiveValueEntryIsValid(directiveName, newElement)\n\t\t\t\tdirectiveValue += \" \" + newElement\n\t\t\t} else {\n\t\t\t\tdirectiveValue += \" \" + element\n\t\t\t}\n\t\t}\n\t\tif (directiveValue) {\n\t\t\tassertDirectiveValueIsValid(directiveName, directiveValue)\n\t\t\tresult.push(`${directiveName}${directiveValue}`)\n\t\t} else {\n\t\t\tresult.push(directiveName)\n\t\t}\n\t}\n\treturn result.join(\";\")\n}\nconst contentSecurityPolicy = function contentSecurityPolicy(options = {}) {\n\tconst headerName = options.reportOnly ? \"Content-Security-Policy-Report-Only\" : \"Content-Security-Policy\"\n\tconst normalizedDirectives = normalizeDirectives(options)\n\treturn function contentSecurityPolicyMiddleware(req, res, next) {\n\t\tconst result = getHeaderValue(req, res, normalizedDirectives)\n\t\tif (result instanceof Error) {\n\t\t\tnext(result)\n\t\t} else {\n\t\t\tres.setHeader(headerName, result)\n\t\t\tnext()\n\t\t}\n\t}\n}\ncontentSecurityPolicy.getDefaultDirectives = getDefaultDirectives\ncontentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc\n\nconst ALLOWED_POLICIES$2 = new Set([\"require-corp\", \"credentialless\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$6({policy = \"require-corp\"}) {\n\tif (ALLOWED_POLICIES$2.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginEmbedderPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$6(options)\n\treturn function crossOriginEmbedderPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Embedder-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES$1 = new Set([\"same-origin\", \"same-origin-allow-popups\", \"unsafe-none\"])\nfunction getHeaderValueFromOptions$5({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES$1.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginOpenerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$5(options)\n\treturn function crossOriginOpenerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Opener-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_POLICIES = new Set([\"same-origin\", \"same-site\", \"cross-origin\"])\nfunction getHeaderValueFromOptions$4({policy = \"same-origin\"}) {\n\tif (ALLOWED_POLICIES.has(policy)) {\n\t\treturn policy\n\t} else {\n\t\tthrow new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`)\n\t}\n}\nfunction crossOriginResourcePolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$4(options)\n\treturn function crossOriginResourcePolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Cross-Origin-Resource-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction originAgentCluster() {\n\treturn function originAgentClusterMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Origin-Agent-Cluster\", \"?1\")\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_TOKENS = new Set([\"no-referrer\", \"no-referrer-when-downgrade\", \"same-origin\", \"origin\", \"strict-origin\", \"origin-when-cross-origin\", \"strict-origin-when-cross-origin\", \"unsafe-url\", \"\"])\nfunction getHeaderValueFromOptions$3({policy = [\"no-referrer\"]}) {\n\tconst tokens = typeof policy === \"string\" ? [policy] : policy\n\tif (tokens.length === 0) {\n\t\tthrow new Error(\"Referrer-Policy received no policy tokens\")\n\t}\n\tconst tokensSeen = new Set()\n\ttokens.forEach(token => {\n\t\tif (!ALLOWED_TOKENS.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`)\n\t\t} else if (tokensSeen.has(token)) {\n\t\t\tthrow new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`)\n\t\t}\n\t\ttokensSeen.add(token)\n\t})\n\treturn tokens.join(\",\")\n}\nfunction referrerPolicy(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$3(options)\n\treturn function referrerPolicyMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Referrer-Policy\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst DEFAULT_MAX_AGE = 365 * 24 * 60 * 60\nfunction parseMaxAge(value = DEFAULT_MAX_AGE) {\n\tif (value >= 0 && Number.isFinite(value)) {\n\t\treturn Math.floor(value)\n\t} else {\n\t\tthrow new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`)\n\t}\n}\nfunction getHeaderValueFromOptions$2(options) {\n\tif (\"maxage\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?\")\n\t}\n\tif (\"includeSubdomains\" in options) {\n\t\tthrow new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase \"D\".)')\n\t}\n\tconst directives = [`max-age=${parseMaxAge(options.maxAge)}`]\n\tif (options.includeSubDomains === undefined || options.includeSubDomains) {\n\t\tdirectives.push(\"includeSubDomains\")\n\t}\n\tif (options.preload) {\n\t\tdirectives.push(\"preload\")\n\t}\n\treturn directives.join(\"; \")\n}\nfunction strictTransportSecurity(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$2(options)\n\treturn function strictTransportSecurityMiddleware(_req, res, next) {\n\t\tres.setHeader(\"Strict-Transport-Security\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xContentTypeOptions() {\n\treturn function xContentTypeOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Content-Type-Options\", \"nosniff\")\n\t\tnext()\n\t}\n}\n\nfunction xDnsPrefetchControl(options = {}) {\n\tconst headerValue = options.allow ? \"on\" : \"off\"\n\treturn function xDnsPrefetchControlMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-DNS-Prefetch-Control\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xDownloadOptions() {\n\treturn function xDownloadOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Download-Options\", \"noopen\")\n\t\tnext()\n\t}\n}\n\nfunction getHeaderValueFromOptions$1({action = \"sameorigin\"}) {\n\tconst normalizedAction = typeof action === \"string\" ? action.toUpperCase() : action\n\tswitch (normalizedAction) {\n\t\tcase \"SAME-ORIGIN\":\n\t\t\treturn \"SAMEORIGIN\"\n\t\tcase \"DENY\":\n\t\tcase \"SAMEORIGIN\":\n\t\t\treturn normalizedAction\n\t\tdefault:\n\t\t\tthrow new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`)\n\t}\n}\nfunction xFrameOptions(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions$1(options)\n\treturn function xFrameOptionsMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Frame-Options\", headerValue)\n\t\tnext()\n\t}\n}\n\nconst ALLOWED_PERMITTED_POLICIES = new Set([\"none\", \"master-only\", \"by-content-type\", \"all\"])\nfunction getHeaderValueFromOptions({permittedPolicies = \"none\"}) {\n\tif (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) {\n\t\treturn permittedPolicies\n\t} else {\n\t\tthrow new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`)\n\t}\n}\nfunction xPermittedCrossDomainPolicies(options = {}) {\n\tconst headerValue = getHeaderValueFromOptions(options)\n\treturn function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-Permitted-Cross-Domain-Policies\", headerValue)\n\t\tnext()\n\t}\n}\n\nfunction xPoweredBy() {\n\treturn function xPoweredByMiddleware(_req, res, next) {\n\t\tres.removeHeader(\"X-Powered-By\")\n\t\tnext()\n\t}\n}\n\nfunction xXssProtection() {\n\treturn function xXssProtectionMiddleware(_req, res, next) {\n\t\tres.setHeader(\"X-XSS-Protection\", \"0\")\n\t\tnext()\n\t}\n}\n\nfunction getMiddlewareFunctionsFromOptions(options) {\n\tconst result = []\n\tswitch (options.contentSecurityPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(contentSecurityPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(contentSecurityPolicy(options.contentSecurityPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginEmbedderPolicy) {\n\t\tcase undefined:\n\t\tcase false:\n\t\t\tbreak\n\t\tcase true:\n\t\t\tresult.push(crossOriginEmbedderPolicy())\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginOpenerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginOpenerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.crossOriginResourcePolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(crossOriginResourcePolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy))\n\t\t\tbreak\n\t}\n\tswitch (options.originAgentCluster) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"Origin-Agent-Cluster does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(originAgentCluster())\n\t\t\tbreak\n\t}\n\tswitch (options.referrerPolicy) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(referrerPolicy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(referrerPolicy(options.referrerPolicy))\n\t\t\tbreak\n\t}\n\tif (\"strictTransportSecurity\" in options && \"hsts\" in options) {\n\t\tthrow new Error(\"Strict-Transport-Security option was specified twice. Remove `hsts` to silence this warning.\")\n\t}\n\tconst strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts\n\tswitch (strictTransportSecurityOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(strictTransportSecurity())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(strictTransportSecurity(strictTransportSecurityOption))\n\t\t\tbreak\n\t}\n\tif (\"xContentTypeOptions\" in options && \"noSniff\" in options) {\n\t\tthrow new Error(\"X-Content-Type-Options option was specified twice. Remove `noSniff` to silence this warning.\")\n\t}\n\tconst xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff\n\tswitch (xContentTypeOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Content-Type-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xContentTypeOptions())\n\t\t\tbreak\n\t}\n\tif (\"xDnsPrefetchControl\" in options && \"dnsPrefetchControl\" in options) {\n\t\tthrow new Error(\"X-DNS-Prefetch-Control option was specified twice. Remove `dnsPrefetchControl` to silence this warning.\")\n\t}\n\tconst xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl\n\tswitch (xDnsPrefetchControlOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDnsPrefetchControl())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xDnsPrefetchControl(xDnsPrefetchControlOption))\n\t\t\tbreak\n\t}\n\tif (\"xDownloadOptions\" in options && \"ieNoOpen\" in options) {\n\t\tthrow new Error(\"X-Download-Options option was specified twice. Remove `ieNoOpen` to silence this warning.\")\n\t}\n\tconst xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen\n\tswitch (xDownloadOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Download-Options does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xDownloadOptions())\n\t\t\tbreak\n\t}\n\tif (\"xFrameOptions\" in options && \"frameguard\" in options) {\n\t\tthrow new Error(\"X-Frame-Options option was specified twice. Remove `frameguard` to silence this warning.\")\n\t}\n\tconst xFrameOptionsOption = options.xFrameOptions ?? options.frameguard\n\tswitch (xFrameOptionsOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xFrameOptions())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xFrameOptions(xFrameOptionsOption))\n\t\t\tbreak\n\t}\n\tif (\"xPermittedCrossDomainPolicies\" in options && \"permittedCrossDomainPolicies\" in options) {\n\t\tthrow new Error(\"X-Permitted-Cross-Domain-Policies option was specified twice. Remove `permittedCrossDomainPolicies` to silence this warning.\")\n\t}\n\tconst xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies\n\tswitch (xPermittedCrossDomainPoliciesOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPermittedCrossDomainPolicies())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tresult.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption))\n\t\t\tbreak\n\t}\n\tif (\"xPoweredBy\" in options && \"hidePoweredBy\" in options) {\n\t\tthrow new Error(\"X-Powered-By option was specified twice. Remove `hidePoweredBy` to silence this warning.\")\n\t}\n\tconst xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy\n\tswitch (xPoweredByOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-Powered-By does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xPoweredBy())\n\t\t\tbreak\n\t}\n\tif (\"xXssProtection\" in options && \"xssFilter\" in options) {\n\t\tthrow new Error(\"X-XSS-Protection option was specified twice. Remove `xssFilter` to silence this warning.\")\n\t}\n\tconst xXssProtectionOption = options.xXssProtection ?? options.xssFilter\n\tswitch (xXssProtectionOption) {\n\t\tcase undefined:\n\t\tcase true:\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t\tcase false:\n\t\t\tbreak\n\t\tdefault:\n\t\t\tconsole.warn(\"X-XSS-Protection does not take options. Remove the property to silence this warning.\")\n\t\t\tresult.push(xXssProtection())\n\t\t\tbreak\n\t}\n\treturn result\n}\nconst helmet = Object.assign(\n\tfunction helmet(options = {}) {\n\t\t// People should be able to pass an options object with no prototype,\n\t\t// so we want this optional chaining.\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\tif (options.constructor?.name === \"IncomingMessage\") {\n\t\t\tthrow new Error(\"It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`.\")\n\t\t}\n\t\tconst middlewareFunctions = getMiddlewareFunctionsFromOptions(options)\n\t\treturn function helmetMiddleware(req, res, next) {\n\t\t\tlet middlewareIndex = 0\n\t\t\t;(function internalNext(err) {\n\t\t\t\tif (err) {\n\t\t\t\t\tnext(err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconst middlewareFunction = middlewareFunctions[middlewareIndex]\n\t\t\t\tif (middlewareFunction) {\n\t\t\t\t\tmiddlewareIndex++\n\t\t\t\t\tmiddlewareFunction(req, res, internalNext)\n\t\t\t\t} else {\n\t\t\t\t\tnext()\n\t\t\t\t}\n\t\t\t})()\n\t\t}\n\t},\n\t{\n\t\tcontentSecurityPolicy,\n\t\tcrossOriginEmbedderPolicy,\n\t\tcrossOriginOpenerPolicy,\n\t\tcrossOriginResourcePolicy,\n\t\toriginAgentCluster,\n\t\treferrerPolicy,\n\t\tstrictTransportSecurity,\n\t\txContentTypeOptions,\n\t\txDnsPrefetchControl,\n\t\txDownloadOptions,\n\t\txFrameOptions,\n\t\txPermittedCrossDomainPolicies,\n\t\txPoweredBy,\n\t\txXssProtection,\n\t\t// Legacy aliases\n\t\tdnsPrefetchControl: xDnsPrefetchControl,\n\t\txssFilter: xXssProtection,\n\t\tpermittedCrossDomainPolicies: xPermittedCrossDomainPolicies,\n\t\tieNoOpen: xDownloadOptions,\n\t\tnoSniff: xContentTypeOptions,\n\t\tframeguard: xFrameOptions,\n\t\thidePoweredBy: xPoweredBy,\n\t\thsts: strictTransportSecurity\n\t}\n)\n\nexport {contentSecurityPolicy, crossOriginEmbedderPolicy, crossOriginOpenerPolicy, crossOriginResourcePolicy, helmet as default, xDnsPrefetchControl as dnsPrefetchControl, xFrameOptions as frameguard, xPoweredBy as hidePoweredBy, strictTransportSecurity as hsts, xDownloadOptions as ieNoOpen, xContentTypeOptions as noSniff, originAgentCluster, xPermittedCrossDomainPolicies as permittedCrossDomainPolicies, referrerPolicy, strictTransportSecurity, xContentTypeOptions, xDnsPrefetchControl, xDownloadOptions, xFrameOptions, xPermittedCrossDomainPolicies, xPoweredBy, xXssProtection, xXssProtection as xssFilter}\n","{\n\t\"name\": \"@ainetwork/adk\",\n\t\"version\": \"0.3.4\",\n\t\"description\": \"AI Network Agent Development Kit\",\n\t\"repository\": \"git@github.com:ainetwork-ai/ain-adk.git\",\n\t\"author\": \"AI Network (https://ainetwork.ai)\",\n\t\"type\": \"module\",\n\t\"engines\": {\n\t\t\"node\": \">=20\"\n\t},\n\t\"main\": \"./dist/cjs/index.cjs\",\n\t\"module\": \"./dist/esm/index.js\",\n\t\"types\": \"./dist/esm/index.d.ts\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"types\": \"./dist/esm/index.d.ts\",\n\t\t\t\"import\": \"./dist/esm/index.js\",\n\t\t\t\"require\": \"./dist/cjs/index.cjs\",\n\t\t\t\"default\": \"./dist/esm/index.js\"\n\t\t},\n\t\t\"./modules\": {\n\t\t\t\"types\": \"./dist/esm/modules/index.d.ts\",\n\t\t\t\"import\": \"./dist/esm/modules/index.js\",\n\t\t\t\"require\": \"./dist/cjs/modules/index.cjs\",\n\t\t\t\"default\": \"./dist/esm/modules/index.js\"\n\t\t},\n\t\t\"./types/*\": {\n\t\t\t\"types\": \"./dist/esm/types/*.d.ts\",\n\t\t\t\"import\": \"./dist/esm/types/*.js\",\n\t\t\t\"require\": \"./dist/cjs/types/*.cjs\",\n\t\t\t\"default\": \"./dist/esm/types/*.js\"\n\t\t},\n\t\t\"./utils/*\": {\n\t\t\t\"types\": \"./dist/esm/utils/*.d.ts\",\n\t\t\t\"import\": \"./dist/esm/utils/*.js\",\n\t\t\t\"require\": \"./dist/cjs/utils/*.cjs\",\n\t\t\t\"default\": \"./dist/esm/utils/*.js\"\n\t\t}\n\t},\n\t\"files\": [\n\t\t\"dist\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsup\",\n\t\t\"clean\": \"rm -rf dist\",\n\t\t\"biome\": \"npx @biomejs/biome check\",\n\t\t\"biome:write\": \"npx @biomejs/biome check --write\",\n\t\t\"test\": \"jest --passWithNoTests\",\n\t\t\"prepare\": \"husky\",\n\t\t\"release\": \"release-it\"\n\t},\n\t\"keywords\": [],\n\t\"license\": \"MIT\",\n\t\"devDependencies\": {\n\t\t\"@biomejs/biome\": \"2.0.4\",\n\t\t\"@eslint/js\": \"^9.29.0\",\n\t\t\"@types/cors\": \"^2.8.19\",\n\t\t\"@types/express\": \"^5.0.3\",\n\t\t\"@types/helmet\": \"^4.0.0\",\n\t\t\"@types/jest\": \"^30.0.0\",\n\t\t\"@types/node\": \"^24.0.1\",\n\t\t\"eslint\": \"^9.29.0\",\n\t\t\"husky\": \"^9.1.7\",\n\t\t\"jest\": \"^30.0.0\",\n\t\t\"release-it\": \"^19.0.4\",\n\t\t\"ts-jest\": \"^29.4.0\",\n\t\t\"ts-node\": \"^10.9.2\",\n\t\t\"tsup\": \"^8.5.0\",\n\t\t\"tsx\": \"^4.20.3\",\n\t\t\"typescript\": \"^5.8.3\",\n\t\t\"typescript-eslint\": \"^8.34.1\"\n\t},\n\t\"dependencies\": {\n\t\t\"@a2a-js/sdk\": \"^0.3.7\",\n\t\t\"@modelcontextprotocol/sdk\": \"^1.25.1\",\n\t\t\"cors\": \"^2.8.5\",\n\t\t\"dotenv\": \"^16.5.0\",\n\t\t\"express\": \"^5.1.0\",\n\t\t\"http-status-codes\": \"^2.3.0\",\n\t\t\"uuid\": \"^11.1.0\",\n\t\t\"winston\": \"^3.17.0\",\n\t\t\"winston-daily-rotate-file\": \"^5.0.0\"\n\t},\n\t\"publishConfig\": {\n\t\t\"registry\": \"https://registry.npmjs.org\"\n\t}\n}\n"],"mappings":"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","names":["contentSecurityPolicy","helmet"]}
@@ -1,10 +1,10 @@
1
1
  import { RequestHandler } from 'express';
2
- import { BaseAuth } from '../modules/auth/base.auth.js';
2
+ import { AuthModule } from '../modules/auth/auth.module.js';
3
3
  import '../types/auth.js';
4
4
 
5
5
  declare class AuthMiddleware {
6
6
  private auth;
7
- constructor(auth: BaseAuth);
7
+ constructor(auth: AuthModule | undefined);
8
8
  middleware(): RequestHandler;
9
9
  }
10
10
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AuthMiddleware
3
- } from "../chunk-OTBWAUJF.js";
4
- import "../chunk-WUNZG3WP.js";
3
+ } from "../chunk-YDER5JOU.js";
4
+ import "../chunk-C5JXXLCW.js";
5
5
  export {
6
6
  AuthMiddleware
7
7
  };
@@ -1,6 +1,9 @@
1
1
  import { Request, Response, NextFunction } from 'express';
2
2
  import { AinHttpError } from '../types/agent.js';
3
3
  import 'http-status-codes';
4
+ import '../types/memory.js';
5
+ import '../types/stream.js';
6
+ import '../types/connector.js';
4
7
 
5
8
  declare const errorMiddleware: (error: AinHttpError, req: Request, res: Response, next: NextFunction) => void;
6
9
 
@@ -3,8 +3,8 @@ import {
3
3
  } from "../../chunk-FRQSMPPK.js";
4
4
  import "../../chunk-BZZDVW26.js";
5
5
  import "../../chunk-7CULQDJF.js";
6
- import "../../chunk-GRN6CHNO.js";
7
6
  import "../../chunk-VUMI4XOY.js";
7
+ import "../../chunk-4BHU7SPZ.js";
8
8
  export {
9
9
  A2AModule
10
10
  };
@@ -1,8 +1,8 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { AuthResponse } from '../../types/auth.js';
3
3
 
4
- declare abstract class BaseAuth {
4
+ declare abstract class AuthModule {
5
5
  abstract authenticate(req: Request, res: Response): Promise<AuthResponse>;
6
6
  }
7
7
 
8
- export { BaseAuth };
8
+ export { AuthModule };
@@ -0,0 +1,7 @@
1
+ import {
2
+ AuthModule
3
+ } from "../../chunk-BS52JTBH.js";
4
+ export {
5
+ AuthModule
6
+ };
7
+ //# sourceMappingURL=auth.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +1,7 @@
1
1
  export { A2AModule } from './a2a/a2a.module.js';
2
- export { BaseAuth } from './auth/base.auth.js';
2
+ export { AuthModule } from './auth/auth.module.js';
3
3
  export { MCPModule } from './mcp/mcp.module.js';
4
- export { IAgentMemory, IIntentMemory, IMemory, IThreadMemory } from './memory/base.memory.js';
4
+ export { IAgentMemory, IIntentMemory, IMemory, IThreadMemory, IWorkflowMemory } from './memory/base.memory.js';
5
5
  export { MemoryModule } from './memory/memory.module.js';
6
6
  export { BaseModel, ModelFetchOptions } from './models/base.model.js';
7
7
  export { ModelModule } from './models/model.module.js';
@@ -1,29 +1,29 @@
1
1
  import {
2
- A2AModule
3
- } from "../chunk-FRQSMPPK.js";
2
+ MemoryModule
3
+ } from "../chunk-7GV6DSPE.js";
4
4
  import {
5
- BaseAuth
6
- } from "../chunk-FF5RJ4L2.js";
5
+ AuthModule
6
+ } from "../chunk-BS52JTBH.js";
7
7
  import {
8
8
  MCPModule
9
9
  } from "../chunk-PVWOU6LA.js";
10
10
  import "../chunk-IKYOHZYW.js";
11
- import {
12
- MemoryModule
13
- } from "../chunk-OUIXXZFI.js";
14
11
  import {
15
12
  BaseModel
16
13
  } from "../chunk-U2UNRT4C.js";
17
14
  import {
18
15
  ModelModule
19
16
  } from "../chunk-M6RVV57F.js";
17
+ import {
18
+ A2AModule
19
+ } from "../chunk-FRQSMPPK.js";
20
20
  import "../chunk-BZZDVW26.js";
21
21
  import "../chunk-7CULQDJF.js";
22
- import "../chunk-GRN6CHNO.js";
23
22
  import "../chunk-VUMI4XOY.js";
23
+ import "../chunk-4BHU7SPZ.js";
24
24
  export {
25
25
  A2AModule,
26
- BaseAuth,
26
+ AuthModule,
27
27
  BaseModel,
28
28
  MCPModule,
29
29
  MemoryModule,
@@ -1,4 +1,4 @@
1
- import { ThreadObject, ThreadType, MessageObject, ThreadMetadata, Intent } from '../../types/memory.js';
1
+ import { ThreadObject, ThreadType, MessageObject, ThreadMetadata, Intent, Workflow } from '../../types/memory.js';
2
2
 
3
3
  /**
4
4
  * Memory connection interface - manages the underlying connection
@@ -10,6 +10,7 @@ interface IMemory {
10
10
  getThreadMemory(): IThreadMemory;
11
11
  getIntentMemory(): IIntentMemory;
12
12
  getAgentMemory(): IAgentMemory;
13
+ getWorkflowMemory(): IWorkflowMemory;
13
14
  }
14
15
  /**
15
16
  * Thread memory interface - handles thread operations
@@ -39,5 +40,15 @@ interface IAgentMemory {
39
40
  getAgentPrompt(): Promise<string>;
40
41
  updateAgentPrompt(prompt: string): Promise<void>;
41
42
  }
43
+ /**
44
+ * Workflow memory interface - handles workflow operations
45
+ */
46
+ interface IWorkflowMemory {
47
+ getWorkflow(workflowId: string): Promise<Workflow | undefined>;
48
+ createWorkflow(workflow: Workflow): Promise<Workflow>;
49
+ updateWorkflow(workflowId: string, workflow: Partial<Workflow>): Promise<void>;
50
+ deleteWorkflow(workflowId: string): Promise<void>;
51
+ listWorkflows(userId?: string): Promise<Workflow[]>;
52
+ }
42
53
 
43
- export type { IAgentMemory, IIntentMemory, IMemory, IThreadMemory };
54
+ export type { IAgentMemory, IIntentMemory, IMemory, IThreadMemory, IWorkflowMemory };
@@ -1,4 +1,4 @@
1
- import { IMemory, IAgentMemory, IThreadMemory, IIntentMemory } from './base.memory.js';
1
+ import { IMemory, IAgentMemory, IThreadMemory, IIntentMemory, IWorkflowMemory } from './base.memory.js';
2
2
  import '../../types/memory.js';
3
3
 
4
4
  declare class MemoryModule {
@@ -9,6 +9,7 @@ declare class MemoryModule {
9
9
  getAgentMemory(): IAgentMemory;
10
10
  getThreadMemory(): IThreadMemory;
11
11
  getIntentMemory(): IIntentMemory;
12
+ getWorkflowMemory(): IWorkflowMemory;
12
13
  }
13
14
 
14
15
  export { MemoryModule };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MemoryModule
3
- } from "../../chunk-OUIXXZFI.js";
3
+ } from "../../chunk-7GV6DSPE.js";
4
4
  export {
5
5
  MemoryModule
6
6
  };