@ainetwork/adk 0.3.7 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. package/dist/cjs/chunk-22H5DEV4.cjs +29 -0
  2. package/dist/cjs/chunk-22H5DEV4.cjs.map +1 -0
  3. package/dist/cjs/chunk-2K4ELKQT.cjs +18 -0
  4. package/dist/cjs/chunk-2K4ELKQT.cjs.map +1 -0
  5. package/dist/cjs/chunk-2NMC37IG.cjs +17 -0
  6. package/dist/cjs/chunk-2NMC37IG.cjs.map +1 -0
  7. package/dist/cjs/chunk-2QIWWQGN.cjs +370 -0
  8. package/dist/cjs/chunk-2QIWWQGN.cjs.map +1 -0
  9. package/dist/cjs/chunk-2XPAPWB7.cjs +17 -0
  10. package/dist/cjs/chunk-2XPAPWB7.cjs.map +1 -0
  11. package/dist/cjs/chunk-2ZJHRACL.cjs +17 -0
  12. package/dist/cjs/chunk-2ZJHRACL.cjs.map +1 -0
  13. package/dist/cjs/chunk-3DXU3HIR.cjs +44 -0
  14. package/dist/cjs/chunk-3DXU3HIR.cjs.map +1 -0
  15. package/dist/cjs/chunk-3GIFCJ3D.cjs +18 -0
  16. package/dist/cjs/chunk-3GIFCJ3D.cjs.map +1 -0
  17. package/dist/cjs/chunk-3L3HC7MZ.cjs +102 -0
  18. package/dist/cjs/chunk-3L3HC7MZ.cjs.map +1 -0
  19. package/dist/cjs/chunk-3LRSL7VP.cjs +44 -0
  20. package/dist/cjs/chunk-3LRSL7VP.cjs.map +1 -0
  21. package/dist/cjs/chunk-3TSNA7ZR.cjs +102 -0
  22. package/dist/cjs/chunk-3TSNA7ZR.cjs.map +1 -0
  23. package/dist/cjs/chunk-46BFYD3I.cjs +74 -0
  24. package/dist/cjs/chunk-46BFYD3I.cjs.map +1 -0
  25. package/dist/cjs/chunk-4BZE2NCH.cjs +17 -0
  26. package/dist/cjs/chunk-4BZE2NCH.cjs.map +1 -0
  27. package/dist/cjs/chunk-4LD3OGVI.cjs +17 -0
  28. package/dist/cjs/chunk-4LD3OGVI.cjs.map +1 -0
  29. package/dist/cjs/chunk-4X64G2OV.cjs +17 -0
  30. package/dist/cjs/chunk-4X64G2OV.cjs.map +1 -0
  31. package/dist/cjs/chunk-4XZGYMFF.cjs +44 -0
  32. package/dist/cjs/chunk-4XZGYMFF.cjs.map +1 -0
  33. package/dist/cjs/chunk-525PPL6W.cjs +102 -0
  34. package/dist/cjs/chunk-525PPL6W.cjs.map +1 -0
  35. package/dist/cjs/chunk-53I63YLP.cjs +49 -0
  36. package/dist/cjs/chunk-53I63YLP.cjs.map +1 -0
  37. package/dist/cjs/chunk-573B43NO.cjs +17 -0
  38. package/dist/cjs/chunk-573B43NO.cjs.map +1 -0
  39. package/dist/cjs/chunk-574RKNV5.cjs +17 -0
  40. package/dist/cjs/chunk-574RKNV5.cjs.map +1 -0
  41. package/dist/cjs/chunk-5LWAUNBN.cjs +18 -0
  42. package/dist/cjs/chunk-5LWAUNBN.cjs.map +1 -0
  43. package/dist/cjs/chunk-5SKLUKU2.cjs +44 -0
  44. package/dist/cjs/chunk-5SKLUKU2.cjs.map +1 -0
  45. package/dist/cjs/chunk-5V5QKZWF.cjs +38 -0
  46. package/dist/cjs/chunk-5V5QKZWF.cjs.map +1 -0
  47. package/dist/cjs/chunk-5WWK2USQ.cjs +38 -0
  48. package/dist/cjs/chunk-5WWK2USQ.cjs.map +1 -0
  49. package/dist/cjs/chunk-67YTT5QY.cjs +74 -0
  50. package/dist/cjs/chunk-67YTT5QY.cjs.map +1 -0
  51. package/dist/cjs/chunk-6DBH7UKM.cjs +17 -0
  52. package/dist/cjs/chunk-6DBH7UKM.cjs.map +1 -0
  53. package/dist/cjs/chunk-6DP2S2BC.cjs +17 -0
  54. package/dist/cjs/chunk-6DP2S2BC.cjs.map +1 -0
  55. package/dist/cjs/chunk-6DSMXJUX.cjs +18 -0
  56. package/dist/cjs/chunk-6DSMXJUX.cjs.map +1 -0
  57. package/dist/cjs/chunk-6OFVJDVZ.cjs +74 -0
  58. package/dist/cjs/chunk-6OFVJDVZ.cjs.map +1 -0
  59. package/dist/cjs/chunk-6THSLZ76.cjs +29 -0
  60. package/dist/cjs/chunk-6THSLZ76.cjs.map +1 -0
  61. package/dist/cjs/chunk-6UHLFZ7G.cjs +38 -0
  62. package/dist/cjs/chunk-6UHLFZ7G.cjs.map +1 -0
  63. package/dist/cjs/chunk-6XUKA5VB.cjs +44 -0
  64. package/dist/cjs/chunk-6XUKA5VB.cjs.map +1 -0
  65. package/dist/cjs/chunk-74GQZ3YP.cjs +57 -0
  66. package/dist/cjs/chunk-74GQZ3YP.cjs.map +1 -0
  67. package/dist/cjs/chunk-7CYS5AT5.cjs +44 -0
  68. package/dist/cjs/chunk-7CYS5AT5.cjs.map +1 -0
  69. package/dist/cjs/chunk-7KHPL33S.cjs +29 -0
  70. package/dist/cjs/chunk-7KHPL33S.cjs.map +1 -0
  71. package/dist/cjs/chunk-7KNIC3LA.cjs +62 -0
  72. package/dist/cjs/chunk-7KNIC3LA.cjs.map +1 -0
  73. package/dist/cjs/chunk-7RLC6VDY.cjs +17 -0
  74. package/dist/cjs/chunk-7RLC6VDY.cjs.map +1 -0
  75. package/dist/cjs/chunk-7UDE6H6Y.cjs +17 -0
  76. package/dist/cjs/chunk-7UDE6H6Y.cjs.map +1 -0
  77. package/dist/cjs/chunk-A7CRBSUB.cjs +89 -0
  78. package/dist/{esm/chunk-NHYC66BI.js.map → cjs/chunk-A7CRBSUB.cjs.map} +1 -1
  79. package/dist/cjs/chunk-AAR74MD3.cjs +17 -0
  80. package/dist/cjs/chunk-AAR74MD3.cjs.map +1 -0
  81. package/dist/cjs/chunk-ADZSFJ6B.cjs +38 -0
  82. package/dist/cjs/chunk-ADZSFJ6B.cjs.map +1 -0
  83. package/dist/cjs/chunk-AENAQ5ZC.cjs +74 -0
  84. package/dist/cjs/chunk-AENAQ5ZC.cjs.map +1 -0
  85. package/dist/cjs/chunk-AJJ4JKX5.cjs +74 -0
  86. package/dist/cjs/chunk-AJJ4JKX5.cjs.map +1 -0
  87. package/dist/cjs/chunk-APMD4F4X.cjs +62 -0
  88. package/dist/cjs/chunk-APMD4F4X.cjs.map +1 -0
  89. package/dist/cjs/chunk-AUK5RVGE.cjs +74 -0
  90. package/dist/cjs/chunk-AUK5RVGE.cjs.map +1 -0
  91. package/dist/cjs/chunk-BH4NGSK2.cjs +27 -0
  92. package/dist/cjs/chunk-BH4NGSK2.cjs.map +1 -0
  93. package/dist/cjs/chunk-BJHLFS52.cjs +102 -0
  94. package/dist/cjs/chunk-BJHLFS52.cjs.map +1 -0
  95. package/dist/cjs/chunk-BWQHKMHB.cjs +17 -0
  96. package/dist/cjs/chunk-BWQHKMHB.cjs.map +1 -0
  97. package/dist/cjs/chunk-C6EFDFRG.cjs +102 -0
  98. package/dist/cjs/chunk-C6EFDFRG.cjs.map +1 -0
  99. package/dist/cjs/chunk-CDW72DNH.cjs +44 -0
  100. package/dist/cjs/chunk-CDW72DNH.cjs.map +1 -0
  101. package/dist/cjs/chunk-CGSI4WNT.cjs +29 -0
  102. package/dist/cjs/chunk-CGSI4WNT.cjs.map +1 -0
  103. package/dist/cjs/chunk-CIP4FZ35.cjs +102 -0
  104. package/dist/cjs/chunk-CIP4FZ35.cjs.map +1 -0
  105. package/dist/cjs/chunk-CRIRVHFU.cjs +17 -0
  106. package/dist/cjs/chunk-CRIRVHFU.cjs.map +1 -0
  107. package/dist/cjs/chunk-CTGV4OQD.cjs +17 -0
  108. package/dist/cjs/chunk-CTGV4OQD.cjs.map +1 -0
  109. package/dist/cjs/chunk-DAVB4GVA.cjs +29 -0
  110. package/dist/cjs/chunk-DAVB4GVA.cjs.map +1 -0
  111. package/dist/cjs/chunk-DD2VVGT7.cjs +17 -0
  112. package/dist/cjs/chunk-DD2VVGT7.cjs.map +1 -0
  113. package/dist/cjs/chunk-DJI6HQEP.cjs +17 -0
  114. package/dist/cjs/chunk-DJI6HQEP.cjs.map +1 -0
  115. package/dist/cjs/chunk-E6SB5GGE.cjs +18 -0
  116. package/dist/cjs/chunk-E6SB5GGE.cjs.map +1 -0
  117. package/dist/cjs/chunk-EB2TL5RW.cjs +18 -0
  118. package/dist/cjs/chunk-EB2TL5RW.cjs.map +1 -0
  119. package/dist/cjs/chunk-EDAWBHD4.cjs +74 -0
  120. package/dist/cjs/chunk-EDAWBHD4.cjs.map +1 -0
  121. package/dist/cjs/chunk-ELS3ORTE.cjs +49 -0
  122. package/dist/cjs/chunk-ELS3ORTE.cjs.map +1 -0
  123. package/dist/cjs/chunk-EQUO2W74.cjs +18 -0
  124. package/dist/cjs/chunk-EQUO2W74.cjs.map +1 -0
  125. package/dist/cjs/chunk-EVAUDAX5.cjs +17 -0
  126. package/dist/cjs/chunk-EVAUDAX5.cjs.map +1 -0
  127. package/dist/cjs/chunk-EWNGSIN6.cjs +18 -0
  128. package/dist/cjs/chunk-EWNGSIN6.cjs.map +1 -0
  129. package/dist/cjs/chunk-EX3PS7YS.cjs +44 -0
  130. package/dist/cjs/chunk-EX3PS7YS.cjs.map +1 -0
  131. package/dist/cjs/chunk-EYT4K7MI.cjs +49 -0
  132. package/dist/cjs/chunk-EYT4K7MI.cjs.map +1 -0
  133. package/dist/cjs/chunk-F5RVQ6H3.cjs +17 -0
  134. package/dist/cjs/chunk-F5RVQ6H3.cjs.map +1 -0
  135. package/dist/cjs/chunk-F6RG4H64.cjs +17 -0
  136. package/dist/cjs/chunk-F6RG4H64.cjs.map +1 -0
  137. package/dist/cjs/chunk-FBJF3GS6.cjs +17 -0
  138. package/dist/cjs/chunk-FBJF3GS6.cjs.map +1 -0
  139. package/dist/cjs/chunk-FC4C3NXQ.cjs +17 -0
  140. package/dist/cjs/chunk-FC4C3NXQ.cjs.map +1 -0
  141. package/dist/cjs/chunk-FG6W4GCF.cjs +44 -0
  142. package/dist/cjs/chunk-FG6W4GCF.cjs.map +1 -0
  143. package/dist/cjs/chunk-FGJMJDNK.cjs +17 -0
  144. package/dist/cjs/chunk-FGJMJDNK.cjs.map +1 -0
  145. package/dist/cjs/chunk-FH23BJAL.cjs +62 -0
  146. package/dist/cjs/chunk-FH23BJAL.cjs.map +1 -0
  147. package/dist/cjs/chunk-FHJDNSGO.cjs +17 -0
  148. package/dist/cjs/chunk-FHJDNSGO.cjs.map +1 -0
  149. package/dist/cjs/chunk-FLKHIKHZ.cjs +17 -0
  150. package/dist/cjs/chunk-FLKHIKHZ.cjs.map +1 -0
  151. package/dist/cjs/chunk-FXQYIPMS.cjs +18 -0
  152. package/dist/cjs/chunk-FXQYIPMS.cjs.map +1 -0
  153. package/dist/cjs/chunk-G2DEHV5N.cjs +18 -0
  154. package/dist/cjs/chunk-G2DEHV5N.cjs.map +1 -0
  155. package/dist/cjs/chunk-G52QQVMH.cjs +62 -0
  156. package/dist/cjs/chunk-G52QQVMH.cjs.map +1 -0
  157. package/dist/cjs/chunk-GDFMOHPF.cjs +18 -0
  158. package/dist/cjs/chunk-GDFMOHPF.cjs.map +1 -0
  159. package/dist/cjs/chunk-GDMIPDMY.cjs +74 -0
  160. package/dist/cjs/chunk-GDMIPDMY.cjs.map +1 -0
  161. package/dist/cjs/chunk-GFKSAO4F.cjs +17 -0
  162. package/dist/cjs/chunk-GFKSAO4F.cjs.map +1 -0
  163. package/dist/cjs/chunk-GFPIWMX7.cjs +44 -0
  164. package/dist/cjs/chunk-GFPIWMX7.cjs.map +1 -0
  165. package/dist/cjs/chunk-GHA5ONWM.cjs +44 -0
  166. package/dist/cjs/chunk-GHA5ONWM.cjs.map +1 -0
  167. package/dist/cjs/chunk-GN7GTRK4.cjs +94 -0
  168. package/dist/cjs/chunk-GN7GTRK4.cjs.map +1 -0
  169. package/dist/cjs/chunk-GSGWKZGC.cjs +148 -0
  170. package/dist/cjs/chunk-GSGWKZGC.cjs.map +1 -0
  171. package/dist/cjs/chunk-GSYVKLBV.cjs +74 -0
  172. package/dist/cjs/chunk-GSYVKLBV.cjs.map +1 -0
  173. package/dist/cjs/chunk-GXMK6HM5.cjs +44 -0
  174. package/dist/cjs/chunk-GXMK6HM5.cjs.map +1 -0
  175. package/dist/cjs/chunk-GZ2X2YZ3.cjs +74 -0
  176. package/dist/cjs/chunk-GZ2X2YZ3.cjs.map +1 -0
  177. package/dist/cjs/chunk-H3GWD2ES.cjs +29 -0
  178. package/dist/cjs/chunk-H3GWD2ES.cjs.map +1 -0
  179. package/dist/cjs/chunk-H5IPB5RW.cjs +44 -0
  180. package/dist/cjs/chunk-H5IPB5RW.cjs.map +1 -0
  181. package/dist/cjs/chunk-H6KPHKKN.cjs +62 -0
  182. package/dist/cjs/chunk-H6KPHKKN.cjs.map +1 -0
  183. package/dist/cjs/chunk-H6WA4ZVZ.cjs +29 -0
  184. package/dist/cjs/chunk-H6WA4ZVZ.cjs.map +1 -0
  185. package/dist/cjs/chunk-HAOZYSGM.cjs +38 -0
  186. package/dist/cjs/chunk-HAOZYSGM.cjs.map +1 -0
  187. package/dist/cjs/chunk-HKZNPDM5.cjs +62 -0
  188. package/dist/cjs/chunk-HKZNPDM5.cjs.map +1 -0
  189. package/dist/cjs/chunk-HWUCIRWQ.cjs +62 -0
  190. package/dist/cjs/chunk-HWUCIRWQ.cjs.map +1 -0
  191. package/dist/cjs/chunk-IAOIID43.cjs +18 -0
  192. package/dist/cjs/chunk-IAOIID43.cjs.map +1 -0
  193. package/dist/cjs/chunk-IB5H7BZJ.cjs +17 -0
  194. package/dist/cjs/chunk-IB5H7BZJ.cjs.map +1 -0
  195. package/dist/cjs/chunk-ICXZ3HPH.cjs +17 -0
  196. package/dist/cjs/chunk-ICXZ3HPH.cjs.map +1 -0
  197. package/dist/cjs/chunk-IF5XYSSS.cjs +28 -0
  198. package/dist/cjs/chunk-IF5XYSSS.cjs.map +1 -0
  199. package/dist/cjs/chunk-ILW5STTI.cjs +62 -0
  200. package/dist/cjs/chunk-ILW5STTI.cjs.map +1 -0
  201. package/dist/cjs/chunk-IPO4ASBI.cjs +74 -0
  202. package/dist/cjs/chunk-IPO4ASBI.cjs.map +1 -0
  203. package/dist/cjs/chunk-IUCVR6EE.cjs +74 -0
  204. package/dist/cjs/chunk-IUCVR6EE.cjs.map +1 -0
  205. package/dist/cjs/chunk-IVD2RDHV.cjs +62 -0
  206. package/dist/cjs/chunk-IVD2RDHV.cjs.map +1 -0
  207. package/dist/cjs/chunk-IYUUCYF7.cjs +44 -0
  208. package/dist/cjs/chunk-IYUUCYF7.cjs.map +1 -0
  209. package/dist/cjs/chunk-J6BF43QV.cjs +17 -0
  210. package/dist/cjs/chunk-J6BF43QV.cjs.map +1 -0
  211. package/dist/cjs/chunk-J7WYMYKJ.cjs +140 -0
  212. package/dist/cjs/chunk-J7WYMYKJ.cjs.map +1 -0
  213. package/dist/cjs/chunk-JB3M2YKH.cjs +102 -0
  214. package/dist/cjs/chunk-JB3M2YKH.cjs.map +1 -0
  215. package/dist/cjs/chunk-JBNTFAGS.cjs +17 -0
  216. package/dist/cjs/chunk-JBNTFAGS.cjs.map +1 -0
  217. package/dist/cjs/chunk-JEPWMZID.cjs +38 -0
  218. package/dist/cjs/chunk-JEPWMZID.cjs.map +1 -0
  219. package/dist/cjs/chunk-JFJS2THZ.cjs +62 -0
  220. package/dist/cjs/chunk-JFJS2THZ.cjs.map +1 -0
  221. package/dist/cjs/chunk-JGWLYCO2.cjs +17 -0
  222. package/dist/cjs/chunk-JGWLYCO2.cjs.map +1 -0
  223. package/dist/cjs/chunk-JKLDV6AN.cjs +38 -0
  224. package/dist/cjs/chunk-JKLDV6AN.cjs.map +1 -0
  225. package/dist/cjs/chunk-JUXNQ42D.cjs +28 -0
  226. package/dist/cjs/chunk-JUXNQ42D.cjs.map +1 -0
  227. package/dist/cjs/chunk-JW7FI2M4.cjs +18 -0
  228. package/dist/cjs/chunk-JW7FI2M4.cjs.map +1 -0
  229. package/dist/cjs/chunk-JWAQMGLT.cjs +17 -0
  230. package/dist/cjs/chunk-JWAQMGLT.cjs.map +1 -0
  231. package/dist/cjs/chunk-K7KWNGPC.cjs +29 -0
  232. package/dist/cjs/chunk-K7KWNGPC.cjs.map +1 -0
  233. package/dist/cjs/chunk-KDXHYQBU.cjs +18 -0
  234. package/dist/cjs/chunk-KDXHYQBU.cjs.map +1 -0
  235. package/dist/cjs/chunk-KEELLMY7.cjs +29 -0
  236. package/dist/cjs/chunk-KEELLMY7.cjs.map +1 -0
  237. package/dist/cjs/chunk-KLYTESRA.cjs +44 -0
  238. package/dist/cjs/chunk-KLYTESRA.cjs.map +1 -0
  239. package/dist/cjs/chunk-KVABMON6.cjs +44 -0
  240. package/dist/cjs/chunk-KVABMON6.cjs.map +1 -0
  241. package/dist/cjs/chunk-KWA3NEGB.cjs +62 -0
  242. package/dist/cjs/chunk-KWA3NEGB.cjs.map +1 -0
  243. package/dist/cjs/chunk-KY2H4ITY.cjs +49 -0
  244. package/dist/cjs/chunk-KY2H4ITY.cjs.map +1 -0
  245. package/dist/cjs/chunk-L72U5I5C.cjs +18 -0
  246. package/dist/cjs/chunk-L72U5I5C.cjs.map +1 -0
  247. package/dist/cjs/chunk-LA4I4YJP.cjs +18 -0
  248. package/dist/cjs/chunk-LA4I4YJP.cjs.map +1 -0
  249. package/dist/cjs/chunk-LAP73JLI.cjs +44 -0
  250. package/dist/cjs/chunk-LAP73JLI.cjs.map +1 -0
  251. package/dist/cjs/chunk-LEKVRPCD.cjs +17 -0
  252. package/dist/cjs/chunk-LEKVRPCD.cjs.map +1 -0
  253. package/dist/cjs/chunk-LELMEP2N.cjs +62 -0
  254. package/dist/cjs/chunk-LELMEP2N.cjs.map +1 -0
  255. package/dist/cjs/chunk-LJHLSUOF.cjs +380 -0
  256. package/dist/cjs/chunk-LJHLSUOF.cjs.map +1 -0
  257. package/dist/cjs/chunk-LXF6DPMZ.cjs +18 -0
  258. package/dist/cjs/chunk-LXF6DPMZ.cjs.map +1 -0
  259. package/dist/cjs/chunk-LZTJXEKR.cjs +18 -0
  260. package/dist/cjs/chunk-LZTJXEKR.cjs.map +1 -0
  261. package/dist/cjs/chunk-M2DGQ7QX.cjs +44 -0
  262. package/dist/cjs/chunk-M2DGQ7QX.cjs.map +1 -0
  263. package/dist/cjs/chunk-M3CUZHXK.cjs +17 -0
  264. package/dist/cjs/chunk-M3CUZHXK.cjs.map +1 -0
  265. package/dist/cjs/chunk-M4D7C6DB.cjs +102 -0
  266. package/dist/cjs/chunk-M4D7C6DB.cjs.map +1 -0
  267. package/dist/cjs/chunk-M4OGWYDK.cjs +38 -0
  268. package/dist/cjs/chunk-M4OGWYDK.cjs.map +1 -0
  269. package/dist/cjs/chunk-MB5CQJVB.cjs +17 -0
  270. package/dist/cjs/chunk-MB5CQJVB.cjs.map +1 -0
  271. package/dist/cjs/chunk-MCUQGSE6.cjs +17 -0
  272. package/dist/cjs/chunk-MCUQGSE6.cjs.map +1 -0
  273. package/dist/cjs/chunk-MDOCHMXP.cjs +104 -0
  274. package/dist/cjs/chunk-MDOCHMXP.cjs.map +1 -0
  275. package/dist/cjs/chunk-MEC7VCG7.cjs +17 -0
  276. package/dist/cjs/chunk-MEC7VCG7.cjs.map +1 -0
  277. package/dist/cjs/chunk-MFIYQ7L7.cjs +18 -0
  278. package/dist/cjs/chunk-MFIYQ7L7.cjs.map +1 -0
  279. package/dist/cjs/chunk-MOWHV2S7.cjs +17 -0
  280. package/dist/cjs/chunk-MOWHV2S7.cjs.map +1 -0
  281. package/dist/cjs/chunk-MQHK4U3Y.cjs +17 -0
  282. package/dist/cjs/chunk-MQHK4U3Y.cjs.map +1 -0
  283. package/dist/cjs/chunk-MSCVK25Y.cjs +38 -0
  284. package/dist/cjs/chunk-MSCVK25Y.cjs.map +1 -0
  285. package/dist/cjs/chunk-MX55J2DF.cjs +18 -0
  286. package/dist/cjs/chunk-MX55J2DF.cjs.map +1 -0
  287. package/dist/cjs/chunk-MX7PQPGC.cjs +17 -0
  288. package/dist/cjs/chunk-MX7PQPGC.cjs.map +1 -0
  289. package/dist/cjs/chunk-N2B6FO57.cjs +102 -0
  290. package/dist/cjs/chunk-N2B6FO57.cjs.map +1 -0
  291. package/dist/cjs/chunk-N6ZSAUZ3.cjs +18 -0
  292. package/dist/cjs/chunk-N6ZSAUZ3.cjs.map +1 -0
  293. package/dist/cjs/chunk-N72OTA4I.cjs +370 -0
  294. package/dist/cjs/chunk-N72OTA4I.cjs.map +1 -0
  295. package/dist/cjs/chunk-N7KD2GNO.cjs +74 -0
  296. package/dist/cjs/chunk-N7KD2GNO.cjs.map +1 -0
  297. package/dist/cjs/chunk-NA4ZT3HV.cjs +62 -0
  298. package/dist/cjs/chunk-NA4ZT3HV.cjs.map +1 -0
  299. package/dist/cjs/chunk-NEEJAHSQ.cjs +62 -0
  300. package/dist/cjs/chunk-NEEJAHSQ.cjs.map +1 -0
  301. package/dist/cjs/chunk-NIQCUG4E.cjs +29 -0
  302. package/dist/cjs/chunk-NIQCUG4E.cjs.map +1 -0
  303. package/dist/cjs/chunk-NJ5QXVQJ.cjs +44 -0
  304. package/dist/cjs/chunk-NJ5QXVQJ.cjs.map +1 -0
  305. package/dist/cjs/chunk-NP4SFRFA.cjs +89 -0
  306. package/dist/cjs/chunk-NP4SFRFA.cjs.map +1 -0
  307. package/dist/cjs/chunk-NPXXPQSE.cjs +365 -0
  308. package/dist/cjs/chunk-NPXXPQSE.cjs.map +1 -0
  309. package/dist/cjs/chunk-NS2JLHJT.cjs +74 -0
  310. package/dist/cjs/chunk-NS2JLHJT.cjs.map +1 -0
  311. package/dist/cjs/chunk-NVSMOJGT.cjs +62 -0
  312. package/dist/cjs/chunk-NVSMOJGT.cjs.map +1 -0
  313. package/dist/cjs/chunk-O4ZZQHPE.cjs +38 -0
  314. package/dist/cjs/chunk-O4ZZQHPE.cjs.map +1 -0
  315. package/dist/cjs/chunk-O5MRER66.cjs +17 -0
  316. package/dist/cjs/chunk-O5MRER66.cjs.map +1 -0
  317. package/dist/cjs/chunk-O6OK2EVK.cjs +17 -0
  318. package/dist/cjs/chunk-O6OK2EVK.cjs.map +1 -0
  319. package/dist/cjs/chunk-O74ELIH5.cjs +29 -0
  320. package/dist/cjs/chunk-O74ELIH5.cjs.map +1 -0
  321. package/dist/cjs/chunk-ODHY4GHT.cjs +370 -0
  322. package/dist/cjs/chunk-ODHY4GHT.cjs.map +1 -0
  323. package/dist/cjs/chunk-OFBOKA5A.cjs +29 -0
  324. package/dist/cjs/chunk-OFBOKA5A.cjs.map +1 -0
  325. package/dist/cjs/chunk-OIAXS4VW.cjs +102 -0
  326. package/dist/cjs/chunk-OIAXS4VW.cjs.map +1 -0
  327. package/dist/cjs/chunk-OMY7LONN.cjs +29 -0
  328. package/dist/cjs/chunk-OMY7LONN.cjs.map +1 -0
  329. package/dist/cjs/chunk-OQYQI4QE.cjs +38 -0
  330. package/dist/cjs/chunk-OQYQI4QE.cjs.map +1 -0
  331. package/dist/cjs/chunk-OT3G2M4T.cjs +62 -0
  332. package/dist/cjs/chunk-OT3G2M4T.cjs.map +1 -0
  333. package/dist/cjs/chunk-OV2ETBUH.cjs +17 -0
  334. package/dist/cjs/chunk-OV2ETBUH.cjs.map +1 -0
  335. package/dist/cjs/chunk-OVZM5MW5.cjs +104 -0
  336. package/dist/cjs/chunk-OVZM5MW5.cjs.map +1 -0
  337. package/dist/cjs/chunk-P372UHX4.cjs +44 -0
  338. package/dist/cjs/chunk-P372UHX4.cjs.map +1 -0
  339. package/dist/cjs/chunk-PBJXG5DW.cjs +17 -0
  340. package/dist/cjs/chunk-PBJXG5DW.cjs.map +1 -0
  341. package/dist/cjs/chunk-PHP4JLKW.cjs +74 -0
  342. package/dist/cjs/chunk-PHP4JLKW.cjs.map +1 -0
  343. package/dist/cjs/chunk-PMZGD7XK.cjs +38 -0
  344. package/dist/cjs/chunk-PMZGD7XK.cjs.map +1 -0
  345. package/dist/cjs/chunk-PNTTYYS2.cjs +74 -0
  346. package/dist/cjs/chunk-PNTTYYS2.cjs.map +1 -0
  347. package/dist/cjs/chunk-PQU3HXMN.cjs +62 -0
  348. package/dist/cjs/chunk-PQU3HXMN.cjs.map +1 -0
  349. package/dist/cjs/chunk-Q2ZSWGAQ.cjs +38 -0
  350. package/dist/cjs/chunk-Q2ZSWGAQ.cjs.map +1 -0
  351. package/dist/cjs/chunk-QARKHN7U.cjs +44 -0
  352. package/dist/cjs/chunk-QARKHN7U.cjs.map +1 -0
  353. package/dist/cjs/chunk-QCF7NFHD.cjs +38 -0
  354. package/dist/cjs/chunk-QCF7NFHD.cjs.map +1 -0
  355. package/dist/cjs/chunk-QCSBR7VS.cjs +74 -0
  356. package/dist/cjs/chunk-QCSBR7VS.cjs.map +1 -0
  357. package/dist/cjs/chunk-QDIHXLIV.cjs +17 -0
  358. package/dist/cjs/chunk-QDIHXLIV.cjs.map +1 -0
  359. package/dist/cjs/chunk-QKFZZH34.cjs +44 -0
  360. package/dist/cjs/chunk-QKFZZH34.cjs.map +1 -0
  361. package/dist/cjs/chunk-QLIFCVLY.cjs +29 -0
  362. package/dist/cjs/chunk-QLIFCVLY.cjs.map +1 -0
  363. package/dist/cjs/chunk-QQ62IQMW.cjs +18 -0
  364. package/dist/cjs/chunk-QQ62IQMW.cjs.map +1 -0
  365. package/dist/cjs/chunk-QV4OBND6.cjs +102 -0
  366. package/dist/cjs/chunk-QV4OBND6.cjs.map +1 -0
  367. package/dist/cjs/chunk-QZOLA7HB.cjs +62 -0
  368. package/dist/cjs/chunk-QZOLA7HB.cjs.map +1 -0
  369. package/dist/cjs/chunk-R2I76GP3.cjs +17 -0
  370. package/dist/cjs/chunk-R2I76GP3.cjs.map +1 -0
  371. package/dist/cjs/chunk-RBLUTSOP.cjs +29 -0
  372. package/dist/cjs/chunk-RBLUTSOP.cjs.map +1 -0
  373. package/dist/cjs/chunk-RLQA7BOD.cjs +29 -0
  374. package/dist/cjs/chunk-RLQA7BOD.cjs.map +1 -0
  375. package/dist/cjs/chunk-RMDFLURK.cjs +17 -0
  376. package/dist/cjs/chunk-RMDFLURK.cjs.map +1 -0
  377. package/dist/cjs/chunk-RTCFFWKZ.cjs +44 -0
  378. package/dist/cjs/chunk-RTCFFWKZ.cjs.map +1 -0
  379. package/dist/cjs/chunk-RVY2B3IJ.cjs +74 -0
  380. package/dist/cjs/chunk-RVY2B3IJ.cjs.map +1 -0
  381. package/dist/cjs/chunk-RWNTLD54.cjs +44 -0
  382. package/dist/cjs/chunk-RWNTLD54.cjs.map +1 -0
  383. package/dist/cjs/chunk-RYLBWVA2.cjs +44 -0
  384. package/dist/cjs/chunk-RYLBWVA2.cjs.map +1 -0
  385. package/dist/cjs/chunk-S23YAZ2A.cjs +17 -0
  386. package/dist/cjs/chunk-S23YAZ2A.cjs.map +1 -0
  387. package/dist/cjs/chunk-S5IX4I76.cjs +18 -0
  388. package/dist/cjs/chunk-S5IX4I76.cjs.map +1 -0
  389. package/dist/cjs/chunk-S7HZAG7P.cjs +44 -0
  390. package/dist/cjs/chunk-S7HZAG7P.cjs.map +1 -0
  391. package/dist/cjs/chunk-SARGPS4K.cjs +38 -0
  392. package/dist/cjs/chunk-SARGPS4K.cjs.map +1 -0
  393. package/dist/cjs/chunk-SCSQ4WIR.cjs +29 -0
  394. package/dist/cjs/chunk-SCSQ4WIR.cjs.map +1 -0
  395. package/dist/cjs/chunk-SIIH3B74.cjs +44 -0
  396. package/dist/cjs/chunk-SIIH3B74.cjs.map +1 -0
  397. package/dist/cjs/chunk-SJUVCDGT.cjs +44 -0
  398. package/dist/cjs/chunk-SJUVCDGT.cjs.map +1 -0
  399. package/dist/cjs/chunk-SPRRITQ6.cjs +18 -0
  400. package/dist/cjs/chunk-SPRRITQ6.cjs.map +1 -0
  401. package/dist/cjs/chunk-STMDJQSN.cjs +38 -0
  402. package/dist/cjs/chunk-STMDJQSN.cjs.map +1 -0
  403. package/dist/cjs/chunk-SUW6IR4Y.cjs +17 -0
  404. package/dist/cjs/chunk-SUW6IR4Y.cjs.map +1 -0
  405. package/dist/cjs/chunk-TBD4USX4.cjs +18 -0
  406. package/dist/cjs/chunk-TBD4USX4.cjs.map +1 -0
  407. package/dist/cjs/chunk-TDL3BNSA.cjs +29 -0
  408. package/dist/cjs/chunk-TDL3BNSA.cjs.map +1 -0
  409. package/dist/cjs/chunk-TH2AA3PL.cjs +44 -0
  410. package/dist/cjs/chunk-TH2AA3PL.cjs.map +1 -0
  411. package/dist/cjs/chunk-TIBS5S3Y.cjs +62 -0
  412. package/dist/cjs/chunk-TIBS5S3Y.cjs.map +1 -0
  413. package/dist/cjs/chunk-TN74JTFG.cjs +38 -0
  414. package/dist/cjs/chunk-TN74JTFG.cjs.map +1 -0
  415. package/dist/cjs/chunk-TODURJXP.cjs +102 -0
  416. package/dist/cjs/chunk-TODURJXP.cjs.map +1 -0
  417. package/dist/cjs/chunk-TOGHOWFK.cjs +17 -0
  418. package/dist/cjs/chunk-TOGHOWFK.cjs.map +1 -0
  419. package/dist/cjs/chunk-TVEQALKF.cjs +17 -0
  420. package/dist/cjs/chunk-TVEQALKF.cjs.map +1 -0
  421. package/dist/cjs/chunk-U2JRVN7R.cjs +370 -0
  422. package/dist/cjs/chunk-U2JRVN7R.cjs.map +1 -0
  423. package/dist/cjs/chunk-UBCZAONE.cjs +44 -0
  424. package/dist/cjs/chunk-UBCZAONE.cjs.map +1 -0
  425. package/dist/cjs/chunk-UCFV46IM.cjs +17 -0
  426. package/dist/cjs/chunk-UCFV46IM.cjs.map +1 -0
  427. package/dist/cjs/chunk-UJX2NDRW.cjs +62 -0
  428. package/dist/cjs/chunk-UJX2NDRW.cjs.map +1 -0
  429. package/dist/cjs/chunk-UM5H2LX6.cjs +29 -0
  430. package/dist/cjs/chunk-UM5H2LX6.cjs.map +1 -0
  431. package/dist/cjs/chunk-UOZWD2YW.cjs +17 -0
  432. package/dist/cjs/chunk-UOZWD2YW.cjs.map +1 -0
  433. package/dist/cjs/chunk-UPGOCNCN.cjs +38 -0
  434. package/dist/cjs/chunk-UPGOCNCN.cjs.map +1 -0
  435. package/dist/cjs/chunk-UPX2SP2I.cjs +17 -0
  436. package/dist/cjs/chunk-UPX2SP2I.cjs.map +1 -0
  437. package/dist/cjs/chunk-UYHDOAWE.cjs +45 -0
  438. package/dist/cjs/chunk-UYHDOAWE.cjs.map +1 -0
  439. package/dist/cjs/chunk-V3EXMOOM.cjs +17 -0
  440. package/dist/cjs/chunk-V3EXMOOM.cjs.map +1 -0
  441. package/dist/cjs/chunk-V3LAWFTJ.cjs +44 -0
  442. package/dist/cjs/chunk-V3LAWFTJ.cjs.map +1 -0
  443. package/dist/cjs/chunk-V55C3YXY.cjs +93 -0
  444. package/dist/cjs/chunk-V55C3YXY.cjs.map +1 -0
  445. package/dist/cjs/chunk-V5W2CO26.cjs +74 -0
  446. package/dist/cjs/chunk-V5W2CO26.cjs.map +1 -0
  447. package/dist/cjs/chunk-VHNSHNUE.cjs +17 -0
  448. package/dist/cjs/chunk-VHNSHNUE.cjs.map +1 -0
  449. package/dist/cjs/chunk-VI33IBMZ.cjs +38 -0
  450. package/dist/cjs/chunk-VI33IBMZ.cjs.map +1 -0
  451. package/dist/cjs/chunk-VJ2UNXVA.cjs +102 -0
  452. package/dist/cjs/chunk-VJ2UNXVA.cjs.map +1 -0
  453. package/dist/cjs/chunk-VKN5V4HW.cjs +29 -0
  454. package/dist/cjs/chunk-VKN5V4HW.cjs.map +1 -0
  455. package/dist/cjs/chunk-VKOMCYNG.cjs +44 -0
  456. package/dist/cjs/chunk-VKOMCYNG.cjs.map +1 -0
  457. package/dist/cjs/chunk-VKRY4N4K.cjs +102 -0
  458. package/dist/cjs/chunk-VKRY4N4K.cjs.map +1 -0
  459. package/dist/cjs/chunk-VWPFDN24.cjs +17 -0
  460. package/dist/cjs/chunk-VWPFDN24.cjs.map +1 -0
  461. package/dist/cjs/chunk-VYP75YVY.cjs +44 -0
  462. package/dist/cjs/chunk-VYP75YVY.cjs.map +1 -0
  463. package/dist/cjs/chunk-WGXAPEYL.cjs +43 -0
  464. package/dist/cjs/chunk-WGXAPEYL.cjs.map +1 -0
  465. package/dist/cjs/chunk-WRDN564P.cjs +17 -0
  466. package/dist/cjs/chunk-WRDN564P.cjs.map +1 -0
  467. package/dist/cjs/chunk-WSXNCOQE.cjs +45 -0
  468. package/dist/cjs/chunk-WSXNCOQE.cjs.map +1 -0
  469. package/dist/cjs/chunk-WWQKY5TS.cjs +17 -0
  470. package/dist/cjs/chunk-WWQKY5TS.cjs.map +1 -0
  471. package/dist/cjs/chunk-WXJFDXON.cjs +18 -0
  472. package/dist/cjs/chunk-WXJFDXON.cjs.map +1 -0
  473. package/dist/cjs/chunk-WY6RWWLB.cjs +74 -0
  474. package/dist/cjs/chunk-WY6RWWLB.cjs.map +1 -0
  475. package/dist/cjs/chunk-X2FU2SYL.cjs +102 -0
  476. package/dist/cjs/chunk-X2FU2SYL.cjs.map +1 -0
  477. package/dist/cjs/chunk-X2I552UN.cjs +45 -0
  478. package/dist/cjs/chunk-X2I552UN.cjs.map +1 -0
  479. package/dist/cjs/chunk-X4FCE7FX.cjs +102 -0
  480. package/dist/cjs/chunk-X4FCE7FX.cjs.map +1 -0
  481. package/dist/cjs/chunk-XFTYFPPQ.cjs +74 -0
  482. package/dist/cjs/chunk-XFTYFPPQ.cjs.map +1 -0
  483. package/dist/cjs/chunk-XHO5XBCL.cjs +38 -0
  484. package/dist/cjs/chunk-XHO5XBCL.cjs.map +1 -0
  485. package/dist/cjs/chunk-XMTL7XJM.cjs +29 -0
  486. package/dist/cjs/chunk-XMTL7XJM.cjs.map +1 -0
  487. package/dist/cjs/chunk-XT3M6AST.cjs +38 -0
  488. package/dist/cjs/chunk-XT3M6AST.cjs.map +1 -0
  489. package/dist/cjs/chunk-YBGRWX47.cjs +74 -0
  490. package/dist/cjs/chunk-YBGRWX47.cjs.map +1 -0
  491. package/dist/cjs/chunk-YEV45OIB.cjs +102 -0
  492. package/dist/cjs/chunk-YEV45OIB.cjs.map +1 -0
  493. package/dist/cjs/chunk-YGVY4J7P.cjs +44 -0
  494. package/dist/cjs/chunk-YGVY4J7P.cjs.map +1 -0
  495. package/dist/cjs/chunk-YKBMV6JE.cjs +17 -0
  496. package/dist/cjs/chunk-YKBMV6JE.cjs.map +1 -0
  497. package/dist/cjs/chunk-YTGWHXGT.cjs +89 -0
  498. package/dist/cjs/chunk-YTGWHXGT.cjs.map +1 -0
  499. package/dist/cjs/chunk-YVH6JZA6.cjs +38 -0
  500. package/dist/cjs/chunk-YVH6JZA6.cjs.map +1 -0
  501. package/dist/cjs/chunk-Z6J5E6F6.cjs +44 -0
  502. package/dist/cjs/chunk-Z6J5E6F6.cjs.map +1 -0
  503. package/dist/cjs/chunk-Z7PEFAW2.cjs +44 -0
  504. package/dist/cjs/chunk-Z7PEFAW2.cjs.map +1 -0
  505. package/dist/cjs/chunk-ZAGPIIAP.cjs +74 -0
  506. package/dist/cjs/chunk-ZAGPIIAP.cjs.map +1 -0
  507. package/dist/cjs/chunk-ZCHV6ZID.cjs +44 -0
  508. package/dist/cjs/chunk-ZCHV6ZID.cjs.map +1 -0
  509. package/dist/cjs/chunk-ZCLEF7PU.cjs +62 -0
  510. package/dist/cjs/chunk-ZCLEF7PU.cjs.map +1 -0
  511. package/dist/cjs/chunk-ZCOFDCBI.cjs +49 -0
  512. package/dist/cjs/chunk-ZCOFDCBI.cjs.map +1 -0
  513. package/dist/cjs/chunk-ZNPKRMPN.cjs +17 -0
  514. package/dist/cjs/chunk-ZNPKRMPN.cjs.map +1 -0
  515. package/dist/cjs/chunk-ZUQ3VLAN.cjs +17 -0
  516. package/dist/cjs/chunk-ZUQ3VLAN.cjs.map +1 -0
  517. package/dist/cjs/chunk-ZVKZ5PTK.cjs +74 -0
  518. package/dist/cjs/chunk-ZVKZ5PTK.cjs.map +1 -0
  519. package/dist/cjs/container/controllers.cjs +6 -6
  520. package/dist/cjs/container/index.cjs +19 -16
  521. package/dist/cjs/container/index.cjs.map +1 -1
  522. package/dist/cjs/container/services.cjs +12 -9
  523. package/dist/cjs/container/services.cjs.map +1 -1
  524. package/dist/cjs/controllers/api/threads.api.controller.cjs +2 -2
  525. package/dist/cjs/controllers/index.cjs +6 -6
  526. package/dist/cjs/controllers/index.cjs.map +1 -1
  527. package/dist/cjs/controllers/query.controller.cjs +1 -1
  528. package/dist/cjs/index.cjs +38 -35
  529. package/dist/cjs/index.cjs.map +1 -1
  530. package/dist/cjs/modules/a2a/a2a.module.cjs +1 -1
  531. package/dist/cjs/modules/index.cjs +8 -8
  532. package/dist/cjs/modules/index.cjs.map +1 -1
  533. package/dist/cjs/routes/a2a.routes.cjs +22 -19
  534. package/dist/cjs/routes/a2a.routes.cjs.map +1 -1
  535. package/dist/cjs/routes/api/agent.routes.cjs +20 -17
  536. package/dist/cjs/routes/api/agent.routes.cjs.map +1 -1
  537. package/dist/cjs/routes/api/intent.routes.cjs +20 -17
  538. package/dist/cjs/routes/api/intent.routes.cjs.map +1 -1
  539. package/dist/cjs/routes/api/model.routes.cjs +20 -17
  540. package/dist/cjs/routes/api/model.routes.cjs.map +1 -1
  541. package/dist/cjs/routes/api/threads.routes.cjs +20 -17
  542. package/dist/cjs/routes/api/threads.routes.cjs.map +1 -1
  543. package/dist/cjs/routes/api/workflow.routes.cjs +20 -17
  544. package/dist/cjs/routes/api/workflow.routes.cjs.map +1 -1
  545. package/dist/cjs/routes/api.routes.cjs +25 -22
  546. package/dist/cjs/routes/api.routes.cjs.map +1 -1
  547. package/dist/cjs/routes/index.cjs +29 -26
  548. package/dist/cjs/routes/index.cjs.map +1 -1
  549. package/dist/cjs/routes/intent.routes.cjs +20 -17
  550. package/dist/cjs/routes/intent.routes.cjs.map +1 -1
  551. package/dist/cjs/routes/query.routes.cjs +20 -17
  552. package/dist/cjs/routes/query.routes.cjs.map +1 -1
  553. package/dist/cjs/services/index.cjs +11 -8
  554. package/dist/cjs/services/index.cjs.map +1 -1
  555. package/dist/cjs/services/intents/fulfill.service.cjs +7 -4
  556. package/dist/cjs/services/intents/fulfill.service.cjs.map +1 -1
  557. package/dist/cjs/services/pii.service.cjs +12 -0
  558. package/dist/cjs/services/pii.service.cjs.map +1 -0
  559. package/dist/cjs/services/prompts/pii-detect.cjs +7 -0
  560. package/dist/cjs/services/prompts/pii-detect.cjs.map +1 -0
  561. package/dist/cjs/services/prompts/pii-filter.cjs +7 -0
  562. package/dist/cjs/services/prompts/pii-filter.cjs.map +1 -0
  563. package/dist/cjs/services/query.service.cjs +6 -3
  564. package/dist/cjs/services/query.service.cjs.map +1 -1
  565. package/dist/cjs/types/memory.cjs +2 -2
  566. package/dist/esm/chunk-4D6KMRWQ.js +28 -0
  567. package/dist/esm/chunk-4D6KMRWQ.js.map +1 -0
  568. package/dist/esm/{chunk-XSDHB2WQ.js → chunk-6FS7XHK7.js} +2 -2
  569. package/dist/esm/{chunk-OCULYA2R.js → chunk-AR52KXK6.js} +2 -2
  570. package/dist/esm/{chunk-VX3VWWYW.js → chunk-B4LJ37RT.js} +1 -1
  571. package/dist/esm/chunk-B4LJ37RT.js.map +1 -0
  572. package/dist/esm/{chunk-IQ3BAWVV.js → chunk-BGFMLLIL.js} +2 -2
  573. package/dist/esm/{chunk-MJMNQNQL.js → chunk-EMWM4GHN.js} +7 -2
  574. package/dist/esm/{chunk-MJMNQNQL.js.map → chunk-EMWM4GHN.js.map} +1 -1
  575. package/dist/esm/{chunk-OV5MNKPH.js → chunk-HJCYTYMX.js} +2 -2
  576. package/dist/esm/chunk-IYLPCNEK.js +74 -0
  577. package/dist/esm/chunk-IYLPCNEK.js.map +1 -0
  578. package/dist/esm/{chunk-2RLUCOJF.js → chunk-KG4IXLN2.js} +21 -6
  579. package/dist/esm/chunk-KG4IXLN2.js.map +1 -0
  580. package/dist/esm/{chunk-ZVYC5Y6Z.js → chunk-OV42UAQO.js} +13 -1
  581. package/dist/esm/chunk-OV42UAQO.js.map +1 -0
  582. package/dist/esm/chunk-OV4TR542.js +28 -0
  583. package/dist/esm/chunk-OV4TR542.js.map +1 -0
  584. package/dist/esm/{chunk-BQO572DY.js → chunk-QANI35F3.js} +8 -8
  585. package/dist/esm/{chunk-TIIWZOBY.js → chunk-R2YDRUPU.js} +5 -5
  586. package/dist/esm/{chunk-RDXHEDJT.js → chunk-RX5UC4AB.js} +2 -2
  587. package/dist/esm/{chunk-GKG27ZGB.js → chunk-T64WNH5C.js} +9 -9
  588. package/dist/esm/{chunk-M7YQE7I2.js → chunk-TMJS7ZJH.js} +3 -3
  589. package/dist/esm/{chunk-GT74YHJR.js → chunk-UNNTYZYK.js} +2 -2
  590. package/dist/esm/{chunk-NHYC66BI.js → chunk-WMORIZRM.js} +24 -11
  591. package/dist/esm/chunk-WMORIZRM.js.map +1 -0
  592. package/dist/esm/{chunk-C6GUUAED.js → chunk-YIU65RCX.js} +19 -3
  593. package/dist/esm/chunk-YIU65RCX.js.map +1 -0
  594. package/dist/esm/container/controllers.d.ts +1 -0
  595. package/dist/esm/container/controllers.js +5 -5
  596. package/dist/esm/container/index.d.ts +1 -0
  597. package/dist/esm/container/index.js +21 -18
  598. package/dist/esm/container/services.d.ts +3 -0
  599. package/dist/esm/container/services.js +14 -11
  600. package/dist/esm/controllers/a2a.controller.d.ts +1 -0
  601. package/dist/esm/controllers/api/threads.api.controller.d.ts +1 -0
  602. package/dist/esm/controllers/api/threads.api.controller.js +1 -1
  603. package/dist/esm/controllers/index.d.ts +1 -0
  604. package/dist/esm/controllers/index.js +5 -5
  605. package/dist/esm/controllers/query.controller.d.ts +1 -0
  606. package/dist/esm/controllers/query.controller.js +1 -1
  607. package/dist/esm/index.js +37 -34
  608. package/dist/esm/index.js.map +1 -1
  609. package/dist/esm/modules/a2a/a2a.module.js +1 -1
  610. package/dist/esm/modules/index.js +7 -7
  611. package/dist/esm/modules/memory/base.memory.d.ts +3 -0
  612. package/dist/esm/routes/a2a.routes.js +24 -21
  613. package/dist/esm/routes/api/agent.routes.js +22 -19
  614. package/dist/esm/routes/api/intent.routes.js +22 -19
  615. package/dist/esm/routes/api/model.routes.js +22 -19
  616. package/dist/esm/routes/api/threads.routes.js +22 -19
  617. package/dist/esm/routes/api/workflow.routes.js +22 -19
  618. package/dist/esm/routes/api.routes.js +27 -24
  619. package/dist/esm/routes/index.js +31 -28
  620. package/dist/esm/routes/intent.routes.js +22 -19
  621. package/dist/esm/routes/query.routes.js +22 -19
  622. package/dist/esm/services/a2a.service.d.ts +1 -0
  623. package/dist/esm/services/index.d.ts +1 -0
  624. package/dist/esm/services/index.js +13 -10
  625. package/dist/esm/services/intents/fulfill.service.d.ts +3 -1
  626. package/dist/esm/services/intents/fulfill.service.js +6 -3
  627. package/dist/esm/services/intents/trigger.service.js +1 -1
  628. package/dist/esm/services/pii.service.d.ts +24 -0
  629. package/dist/esm/services/pii.service.js +12 -0
  630. package/dist/esm/services/pii.service.js.map +1 -0
  631. package/dist/esm/services/prompts/pii-detect.d.ts +7 -0
  632. package/dist/esm/services/prompts/pii-detect.js +7 -0
  633. package/dist/esm/services/prompts/pii-detect.js.map +1 -0
  634. package/dist/esm/services/prompts/pii-filter.d.ts +7 -0
  635. package/dist/esm/services/prompts/pii-filter.js +7 -0
  636. package/dist/esm/services/prompts/pii-filter.js.map +1 -0
  637. package/dist/esm/services/query.service.d.ts +3 -1
  638. package/dist/esm/services/query.service.js +5 -2
  639. package/dist/esm/types/memory.d.ts +11 -1
  640. package/dist/esm/types/memory.js +1 -1
  641. package/package.json +1 -1
  642. package/dist/esm/chunk-2RLUCOJF.js.map +0 -1
  643. package/dist/esm/chunk-C6GUUAED.js.map +0 -1
  644. package/dist/esm/chunk-VX3VWWYW.js.map +0 -1
  645. package/dist/esm/chunk-ZVYC5Y6Z.js.map +0 -1
  646. /package/dist/esm/{chunk-XSDHB2WQ.js.map → chunk-6FS7XHK7.js.map} +0 -0
  647. /package/dist/esm/{chunk-OCULYA2R.js.map → chunk-AR52KXK6.js.map} +0 -0
  648. /package/dist/esm/{chunk-IQ3BAWVV.js.map → chunk-BGFMLLIL.js.map} +0 -0
  649. /package/dist/esm/{chunk-OV5MNKPH.js.map → chunk-HJCYTYMX.js.map} +0 -0
  650. /package/dist/esm/{chunk-BQO572DY.js.map → chunk-QANI35F3.js.map} +0 -0
  651. /package/dist/esm/{chunk-TIIWZOBY.js.map → chunk-R2YDRUPU.js.map} +0 -0
  652. /package/dist/esm/{chunk-RDXHEDJT.js.map → chunk-RX5UC4AB.js.map} +0 -0
  653. /package/dist/esm/{chunk-GKG27ZGB.js.map → chunk-T64WNH5C.js.map} +0 -0
  654. /package/dist/esm/{chunk-M7YQE7I2.js.map → chunk-TMJS7ZJH.js.map} +0 -0
  655. /package/dist/esm/{chunk-GT74YHJR.js.map → chunk-UNNTYZYK.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/intents/fulfill.service.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { getManifest } from \"@/config/manifest\";\nimport type {\n\tA2AModule,\n\tMCPModule,\n\tMemoryModule,\n\tModelModule,\n} from \"@/modules\";\nimport type { OnIntentFallback } from \"@/types/agent\";\nimport { CONNECTOR_PROTOCOL_TYPE, type ConnectorTool } from \"@/types/connector\";\nimport {\n\ttype FulfillmentResult,\n\ttype Intent,\n\ttype MessageObject,\n\tMessageRole,\n\ttype ThreadObject,\n\ttype TriggeredIntent,\n} from \"@/types/memory\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger\";\nimport { PIIFilterMode, type PIIService } from \"../pii.service\";\nimport fulfillPrompt from \"../prompts/fulfill\";\nimport toolSelectPrompt from \"../prompts/tool-select\";\nimport { AggregateService } from \"./aggregate.service\";\n\nexport class IntentFulfillService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\tprivate a2aModule?: A2AModule;\n\tprivate mcpModule?: MCPModule;\n\tprivate onIntentFallback?: OnIntentFallback;\n\tprivate aggregateService: AggregateService;\n\tprivate piiService?: PIIService;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\tmemoryModule: MemoryModule,\n\t\ta2aModule?: A2AModule,\n\t\tmcpModule?: MCPModule,\n\t\tonIntentFallback?: OnIntentFallback,\n\t\tpiiService?: PIIService,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.a2aModule = a2aModule;\n\t\tthis.mcpModule = mcpModule;\n\t\tthis.onIntentFallback = onIntentFallback;\n\t\tthis.aggregateService = new AggregateService(modelModule, memoryModule);\n\t\tthis.piiService = piiService;\n\t}\n\n\tprivate async addToThreadMessages(\n\t\tthread: ThreadObject,\n\t\tparams: {\n\t\t\trole: MessageRole;\n\t\t\tcontent: string;\n\t\t\tmetadata?: Record<string, unknown>;\n\t\t},\n\t) {\n\t\ttry {\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tconst { userId, threadId } = thread;\n\t\t\tconst newMessage: MessageObject = {\n\t\t\t\tmessageId: randomUUID(),\n\t\t\t\trole: params.role,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\tcontent: { type: \"text\", parts: [params.content] },\n\t\t\t\tmetadata: params.metadata,\n\t\t\t};\n\t\t\tthread.messages.push(newMessage);\n\t\t\tawait threadMemory?.addMessagesToThread(userId, threadId, [newMessage]);\n\t\t} catch (error) {\n\t\t\tloggers.intentStream.error(\"Error adding message to thread\", error);\n\t\t}\n\t}\n\n\t/**\n\t * Fulfills the detected intent by generating a streaming response.\n\t *\n\t * Manages the complete inference loop including:\n\t * - Loading prompts and conversation history\n\t * - Collecting available tools from modules\n\t * - Executing model inference with tool support\n\t * - Processing tool calls iteratively until completion\n\t * - Streaming results as Server-Sent Events\n\t *\n\t * @param query - The user's input query\n\t * @param threadId - Thread identifier for context\n\t * @param thread - Previous conversation history\n\t * @param intent - Optional detected intent with custom prompt\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tprivate async *intentFulfilling(\n\t\tquery: string,\n\t\tthread: ThreadObject,\n\t\tintent?: Intent,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst prompt = await fulfillPrompt(this.memoryModule, intent);\n\n\t\tconst modelInstance = this.modelModule.getModel();\n\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\tconst messages = modelInstance.generateMessages({\n\t\t\tquery,\n\t\t\tthread,\n\t\t\tsystemPrompt: prompt.trim(),\n\t\t});\n\n\t\tloggers.intent.debug(\"Intent fulfillment start\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tmessages,\n\t\t});\n\n\t\tconst tools: ConnectorTool[] = [];\n\t\tconst toolPrompt = await toolSelectPrompt(this.memoryModule);\n\t\tthis.mcpModule && tools.push(...this.mcpModule.getTools(toolPrompt));\n\t\tthis.a2aModule &&\n\t\t\ttools.push(...(await this.a2aModule.getTools(toolPrompt)));\n\n\t\tconst processList: string[] = [];\n\n\t\twhile (true) {\n\t\t\tconst functions = modelInstance.convertToolsToFunctions(tools);\n\t\t\tconst responseStream = await modelInstance.fetchStreamWithContextMessage(\n\t\t\t\tmessages,\n\t\t\t\tfunctions,\n\t\t\t\tmodelOptions,\n\t\t\t);\n\n\t\t\tconst assembledToolCalls: {\n\t\t\t\tid: string;\n\t\t\t\ttype: \"function\";\n\t\t\t\tfunction: { name: string; arguments: string };\n\t\t\t}[] = [];\n\n\t\t\tfor await (const chunk of responseStream) {\n\t\t\t\tconst delta = chunk.delta;\n\t\t\t\tif (delta?.tool_calls) {\n\t\t\t\t\tfor (const { index, id, function: func } of delta.tool_calls) {\n\t\t\t\t\t\tassembledToolCalls[index] ??= {\n\t\t\t\t\t\t\tid: \"\",\n\t\t\t\t\t\t\ttype: \"function\",\n\t\t\t\t\t\t\tfunction: { name: \"\", arguments: \"\" },\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (id) assembledToolCalls[index].id = id;\n\t\t\t\t\t\tif (func?.name) assembledToolCalls[index].function.name = func.name;\n\t\t\t\t\t\tif (func?.arguments)\n\t\t\t\t\t\t\tassembledToolCalls[index].function.arguments += func.arguments;\n\t\t\t\t\t}\n\t\t\t\t} else if (chunk.delta?.content) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\t\tdata: { delta: chunk.delta.content },\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tloggers.intentStream.debug(\"assembledToolCalls\", {\n\t\t\t\tthreadId: thread.threadId,\n\t\t\t\tassembledToolCalls,\n\t\t\t});\n\n\t\t\tif (assembledToolCalls.length > 0) {\n\t\t\t\tfor (const toolCall of assembledToolCalls) {\n\t\t\t\t\tconst toolName = toolCall.function.name;\n\t\t\t\t\tlet selectedTool: ConnectorTool | undefined;\n\t\t\t\t\tfor (const [index, toolTmp] of tools.entries()) {\n\t\t\t\t\t\tif (toolTmp.toolName === toolName) {\n\t\t\t\t\t\t\tif (toolTmp.protocol === CONNECTOR_PROTOCOL_TYPE.A2A) {\n\t\t\t\t\t\t\t\t// remove used tool to prevent infinite loop\n\t\t\t\t\t\t\t\tselectedTool = tools.splice(index, 1)[0];\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tselectedTool = toolTmp;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!selectedTool) {\n\t\t\t\t\t\t// it cannot be happened...\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst toolArgs = JSON.parse(toolCall.function.arguments);\n\t\t\t\t\tconst thinkData = {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${selectedTool.protocol} 실행: ${toolName}`,\n\t\t\t\t\t\tdescription: `${toolArgs.thinking_text || \"\"}`,\n\t\t\t\t\t};\n\t\t\t\t\tyield {\n\t\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\t\tdata: thinkData,\n\t\t\t\t\t};\n\n\t\t\t\t\tlet toolResult = \"\";\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.mcpModule &&\n\t\t\t\t\t\tselectedTool.protocol === CONNECTOR_PROTOCOL_TYPE.MCP\n\t\t\t\t\t) {\n\t\t\t\t\t\tloggers.intent.info(\"MCP tool call\", { toolName, toolArgs });\n\t\t\t\t\t\ttoolResult = await this.mcpModule.useTool(selectedTool, toolArgs);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tthis.a2aModule &&\n\t\t\t\t\t\tselectedTool.protocol === CONNECTOR_PROTOCOL_TYPE.A2A\n\t\t\t\t\t) {\n\t\t\t\t\t\tloggers.intent.info(\"A2A tool call\", { toolName });\n\t\t\t\t\t\tconst a2aStream = this.a2aModule.useTool(\n\t\t\t\t\t\t\tselectedTool,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\tthread.threadId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\t// yield intermediate events and get final result\n\t\t\t\t\t\tlet result = await a2aStream.next();\n\t\t\t\t\t\twhile (!result.done) {\n\t\t\t\t\t\t\tif (result.value.event === \"thinking_process\") {\n\t\t\t\t\t\t\t\tyield result.value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresult = await a2aStream.next();\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoolResult = result.value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Unrecognized tool type. It cannot be happened...\n\t\t\t\t\t\tloggers.intent.warn(\n\t\t\t\t\t\t\t`Unrecognized tool type: ${selectedTool.protocol}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tloggers.intent.debug(\"Tool Result\", { toolResult });\n\n\t\t\t\t\tprocessList.push(toolResult);\n\t\t\t\t\tmodelInstance.appendMessages(messages, toolResult);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tloggers.intent.debug(\"Intent fulfillment completed\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\ttoolCallsExecuted: processList.length,\n\t\t\tintentName: intent?.name,\n\t\t});\n\t}\n\n\t/**\n\t * Returns the appropriate stream for a triggered intent.\n\t * Uses fallback handler if no intent matched and fallback is configured.\n\t */\n\tprivate getIntentStream(\n\t\ttriggeredIntent: TriggeredIntent,\n\t\tthread: ThreadObject,\n\t): AsyncGenerator<StreamEvent> | undefined {\n\t\tconst { subquery = \"\", intent } = triggeredIntent;\n\n\t\tif (!intent && this.onIntentFallback) {\n\t\t\tloggers.intent.info(\"No intent matched, calling fallback handler\");\n\t\t\tconst fallbackStream = this.onIntentFallback({\n\t\t\t\ttriggeredIntent,\n\t\t\t\tthread,\n\t\t\t});\n\t\t\tif (fallbackStream !== undefined) {\n\t\t\t\treturn fallbackStream;\n\t\t\t}\n\t\t}\n\n\t\treturn this.intentFulfilling(subquery, thread, intent);\n\t}\n\n\t/**\n\t * Processes all triggered intents and generates a unified response.\n\t *\n\t * Workflow:\n\t * 1. Process each intent sequentially, collecting results\n\t * 2. Yield thinking_process events for progress visibility\n\t * 3. Use AggregateService to unify results if needsAggregation is true\n\t * 4. Stream the final (possibly aggregated) response\n\t *\n\t * @param intents - Array of triggered intents to process\n\t * @param thread - The thread history\n\t * @param originalQuery - The user's original query (for aggregate context)\n\t * @param needsAggregation - Whether the results need to be aggregated\n\t * @returns AsyncGenerator yielding StreamEvent objects\n\t */\n\tpublic async *intentFulfill(\n\t\tintents: Array<TriggeredIntent>,\n\t\tthread: ThreadObject,\n\t\toriginalQuery: string,\n\t\tneedsAggregation: boolean,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst streamStartTime = Date.now();\n\t\tloggers.intentStream.info(\"Stream session started\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tintentCount: intents.length,\n\t\t\tneedsAggregation,\n\t\t\tstartTime: new Date(streamStartTime).toISOString(),\n\t\t});\n\n\t\tlet finalResponseText = \"\";\n\t\tlet collectionName: string | undefined;\n\n\t\tif (intents.length <= 1) {\n\t\t\t// Single intent: stream response directly\n\t\t\tconst triggeredIntent = intents[0];\n\t\t\tif (!triggeredIntent) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\tloggers.intent.info(\n\t\t\t\t`Process single intent: ${subquery}, ${intent?.name}`,\n\t\t\t);\n\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t// Yield thinking_process for progress visibility\n\t\t\tyield {\n\t\t\t\tevent: \"thinking_process\",\n\t\t\t\tdata: {\n\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Get the stream for this intent\n\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\tif (!stream) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Stream response directly\n\t\t\tfor await (const event of stream) {\n\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t} else if (event.event === \"collection_name\") {\n\t\t\t\t\tcollectionName = event.data.name;\n\t\t\t\t}\n\t\t\t\tyield event;\n\t\t\t}\n\t\t} else if (!needsAggregation) {\n\t\t\t// Multiple intents but no aggregation needed: collect intermediate results, stream only last\n\t\t\tfor (let i = 0; i < intents.length; i++) {\n\t\t\t\tconst triggeredIntent = intents[i];\n\t\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\t\tloggers.intent.info(`Process query: ${subquery}, ${intent?.name}`);\n\t\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t\tconst isLastIntent = i === intents.length - 1;\n\n\t\t\t\t// Yield thinking_process for progress visibility\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\t// Get the stream for this intent\n\t\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\t\tif (!stream) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (isLastIntent) {\n\t\t\t\t\t// Stream last intent response directly\n\t\t\t\t\tfor await (const event of stream) {\n\t\t\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t\t\t} else if (event.event === \"collection_name\") {\n\t\t\t\t\t\t\tcollectionName = event.data.name;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tyield event;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Collect intermediate results without streaming text_chunk\n\t\t\t\t\tlet responseText = \"\";\n\t\t\t\t\tfor await (const event of stream) {\n\t\t\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\t\t\tresponseText += event.data.delta;\n\t\t\t\t\t\t} else if (event.event === \"collection_name\") {\n\t\t\t\t\t\t\tcollectionName = event.data.name;\n\t\t\t\t\t\t} else if (event.event === \"thinking_process\") {\n\t\t\t\t\t\t\t// Tool execution thinking_process events are yielded immediately\n\t\t\t\t\t\t\tyield event;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Add intermediate result to thread context for next intent\n\t\t\t\t\tthread.messages.push({\n\t\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\t\trole: MessageRole.MODEL,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\tcontent: { type: \"text\", parts: [responseText] },\n\t\t\t\t\t\tmetadata: { isThinking: true },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Multi-intent mode with aggregation: collect all results then aggregate\n\t\t\tconst fulfillmentResults: FulfillmentResult[] = [];\n\n\t\t\tfor (let i = 0; i < intents.length; i++) {\n\t\t\t\tconst triggeredIntent = intents[i];\n\t\t\t\tconst { subquery = \"\", intent, actionPlan } = triggeredIntent;\n\t\t\t\tloggers.intent.info(`Process query: ${subquery}, ${intent?.name}`);\n\t\t\t\tloggers.intent.info(`Action plan: ${actionPlan}`);\n\n\t\t\t\t// Add previous result to thread context for inference (not stored in memory)\n\t\t\t\tif (fulfillmentResults.length > 0) {\n\t\t\t\t\tconst lastResult = fulfillmentResults[fulfillmentResults.length - 1];\n\t\t\t\t\tthread.messages.push({\n\t\t\t\t\t\tmessageId: randomUUID(),\n\t\t\t\t\t\trole: MessageRole.MODEL,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\tcontent: { type: \"text\", parts: [lastResult.response] },\n\t\t\t\t\t\tmetadata: { isThinking: true },\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Yield thinking_process for progress visibility\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"thinking_process\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttitle: `[${getManifest().name}] ${subquery}`,\n\t\t\t\t\t\tdescription: actionPlan || \"\",\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\t// Get the stream for this intent\n\t\t\t\tconst stream = this.getIntentStream(triggeredIntent, thread);\n\t\t\t\tif (!stream) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Collect response text (don't yield text_chunk yet)\n\t\t\t\tlet responseText = \"\";\n\t\t\t\tfor await (const event of stream) {\n\t\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\t\tresponseText += event.data.delta;\n\t\t\t\t\t} else if (event.event === \"collection_name\") {\n\t\t\t\t\t\tcollectionName = event.data.name;\n\t\t\t\t\t} else if (event.event === \"thinking_process\") {\n\t\t\t\t\t\t// Tool execution thinking_process events are yielded immediately\n\t\t\t\t\t\tyield event;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfulfillmentResults.push({\n\t\t\t\t\tsubquery,\n\t\t\t\t\tintent,\n\t\t\t\t\tactionPlan,\n\t\t\t\t\tresponse: responseText,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Aggregate step: generate unified response\n\t\t\tconst aggregateStream = this.aggregateService.aggregate(\n\t\t\t\toriginalQuery,\n\t\t\t\tfulfillmentResults,\n\t\t\t);\n\n\t\t\tfor await (const event of aggregateStream) {\n\t\t\t\tif (event.event === \"text_chunk\" && event.data.delta) {\n\t\t\t\t\tfinalResponseText += event.data.delta;\n\t\t\t\t}\n\t\t\t\tyield event;\n\t\t\t}\n\t\t}\n\n\t\t// PII filtering on output before saving to memory (mask mode only)\n\t\tif (this.piiService?.getMode() === PIIFilterMode.MASK) {\n\t\t\tfinalResponseText = await this.piiService.filterText(finalResponseText);\n\t\t}\n\n\t\t// Save final response to memory\n\t\tawait this.addToThreadMessages(thread, {\n\t\t\trole: MessageRole.MODEL,\n\t\t\tcontent: finalResponseText,\n\t\t\tmetadata: collectionName ? { collectionName } : undefined,\n\t\t});\n\n\t\tconst streamEndTime = Date.now();\n\t\tconst streamDuration = streamEndTime - streamStartTime;\n\n\t\tloggers.intentStream.info(\"Stream session completed\", {\n\t\t\tthreadId: thread.threadId,\n\t\t\tduration: `${streamDuration}ms`,\n\t\t\tendTime: new Date(streamEndTime).toISOString(),\n\t\t});\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -27,6 +27,18 @@ var ThreadApiController = class {
27
27
  next(error);
28
28
  }
29
29
  };
30
+ handleUpdateThreadPin = async (req, res, next) => {
31
+ try {
32
+ const { id: threadId } = req.params;
33
+ const { isPinned } = req.body;
34
+ const userId = res.locals.userId || "";
35
+ const threadMemory = this.memoryModule.getThreadMemory();
36
+ await threadMemory?.updateThreadPin(userId, threadId, isPinned);
37
+ res.status(StatusCodes.OK).send();
38
+ } catch (error) {
39
+ next(error);
40
+ }
41
+ };
30
42
  handleGetUserThreads = async (_req, res, next) => {
31
43
  try {
32
44
  const userId = res.locals.userId || "";
@@ -42,4 +54,4 @@ var ThreadApiController = class {
42
54
  export {
43
55
  ThreadApiController
44
56
  };
45
- //# sourceMappingURL=chunk-ZVYC5Y6Z.js.map
57
+ //# sourceMappingURL=chunk-OV42UAQO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/controllers/api/threads.api.controller.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { MemoryModule } from \"@/modules/index.js\";\n\nexport class ThreadApiController {\n\tprivate memoryModule: MemoryModule;\n\n\tconstructor(memoryModule: MemoryModule) {\n\t\tthis.memoryModule = memoryModule;\n\t}\n\n\tpublic handleGetThread = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: threadId } = req.params as {\n\t\t\t\tid: string;\n\t\t\t};\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tconst thread = await threadMemory?.getThread(userId, threadId);\n\t\t\tres.json(thread);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n\n\tpublic handleDeleteThread = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: threadId } = req.params as {\n\t\t\t\tid: string;\n\t\t\t};\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tawait threadMemory?.deleteThread(userId, threadId);\n\t\t\tres.status(StatusCodes.OK).send();\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n\n\tpublic handleUpdateThreadPin = async (\n\t\treq: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst { id: threadId } = req.params as {\n\t\t\t\tid: string;\n\t\t\t};\n\t\t\tconst { isPinned } = req.body as {\n\t\t\t\tisPinned: boolean;\n\t\t\t};\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tawait threadMemory?.updateThreadPin(userId, threadId, isPinned);\n\t\t\tres.status(StatusCodes.OK).send();\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n\n\tpublic handleGetUserThreads = async (\n\t\t_req: Request,\n\t\tres: Response,\n\t\tnext: NextFunction,\n\t) => {\n\t\ttry {\n\t\t\tconst userId = res.locals.userId || \"\";\n\t\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\t\tconst threads = await threadMemory?.listThreads(userId);\n\t\t\tres.json(threads);\n\t\t} catch (error) {\n\t\t\tnext(error);\n\t\t}\n\t};\n}\n"],"mappings":";AACA,SAAS,mBAAmB;AAGrB,IAAM,sBAAN,MAA0B;AAAA,EACxB;AAAA,EAER,YAAY,cAA4B;AACvC,SAAK,eAAe;AAAA,EACrB;AAAA,EAEO,kBAAkB,OACxB,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,SAAS,IAAI,IAAI;AAG7B,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,SAAS,MAAM,cAAc,UAAU,QAAQ,QAAQ;AAC7D,UAAI,KAAK,MAAM;AAAA,IAChB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AAAA,EAEO,qBAAqB,OAC3B,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,SAAS,IAAI,IAAI;AAG7B,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,cAAc,aAAa,QAAQ,QAAQ;AACjD,UAAI,OAAO,YAAY,EAAE,EAAE,KAAK;AAAA,IACjC,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AAAA,EAEO,wBAAwB,OAC9B,KACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,EAAE,IAAI,SAAS,IAAI,IAAI;AAG7B,YAAM,EAAE,SAAS,IAAI,IAAI;AAGzB,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,cAAc,gBAAgB,QAAQ,UAAU,QAAQ;AAC9D,UAAI,OAAO,YAAY,EAAE,EAAE,KAAK;AAAA,IACjC,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AAAA,EAEO,uBAAuB,OAC7B,MACA,KACA,SACI;AACJ,QAAI;AACH,YAAM,SAAS,IAAI,OAAO,UAAU;AACpC,YAAM,eAAe,KAAK,aAAa,gBAAgB;AACvD,YAAM,UAAU,MAAM,cAAc,YAAY,MAAM;AACtD,UAAI,KAAK,OAAO;AAAA,IACjB,SAAS,OAAO;AACf,WAAK,KAAK;AAAA,IACX;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,28 @@
1
+ // src/services/prompts/pii-detect.ts
2
+ async function piiDetectPrompt(memoryModule) {
3
+ const prompt = await memoryModule?.getAgentMemory()?.getPIIDetectPrompt?.() || `You are a PII (Personally Identifiable Information) detector.
4
+ Your task is to determine whether the given text contains any personal information.
5
+
6
+ PII includes: names, phone numbers, resident registration numbers, email addresses, physical addresses, credit card numbers, bank account numbers, passport numbers, driver's license numbers.
7
+
8
+ Rules:
9
+ - Respond with ONLY "true" or "false"
10
+ - "true" if the text contains any PII
11
+ - "false" if the text does not contain any PII
12
+ - Do NOT add any explanation or commentary
13
+
14
+ Examples:
15
+ - "\uD64D\uAE38\uB3D9\uC5D0\uAC8C \uC5F0\uB77D\uC8FC\uC138\uC694" \u2192 true
16
+ - "\uC804\uD654\uBC88\uD638\uB294 010-1234-5678\uC785\uB2C8\uB2E4" \u2192 true
17
+ - "\uC774\uBA54\uC77C: user@example.com" \u2192 true
18
+ - "\uC8FC\uBBFC\uBC88\uD638 900101-1234567" \u2192 true
19
+ - "\uC624\uB298 \uB0A0\uC528 \uC5B4\uB54C?" \u2192 false
20
+ - "No PII here" \u2192 false`;
21
+ return prompt;
22
+ }
23
+ var pii_detect_default = piiDetectPrompt;
24
+
25
+ export {
26
+ pii_detect_default
27
+ };
28
+ //# sourceMappingURL=chunk-OV4TR542.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/prompts/pii-detect.ts"],"sourcesContent":["import type { MemoryModule } from \"@/modules\";\n\nasync function piiDetectPrompt(memoryModule: MemoryModule) {\n\tconst prompt =\n\t\t(await memoryModule?.getAgentMemory()?.getPIIDetectPrompt?.()) ||\n\t\t`You are a PII (Personally Identifiable Information) detector.\nYour task is to determine whether the given text contains any personal information.\n\nPII includes: names, phone numbers, resident registration numbers, email addresses, physical addresses, credit card numbers, bank account numbers, passport numbers, driver's license numbers.\n\nRules:\n- Respond with ONLY \"true\" or \"false\"\n- \"true\" if the text contains any PII\n- \"false\" if the text does not contain any PII\n- Do NOT add any explanation or commentary\n\nExamples:\n- \"홍길동에게 연락주세요\" → true\n- \"전화번호는 010-1234-5678입니다\" → true\n- \"이메일: user@example.com\" → true\n- \"주민번호 900101-1234567\" → true\n- \"오늘 날씨 어때?\" → false\n- \"No PII here\" → false`;\n\n\treturn prompt;\n}\n\nexport default piiDetectPrompt;\n"],"mappings":";AAEA,eAAe,gBAAgB,cAA4B;AAC1D,QAAM,SACJ,MAAM,cAAc,eAAe,GAAG,qBAAqB,KAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBD,SAAO;AACR;AAEA,IAAO,qBAAQ;","names":[]}
@@ -1,18 +1,18 @@
1
+ import {
2
+ createIntentApiRouter
3
+ } from "./chunk-UNNTYZYK.js";
1
4
  import {
2
5
  createModelApiRouter
3
- } from "./chunk-IQ3BAWVV.js";
6
+ } from "./chunk-BGFMLLIL.js";
4
7
  import {
5
8
  createThreadApiRouter
6
- } from "./chunk-MJMNQNQL.js";
9
+ } from "./chunk-EMWM4GHN.js";
7
10
  import {
8
11
  createWorkflowApiRouter
9
- } from "./chunk-OV5MNKPH.js";
12
+ } from "./chunk-HJCYTYMX.js";
10
13
  import {
11
14
  createAgentApiRouter
12
- } from "./chunk-OCULYA2R.js";
13
- import {
14
- createIntentApiRouter
15
- } from "./chunk-GT74YHJR.js";
15
+ } from "./chunk-AR52KXK6.js";
16
16
  import {
17
17
  getMemoryModule
18
18
  } from "./chunk-VSQVYW2H.js";
@@ -35,4 +35,4 @@ var createApiRouter = () => {
35
35
  export {
36
36
  createApiRouter
37
37
  };
38
- //# sourceMappingURL=chunk-BQO572DY.js.map
38
+ //# sourceMappingURL=chunk-QANI35F3.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
- A2AController
3
- } from "./chunk-MVVAEPGR.js";
2
+ container
3
+ } from "./chunk-TMJS7ZJH.js";
4
4
  import {
5
5
  getAgent
6
6
  } from "./chunk-VBK4WM2M.js";
7
7
  import {
8
- container
9
- } from "./chunk-M7YQE7I2.js";
8
+ A2AController
9
+ } from "./chunk-MVVAEPGR.js";
10
10
 
11
11
  // src/routes/a2a.routes.ts
12
12
  import { InMemoryTaskStore } from "@a2a-js/sdk/server";
@@ -26,4 +26,4 @@ var createA2ARouter = () => {
26
26
  export {
27
27
  createA2ARouter
28
28
  };
29
- //# sourceMappingURL=chunk-TIIWZOBY.js.map
29
+ //# sourceMappingURL=chunk-R2YDRUPU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  container
3
- } from "./chunk-M7YQE7I2.js";
3
+ } from "./chunk-TMJS7ZJH.js";
4
4
 
5
5
  // src/routes/query.routes.ts
6
6
  import { Router } from "express";
@@ -15,4 +15,4 @@ var createQueryRouter = () => {
15
15
  export {
16
16
  createQueryRouter
17
17
  };
18
- //# sourceMappingURL=chunk-RDXHEDJT.js.map
18
+ //# sourceMappingURL=chunk-RX5UC4AB.js.map
@@ -4,6 +4,11 @@ import {
4
4
  import {
5
5
  WorkflowApiController
6
6
  } from "./chunk-TR2QAQEW.js";
7
+ import {
8
+ getA2AModule,
9
+ getMemoryModule,
10
+ getModelModule
11
+ } from "./chunk-VSQVYW2H.js";
7
12
  import {
8
13
  AgentApiController
9
14
  } from "./chunk-WKFSYGMH.js";
@@ -12,18 +17,13 @@ import {
12
17
  } from "./chunk-UA44VKFE.js";
13
18
  import {
14
19
  ThreadApiController
15
- } from "./chunk-ZVYC5Y6Z.js";
16
- import {
17
- IntentController
18
- } from "./chunk-YUKPKFX5.js";
20
+ } from "./chunk-OV42UAQO.js";
19
21
  import {
20
22
  QueryController
21
23
  } from "./chunk-RE676AIN.js";
22
24
  import {
23
- getA2AModule,
24
- getMemoryModule,
25
- getModelModule
26
- } from "./chunk-VSQVYW2H.js";
25
+ IntentController
26
+ } from "./chunk-YUKPKFX5.js";
27
27
 
28
28
  // src/container/controllers.ts
29
29
  var ControllerContainer = class {
@@ -101,4 +101,4 @@ var ControllerContainer = class {
101
101
  export {
102
102
  ControllerContainer
103
103
  };
104
- //# sourceMappingURL=chunk-GKG27ZGB.js.map
104
+ //# sourceMappingURL=chunk-T64WNH5C.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ControllerContainer
3
- } from "./chunk-GKG27ZGB.js";
3
+ } from "./chunk-T64WNH5C.js";
4
4
  import {
5
5
  ServiceContainer
6
- } from "./chunk-NHYC66BI.js";
6
+ } from "./chunk-WMORIZRM.js";
7
7
 
8
8
  // src/container/index.ts
9
9
  var Container = class {
@@ -71,4 +71,4 @@ var container = new Container();
71
71
  export {
72
72
  container
73
73
  };
74
- //# sourceMappingURL=chunk-M7YQE7I2.js.map
74
+ //# sourceMappingURL=chunk-TMJS7ZJH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  container
3
- } from "./chunk-M7YQE7I2.js";
3
+ } from "./chunk-TMJS7ZJH.js";
4
4
  import {
5
5
  AinHttpError
6
6
  } from "./chunk-C5JXXLCW.js";
@@ -41,4 +41,4 @@ var createIntentApiRouter = () => {
41
41
  export {
42
42
  createIntentApiRouter
43
43
  };
44
- //# sourceMappingURL=chunk-GT74YHJR.js.map
44
+ //# sourceMappingURL=chunk-UNNTYZYK.js.map
@@ -1,27 +1,30 @@
1
1
  import {
2
- IntentFulfillService
3
- } from "./chunk-2RLUCOJF.js";
2
+ ThreadService
3
+ } from "./chunk-V23GKNNJ.js";
4
4
  import {
5
5
  IntentTriggerService
6
6
  } from "./chunk-G4TS67ZV.js";
7
+ import {
8
+ IntentFulfillService
9
+ } from "./chunk-KG4IXLN2.js";
7
10
  import {
8
11
  A2AService
9
12
  } from "./chunk-WMHUZEL2.js";
10
13
  import {
11
14
  QueryService
12
- } from "./chunk-C6GUUAED.js";
15
+ } from "./chunk-YIU65RCX.js";
13
16
  import {
14
- ThreadService
15
- } from "./chunk-V23GKNNJ.js";
16
- import {
17
- getOnIntentFallback
18
- } from "./chunk-CG35V3ZH.js";
17
+ PIIService
18
+ } from "./chunk-IYLPCNEK.js";
19
19
  import {
20
20
  getA2AModule,
21
21
  getMCPModule,
22
22
  getMemoryModule,
23
23
  getModelModule
24
24
  } from "./chunk-VSQVYW2H.js";
25
+ import {
26
+ getOnIntentFallback
27
+ } from "./chunk-CG35V3ZH.js";
25
28
 
26
29
  // src/container/services.ts
27
30
  var ServiceContainer = class {
@@ -30,6 +33,7 @@ var ServiceContainer = class {
30
33
  _intentFulfillService;
31
34
  _queryService;
32
35
  _a2aService;
36
+ _piiService;
33
37
  getThreadService() {
34
38
  if (!this._threadService) {
35
39
  this._threadService = new ThreadService(getMemoryModule());
@@ -45,6 +49,12 @@ var ServiceContainer = class {
45
49
  }
46
50
  return this._intentTriggerService;
47
51
  }
52
+ getPIIService() {
53
+ if (!this._piiService) {
54
+ this._piiService = new PIIService(getModelModule(), getMemoryModule());
55
+ }
56
+ return this._piiService;
57
+ }
48
58
  getIntentFulfillService() {
49
59
  if (!this._intentFulfillService) {
50
60
  this._intentFulfillService = new IntentFulfillService(
@@ -52,7 +62,8 @@ var ServiceContainer = class {
52
62
  getMemoryModule(),
53
63
  getA2AModule(),
54
64
  getMCPModule(),
55
- getOnIntentFallback()
65
+ getOnIntentFallback(),
66
+ this.getPIIService()
56
67
  );
57
68
  }
58
69
  return this._intentFulfillService;
@@ -63,7 +74,8 @@ var ServiceContainer = class {
63
74
  getModelModule(),
64
75
  getMemoryModule(),
65
76
  this.getIntentTriggerService(),
66
- this.getIntentFulfillService()
77
+ this.getIntentFulfillService(),
78
+ this.getPIIService()
67
79
  );
68
80
  }
69
81
  return this._queryService;
@@ -80,10 +92,11 @@ var ServiceContainer = class {
80
92
  this._intentFulfillService = void 0;
81
93
  this._queryService = void 0;
82
94
  this._a2aService = void 0;
95
+ this._piiService = void 0;
83
96
  }
84
97
  };
85
98
 
86
99
  export {
87
100
  ServiceContainer
88
101
  };
89
- //# sourceMappingURL=chunk-NHYC66BI.js.map
102
+ //# sourceMappingURL=chunk-WMORIZRM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/container/services.ts"],"sourcesContent":["import {\n\tgetA2AModule,\n\tgetMCPModule,\n\tgetMemoryModule,\n\tgetModelModule,\n} from \"@/config/modules\";\nimport { getOnIntentFallback } from \"@/config/options\";\nimport { A2AService } from \"@/services/a2a.service\";\nimport { IntentFulfillService } from \"@/services/intents/fulfill.service\";\nimport { IntentTriggerService } from \"@/services/intents/trigger.service\";\nimport { PIIService } from \"@/services/pii.service\";\nimport { QueryService } from \"@/services/query.service\";\nimport { ThreadService } from \"@/services/thread.service\";\n\n/**\n * Service factory for dependency injection.\n * Manages singleton instances of all services.\n */\nexport class ServiceContainer {\n\tprivate _threadService?: ThreadService;\n\tprivate _intentTriggerService?: IntentTriggerService;\n\tprivate _intentFulfillService?: IntentFulfillService;\n\tprivate _queryService?: QueryService;\n\tprivate _a2aService?: A2AService;\n\tprivate _piiService?: PIIService;\n\n\tgetThreadService(): ThreadService {\n\t\tif (!this._threadService) {\n\t\t\tthis._threadService = new ThreadService(getMemoryModule());\n\t\t}\n\t\treturn this._threadService;\n\t}\n\n\tgetIntentTriggerService(): IntentTriggerService {\n\t\tif (!this._intentTriggerService) {\n\t\t\tthis._intentTriggerService = new IntentTriggerService(\n\t\t\t\tgetModelModule(),\n\t\t\t\tgetMemoryModule(),\n\t\t\t);\n\t\t}\n\t\treturn this._intentTriggerService;\n\t}\n\n\tgetPIIService(): PIIService {\n\t\tif (!this._piiService) {\n\t\t\tthis._piiService = new PIIService(getModelModule(), getMemoryModule());\n\t\t}\n\t\treturn this._piiService;\n\t}\n\n\tgetIntentFulfillService(): IntentFulfillService {\n\t\tif (!this._intentFulfillService) {\n\t\t\tthis._intentFulfillService = new IntentFulfillService(\n\t\t\t\tgetModelModule(),\n\t\t\t\tgetMemoryModule(),\n\t\t\t\tgetA2AModule(),\n\t\t\t\tgetMCPModule(),\n\t\t\t\tgetOnIntentFallback(),\n\t\t\t\tthis.getPIIService(),\n\t\t\t);\n\t\t}\n\t\treturn this._intentFulfillService;\n\t}\n\n\tgetQueryService(): QueryService {\n\t\tif (!this._queryService) {\n\t\t\tthis._queryService = new QueryService(\n\t\t\t\tgetModelModule(),\n\t\t\t\tgetMemoryModule(),\n\t\t\t\tthis.getIntentTriggerService(),\n\t\t\t\tthis.getIntentFulfillService(),\n\t\t\t\tthis.getPIIService(),\n\t\t\t);\n\t\t}\n\t\treturn this._queryService;\n\t}\n\n\tgetA2AService(): A2AService {\n\t\tif (!this._a2aService) {\n\t\t\tthis._a2aService = new A2AService(this.getQueryService());\n\t\t}\n\t\treturn this._a2aService;\n\t}\n\n\treset(): void {\n\t\tthis._threadService = undefined;\n\t\tthis._intentTriggerService = undefined;\n\t\tthis._intentFulfillService = undefined;\n\t\tthis._queryService = undefined;\n\t\tthis._a2aService = undefined;\n\t\tthis._piiService = undefined;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,IAAM,mBAAN,MAAuB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAER,mBAAkC;AACjC,QAAI,CAAC,KAAK,gBAAgB;AACzB,WAAK,iBAAiB,IAAI,cAAc,gBAAgB,CAAC;AAAA,IAC1D;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,0BAAgD;AAC/C,QAAI,CAAC,KAAK,uBAAuB;AAChC,WAAK,wBAAwB,IAAI;AAAA,QAChC,eAAe;AAAA,QACf,gBAAgB;AAAA,MACjB;AAAA,IACD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,gBAA4B;AAC3B,QAAI,CAAC,KAAK,aAAa;AACtB,WAAK,cAAc,IAAI,WAAW,eAAe,GAAG,gBAAgB,CAAC;AAAA,IACtE;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,0BAAgD;AAC/C,QAAI,CAAC,KAAK,uBAAuB;AAChC,WAAK,wBAAwB,IAAI;AAAA,QAChC,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,aAAa;AAAA,QACb,oBAAoB;AAAA,QACpB,KAAK,cAAc;AAAA,MACpB;AAAA,IACD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,kBAAgC;AAC/B,QAAI,CAAC,KAAK,eAAe;AACxB,WAAK,gBAAgB,IAAI;AAAA,QACxB,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,KAAK,wBAAwB;AAAA,QAC7B,KAAK,wBAAwB;AAAA,QAC7B,KAAK,cAAc;AAAA,MACpB;AAAA,IACD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,gBAA4B;AAC3B,QAAI,CAAC,KAAK,aAAa;AACtB,WAAK,cAAc,IAAI,WAAW,KAAK,gBAAgB,CAAC;AAAA,IACzD;AACA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,QAAc;AACb,SAAK,iBAAiB;AACtB,SAAK,wBAAwB;AAC7B,SAAK,wBAAwB;AAC7B,SAAK,gBAAgB;AACrB,SAAK,cAAc;AACnB,SAAK,cAAc;AAAA,EACpB;AACD;","names":[]}
@@ -16,11 +16,13 @@ var QueryService = class {
16
16
  memoryModule;
17
17
  intentTriggerService;
18
18
  intentFulfillService;
19
- constructor(modelModule, memoryModule, intentTriggerService, intentFulfillService) {
19
+ piiService;
20
+ constructor(modelModule, memoryModule, intentTriggerService, intentFulfillService, piiService) {
20
21
  this.modelModule = modelModule;
21
22
  this.memoryModule = memoryModule;
22
23
  this.intentTriggerService = intentTriggerService;
23
24
  this.intentFulfillService = intentFulfillService;
25
+ this.piiService = piiService;
24
26
  }
25
27
  async addToThreadMessages(userId, threadId, messages) {
26
28
  const threadMemory = this.memoryModule.getThreadMemory();
@@ -66,8 +68,22 @@ var QueryService = class {
66
68
  */
67
69
  async *handleQuery(threadMetadata, queryData, isA2A) {
68
70
  const { type, userId, options } = threadMetadata;
69
- const { query, displayQuery } = queryData;
71
+ const { displayQuery } = queryData;
72
+ let { query } = queryData;
70
73
  const threadMemory = this.memoryModule.getThreadMemory();
74
+ const piiMode = this.piiService?.getMode() ?? "disabled" /* DISABLED */;
75
+ if (piiMode === "reject" /* REJECT */ && this.piiService) {
76
+ const hasPII = await this.piiService.containsPII(query);
77
+ if (hasPII) {
78
+ yield {
79
+ event: "text_chunk",
80
+ data: { delta: "\uAC1C\uC778\uC815\uBCF4 \uB0B4\uC5ED\uC740 \uCC98\uB9AC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." }
81
+ };
82
+ return;
83
+ }
84
+ } else if (piiMode === "mask" /* MASK */ && this.piiService) {
85
+ query = await this.piiService.filterText(query);
86
+ }
71
87
  let threadId = threadMetadata.threadId;
72
88
  let thread;
73
89
  if (threadId) {
@@ -129,4 +145,4 @@ var QueryService = class {
129
145
  export {
130
146
  QueryService
131
147
  };
132
- //# sourceMappingURL=chunk-C6GUUAED.js.map
148
+ //# sourceMappingURL=chunk-YIU65RCX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/query.service.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type {\n\tMemoryModule,\n\tModelFetchOptions,\n\tModelModule,\n} from \"@/modules/index.js\";\nimport { AinHttpError } from \"@/types/agent.js\";\nimport {\n\ttype MessageObject,\n\tMessageRole,\n\ttype ThreadMetadata,\n\ttype ThreadObject,\n\ttype ThreadType,\n} from \"@/types/memory.js\";\nimport type { StreamEvent } from \"@/types/stream\";\nimport { loggers } from \"@/utils/logger.js\";\nimport type { IntentFulfillService } from \"./intents/fulfill.service\";\nimport type { IntentTriggerService } from \"./intents/trigger.service\";\nimport { PIIFilterMode, type PIIService } from \"./pii.service\";\nimport generateTitlePrompt from \"./prompts/generate-title\";\n\n/**\n * Service for processing user queries through the agent's AI pipeline.\n *\n * Orchestrates the query processing workflow including intent detection,\n * model inference, tool execution, and response generation. Manages\n * conversation context and coordinates between different modules.\n */\nexport class QueryService {\n\tprivate modelModule: ModelModule;\n\tprivate memoryModule: MemoryModule;\n\tprivate intentTriggerService: IntentTriggerService;\n\tprivate intentFulfillService: IntentFulfillService;\n\tprivate piiService?: PIIService;\n\n\tconstructor(\n\t\tmodelModule: ModelModule,\n\t\tmemoryModule: MemoryModule,\n\t\tintentTriggerService: IntentTriggerService,\n\t\tintentFulfillService: IntentFulfillService,\n\t\tpiiService?: PIIService,\n\t) {\n\t\tthis.modelModule = modelModule;\n\t\tthis.memoryModule = memoryModule;\n\t\tthis.intentTriggerService = intentTriggerService;\n\t\tthis.intentFulfillService = intentFulfillService;\n\t\tthis.piiService = piiService;\n\t}\n\n\tpublic async addToThreadMessages(\n\t\tuserId: string,\n\t\tthreadId: string,\n\t\tmessages: Array<MessageObject>,\n\t) {\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\t\tawait threadMemory?.addMessagesToThread(userId, threadId, messages);\n\t}\n\n\tpublic async generateTitle(\n\t\tquery: string,\n\t\toptions?: ModelFetchOptions,\n\t): Promise<string> {\n\t\tconst DEFAULT_TITLE = \"New Chat\";\n\t\ttry {\n\t\t\tconst modelInstance = this.modelModule.getModel();\n\t\t\tconst modelOptions = this.modelModule.getModelOptions();\n\t\t\tconst messages = modelInstance.generateMessages({\n\t\t\t\tquery,\n\t\t\t\tsystemPrompt: await generateTitlePrompt(this.memoryModule),\n\t\t\t});\n\t\t\tconst response = await modelInstance.fetch(\n\t\t\t\tmessages,\n\t\t\t\toptions ?? modelOptions,\n\t\t\t);\n\t\t\treturn response.content || DEFAULT_TITLE;\n\t\t} catch (error) {\n\t\t\tloggers.intent.error(\"Error generating title\", {\n\t\t\t\terror,\n\t\t\t\tquery,\n\t\t\t});\n\t\t\treturn DEFAULT_TITLE;\n\t\t}\n\t}\n\n\t/**\n\t * Main entry point for processing streaming user queries.\n\t *\n\t * Handles the complete query lifecycle:\n\t * 1. Loads or creates thread from memory\n\t * 2. Detects intent from the query\n\t * 3. Fulfills the intent with streaming AI response\n\t * 4. Updates conversation history in real-time\n\t *\n\t * @param threadMetadata - Metadata containing type, userId, and optional threadId\n\t * @param threadMetadata.type - The type of thread (e.g., chat, workflow)\n\t * @param threadMetadata.userId - The user's unique identifier\n\t * @param threadMetadata.threadId - Optional thread identifier\n\t * @param query - The user's input query\n\t * @returns AsyncGenerator yielding StreamEvent objects for SSE\n\t */\n\tpublic async *handleQuery(\n\t\tthreadMetadata: {\n\t\t\ttype: ThreadType;\n\t\t\tuserId: string;\n\t\t\tthreadId?: string;\n\t\t\toptions?: ModelFetchOptions;\n\t\t},\n\t\tqueryData: {\n\t\t\tquery: string;\n\t\t\tdisplayQuery?: string;\n\t\t},\n\t\tisA2A?: boolean,\n\t): AsyncGenerator<StreamEvent> {\n\t\tconst { type, userId, options } = threadMetadata;\n\t\tconst { displayQuery } = queryData;\n\t\tlet { query } = queryData;\n\t\tconst threadMemory = this.memoryModule.getThreadMemory();\n\n\t\t// PII filtering on input\n\t\tconst piiMode = this.piiService?.getMode() ?? PIIFilterMode.DISABLED;\n\t\tif (piiMode === PIIFilterMode.REJECT && this.piiService) {\n\t\t\tconst hasPII = await this.piiService.containsPII(query);\n\t\t\tif (hasPII) {\n\t\t\t\tyield {\n\t\t\t\t\tevent: \"text_chunk\",\n\t\t\t\t\tdata: { delta: \"개인정보 내역은 처리할 수 없습니다.\" },\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (piiMode === PIIFilterMode.MASK && this.piiService) {\n\t\t\tquery = await this.piiService.filterText(query);\n\t\t}\n\n\t\t// 1. Load or create thread\n\t\tlet threadId = threadMetadata.threadId;\n\t\tlet thread: ThreadObject | undefined;\n\t\tif (threadId) {\n\t\t\tthread = await threadMemory?.getThread(userId, threadId);\n\t\t\tif (!thread && !isA2A) {\n\t\t\t\tthrow new AinHttpError(StatusCodes.NOT_FOUND, \"Thread not found\");\n\t\t\t}\n\t\t}\n\n\t\tthreadId ??= randomUUID();\n\t\tif (!thread) {\n\t\t\tconst title = await this.generateTitle(query, options);\n\t\t\tconst metadata: ThreadMetadata = (await threadMemory?.createThread(\n\t\t\t\ttype,\n\t\t\t\tuserId,\n\t\t\t\tthreadId,\n\t\t\t\ttitle,\n\t\t\t)) || { type, userId, threadId, title };\n\t\t\tthread = { ...metadata, messages: [] };\n\t\t\tloggers.intent.info(`Create new thread: ${threadId}`);\n\t\t\tyield { event: \"thread_id\", data: { type, userId, threadId, title } };\n\t\t}\n\n\t\t// 2. intent triggering\n\t\tconst triggerResult = await this.intentTriggerService.intentTriggering(\n\t\t\tquery,\n\t\t\tthread,\n\t\t);\n\t\tconst { intents: triggeredIntents, needsAggregation } = triggerResult;\n\t\tloggers.intent.debug(\"Triggered intents\", {\n\t\t\ttriggeredIntents,\n\t\t\tneedsAggregation,\n\t\t});\n\n\t\t// only add for storage, not for inference\n\t\tawait this.addToThreadMessages(userId, threadId, [\n\t\t\t{\n\t\t\t\tmessageId: randomUUID(),\n\t\t\t\trole: MessageRole.USER,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t// use displayQuery for better UX in enterprise application\n\t\t\t\tcontent: { type: \"text\", parts: [displayQuery || query] },\n\t\t\t\tmetadata: {\n\t\t\t\t\tintents: triggeredIntents\n\t\t\t\t\t\t.filter((intent) => !!intent.intent)\n\t\t\t\t\t\t.map((intent) => ({\n\t\t\t\t\t\t\tid: intent.intent?.id,\n\t\t\t\t\t\t\tsubquery: intent.subquery,\n\t\t\t\t\t\t})),\n\t\t\t\t\tquery: !displayQuery ? undefined : query,\n\t\t\t\t},\n\t\t\t},\n\t\t]);\n\n\t\t// 3. intent fulfillment (with rewrite step)\n\t\tconst stream = this.intentFulfillService.intentFulfill(\n\t\t\ttriggeredIntents,\n\t\t\tthread,\n\t\t\tquery,\n\t\t\tneedsAggregation,\n\t\t);\n\n\t\tfor await (const event of stream) {\n\t\t\tyield event;\n\t\t}\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -27,6 +27,7 @@ import '@modelcontextprotocol/sdk/client/stdio.js';
27
27
  import '@modelcontextprotocol/sdk/client/streamableHttp.js';
28
28
  import '../types/agent.js';
29
29
  import 'http-status-codes';
30
+ import '../services/pii.service.js';
30
31
  import '../services/a2a.service.js';
31
32
  import '@a2a-js/sdk/server';
32
33
 
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  ControllerContainer
3
- } from "../chunk-GKG27ZGB.js";
3
+ } from "../chunk-T64WNH5C.js";
4
4
  import "../chunk-DFXHJUGV.js";
5
5
  import "../chunk-TR2QAQEW.js";
6
+ import "../chunk-VSQVYW2H.js";
6
7
  import "../chunk-WKFSYGMH.js";
7
8
  import "../chunk-UA44VKFE.js";
8
- import "../chunk-ZVYC5Y6Z.js";
9
- import "../chunk-YUKPKFX5.js";
9
+ import "../chunk-OV42UAQO.js";
10
10
  import "../chunk-RE676AIN.js";
11
- import "../chunk-VX3VWWYW.js";
11
+ import "../chunk-B4LJ37RT.js";
12
12
  import "../chunk-GHUEA7V5.js";
13
- import "../chunk-VSQVYW2H.js";
13
+ import "../chunk-YUKPKFX5.js";
14
14
  export {
15
15
  ControllerContainer
16
16
  };
@@ -30,6 +30,7 @@ import '@modelcontextprotocol/sdk/client/stdio.js';
30
30
  import '@modelcontextprotocol/sdk/client/streamableHttp.js';
31
31
  import '../types/agent.js';
32
32
  import 'http-status-codes';
33
+ import '../services/pii.service.js';
33
34
 
34
35
  /**
35
36
  * Dependency Injection Container
@@ -1,40 +1,43 @@
1
1
  import {
2
2
  container
3
- } from "../chunk-M7YQE7I2.js";
3
+ } from "../chunk-TMJS7ZJH.js";
4
4
  import {
5
5
  ControllerContainer
6
- } from "../chunk-GKG27ZGB.js";
6
+ } from "../chunk-T64WNH5C.js";
7
7
  import "../chunk-DFXHJUGV.js";
8
8
  import "../chunk-TR2QAQEW.js";
9
- import "../chunk-WKFSYGMH.js";
10
- import "../chunk-UA44VKFE.js";
11
- import "../chunk-ZVYC5Y6Z.js";
12
- import "../chunk-YUKPKFX5.js";
13
- import "../chunk-RE676AIN.js";
14
9
  import {
15
10
  ServiceContainer
16
- } from "../chunk-NHYC66BI.js";
17
- import "../chunk-2RLUCOJF.js";
11
+ } from "../chunk-WMORIZRM.js";
12
+ import "../chunk-V23GKNNJ.js";
13
+ import "../chunk-G4TS67ZV.js";
14
+ import "../chunk-KG4IXLN2.js";
18
15
  import "../chunk-5Z3SX3AE.js";
16
+ import "../chunk-22ELL7WG.js";
19
17
  import "../chunk-QMAVALRZ.js";
20
- import "../chunk-G4TS67ZV.js";
21
- import "../chunk-DDSAK722.js";
22
- import "../chunk-CRQEBSRD.js";
23
18
  import "../chunk-WFYXNKCJ.js";
24
- import "../chunk-22ELL7WG.js";
19
+ import "../chunk-DDSAK722.js";
25
20
  import "../chunk-3CR3ZB6L.js";
21
+ import "../chunk-CRQEBSRD.js";
26
22
  import "../chunk-XQUENGL4.js";
27
23
  import "../chunk-WMHUZEL2.js";
28
- import "../chunk-C6GUUAED.js";
24
+ import "../chunk-YIU65RCX.js";
29
25
  import "../chunk-HSAGEBXJ.js";
30
- import "../chunk-V23GKNNJ.js";
31
- import "../chunk-7CULQDJF.js";
26
+ import "../chunk-IYLPCNEK.js";
27
+ import "../chunk-OV4TR542.js";
28
+ import "../chunk-4D6KMRWQ.js";
32
29
  import "../chunk-C5JXXLCW.js";
30
+ import "../chunk-7CULQDJF.js";
33
31
  import "../chunk-2J2TQRP4.js";
32
+ import "../chunk-VSQVYW2H.js";
34
33
  import "../chunk-CG35V3ZH.js";
35
- import "../chunk-VX3VWWYW.js";
34
+ import "../chunk-WKFSYGMH.js";
35
+ import "../chunk-UA44VKFE.js";
36
+ import "../chunk-OV42UAQO.js";
37
+ import "../chunk-RE676AIN.js";
38
+ import "../chunk-B4LJ37RT.js";
36
39
  import "../chunk-GHUEA7V5.js";
37
- import "../chunk-VSQVYW2H.js";
40
+ import "../chunk-YUKPKFX5.js";
38
41
  export {
39
42
  ControllerContainer,
40
43
  ServiceContainer,
@@ -1,6 +1,7 @@
1
1
  import { A2AService } from '../services/a2a.service.js';
2
2
  import { IntentFulfillService } from '../services/intents/fulfill.service.js';
3
3
  import { IntentTriggerService } from '../services/intents/trigger.service.js';
4
+ import { PIIService } from '../services/pii.service.js';
4
5
  import { QueryService } from '../services/query.service.js';
5
6
  import { ThreadService } from '../services/thread.service.js';
6
7
  import '@a2a-js/sdk/server';
@@ -31,8 +32,10 @@ declare class ServiceContainer {
31
32
  private _intentFulfillService?;
32
33
  private _queryService?;
33
34
  private _a2aService?;
35
+ private _piiService?;
34
36
  getThreadService(): ThreadService;
35
37
  getIntentTriggerService(): IntentTriggerService;
38
+ getPIIService(): PIIService;
36
39
  getIntentFulfillService(): IntentFulfillService;
37
40
  getQueryService(): QueryService;
38
41
  getA2AService(): A2AService;
@@ -1,27 +1,30 @@
1
1
  import {
2
2
  ServiceContainer
3
- } from "../chunk-NHYC66BI.js";
4
- import "../chunk-2RLUCOJF.js";
3
+ } from "../chunk-WMORIZRM.js";
4
+ import "../chunk-V23GKNNJ.js";
5
+ import "../chunk-G4TS67ZV.js";
6
+ import "../chunk-KG4IXLN2.js";
5
7
  import "../chunk-5Z3SX3AE.js";
8
+ import "../chunk-22ELL7WG.js";
6
9
  import "../chunk-QMAVALRZ.js";
7
- import "../chunk-G4TS67ZV.js";
8
- import "../chunk-DDSAK722.js";
9
- import "../chunk-CRQEBSRD.js";
10
10
  import "../chunk-WFYXNKCJ.js";
11
- import "../chunk-22ELL7WG.js";
11
+ import "../chunk-DDSAK722.js";
12
12
  import "../chunk-3CR3ZB6L.js";
13
+ import "../chunk-CRQEBSRD.js";
13
14
  import "../chunk-XQUENGL4.js";
14
15
  import "../chunk-WMHUZEL2.js";
15
- import "../chunk-C6GUUAED.js";
16
+ import "../chunk-YIU65RCX.js";
16
17
  import "../chunk-HSAGEBXJ.js";
17
- import "../chunk-V23GKNNJ.js";
18
- import "../chunk-7CULQDJF.js";
18
+ import "../chunk-IYLPCNEK.js";
19
+ import "../chunk-OV4TR542.js";
20
+ import "../chunk-4D6KMRWQ.js";
19
21
  import "../chunk-C5JXXLCW.js";
22
+ import "../chunk-7CULQDJF.js";
20
23
  import "../chunk-2J2TQRP4.js";
24
+ import "../chunk-VSQVYW2H.js";
21
25
  import "../chunk-CG35V3ZH.js";
22
- import "../chunk-VX3VWWYW.js";
26
+ import "../chunk-B4LJ37RT.js";
23
27
  import "../chunk-GHUEA7V5.js";
24
- import "../chunk-VSQVYW2H.js";
25
28
  export {
26
29
  ServiceContainer
27
30
  };
@@ -19,6 +19,7 @@ import '@modelcontextprotocol/sdk/client/stdio.js';
19
19
  import '@modelcontextprotocol/sdk/client/streamableHttp.js';
20
20
  import '../types/agent.js';
21
21
  import 'http-status-codes';
22
+ import '../services/pii.service.js';
22
23
  import '../services/intents/trigger.service.js';
23
24
 
24
25
  declare class A2AController {
@@ -8,6 +8,7 @@ declare class ThreadApiController {
8
8
  constructor(memoryModule: MemoryModule);
9
9
  handleGetThread: (req: Request, res: Response, next: NextFunction) => Promise<void>;
10
10
  handleDeleteThread: (req: Request, res: Response, next: NextFunction) => Promise<void>;
11
+ handleUpdateThreadPin: (req: Request, res: Response, next: NextFunction) => Promise<void>;
11
12
  handleGetUserThreads: (_req: Request, res: Response, next: NextFunction) => Promise<void>;
12
13
  }
13
14
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ThreadApiController
3
- } from "../../chunk-ZVYC5Y6Z.js";
3
+ } from "../../chunk-OV42UAQO.js";
4
4
  export {
5
5
  ThreadApiController
6
6
  };
@@ -24,4 +24,5 @@ import '@modelcontextprotocol/sdk/client/stdio.js';
24
24
  import '@modelcontextprotocol/sdk/client/streamableHttp.js';
25
25
  import '../types/agent.js';
26
26
  import 'http-status-codes';
27
+ import '../services/pii.service.js';
27
28
  import '../services/intents/trigger.service.js';