@anvia/core 1.1.2 → 1.2.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 (598) hide show
  1. package/README.md +226 -0
  2. package/dist/agent/agent-stream.js +7 -0
  3. package/dist/agent/agent-stream.js.map +1 -0
  4. package/dist/agent/agent-tool.js +24 -0
  5. package/dist/agent/agent-tool.js.map +1 -0
  6. package/dist/agent/agent.js +89 -0
  7. package/dist/agent/agent.js.map +1 -0
  8. package/dist/agent/errors.js +17 -0
  9. package/dist/agent/errors.js.map +1 -0
  10. package/dist/agent/ids.js +7 -0
  11. package/dist/agent/ids.js.map +1 -0
  12. package/dist/agent/index.d.ts +127 -9
  13. package/dist/agent/index.js +103 -21
  14. package/dist/agent/interactions/index.js +2 -2
  15. package/dist/agent/interactions.js +22 -0
  16. package/dist/agent/interactions.js.map +1 -0
  17. package/dist/agent/lifecycle.js +9 -0
  18. package/dist/agent/lifecycle.js.map +1 -0
  19. package/dist/agent/output-schema.js +10 -0
  20. package/dist/agent/output-schema.js.map +1 -0
  21. package/dist/agent/resolve-options.js +46 -0
  22. package/dist/agent/resolve-options.js.map +1 -0
  23. package/dist/agent/resolved-agent.js +92 -0
  24. package/dist/agent/resolved-agent.js.map +1 -0
  25. package/dist/agent/run-types.js +1 -0
  26. package/dist/agent/run-types.js.map +1 -0
  27. package/dist/agent/snapshot.js +17 -0
  28. package/dist/agent/snapshot.js.map +1 -0
  29. package/dist/agent/team/agent-team.js +98 -0
  30. package/dist/agent/team/agent-team.js.map +1 -0
  31. package/dist/agent/team/errors.js +9 -0
  32. package/dist/agent/team/errors.js.map +1 -0
  33. package/dist/agent/team/index.js +104 -0
  34. package/dist/agent/team/index.js.map +1 -0
  35. package/dist/agent/team/types.js +1 -0
  36. package/dist/agent/team/types.js.map +1 -0
  37. package/dist/agent/tool-catalog.js +37 -0
  38. package/dist/agent/tool-catalog.js.map +1 -0
  39. package/dist/agent/tool-state.js +11 -0
  40. package/dist/agent/tool-state.js.map +1 -0
  41. package/dist/agent/types.js +1 -0
  42. package/dist/agent/types.js.map +1 -0
  43. package/dist/agent/vector-context.js +10 -0
  44. package/dist/agent/vector-context.js.map +1 -0
  45. package/dist/{agent-DTmzs1Qr.d.ts → agent-C9VhENdj.d.ts} +2 -3
  46. package/dist/{chunk-I3Q7XSBB.js → chunk-23LRXKQX.js} +6 -4
  47. package/dist/{chunk-I3Q7XSBB.js.map → chunk-23LRXKQX.js.map} +1 -1
  48. package/dist/{chunk-YK4WAAS4.js → chunk-2NLINXRF.js} +1 -1
  49. package/dist/{chunk-SPD4XVR7.js → chunk-2XSMGVBG.js} +1 -1
  50. package/dist/chunk-3J2CSVPR.js +1 -0
  51. package/dist/chunk-3J2CSVPR.js.map +1 -0
  52. package/dist/chunk-3P3YVJ7V.js +1 -0
  53. package/dist/chunk-3P3YVJ7V.js.map +1 -0
  54. package/dist/chunk-3TAQXJBC.js +107 -0
  55. package/dist/chunk-3TAQXJBC.js.map +1 -0
  56. package/dist/chunk-47NTHIVB.js +76 -0
  57. package/dist/chunk-47NTHIVB.js.map +1 -0
  58. package/dist/chunk-4AW2633B.js +9 -0
  59. package/dist/chunk-4AW2633B.js.map +1 -0
  60. package/dist/{chunk-3XQGVDU5.js → chunk-4C7AXYOM.js} +1 -1
  61. package/dist/{chunk-IZNOP6JG.js → chunk-4FIVU53H.js} +1 -1
  62. package/dist/chunk-4ITAV7YA.js +1 -0
  63. package/dist/chunk-4ITAV7YA.js.map +1 -0
  64. package/dist/{chunk-7JLAIN6E.js → chunk-4ONUNWGC.js} +2 -2
  65. package/dist/chunk-4S4OECPW.js +158 -0
  66. package/dist/chunk-4S4OECPW.js.map +1 -0
  67. package/dist/chunk-4UUIGAIX.js +1 -0
  68. package/dist/chunk-4UUIGAIX.js.map +1 -0
  69. package/dist/chunk-53TPAXYR.js +1 -0
  70. package/dist/chunk-53TPAXYR.js.map +1 -0
  71. package/dist/chunk-54ZZJRP2.js +57 -0
  72. package/dist/chunk-54ZZJRP2.js.map +1 -0
  73. package/dist/chunk-5FCZ64HM.js +112 -0
  74. package/dist/chunk-5FCZ64HM.js.map +1 -0
  75. package/dist/chunk-5I2NVRHC.js +146 -0
  76. package/dist/chunk-5I2NVRHC.js.map +1 -0
  77. package/dist/chunk-5IURMWFN.js +53 -0
  78. package/dist/chunk-5IURMWFN.js.map +1 -0
  79. package/dist/chunk-5M6GTA3T.js +1 -0
  80. package/dist/chunk-5M6GTA3T.js.map +1 -0
  81. package/dist/chunk-5N5W7CX7.js +18 -0
  82. package/dist/chunk-5N5W7CX7.js.map +1 -0
  83. package/dist/chunk-5S7T2URX.js +1 -0
  84. package/dist/chunk-5S7T2URX.js.map +1 -0
  85. package/dist/chunk-5V533R7F.js +19 -0
  86. package/dist/chunk-5V533R7F.js.map +1 -0
  87. package/dist/chunk-5WLIHNNJ.js +56 -0
  88. package/dist/chunk-5WLIHNNJ.js.map +1 -0
  89. package/dist/chunk-6BTJC3ES.js +37 -0
  90. package/dist/chunk-6BTJC3ES.js.map +1 -0
  91. package/dist/chunk-6N4ENZO4.js +24 -0
  92. package/dist/chunk-6N4ENZO4.js.map +1 -0
  93. package/dist/{chunk-4UQALF5Y.js → chunk-6RQYWZI3.js} +2 -36
  94. package/dist/chunk-6RQYWZI3.js.map +1 -0
  95. package/dist/chunk-6TAWRKFK.js +86 -0
  96. package/dist/chunk-6TAWRKFK.js.map +1 -0
  97. package/dist/chunk-72LBHKYP.js +236 -0
  98. package/dist/chunk-72LBHKYP.js.map +1 -0
  99. package/dist/chunk-7F53DOML.js +53 -0
  100. package/dist/chunk-7F53DOML.js.map +1 -0
  101. package/dist/chunk-7LBPRXZP.js +1 -0
  102. package/dist/chunk-7LBPRXZP.js.map +1 -0
  103. package/dist/chunk-A7BXVZXZ.js +25 -0
  104. package/dist/chunk-A7BXVZXZ.js.map +1 -0
  105. package/dist/chunk-AOG6KSV4.js +107 -0
  106. package/dist/chunk-AOG6KSV4.js.map +1 -0
  107. package/dist/chunk-B47EXUHL.js +67 -0
  108. package/dist/chunk-B47EXUHL.js.map +1 -0
  109. package/dist/chunk-B5JQDR33.js +14 -0
  110. package/dist/chunk-B5JQDR33.js.map +1 -0
  111. package/dist/chunk-BDDC72GF.js +189 -0
  112. package/dist/chunk-BDDC72GF.js.map +1 -0
  113. package/dist/chunk-BDKFFFVX.js +342 -0
  114. package/dist/chunk-BDKFFFVX.js.map +1 -0
  115. package/dist/{chunk-QGX73TSQ.js → chunk-BONQTXRQ.js} +3 -12
  116. package/dist/chunk-BONQTXRQ.js.map +1 -0
  117. package/dist/chunk-BUPC72Y2.js +1007 -0
  118. package/dist/chunk-BUPC72Y2.js.map +1 -0
  119. package/dist/chunk-CKKNO4XB.js +70 -0
  120. package/dist/chunk-CKKNO4XB.js.map +1 -0
  121. package/dist/chunk-CX7ZVTO5.js +22 -0
  122. package/dist/chunk-CX7ZVTO5.js.map +1 -0
  123. package/dist/chunk-DU4WA6LQ.js +1 -0
  124. package/dist/chunk-DU4WA6LQ.js.map +1 -0
  125. package/dist/chunk-EJR6VVB3.js +63 -0
  126. package/dist/chunk-EJR6VVB3.js.map +1 -0
  127. package/dist/chunk-EKZRAWBP.js +110 -0
  128. package/dist/chunk-EKZRAWBP.js.map +1 -0
  129. package/dist/chunk-ENZ2XX27.js +26 -0
  130. package/dist/chunk-ENZ2XX27.js.map +1 -0
  131. package/dist/chunk-EOAJBBII.js +1 -0
  132. package/dist/chunk-EOAJBBII.js.map +1 -0
  133. package/dist/chunk-ERN7P6Q4.js +1 -0
  134. package/dist/chunk-ERN7P6Q4.js.map +1 -0
  135. package/dist/chunk-ESOFEAYK.js +57 -0
  136. package/dist/chunk-ESOFEAYK.js.map +1 -0
  137. package/dist/chunk-ETYB5JO6.js +175 -0
  138. package/dist/chunk-ETYB5JO6.js.map +1 -0
  139. package/dist/chunk-EZR5AV3J.js +74 -0
  140. package/dist/chunk-EZR5AV3J.js.map +1 -0
  141. package/dist/chunk-F2OKLHGB.js +9 -0
  142. package/dist/chunk-F2OKLHGB.js.map +1 -0
  143. package/dist/chunk-F3E2RLC7.js +342 -0
  144. package/dist/chunk-F3E2RLC7.js.map +1 -0
  145. package/dist/chunk-FAPIZJS2.js +54 -0
  146. package/dist/chunk-FAPIZJS2.js.map +1 -0
  147. package/dist/{chunk-2QZJTG2E.js → chunk-G336L2IE.js} +11 -71
  148. package/dist/chunk-G336L2IE.js.map +1 -0
  149. package/dist/chunk-GDJNOZ47.js +1 -0
  150. package/dist/chunk-GDJNOZ47.js.map +1 -0
  151. package/dist/chunk-GDY2Z2SZ.js +83 -0
  152. package/dist/chunk-GDY2Z2SZ.js.map +1 -0
  153. package/dist/chunk-GLMYZ6OA.js +20 -0
  154. package/dist/chunk-GLMYZ6OA.js.map +1 -0
  155. package/dist/{chunk-XEVOC433.js → chunk-GPVXCY5I.js} +2 -73
  156. package/dist/chunk-GPVXCY5I.js.map +1 -0
  157. package/dist/{chunk-KSKST3KP.js → chunk-H3H74RWJ.js} +1 -1
  158. package/dist/chunk-HAAGSIZH.js +89 -0
  159. package/dist/chunk-HAAGSIZH.js.map +1 -0
  160. package/dist/{chunk-K5L7R7XM.js → chunk-HHMLE3TZ.js} +6 -54
  161. package/dist/chunk-HHMLE3TZ.js.map +1 -0
  162. package/dist/{chunk-JLJMVRRE.js → chunk-HP34GRQX.js} +10 -83
  163. package/dist/chunk-HP34GRQX.js.map +1 -0
  164. package/dist/chunk-HTI343NP.js +1 -0
  165. package/dist/chunk-HTI343NP.js.map +1 -0
  166. package/dist/{chunk-T2C3CGDQ.js → chunk-HTI7DZJM.js} +6 -4
  167. package/dist/{chunk-T2C3CGDQ.js.map → chunk-HTI7DZJM.js.map} +1 -1
  168. package/dist/chunk-IDNL6IH4.js +294 -0
  169. package/dist/chunk-IDNL6IH4.js.map +1 -0
  170. package/dist/chunk-IV6YQTY2.js +47 -0
  171. package/dist/chunk-IV6YQTY2.js.map +1 -0
  172. package/dist/chunk-J4SINPUA.js +939 -0
  173. package/dist/chunk-J4SINPUA.js.map +1 -0
  174. package/dist/chunk-J6S6MT7O.js +32 -0
  175. package/dist/chunk-J6S6MT7O.js.map +1 -0
  176. package/dist/chunk-JBQNCUXA.js +34 -0
  177. package/dist/chunk-JBQNCUXA.js.map +1 -0
  178. package/dist/chunk-JMJFK3A4.js +1 -0
  179. package/dist/chunk-JMJFK3A4.js.map +1 -0
  180. package/dist/chunk-JMMZICU7.js +74 -0
  181. package/dist/chunk-JMMZICU7.js.map +1 -0
  182. package/dist/chunk-K4IBS7VB.js +55 -0
  183. package/dist/chunk-K4IBS7VB.js.map +1 -0
  184. package/dist/chunk-KBBQSP4M.js +16 -0
  185. package/dist/chunk-KBBQSP4M.js.map +1 -0
  186. package/dist/chunk-KFAVEL5F.js +68 -0
  187. package/dist/chunk-KFAVEL5F.js.map +1 -0
  188. package/dist/chunk-KITX3HDN.js +17 -0
  189. package/dist/chunk-KITX3HDN.js.map +1 -0
  190. package/dist/chunk-KO5NMTAM.js +1 -0
  191. package/dist/chunk-KO5NMTAM.js.map +1 -0
  192. package/dist/chunk-KY4VXIN2.js +118 -0
  193. package/dist/chunk-KY4VXIN2.js.map +1 -0
  194. package/dist/chunk-KZGSXJKU.js +29 -0
  195. package/dist/chunk-KZGSXJKU.js.map +1 -0
  196. package/dist/chunk-LAIATEUB.js +24 -0
  197. package/dist/chunk-LAIATEUB.js.map +1 -0
  198. package/dist/{chunk-OJBFDBLG.js → chunk-LBYJPMHC.js} +2 -2
  199. package/dist/chunk-LKIABZNR.js +49 -0
  200. package/dist/chunk-LKIABZNR.js.map +1 -0
  201. package/dist/chunk-LQJ4KHMY.js +23 -0
  202. package/dist/chunk-LQJ4KHMY.js.map +1 -0
  203. package/dist/chunk-MEN4AFDZ.js +1 -0
  204. package/dist/chunk-MEN4AFDZ.js.map +1 -0
  205. package/dist/chunk-MHOJJYDK.js +93 -0
  206. package/dist/chunk-MHOJJYDK.js.map +1 -0
  207. package/dist/chunk-MJCMKZFP.js +30 -0
  208. package/dist/chunk-MJCMKZFP.js.map +1 -0
  209. package/dist/chunk-MNYMLWWA.js +168 -0
  210. package/dist/chunk-MNYMLWWA.js.map +1 -0
  211. package/dist/chunk-MT3BLVYN.js +31 -0
  212. package/dist/chunk-MT3BLVYN.js.map +1 -0
  213. package/dist/chunk-NF6WBPFG.js +37 -0
  214. package/dist/chunk-NF6WBPFG.js.map +1 -0
  215. package/dist/chunk-NNEKBZSM.js +66 -0
  216. package/dist/chunk-NNEKBZSM.js.map +1 -0
  217. package/dist/chunk-NPJ2T3L5.js +19 -0
  218. package/dist/chunk-NPJ2T3L5.js.map +1 -0
  219. package/dist/chunk-NVALGVQG.js +150 -0
  220. package/dist/chunk-NVALGVQG.js.map +1 -0
  221. package/dist/chunk-O6DTOCBM.js +355 -0
  222. package/dist/chunk-O6DTOCBM.js.map +1 -0
  223. package/dist/chunk-OJF67RNM.js +1 -0
  224. package/dist/chunk-OJF67RNM.js.map +1 -0
  225. package/dist/chunk-PHLGGRHC.js +89 -0
  226. package/dist/chunk-PHLGGRHC.js.map +1 -0
  227. package/dist/chunk-PIMD4DYG.js +104 -0
  228. package/dist/chunk-PIMD4DYG.js.map +1 -0
  229. package/dist/chunk-PJNE75WC.js +1 -0
  230. package/dist/chunk-PJNE75WC.js.map +1 -0
  231. package/dist/{chunk-J6LVLV6P.js → chunk-PLDJCCVL.js} +1 -1
  232. package/dist/{chunk-3RWESPUG.js → chunk-POXHJF3H.js} +6 -51
  233. package/dist/chunk-POXHJF3H.js.map +1 -0
  234. package/dist/chunk-PPJ7SYQL.js +81 -0
  235. package/dist/chunk-PPJ7SYQL.js.map +1 -0
  236. package/dist/chunk-QHGYCYV6.js +91 -0
  237. package/dist/chunk-QHGYCYV6.js.map +1 -0
  238. package/dist/chunk-QUS6S2NB.js +663 -0
  239. package/dist/chunk-QUS6S2NB.js.map +1 -0
  240. package/dist/chunk-R6722CIU.js +28 -0
  241. package/dist/chunk-R6722CIU.js.map +1 -0
  242. package/dist/chunk-RA4YVN43.js +1 -0
  243. package/dist/chunk-RA4YVN43.js.map +1 -0
  244. package/dist/chunk-RT5LUEO3.js +2339 -0
  245. package/dist/chunk-RT5LUEO3.js.map +1 -0
  246. package/dist/chunk-SC4SUIEY.js +1 -0
  247. package/dist/chunk-SC4SUIEY.js.map +1 -0
  248. package/dist/chunk-SIYZDPVH.js +613 -0
  249. package/dist/chunk-SIYZDPVH.js.map +1 -0
  250. package/dist/chunk-SQAAVYJG.js +12 -0
  251. package/dist/chunk-SQAAVYJG.js.map +1 -0
  252. package/dist/chunk-SXE4J43E.js +59 -0
  253. package/dist/chunk-SXE4J43E.js.map +1 -0
  254. package/dist/{chunk-EFLT7XZD.js → chunk-SYULMZGL.js} +6 -4
  255. package/dist/{chunk-EFLT7XZD.js.map → chunk-SYULMZGL.js.map} +1 -1
  256. package/dist/chunk-T4IAJJUU.js +48 -0
  257. package/dist/chunk-T4IAJJUU.js.map +1 -0
  258. package/dist/chunk-T4KS577P.js +58 -0
  259. package/dist/chunk-T4KS577P.js.map +1 -0
  260. package/dist/chunk-TFIOU6UR.js +78 -0
  261. package/dist/chunk-TFIOU6UR.js.map +1 -0
  262. package/dist/chunk-TIZGADU4.js +375 -0
  263. package/dist/chunk-TIZGADU4.js.map +1 -0
  264. package/dist/chunk-TP3MCUXS.js +1 -0
  265. package/dist/chunk-TP3MCUXS.js.map +1 -0
  266. package/dist/{chunk-JTJU56ZV.js → chunk-UOGM62JL.js} +11 -7
  267. package/dist/{chunk-JTJU56ZV.js.map → chunk-UOGM62JL.js.map} +1 -1
  268. package/dist/chunk-USRKPEQN.js +55 -0
  269. package/dist/chunk-USRKPEQN.js.map +1 -0
  270. package/dist/chunk-UTAB3XQI.js +667 -0
  271. package/dist/chunk-UTAB3XQI.js.map +1 -0
  272. package/dist/chunk-V3FFZWF3.js +182 -0
  273. package/dist/chunk-V3FFZWF3.js.map +1 -0
  274. package/dist/chunk-V4OZ7ISA.js +9 -0
  275. package/dist/chunk-V4OZ7ISA.js.map +1 -0
  276. package/dist/chunk-VZ5ZZBNX.js +139 -0
  277. package/dist/chunk-VZ5ZZBNX.js.map +1 -0
  278. package/dist/{chunk-AHLKV6KP.js → chunk-WN6AVBO4.js} +1 -1
  279. package/dist/chunk-WXR5CWSC.js +1 -0
  280. package/dist/chunk-WXR5CWSC.js.map +1 -0
  281. package/dist/chunk-X6WS3XWL.js +36 -0
  282. package/dist/chunk-X6WS3XWL.js.map +1 -0
  283. package/dist/{chunk-Q5BCNYED.js → chunk-XJRNBTIV.js} +7 -4
  284. package/dist/chunk-XQV3XNVT.js +225 -0
  285. package/dist/chunk-XQV3XNVT.js.map +1 -0
  286. package/dist/chunk-XV3DH5GC.js +58 -0
  287. package/dist/chunk-XV3DH5GC.js.map +1 -0
  288. package/dist/chunk-Y7JTHNCU.js +318 -0
  289. package/dist/chunk-Y7JTHNCU.js.map +1 -0
  290. package/dist/chunk-YWRXOPHC.js +43 -0
  291. package/dist/chunk-YWRXOPHC.js.map +1 -0
  292. package/dist/chunk-YZVFIW5D.js +27 -0
  293. package/dist/chunk-YZVFIW5D.js.map +1 -0
  294. package/dist/chunk-ZHC5CD6J.js +33 -0
  295. package/dist/chunk-ZHC5CD6J.js.map +1 -0
  296. package/dist/chunk-ZPJFXRQZ.js +23 -0
  297. package/dist/chunk-ZPJFXRQZ.js.map +1 -0
  298. package/dist/chunk-ZPXOBQDS.js +57 -0
  299. package/dist/chunk-ZPXOBQDS.js.map +1 -0
  300. package/dist/chunk-ZUFS6R7L.js +155 -0
  301. package/dist/chunk-ZUFS6R7L.js.map +1 -0
  302. package/dist/chunk-ZXLCTQUX.js +62 -0
  303. package/dist/chunk-ZXLCTQUX.js.map +1 -0
  304. package/dist/chunk-ZYXMWEL4.js +59 -0
  305. package/dist/chunk-ZYXMWEL4.js.map +1 -0
  306. package/dist/completion/controls.js +11 -0
  307. package/dist/completion/controls.js.map +1 -0
  308. package/dist/completion/documents.js +9 -0
  309. package/dist/completion/documents.js.map +1 -0
  310. package/dist/completion/generate-completion.js +23 -0
  311. package/dist/completion/generate-completion.js.map +1 -0
  312. package/dist/completion/index.js +23 -12
  313. package/dist/completion/json.js +7 -0
  314. package/dist/completion/json.js.map +1 -0
  315. package/dist/completion/message-schema.js +18 -0
  316. package/dist/completion/message-schema.js.map +1 -0
  317. package/dist/completion/provider-output-error.js +12 -0
  318. package/dist/completion/provider-output-error.js.map +1 -0
  319. package/dist/completion/stream-accumulator.js +10 -0
  320. package/dist/completion/stream-accumulator.js.map +1 -0
  321. package/dist/completion/types.js +28 -0
  322. package/dist/completion/types.js.map +1 -0
  323. package/dist/documents/chunk-text.js +7 -0
  324. package/dist/documents/chunk-text.js.map +1 -0
  325. package/dist/documents/index.js +5 -2
  326. package/dist/documents/text-document.js +8 -0
  327. package/dist/documents/text-document.js.map +1 -0
  328. package/dist/embeddings/distance.js +17 -0
  329. package/dist/embeddings/distance.js.map +1 -0
  330. package/dist/embeddings/embed.js +18 -0
  331. package/dist/embeddings/embed.js.map +1 -0
  332. package/dist/embeddings/index.js +11 -6
  333. package/dist/embeddings/types.js +2 -0
  334. package/dist/embeddings/types.js.map +1 -0
  335. package/dist/evals/advanced-metrics.js +46 -0
  336. package/dist/evals/advanced-metrics.js.map +1 -0
  337. package/dist/evals/agent-target.js +10 -0
  338. package/dist/evals/agent-target.js.map +1 -0
  339. package/dist/evals/cli.js +40 -0
  340. package/dist/evals/cli.js.map +1 -0
  341. package/dist/evals/execution.js +15 -0
  342. package/dist/evals/execution.js.map +1 -0
  343. package/dist/evals/format.js +13 -0
  344. package/dist/evals/format.js.map +1 -0
  345. package/dist/evals/index.d.ts +4 -4
  346. package/dist/evals/index.js +87 -2660
  347. package/dist/evals/index.js.map +1 -1
  348. package/dist/evals/judge.js +27 -0
  349. package/dist/evals/judge.js.map +1 -0
  350. package/dist/evals/metric.js +7 -0
  351. package/dist/evals/metric.js.map +1 -0
  352. package/dist/evals/metrics.js +53 -0
  353. package/dist/evals/metrics.js.map +1 -0
  354. package/dist/evals/outcome.js +7 -0
  355. package/dist/evals/outcome.js.map +1 -0
  356. package/dist/evals/reporting.js +11 -0
  357. package/dist/evals/reporting.js.map +1 -0
  358. package/dist/evals/runner.js +29 -0
  359. package/dist/evals/runner.js.map +1 -0
  360. package/dist/evals/selectors.js +18 -0
  361. package/dist/evals/selectors.js.map +1 -0
  362. package/dist/evals/suite.js +11 -0
  363. package/dist/evals/suite.js.map +1 -0
  364. package/dist/evals/types.js +1 -0
  365. package/dist/evals/types.js.map +1 -0
  366. package/dist/extractor/extractor.js +23 -0
  367. package/dist/extractor/extractor.js.map +1 -0
  368. package/dist/extractor/index.js +16 -7
  369. package/dist/guardrails/actions.js +13 -0
  370. package/dist/guardrails/actions.js.map +1 -0
  371. package/dist/guardrails/index.d.ts +3 -4
  372. package/dist/guardrails/index.js +15 -7
  373. package/dist/guardrails/message.js +9 -0
  374. package/dist/guardrails/message.js.map +1 -0
  375. package/dist/guardrails/policy.js +17 -0
  376. package/dist/guardrails/policy.js.map +1 -0
  377. package/dist/guardrails/runtime.js +11 -0
  378. package/dist/guardrails/runtime.js.map +1 -0
  379. package/dist/guardrails/text.js +9 -0
  380. package/dist/guardrails/text.js.map +1 -0
  381. package/dist/guardrails/types.js +1 -0
  382. package/dist/guardrails/types.js.map +1 -0
  383. package/dist/hooks/control.js +17 -0
  384. package/dist/hooks/control.js.map +1 -0
  385. package/dist/hooks/index.js +19 -0
  386. package/dist/hooks/index.js.map +1 -0
  387. package/dist/hooks/types.js +2 -0
  388. package/dist/hooks/types.js.map +1 -0
  389. package/dist/image-generation/generate-image.js +11 -0
  390. package/dist/image-generation/generate-image.js.map +1 -0
  391. package/dist/image-generation/index.js +7 -4
  392. package/dist/image-generation/types.js +2 -0
  393. package/dist/image-generation/types.js.map +1 -0
  394. package/dist/index.d.ts +5 -7
  395. package/dist/index.js +163 -57
  396. package/dist/internal/abort.js +13 -0
  397. package/dist/internal/abort.js.map +1 -0
  398. package/dist/internal/agent-runtime/agent-run.js +81 -0
  399. package/dist/internal/agent-runtime/agent-run.js.map +1 -0
  400. package/dist/internal/agent-runtime/approval-request.js +1 -0
  401. package/dist/internal/agent-runtime/approval-request.js.map +1 -0
  402. package/dist/internal/agent-runtime/approval-requirement.js +9 -0
  403. package/dist/internal/agent-runtime/approval-requirement.js.map +1 -0
  404. package/dist/internal/agent-runtime/continuation-state.js +26 -0
  405. package/dist/internal/agent-runtime/continuation-state.js.map +1 -0
  406. package/dist/internal/agent-runtime/interaction-suspension.js +25 -0
  407. package/dist/internal/agent-runtime/interaction-suspension.js.map +1 -0
  408. package/dist/internal/agent-runtime/memory-scope.js +8 -0
  409. package/dist/internal/agent-runtime/memory-scope.js.map +1 -0
  410. package/dist/internal/agent-runtime/memory.js +24 -0
  411. package/dist/internal/agent-runtime/memory.js.map +1 -0
  412. package/dist/internal/agent-runtime/prepared-tool-call.js +19 -0
  413. package/dist/internal/agent-runtime/prepared-tool-call.js.map +1 -0
  414. package/dist/internal/agent-runtime/retrieval.js +35 -0
  415. package/dist/internal/agent-runtime/retrieval.js.map +1 -0
  416. package/dist/internal/agent-runtime/run-options.js +9 -0
  417. package/dist/internal/agent-runtime/run-options.js.map +1 -0
  418. package/dist/internal/agent-runtime/run-validation.js +9 -0
  419. package/dist/internal/agent-runtime/run-validation.js.map +1 -0
  420. package/dist/internal/agent-runtime/stream-events.js +11 -0
  421. package/dist/internal/agent-runtime/stream-events.js.map +1 -0
  422. package/dist/internal/agent-runtime/structured-output.js +13 -0
  423. package/dist/internal/agent-runtime/structured-output.js.map +1 -0
  424. package/dist/internal/agent-runtime/tool-execution.js +55 -0
  425. package/dist/internal/agent-runtime/tool-execution.js.map +1 -0
  426. package/dist/internal/agent.d.ts +5 -5
  427. package/dist/internal/agent.js +93 -57
  428. package/dist/internal/agent.js.map +1 -1
  429. package/dist/internal/async-queue.js +7 -0
  430. package/dist/internal/async-queue.js.map +1 -0
  431. package/dist/internal/completion-request.js +11 -0
  432. package/dist/internal/completion-request.js.map +1 -0
  433. package/dist/internal/concurrency.js +7 -0
  434. package/dist/internal/concurrency.js.map +1 -0
  435. package/dist/internal/json-object.js +8 -0
  436. package/dist/internal/json-object.js.map +1 -0
  437. package/dist/internal/rag-text.js +7 -0
  438. package/dist/internal/rag-text.js.map +1 -0
  439. package/dist/internal/record.js +7 -0
  440. package/dist/internal/record.js.map +1 -0
  441. package/dist/internal/team-runtime/coordination.js +12 -0
  442. package/dist/internal/team-runtime/coordination.js.map +1 -0
  443. package/dist/internal/team-runtime/member.js +26 -0
  444. package/dist/internal/team-runtime/member.js.map +1 -0
  445. package/dist/internal/team-runtime/policy.js +7 -0
  446. package/dist/internal/team-runtime/policy.js.map +1 -0
  447. package/dist/internal/team-runtime/run.js +95 -0
  448. package/dist/internal/team-runtime/run.js.map +1 -0
  449. package/dist/internal/team-runtime/stream.js +9 -0
  450. package/dist/internal/team-runtime/stream.js.map +1 -0
  451. package/dist/internal/team-runtime/tools.js +17 -0
  452. package/dist/internal/team-runtime/tools.js.map +1 -0
  453. package/dist/internal/type-utils.js +1 -0
  454. package/dist/internal/type-utils.js.map +1 -0
  455. package/dist/internal/vector-search-options.js +9 -0
  456. package/dist/internal/vector-search-options.js.map +1 -0
  457. package/dist/mcp/index.js +3 -1
  458. package/dist/mcp/tool.js +7 -0
  459. package/dist/mcp/tool.js.map +1 -0
  460. package/dist/mcp/types.js +2 -0
  461. package/dist/mcp/types.js.map +1 -0
  462. package/dist/memory/assert.js +11 -0
  463. package/dist/memory/assert.js.map +1 -0
  464. package/dist/memory/compaction.js +26 -0
  465. package/dist/memory/compaction.js.map +1 -0
  466. package/dist/memory/errors.js +9 -0
  467. package/dist/memory/errors.js.map +1 -0
  468. package/dist/memory/index.js +23 -10
  469. package/dist/memory/options.js +10 -0
  470. package/dist/memory/options.js.map +1 -0
  471. package/dist/memory/scope-key.js +7 -0
  472. package/dist/memory/scope-key.js.map +1 -0
  473. package/dist/memory/types.js +2 -0
  474. package/dist/memory/types.js.map +1 -0
  475. package/dist/{types-CRda8x7p.d.ts → middleware-CWjnMbiH.d.ts} +64 -5
  476. package/dist/model-call-options.js +1 -0
  477. package/dist/model-call-options.js.map +1 -0
  478. package/dist/model-listing/errors.js +7 -0
  479. package/dist/model-listing/errors.js.map +1 -0
  480. package/dist/model-listing/index.js +4 -13
  481. package/dist/model-listing/index.js.map +1 -1
  482. package/dist/model-listing/types.js +2 -0
  483. package/dist/model-listing/types.js.map +1 -0
  484. package/dist/observability/group.js +30 -0
  485. package/dist/observability/group.js.map +1 -0
  486. package/dist/observability/index.d.ts +4 -6
  487. package/dist/observability/index.js +16 -8
  488. package/dist/observability/snapshot.js +7 -0
  489. package/dist/observability/snapshot.js.map +1 -0
  490. package/dist/observability/types.js +1 -0
  491. package/dist/observability/types.js.map +1 -0
  492. package/dist/pipeline/errors.js +9 -0
  493. package/dist/pipeline/errors.js.map +1 -0
  494. package/dist/pipeline/graph.js +21 -0
  495. package/dist/pipeline/graph.js.map +1 -0
  496. package/dist/pipeline/index.d.ts +4 -6
  497. package/dist/pipeline/index.js +27 -805
  498. package/dist/pipeline/index.js.map +1 -1
  499. package/dist/pipeline/observability.js +15 -0
  500. package/dist/pipeline/observability.js.map +1 -0
  501. package/dist/pipeline/pipeline.js +30 -0
  502. package/dist/pipeline/pipeline.js.map +1 -0
  503. package/dist/pipeline/runtime.js +17 -0
  504. package/dist/pipeline/runtime.js.map +1 -0
  505. package/dist/pipeline/types.js +1 -0
  506. package/dist/pipeline/types.js.map +1 -0
  507. package/dist/retry.js +20 -0
  508. package/dist/retry.js.map +1 -0
  509. package/dist/schema/index.js +1 -0
  510. package/dist/schema/index.js.map +1 -0
  511. package/dist/schema/zod-schema.js +7 -0
  512. package/dist/schema/zod-schema.js.map +1 -0
  513. package/dist/skills/index.js +41 -12
  514. package/dist/skills/instructions.js +7 -0
  515. package/dist/skills/instructions.js.map +1 -0
  516. package/dist/skills/load.js +39 -0
  517. package/dist/skills/load.js.map +1 -0
  518. package/dist/skills/local.js +9 -0
  519. package/dist/skills/local.js.map +1 -0
  520. package/dist/skills/tools.js +37 -0
  521. package/dist/skills/tools.js.map +1 -0
  522. package/dist/skills/types.js +7 -0
  523. package/dist/skills/types.js.map +1 -0
  524. package/dist/speech-generation/generate-speech.js +11 -0
  525. package/dist/speech-generation/generate-speech.js.map +1 -0
  526. package/dist/speech-generation/index.js +7 -4
  527. package/dist/speech-generation/types.js +2 -0
  528. package/dist/speech-generation/types.js.map +1 -0
  529. package/dist/streaming/index.js +4 -37
  530. package/dist/streaming/index.js.map +1 -1
  531. package/dist/streaming/readable-stream.js +8 -0
  532. package/dist/streaming/readable-stream.js.map +1 -0
  533. package/dist/{text-CmjXxakS.d.ts → text-GbW4WYMg.d.ts} +1 -1
  534. package/dist/tool/create-tool.js +14 -0
  535. package/dist/tool/create-tool.js.map +1 -0
  536. package/dist/tool/dynamic-tools.js +35 -0
  537. package/dist/tool/dynamic-tools.js.map +1 -0
  538. package/dist/tool/errors.js +11 -0
  539. package/dist/tool/errors.js.map +1 -0
  540. package/dist/tool/index.d.ts +3 -2
  541. package/dist/tool/index.js +41 -15
  542. package/dist/tool/middleware.js +7 -0
  543. package/dist/tool/middleware.js.map +1 -0
  544. package/dist/tool/question-tool.js +17 -0
  545. package/dist/tool/question-tool.js.map +1 -0
  546. package/dist/tool/skill-tool-marker.js +9 -0
  547. package/dist/tool/skill-tool-marker.js.map +1 -0
  548. package/dist/tool/think-tool.js +15 -0
  549. package/dist/tool/think-tool.js.map +1 -0
  550. package/dist/tool/tool.js +17 -0
  551. package/dist/tool/tool.js.map +1 -0
  552. package/dist/transcription/index.js +7 -4
  553. package/dist/transcription/transcribe.js +11 -0
  554. package/dist/transcription/transcribe.js.map +1 -0
  555. package/dist/transcription/types.js +2 -0
  556. package/dist/transcription/types.js.map +1 -0
  557. package/dist/{types-h0EL6Xn0.d.ts → types-Bqw0AuFl.d.ts} +6 -2
  558. package/dist/vector-store/filter.js +9 -0
  559. package/dist/vector-store/filter.js.map +1 -0
  560. package/dist/vector-store/index.js +31 -11
  561. package/dist/vector-store/ingest.js +19 -0
  562. package/dist/vector-store/ingest.js.map +1 -0
  563. package/dist/vector-store/lsh.js +7 -0
  564. package/dist/vector-store/lsh.js.map +1 -0
  565. package/dist/vector-store/retrieve.js +15 -0
  566. package/dist/vector-store/retrieve.js.map +1 -0
  567. package/dist/vector-store/types.js +1 -0
  568. package/dist/vector-store/types.js.map +1 -0
  569. package/package.json +2 -2
  570. package/dist/chunk-2QZJTG2E.js.map +0 -1
  571. package/dist/chunk-3RWESPUG.js.map +0 -1
  572. package/dist/chunk-4UQALF5Y.js.map +0 -1
  573. package/dist/chunk-AZB6N7P4.js +0 -320
  574. package/dist/chunk-AZB6N7P4.js.map +0 -1
  575. package/dist/chunk-JLJMVRRE.js.map +0 -1
  576. package/dist/chunk-K5L7R7XM.js.map +0 -1
  577. package/dist/chunk-OI3LSMJG.js +0 -1545
  578. package/dist/chunk-OI3LSMJG.js.map +0 -1
  579. package/dist/chunk-QGX73TSQ.js.map +0 -1
  580. package/dist/chunk-XC3LVC4K.js +0 -753
  581. package/dist/chunk-XC3LVC4K.js.map +0 -1
  582. package/dist/chunk-XEVOC433.js.map +0 -1
  583. package/dist/chunk-XSV5C4R5.js +0 -400
  584. package/dist/chunk-XSV5C4R5.js.map +0 -1
  585. package/dist/chunk-XU54PLSD.js +0 -4786
  586. package/dist/chunk-XU54PLSD.js.map +0 -1
  587. package/dist/middleware-mY_lpjDp.d.ts +0 -59
  588. package/dist/type-utils-CtHVDRn_.d.ts +0 -6
  589. /package/dist/{chunk-YK4WAAS4.js.map → chunk-2NLINXRF.js.map} +0 -0
  590. /package/dist/{chunk-SPD4XVR7.js.map → chunk-2XSMGVBG.js.map} +0 -0
  591. /package/dist/{chunk-3XQGVDU5.js.map → chunk-4C7AXYOM.js.map} +0 -0
  592. /package/dist/{chunk-IZNOP6JG.js.map → chunk-4FIVU53H.js.map} +0 -0
  593. /package/dist/{chunk-7JLAIN6E.js.map → chunk-4ONUNWGC.js.map} +0 -0
  594. /package/dist/{chunk-KSKST3KP.js.map → chunk-H3H74RWJ.js.map} +0 -0
  595. /package/dist/{chunk-OJBFDBLG.js.map → chunk-LBYJPMHC.js.map} +0 -0
  596. /package/dist/{chunk-J6LVLV6P.js.map → chunk-PLDJCCVL.js.map} +0 -0
  597. /package/dist/{chunk-AHLKV6KP.js.map → chunk-WN6AVBO4.js.map} +0 -0
  598. /package/dist/{chunk-Q5BCNYED.js.map → chunk-XJRNBTIV.js.map} +0 -0
@@ -0,0 +1,29 @@
1
+ import {
2
+ createSkillTools
3
+ } from "./chunk-BDDC72GF.js";
4
+ import {
5
+ skillInstructions
6
+ } from "./chunk-JBQNCUXA.js";
7
+
8
+ // src/skills/load.ts
9
+ async function loadSkills(loaders) {
10
+ const ordered = Array.isArray(loaders) ? loaders : [loaders];
11
+ const byName = /* @__PURE__ */ new Map();
12
+ for (const loader of ordered) {
13
+ for (const loaded of await loader.load()) {
14
+ byName.delete(loaded.name);
15
+ byName.set(loaded.name, loaded);
16
+ }
17
+ }
18
+ const skills = [...byName.values()];
19
+ return {
20
+ skills,
21
+ instructions: skillInstructions(skills),
22
+ tools: skills.length === 0 ? [] : createSkillTools(skills)
23
+ };
24
+ }
25
+
26
+ export {
27
+ loadSkills
28
+ };
29
+ //# sourceMappingURL=chunk-KZGSXJKU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/skills/load.ts"],"sourcesContent":["import { skillInstructions } from \"./instructions\";\nimport { createSkillTools } from \"./tools\";\nimport type { Skill, SkillLoader, SkillSet } from \"./types\";\n\nexport async function loadSkills(loaders: SkillLoader | SkillLoader[]): Promise<SkillSet> {\n const ordered = Array.isArray(loaders) ? loaders : [loaders];\n const byName = new Map<string, Skill>();\n\n for (const loader of ordered) {\n for (const loaded of await loader.load()) {\n byName.delete(loaded.name);\n byName.set(loaded.name, loaded);\n }\n }\n\n const skills = [...byName.values()];\n return {\n skills,\n instructions: skillInstructions(skills),\n tools: skills.length === 0 ? [] : createSkillTools(skills),\n };\n}\n"],"mappings":";;;;;;;;AAIA,eAAsB,WAAW,SAAyD;AACxF,QAAM,UAAU,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAC3D,QAAM,SAAS,oBAAI,IAAmB;AAEtC,aAAW,UAAU,SAAS;AAC5B,eAAW,UAAU,MAAM,OAAO,KAAK,GAAG;AACxC,aAAO,OAAO,OAAO,IAAI;AACzB,aAAO,IAAI,OAAO,MAAM,MAAM;AAAA,IAChC;AAAA,EACF;AAEA,QAAM,SAAS,CAAC,GAAG,OAAO,OAAO,CAAC;AAClC,SAAO;AAAA,IACL;AAAA,IACA,cAAc,kBAAkB,MAAM;AAAA,IACtC,OAAO,OAAO,WAAW,IAAI,CAAC,IAAI,iBAAiB,MAAM;AAAA,EAC3D;AACF;","names":[]}
@@ -0,0 +1,24 @@
1
+ import {
2
+ lifecycleSnapshot
3
+ } from "./chunk-KFAVEL5F.js";
4
+
5
+ // src/internal/agent-runtime/memory-scope.ts
6
+ function normalizeMemoryScope(scope, owner = "Agent") {
7
+ if (typeof scope !== "object" || scope === null || Array.isArray(scope)) {
8
+ throw new TypeError(`${owner} session must be an object.`);
9
+ }
10
+ if (typeof scope.sessionId !== "string" || scope.sessionId.trim().length === 0) {
11
+ throw new TypeError(`${owner} sessionId must be a non-empty string.`);
12
+ }
13
+ const normalized = {
14
+ sessionId: scope.sessionId.trim()
15
+ };
16
+ if (scope.userId !== void 0) normalized.userId = scope.userId;
17
+ if (scope.metadata !== void 0) normalized.metadata = scope.metadata;
18
+ return lifecycleSnapshot(normalized);
19
+ }
20
+
21
+ export {
22
+ normalizeMemoryScope
23
+ };
24
+ //# sourceMappingURL=chunk-LAIATEUB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/agent-runtime/memory-scope.ts"],"sourcesContent":["import { lifecycleSnapshot } from \"../../agent/lifecycle\";\nimport type { MemoryScope } from \"../../memory/types\";\n\nexport function normalizeMemoryScope(scope: MemoryScope, owner = \"Agent\"): MemoryScope {\n if (typeof scope !== \"object\" || scope === null || Array.isArray(scope)) {\n throw new TypeError(`${owner} session must be an object.`);\n }\n if (typeof scope.sessionId !== \"string\" || scope.sessionId.trim().length === 0) {\n throw new TypeError(`${owner} sessionId must be a non-empty string.`);\n }\n const normalized: MemoryScope = {\n sessionId: scope.sessionId.trim(),\n };\n if (scope.userId !== undefined) normalized.userId = scope.userId;\n if (scope.metadata !== undefined) normalized.metadata = scope.metadata;\n return lifecycleSnapshot(normalized);\n}\n"],"mappings":";;;;;AAGO,SAAS,qBAAqB,OAAoB,QAAQ,SAAsB;AACrF,MAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GAAG;AACvE,UAAM,IAAI,UAAU,GAAG,KAAK,6BAA6B;AAAA,EAC3D;AACA,MAAI,OAAO,MAAM,cAAc,YAAY,MAAM,UAAU,KAAK,EAAE,WAAW,GAAG;AAC9E,UAAM,IAAI,UAAU,GAAG,KAAK,wCAAwC;AAAA,EACtE;AACA,QAAM,aAA0B;AAAA,IAC9B,WAAW,MAAM,UAAU,KAAK;AAAA,EAClC;AACA,MAAI,MAAM,WAAW,OAAW,YAAW,SAAS,MAAM;AAC1D,MAAI,MAAM,aAAa,OAAW,YAAW,WAAW,MAAM;AAC9D,SAAO,kBAAkB,UAAU;AACrC;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isJsonValue
3
- } from "./chunk-3XQGVDU5.js";
3
+ } from "./chunk-4C7AXYOM.js";
4
4
 
5
5
  // src/agent/interactions.ts
6
6
  import { z } from "zod";
@@ -161,4 +161,4 @@ export {
161
161
  parseAgentContinuation,
162
162
  assertAgentInteractionResponse
163
163
  };
164
- //# sourceMappingURL=chunk-OJBFDBLG.js.map
164
+ //# sourceMappingURL=chunk-LBYJPMHC.js.map
@@ -0,0 +1,49 @@
1
+ import {
2
+ extract
3
+ } from "./chunk-UOGM62JL.js";
4
+ import {
5
+ Usage
6
+ } from "./chunk-IDNL6IH4.js";
7
+
8
+ // src/evals/judge.ts
9
+ async function runJudge(args) {
10
+ const result = await extract({
11
+ model: args.model,
12
+ outputSchema: args.schema,
13
+ instructions: args.instructions,
14
+ text: args.prompt,
15
+ temperature: 0,
16
+ retries: args.retries <= 0 ? void 0 : { maxAttempts: Math.trunc(args.retries) + 1 }
17
+ });
18
+ return { data: result.output, usage: result.usage };
19
+ }
20
+ function addUsage(...values) {
21
+ return values.reduce((total, usage) => Usage.add(total, usage), Usage.empty());
22
+ }
23
+ function evaluationMetadata(details, usage) {
24
+ const evaluation = {
25
+ ...details,
26
+ usage: usageToJson(usage)
27
+ };
28
+ return { evaluation };
29
+ }
30
+ function usageToJson(usage) {
31
+ const value = {
32
+ inputTokens: usage.inputTokens,
33
+ outputTokens: usage.outputTokens,
34
+ totalTokens: usage.totalTokens,
35
+ cachedInputTokens: usage.cachedInputTokens,
36
+ cacheCreationInputTokens: usage.cacheCreationInputTokens
37
+ };
38
+ if (usage.details !== void 0) {
39
+ value.details = { ...usage.details };
40
+ }
41
+ return value;
42
+ }
43
+
44
+ export {
45
+ runJudge,
46
+ addUsage,
47
+ evaluationMetadata
48
+ };
49
+ //# sourceMappingURL=chunk-LKIABZNR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/evals/judge.ts"],"sourcesContent":["import type { CompletionModel, JsonObject, Usage } from \"../completion\";\nimport { Usage as UsageValue } from \"../completion\";\nimport { extract } from \"../extractor\";\nimport type { ZodSchema } from \"../schema\";\nimport type { EvalMetadata } from \"./types\";\n\nexport type JudgeResult<T> = {\n data: T;\n usage: Usage;\n};\n\nexport async function runJudge<T>(args: {\n model: CompletionModel;\n schema: ZodSchema<T>;\n instructions: string;\n prompt: string;\n retries: number;\n}): Promise<JudgeResult<T>> {\n const result = await extract({\n model: args.model,\n outputSchema: args.schema,\n instructions: args.instructions,\n text: args.prompt,\n temperature: 0,\n retries: args.retries <= 0 ? undefined : { maxAttempts: Math.trunc(args.retries) + 1 },\n });\n return { data: result.output, usage: result.usage };\n}\n\nexport function addUsage(...values: Usage[]): Usage {\n return values.reduce((total, usage) => UsageValue.add(total, usage), UsageValue.empty());\n}\n\nexport function evaluationMetadata(details: JsonObject, usage: Usage): EvalMetadata {\n const evaluation: JsonObject = {\n ...details,\n usage: usageToJson(usage),\n };\n return { evaluation };\n}\n\nfunction usageToJson(usage: Usage): JsonObject {\n const value: JsonObject = {\n inputTokens: usage.inputTokens,\n outputTokens: usage.outputTokens,\n totalTokens: usage.totalTokens,\n cachedInputTokens: usage.cachedInputTokens,\n cacheCreationInputTokens: usage.cacheCreationInputTokens,\n };\n if (usage.details !== undefined) {\n value.details = { ...usage.details };\n }\n return value;\n}\n"],"mappings":";;;;;;;;AAWA,eAAsB,SAAY,MAMN;AAC1B,QAAM,SAAS,MAAM,QAAQ;AAAA,IAC3B,OAAO,KAAK;AAAA,IACZ,cAAc,KAAK;AAAA,IACnB,cAAc,KAAK;AAAA,IACnB,MAAM,KAAK;AAAA,IACX,aAAa;AAAA,IACb,SAAS,KAAK,WAAW,IAAI,SAAY,EAAE,aAAa,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE;AAAA,EACvF,CAAC;AACD,SAAO,EAAE,MAAM,OAAO,QAAQ,OAAO,OAAO,MAAM;AACpD;AAEO,SAAS,YAAY,QAAwB;AAClD,SAAO,OAAO,OAAO,CAAC,OAAO,UAAU,MAAW,IAAI,OAAO,KAAK,GAAG,MAAW,MAAM,CAAC;AACzF;AAEO,SAAS,mBAAmB,SAAqB,OAA4B;AAClF,QAAM,aAAyB;AAAA,IAC7B,GAAG;AAAA,IACH,OAAO,YAAY,KAAK;AAAA,EAC1B;AACA,SAAO,EAAE,WAAW;AACtB;AAEA,SAAS,YAAY,OAA0B;AAC7C,QAAM,QAAoB;AAAA,IACxB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,aAAa,MAAM;AAAA,IACnB,mBAAmB,MAAM;AAAA,IACzB,0BAA0B,MAAM;AAAA,EAClC;AACA,MAAI,MAAM,YAAY,QAAW;AAC/B,UAAM,UAAU,EAAE,GAAG,MAAM,QAAQ;AAAA,EACrC;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,23 @@
1
+ // src/memory/errors.ts
2
+ var MemoryCompactionError = class extends Error {
3
+ usage;
4
+ constructor(message, options = {}) {
5
+ super(message, options);
6
+ this.name = "MemoryCompactionError";
7
+ this.usage = options.usage;
8
+ }
9
+ };
10
+ var MemoryCompactionConflictError = class extends MemoryCompactionError {
11
+ constructor(attempts, usage) {
12
+ super(`Memory compaction could not commit after ${attempts} concurrent update attempts.`, {
13
+ usage
14
+ });
15
+ this.name = "MemoryCompactionConflictError";
16
+ }
17
+ };
18
+
19
+ export {
20
+ MemoryCompactionError,
21
+ MemoryCompactionConflictError
22
+ };
23
+ //# sourceMappingURL=chunk-LQJ4KHMY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/memory/errors.ts"],"sourcesContent":["import type { Usage } from \"../completion/types\";\n\nexport class MemoryCompactionError extends Error {\n readonly usage: Usage | undefined;\n\n constructor(message: string, options: ErrorOptions & { usage?: Usage | undefined } = {}) {\n super(message, options);\n this.name = \"MemoryCompactionError\";\n this.usage = options.usage;\n }\n}\n\nexport class MemoryCompactionConflictError extends MemoryCompactionError {\n constructor(attempts: number, usage?: Usage) {\n super(`Memory compaction could not commit after ${attempts} concurrent update attempts.`, {\n usage,\n });\n this.name = \"MemoryCompactionConflictError\";\n }\n}\n"],"mappings":";AAEO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EACtC;AAAA,EAET,YAAY,SAAiB,UAAwD,CAAC,GAAG;AACvF,UAAM,SAAS,OAAO;AACtB,SAAK,OAAO;AACZ,SAAK,QAAQ,QAAQ;AAAA,EACvB;AACF;AAEO,IAAM,gCAAN,cAA4C,sBAAsB;AAAA,EACvE,YAAY,UAAkB,OAAe;AAC3C,UAAM,4CAA4C,QAAQ,gCAAgC;AAAA,MACxF;AAAA,IACF,CAAC;AACD,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-MEN4AFDZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,93 @@
1
+ import {
2
+ normalizeToolResultOutput,
3
+ parseToolArgs
4
+ } from "./chunk-47NTHIVB.js";
5
+ import {
6
+ ToolCallError,
7
+ ToolJsonError
8
+ } from "./chunk-J6S6MT7O.js";
9
+
10
+ // src/internal/agent-runtime/prepared-tool-call.ts
11
+ var preparedToolInputSymbol = /* @__PURE__ */ Symbol("preparedToolInput");
12
+ var preparedToolOwnerSymbol = /* @__PURE__ */ Symbol("preparedToolOwner");
13
+ function attachPreparedToolOwner(tool, owner) {
14
+ Object.defineProperty(tool, preparedToolOwnerSymbol, {
15
+ configurable: false,
16
+ enumerable: true,
17
+ value: owner,
18
+ writable: false
19
+ });
20
+ return tool;
21
+ }
22
+ function preparedToolInput(context, owner) {
23
+ if (context === void 0 || !(preparedToolInputSymbol in context)) {
24
+ return void 0;
25
+ }
26
+ const prepared = context[preparedToolInputSymbol];
27
+ return prepared?.owner === owner ? { input: prepared.input } : void 0;
28
+ }
29
+ function withoutPreparedToolInput(context) {
30
+ if (!(preparedToolInputSymbol in context)) {
31
+ return context;
32
+ }
33
+ const { [preparedToolInputSymbol]: _prepared, ...publicContext } = context;
34
+ return publicContext;
35
+ }
36
+ function prepareToolCall(tool, args) {
37
+ let rawInput;
38
+ try {
39
+ rawInput = parseToolArgs(args);
40
+ } catch (error) {
41
+ throw new ToolJsonError(`Invalid JSON arguments for tool ${tool.name}`, error);
42
+ }
43
+ let input;
44
+ try {
45
+ input = tool.parseInput === void 0 ? rawInput : tool.parseInput(rawInput);
46
+ } catch (error) {
47
+ throw asToolCallError(tool.name, error);
48
+ }
49
+ return prepareToolCallFromInput(tool, input);
50
+ }
51
+ function prepareToolCallFromInput(tool, input) {
52
+ return {
53
+ input,
54
+ async call(context) {
55
+ try {
56
+ const owner = tool[preparedToolOwnerSymbol];
57
+ return normalizeToolResultOutput(
58
+ await tool.call(
59
+ input,
60
+ owner === void 0 ? context : withPreparedToolInput(context, owner, input)
61
+ )
62
+ );
63
+ } catch (error) {
64
+ throw asToolCallError(tool.name, error);
65
+ }
66
+ }
67
+ };
68
+ }
69
+ function withPreparedToolInput(context, owner, input) {
70
+ const preparedContext = { ...context };
71
+ Object.defineProperty(preparedContext, preparedToolInputSymbol, {
72
+ configurable: false,
73
+ enumerable: true,
74
+ value: { owner, input },
75
+ writable: false
76
+ });
77
+ return preparedContext;
78
+ }
79
+ function asToolCallError(toolName, error) {
80
+ if (error instanceof ToolCallError) {
81
+ return error;
82
+ }
83
+ return error instanceof Error ? new ToolCallError(error.message, error) : new ToolCallError(`Tool ${toolName} failed`, error);
84
+ }
85
+
86
+ export {
87
+ attachPreparedToolOwner,
88
+ preparedToolInput,
89
+ withoutPreparedToolInput,
90
+ prepareToolCall,
91
+ prepareToolCallFromInput
92
+ };
93
+ //# sourceMappingURL=chunk-MHOJJYDK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/agent-runtime/prepared-tool-call.ts"],"sourcesContent":["import { ToolCallError, ToolJsonError } from \"../../tool/errors\";\nimport {\n type AnyTool,\n type NormalizedToolOutput,\n normalizeToolResultOutput,\n parseToolArgs,\n type ToolCallContext,\n} from \"../../tool/tool\";\n\nconst preparedToolInputSymbol = Symbol(\"preparedToolInput\");\nconst preparedToolOwnerSymbol = Symbol(\"preparedToolOwner\");\n\nexport type PreparedToolCall = {\n input: unknown;\n call(context: ToolCallContext): Promise<NormalizedToolOutput>;\n};\n\ntype PreparedToolCallContext = ToolCallContext & {\n [preparedToolInputSymbol]?: { owner: object; input: unknown };\n};\n\ntype ToolWithPreparedOwner = AnyTool & {\n [preparedToolOwnerSymbol]?: object;\n};\n\nexport function attachPreparedToolOwner<T extends AnyTool>(tool: T, owner: object): T {\n Object.defineProperty(tool, preparedToolOwnerSymbol, {\n configurable: false,\n enumerable: true,\n value: owner,\n writable: false,\n });\n return tool;\n}\n\nexport function preparedToolInput(\n context: ToolCallContext | undefined,\n owner: object,\n): { input: unknown } | undefined {\n if (context === undefined || !(preparedToolInputSymbol in context)) {\n return undefined;\n }\n const prepared = (context as PreparedToolCallContext)[preparedToolInputSymbol];\n return prepared?.owner === owner ? { input: prepared.input } : undefined;\n}\n\nexport function withoutPreparedToolInput(context: ToolCallContext): ToolCallContext {\n if (!(preparedToolInputSymbol in context)) {\n return context;\n }\n const { [preparedToolInputSymbol]: _prepared, ...publicContext } =\n context as PreparedToolCallContext;\n return publicContext;\n}\n\nexport function prepareToolCall(tool: AnyTool, args: string): PreparedToolCall {\n let rawInput: ReturnType<typeof parseToolArgs>;\n try {\n rawInput = parseToolArgs(args);\n } catch (error) {\n throw new ToolJsonError(`Invalid JSON arguments for tool ${tool.name}`, error);\n }\n\n let input: unknown;\n try {\n input = tool.parseInput === undefined ? rawInput : tool.parseInput(rawInput);\n } catch (error) {\n throw asToolCallError(tool.name, error);\n }\n\n return prepareToolCallFromInput(tool, input);\n}\n\nexport function prepareToolCallFromInput(tool: AnyTool, input: unknown): PreparedToolCall {\n return {\n input,\n async call(context) {\n try {\n const owner = (tool as ToolWithPreparedOwner)[preparedToolOwnerSymbol];\n return normalizeToolResultOutput(\n await tool.call(\n input,\n owner === undefined ? context : withPreparedToolInput(context, owner, input),\n ),\n );\n } catch (error) {\n throw asToolCallError(tool.name, error);\n }\n },\n };\n}\n\nfunction withPreparedToolInput(\n context: ToolCallContext,\n owner: object,\n input: unknown,\n): ToolCallContext {\n const preparedContext: PreparedToolCallContext = { ...context };\n Object.defineProperty(preparedContext, preparedToolInputSymbol, {\n configurable: false,\n enumerable: true,\n value: { owner, input },\n writable: false,\n });\n return preparedContext;\n}\n\nfunction asToolCallError(toolName: string, error: unknown): ToolCallError {\n if (error instanceof ToolCallError) {\n return error;\n }\n return error instanceof Error\n ? new ToolCallError(error.message, error)\n : new ToolCallError(`Tool ${toolName} failed`, error);\n}\n"],"mappings":";;;;;;;;;;AASA,IAAM,0BAA0B,uBAAO,mBAAmB;AAC1D,IAAM,0BAA0B,uBAAO,mBAAmB;AAenD,SAAS,wBAA2C,MAAS,OAAkB;AACpF,SAAO,eAAe,MAAM,yBAAyB;AAAA,IACnD,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AACD,SAAO;AACT;AAEO,SAAS,kBACd,SACA,OACgC;AAChC,MAAI,YAAY,UAAa,EAAE,2BAA2B,UAAU;AAClE,WAAO;AAAA,EACT;AACA,QAAM,WAAY,QAAoC,uBAAuB;AAC7E,SAAO,UAAU,UAAU,QAAQ,EAAE,OAAO,SAAS,MAAM,IAAI;AACjE;AAEO,SAAS,yBAAyB,SAA2C;AAClF,MAAI,EAAE,2BAA2B,UAAU;AACzC,WAAO;AAAA,EACT;AACA,QAAM,EAAE,CAAC,uBAAuB,GAAG,WAAW,GAAG,cAAc,IAC7D;AACF,SAAO;AACT;AAEO,SAAS,gBAAgB,MAAe,MAAgC;AAC7E,MAAI;AACJ,MAAI;AACF,eAAW,cAAc,IAAI;AAAA,EAC/B,SAAS,OAAO;AACd,UAAM,IAAI,cAAc,mCAAmC,KAAK,IAAI,IAAI,KAAK;AAAA,EAC/E;AAEA,MAAI;AACJ,MAAI;AACF,YAAQ,KAAK,eAAe,SAAY,WAAW,KAAK,WAAW,QAAQ;AAAA,EAC7E,SAAS,OAAO;AACd,UAAM,gBAAgB,KAAK,MAAM,KAAK;AAAA,EACxC;AAEA,SAAO,yBAAyB,MAAM,KAAK;AAC7C;AAEO,SAAS,yBAAyB,MAAe,OAAkC;AACxF,SAAO;AAAA,IACL;AAAA,IACA,MAAM,KAAK,SAAS;AAClB,UAAI;AACF,cAAM,QAAS,KAA+B,uBAAuB;AACrE,eAAO;AAAA,UACL,MAAM,KAAK;AAAA,YACT;AAAA,YACA,UAAU,SAAY,UAAU,sBAAsB,SAAS,OAAO,KAAK;AAAA,UAC7E;AAAA,QACF;AAAA,MACF,SAAS,OAAO;AACd,cAAM,gBAAgB,KAAK,MAAM,KAAK;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,sBACP,SACA,OACA,OACiB;AACjB,QAAM,kBAA2C,EAAE,GAAG,QAAQ;AAC9D,SAAO,eAAe,iBAAiB,yBAAyB;AAAA,IAC9D,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,OAAO,EAAE,OAAO,MAAM;AAAA,IACtB,UAAU;AAAA,EACZ,CAAC;AACD,SAAO;AACT;AAEA,SAAS,gBAAgB,UAAkB,OAA+B;AACxE,MAAI,iBAAiB,eAAe;AAClC,WAAO;AAAA,EACT;AACA,SAAO,iBAAiB,QACpB,IAAI,cAAc,MAAM,SAAS,KAAK,IACtC,IAAI,cAAc,QAAQ,QAAQ,WAAW,KAAK;AACxD;","names":[]}
@@ -0,0 +1,30 @@
1
+ // src/internal/rag-text.ts
2
+ function extractRagText(message) {
3
+ if (message.role === "user") {
4
+ if (typeof message.content === "string") {
5
+ return message.content;
6
+ }
7
+ return message.content.flatMap((item) => item.type === "text" ? [item.text] : []).join("\n");
8
+ }
9
+ if (message.role === "tool") {
10
+ return message.content.flatMap((item) => {
11
+ if (item.type !== "tool-result") {
12
+ return [];
13
+ }
14
+ const output = item.output;
15
+ if (output.type === "text" || output.type === "error-text") {
16
+ return [output.value];
17
+ }
18
+ if (output.type === "content") {
19
+ return output.value.flatMap((part) => part.type === "text" ? [part.text] : []);
20
+ }
21
+ return [];
22
+ }).join("\n");
23
+ }
24
+ return void 0;
25
+ }
26
+
27
+ export {
28
+ extractRagText
29
+ };
30
+ //# sourceMappingURL=chunk-MJCMKZFP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/rag-text.ts"],"sourcesContent":["import type { Message as MessageType } from \"../completion/index\";\n\nexport function extractRagText(message: MessageType): string | undefined {\n if (message.role === \"user\") {\n if (typeof message.content === \"string\") {\n return message.content;\n }\n return message.content.flatMap((item) => (item.type === \"text\" ? [item.text] : [])).join(\"\\n\");\n }\n\n if (message.role === \"tool\") {\n return message.content\n .flatMap((item) => {\n if (item.type !== \"tool-result\") {\n return [];\n }\n const output = item.output;\n if (output.type === \"text\" || output.type === \"error-text\") {\n return [output.value];\n }\n if (output.type === \"content\") {\n return output.value.flatMap((part) => (part.type === \"text\" ? [part.text] : []));\n }\n return [];\n })\n .join(\"\\n\");\n }\n\n return undefined;\n}\n"],"mappings":";AAEO,SAAS,eAAe,SAA0C;AACvE,MAAI,QAAQ,SAAS,QAAQ;AAC3B,QAAI,OAAO,QAAQ,YAAY,UAAU;AACvC,aAAO,QAAQ;AAAA,IACjB;AACA,WAAO,QAAQ,QAAQ,QAAQ,CAAC,SAAU,KAAK,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAE,EAAE,KAAK,IAAI;AAAA,EAC/F;AAEA,MAAI,QAAQ,SAAS,QAAQ;AAC3B,WAAO,QAAQ,QACZ,QAAQ,CAAC,SAAS;AACjB,UAAI,KAAK,SAAS,eAAe;AAC/B,eAAO,CAAC;AAAA,MACV;AACA,YAAM,SAAS,KAAK;AACpB,UAAI,OAAO,SAAS,UAAU,OAAO,SAAS,cAAc;AAC1D,eAAO,CAAC,OAAO,KAAK;AAAA,MACtB;AACA,UAAI,OAAO,SAAS,WAAW;AAC7B,eAAO,OAAO,MAAM,QAAQ,CAAC,SAAU,KAAK,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAE;AAAA,MACjF;AACA,aAAO,CAAC;AAAA,IACV,CAAC,EACA,KAAK,IAAI;AAAA,EACd;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,168 @@
1
+ import {
2
+ isToolIndex
3
+ } from "./chunk-G336L2IE.js";
4
+ import {
5
+ isMcpTool
6
+ } from "./chunk-PLDJCCVL.js";
7
+ import {
8
+ cloneFrozenPlainData
9
+ } from "./chunk-NVALGVQG.js";
10
+ import {
11
+ assertFiniteMinScore,
12
+ assertPositiveSearchLimit
13
+ } from "./chunk-5V533R7F.js";
14
+
15
+ // src/agent/tool-catalog.ts
16
+ function prepareAgentTools(options) {
17
+ assertUniqueMcpServerNames(options.mcpServers ?? []);
18
+ const mcpServers = Object.freeze((options.mcpServers ?? []).map(snapshotMcpServer));
19
+ const configuredTools = [...options.tools ?? []];
20
+ const staticTools = [...configuredTools, ...mcpServers.flatMap((server) => server.tools)];
21
+ const toolIndexes = (options.toolIndexes ?? []).map(snapshotToolIndex);
22
+ const providerTools = (options.providerTools ?? []).map(snapshotProviderTool);
23
+ assertUniqueAgentToolNames({ staticTools, providerTools, toolIndexes });
24
+ const toolsByName = new Map(staticTools.map((tool) => [tool.name, tool]));
25
+ for (const index of toolIndexes) {
26
+ for (const tool of index.tools) {
27
+ toolsByName.set(tool.name, tool);
28
+ }
29
+ }
30
+ const tools = Object.freeze([...toolsByName.values()]);
31
+ const publicState = Object.freeze({
32
+ configuredTools: Object.freeze(configuredTools),
33
+ staticTools: Object.freeze(staticTools),
34
+ providerTools: Object.freeze(providerTools),
35
+ toolIndexes: Object.freeze(toolIndexes)
36
+ });
37
+ return { mcpServers, tools, publicState, toolsByName };
38
+ }
39
+ function assertUniqueAgentToolNames(options) {
40
+ const owners = /* @__PURE__ */ new Map();
41
+ for (const tool of options.staticTools) {
42
+ registerToolOwner(owners, tool.name, isMcpTool(tool) ? "MCP tool" : "local or skill tool");
43
+ }
44
+ for (const tool of options.providerTools) {
45
+ registerToolOwner(owners, tool.name, "provider tool");
46
+ }
47
+ for (const [indexPosition, index] of options.toolIndexes.entries()) {
48
+ if (!isToolIndex(index)) {
49
+ throw new TypeError("Invalid tool index: search, tools, and a numeric topK are required.");
50
+ }
51
+ assertPositiveSearchLimit(index.topK);
52
+ assertFiniteMinScore(index.minScore);
53
+ for (const tool of index.tools) {
54
+ if (isMcpTool(tool)) {
55
+ throw new TypeError(
56
+ `MCP tool "${tool.name}" must be registered through Agent.mcpServers, not a tool index.`
57
+ );
58
+ }
59
+ registerToolOwner(owners, tool.name, `tool index ${indexPosition + 1}`);
60
+ }
61
+ }
62
+ }
63
+ function registerToolOwner(owners, name, owner) {
64
+ const existing = owners.get(name);
65
+ if (existing !== void 0) {
66
+ throw new TypeError(
67
+ `Tool name collision for "${name}" between ${existing} and ${owner}. Tool names must be unique across every Agent tool source.`
68
+ );
69
+ }
70
+ owners.set(name, owner);
71
+ }
72
+ function snapshotProviderTool(tool) {
73
+ let snapshot = {
74
+ ...tool
75
+ };
76
+ if (tool.configuration !== void 0) {
77
+ snapshot = { ...snapshot, configuration: cloneFrozenPlainData(tool.configuration) };
78
+ }
79
+ return Object.freeze(snapshot);
80
+ }
81
+ function snapshotMcpServer(server) {
82
+ if (server.name.trim() === "") {
83
+ throw new TypeError("MCP server name must not be empty.");
84
+ }
85
+ for (const tool of server.tools) {
86
+ if (!isMcpTool(tool)) {
87
+ throw new TypeError(`MCP server "${server.name}" contains an invalid MCP tool.`);
88
+ }
89
+ if (tool.mcp.serverName !== server.name) {
90
+ throw new TypeError(
91
+ `MCP tool "${tool.name}" belongs to server "${tool.mcp.serverName}", not "${server.name}".`
92
+ );
93
+ }
94
+ }
95
+ const tools = server.tools.map(snapshotMcpTool);
96
+ let snapshot = {
97
+ name: server.name,
98
+ tools: Object.freeze(tools)
99
+ };
100
+ if (server.serverInfo !== void 0) {
101
+ snapshot = { ...snapshot, serverInfo: cloneFrozenPlainData(server.serverInfo) };
102
+ }
103
+ if (server.capabilities !== void 0) {
104
+ snapshot = { ...snapshot, capabilities: cloneFrozenPlainData(server.capabilities) };
105
+ }
106
+ if (server.instructions !== void 0) {
107
+ snapshot = { ...snapshot, instructions: server.instructions };
108
+ }
109
+ return Object.freeze(snapshot);
110
+ }
111
+ function snapshotMcpTool(tool) {
112
+ if (Object.isFrozen(tool) && Object.isFrozen(tool.mcp)) {
113
+ return tool;
114
+ }
115
+ const parseInput = tool.parseInput;
116
+ let snapshot = {
117
+ name: tool.name,
118
+ mcp: Object.freeze({ ...tool.mcp }),
119
+ definition: (prompt) => tool.definition(prompt),
120
+ call: (args, context) => tool.call(args, context)
121
+ };
122
+ if (tool.requiresApproval !== void 0) {
123
+ snapshot = { ...snapshot, requiresApproval: tool.requiresApproval };
124
+ }
125
+ if (parseInput !== void 0) {
126
+ snapshot = {
127
+ ...snapshot,
128
+ parseInput: (args) => parseInput.call(tool, args)
129
+ };
130
+ }
131
+ return Object.freeze(snapshot);
132
+ }
133
+ function assertUniqueMcpServerNames(servers) {
134
+ const names = /* @__PURE__ */ new Set();
135
+ for (const server of servers) {
136
+ if (names.has(server.name)) {
137
+ throw new TypeError(`Duplicate MCP server name "${server.name}".`);
138
+ }
139
+ names.add(server.name);
140
+ }
141
+ }
142
+ function snapshotToolIndex(index) {
143
+ const inspect = index.inspect;
144
+ let snapshot = {
145
+ kind: "tool-index",
146
+ tools: Object.freeze([...index.tools]),
147
+ topK: index.topK,
148
+ search: (options) => index.search(options)
149
+ };
150
+ if (index.minScore !== void 0) {
151
+ snapshot = { ...snapshot, minScore: index.minScore };
152
+ }
153
+ if (index.filter !== void 0) {
154
+ snapshot = { ...snapshot, filter: cloneFrozenPlainData(index.filter) };
155
+ }
156
+ if (inspect !== void 0) {
157
+ snapshot = {
158
+ ...snapshot,
159
+ inspect: (request) => inspect.call(index, request)
160
+ };
161
+ }
162
+ return Object.freeze(snapshot);
163
+ }
164
+
165
+ export {
166
+ prepareAgentTools
167
+ };
168
+ //# sourceMappingURL=chunk-MNYMLWWA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/agent/tool-catalog.ts"],"sourcesContent":["import type { JsonValue, ProviderTool } from \"../completion\";\nimport { assertFiniteMinScore, assertPositiveSearchLimit } from \"../internal/vector-search-options\";\nimport { isMcpTool, type McpServer } from \"../mcp\";\nimport { isToolIndex, type ToolIndex } from \"../tool/dynamic-tools\";\nimport type { AnyTool, ToolCallContext } from \"../tool/tool\";\nimport type { VectorInspectRequest } from \"../vector-store\";\nimport { cloneFrozenPlainData } from \"./snapshot\";\nimport type { AgentToolState } from \"./tool-state\";\nimport type { ResolvedAgentOptions } from \"./types\";\n\nexport type PreparedAgentTools = {\n mcpServers: readonly McpServer[];\n tools: readonly AnyTool[];\n publicState: AgentToolState;\n toolsByName: Map<string, AnyTool>;\n};\n\nexport function prepareAgentTools(\n options: Pick<ResolvedAgentOptions, \"tools\" | \"mcpServers\" | \"providerTools\" | \"toolIndexes\">,\n): PreparedAgentTools {\n assertUniqueMcpServerNames(options.mcpServers ?? []);\n const mcpServers = Object.freeze((options.mcpServers ?? []).map(snapshotMcpServer));\n const configuredTools = [...(options.tools ?? [])];\n const staticTools = [...configuredTools, ...mcpServers.flatMap((server) => server.tools)];\n const toolIndexes = (options.toolIndexes ?? []).map(snapshotToolIndex);\n const providerTools = (options.providerTools ?? []).map(snapshotProviderTool);\n assertUniqueAgentToolNames({ staticTools, providerTools, toolIndexes });\n\n const toolsByName = new Map(staticTools.map((tool) => [tool.name, tool]));\n for (const index of toolIndexes) {\n for (const tool of index.tools) {\n toolsByName.set(tool.name, tool);\n }\n }\n const tools = Object.freeze([...toolsByName.values()]);\n const publicState = Object.freeze({\n configuredTools: Object.freeze(configuredTools),\n staticTools: Object.freeze(staticTools),\n providerTools: Object.freeze(providerTools),\n toolIndexes: Object.freeze(toolIndexes),\n });\n return { mcpServers, tools, publicState, toolsByName };\n}\n\nfunction assertUniqueAgentToolNames(options: {\n staticTools: readonly AnyTool[];\n providerTools: readonly ProviderTool[];\n toolIndexes: readonly ToolIndex[];\n}): void {\n const owners = new Map<string, string>();\n for (const tool of options.staticTools) {\n registerToolOwner(owners, tool.name, isMcpTool(tool) ? \"MCP tool\" : \"local or skill tool\");\n }\n for (const tool of options.providerTools) {\n registerToolOwner(owners, tool.name, \"provider tool\");\n }\n for (const [indexPosition, index] of options.toolIndexes.entries()) {\n if (!isToolIndex(index)) {\n throw new TypeError(\"Invalid tool index: search, tools, and a numeric topK are required.\");\n }\n assertPositiveSearchLimit(index.topK);\n assertFiniteMinScore(index.minScore);\n for (const tool of index.tools) {\n if (isMcpTool(tool)) {\n throw new TypeError(\n `MCP tool \"${tool.name}\" must be registered through Agent.mcpServers, not a tool index.`,\n );\n }\n registerToolOwner(owners, tool.name, `tool index ${indexPosition + 1}`);\n }\n }\n}\n\nfunction registerToolOwner(owners: Map<string, string>, name: string, owner: string): void {\n const existing = owners.get(name);\n if (existing !== undefined) {\n throw new TypeError(\n `Tool name collision for \"${name}\" between ${existing} and ${owner}. Tool names must be unique across every Agent tool source.`,\n );\n }\n owners.set(name, owner);\n}\n\nfunction snapshotProviderTool(tool: ProviderTool): ProviderTool {\n let snapshot: ProviderTool = {\n ...tool,\n };\n if (tool.configuration !== undefined) {\n snapshot = { ...snapshot, configuration: cloneFrozenPlainData(tool.configuration) };\n }\n return Object.freeze(snapshot);\n}\n\nfunction snapshotMcpServer(server: McpServer): McpServer {\n if (server.name.trim() === \"\") {\n throw new TypeError(\"MCP server name must not be empty.\");\n }\n for (const tool of server.tools) {\n if (!isMcpTool(tool)) {\n throw new TypeError(`MCP server \"${server.name}\" contains an invalid MCP tool.`);\n }\n if (tool.mcp.serverName !== server.name) {\n throw new TypeError(\n `MCP tool \"${tool.name}\" belongs to server \"${tool.mcp.serverName}\", not \"${server.name}\".`,\n );\n }\n }\n const tools = server.tools.map(snapshotMcpTool);\n let snapshot: McpServer = {\n name: server.name,\n tools: Object.freeze(tools),\n };\n if (server.serverInfo !== undefined) {\n snapshot = { ...snapshot, serverInfo: cloneFrozenPlainData(server.serverInfo) };\n }\n if (server.capabilities !== undefined) {\n snapshot = { ...snapshot, capabilities: cloneFrozenPlainData(server.capabilities) };\n }\n if (server.instructions !== undefined) {\n snapshot = { ...snapshot, instructions: server.instructions };\n }\n return Object.freeze(snapshot);\n}\n\nfunction snapshotMcpTool(tool: McpServer[\"tools\"][number]): McpServer[\"tools\"][number] {\n if (Object.isFrozen(tool) && Object.isFrozen(tool.mcp)) {\n return tool;\n }\n const parseInput = tool.parseInput;\n let snapshot: McpServer[\"tools\"][number] = {\n name: tool.name,\n mcp: Object.freeze({ ...tool.mcp }),\n definition: (prompt: string) => tool.definition(prompt),\n call: (args: unknown, context?: ToolCallContext) => tool.call(args, context),\n };\n if (tool.requiresApproval !== undefined) {\n snapshot = { ...snapshot, requiresApproval: tool.requiresApproval };\n }\n if (parseInput !== undefined) {\n snapshot = {\n ...snapshot,\n parseInput: (args: JsonValue) => parseInput.call(tool, args),\n };\n }\n return Object.freeze(snapshot);\n}\n\nfunction assertUniqueMcpServerNames(servers: readonly McpServer[]): void {\n const names = new Set<string>();\n for (const server of servers) {\n if (names.has(server.name)) {\n throw new TypeError(`Duplicate MCP server name \"${server.name}\".`);\n }\n names.add(server.name);\n }\n}\n\nfunction snapshotToolIndex(index: ToolIndex): ToolIndex {\n const inspect = index.inspect;\n let snapshot: ToolIndex = {\n kind: \"tool-index\" as const,\n tools: Object.freeze([...index.tools]),\n topK: index.topK,\n search: (options: { query: string; abortSignal?: AbortSignal | undefined }) =>\n index.search(options),\n };\n if (index.minScore !== undefined) {\n snapshot = { ...snapshot, minScore: index.minScore };\n }\n if (index.filter !== undefined) {\n snapshot = { ...snapshot, filter: cloneFrozenPlainData(index.filter) };\n }\n if (inspect !== undefined) {\n snapshot = {\n ...snapshot,\n inspect: (request: VectorInspectRequest) => inspect.call(index, request),\n };\n }\n return Object.freeze(snapshot);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,31 @@
1
+ // src/guardrails/actions.ts
2
+ function allow(options = {}) {
3
+ return { action: "allow", ...options };
4
+ }
5
+ function block(options) {
6
+ return { action: "block", ...options };
7
+ }
8
+ var commonActions = {
9
+ allow,
10
+ block
11
+ };
12
+ var inputActions = {
13
+ ...commonActions,
14
+ rewrite(options) {
15
+ return { action: "rewrite", ...options };
16
+ }
17
+ };
18
+ var outputActions = {
19
+ ...commonActions,
20
+ rewrite(options) {
21
+ return { action: "rewrite", ...options };
22
+ }
23
+ };
24
+
25
+ export {
26
+ allow,
27
+ block,
28
+ inputActions,
29
+ outputActions
30
+ };
31
+ //# sourceMappingURL=chunk-MT3BLVYN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/guardrails/actions.ts"],"sourcesContent":["import type {\n GuardrailActionBase,\n GuardrailAllow,\n GuardrailBlock,\n GuardrailCommonActions,\n InputGuardrailActions,\n OutputGuardrailActions,\n} from \"./types\";\n\nexport function allow(options: GuardrailActionBase = {}): GuardrailAllow {\n return { action: \"allow\", ...options };\n}\n\nexport function block(options: Omit<GuardrailBlock, \"action\">): GuardrailBlock {\n return { action: \"block\", ...options };\n}\n\nconst commonActions: GuardrailCommonActions = {\n allow,\n block,\n};\n\nexport const inputActions: InputGuardrailActions = {\n ...commonActions,\n rewrite(options) {\n return { action: \"rewrite\", ...options };\n },\n};\n\nexport const outputActions: OutputGuardrailActions = {\n ...commonActions,\n rewrite(options) {\n return { action: \"rewrite\", ...options };\n },\n};\n"],"mappings":";AASO,SAAS,MAAM,UAA+B,CAAC,GAAmB;AACvE,SAAO,EAAE,QAAQ,SAAS,GAAG,QAAQ;AACvC;AAEO,SAAS,MAAM,SAAyD;AAC7E,SAAO,EAAE,QAAQ,SAAS,GAAG,QAAQ;AACvC;AAEA,IAAM,gBAAwC;AAAA,EAC5C;AAAA,EACA;AACF;AAEO,IAAM,eAAsC;AAAA,EACjD,GAAG;AAAA,EACH,QAAQ,SAAS;AACf,WAAO,EAAE,QAAQ,WAAW,GAAG,QAAQ;AAAA,EACzC;AACF;AAEO,IAAM,gBAAwC;AAAA,EACnD,GAAG;AAAA,EACH,QAAQ,SAAS;AACf,WAAO,EAAE,QAAQ,WAAW,GAAG,QAAQ;AAAA,EACzC;AACF;","names":[]}
@@ -0,0 +1,37 @@
1
+ // src/completion/documents.ts
2
+ function normalizeDocuments(documents) {
3
+ if (documents.length === 0) {
4
+ return void 0;
5
+ }
6
+ return { role: "user", content: documents.map(formatDocument).join("\n") };
7
+ }
8
+ function formatDocument(document) {
9
+ return `<file id: ${document.id}>
10
+ ${formatDocumentBody(document)}
11
+ </file>
12
+ `;
13
+ }
14
+ function formatDocumentBody(document) {
15
+ const metadata = formatMetadata(document.additionalProps);
16
+ return metadata === void 0 ? document.text : `${metadata}
17
+ ${document.text}`;
18
+ }
19
+ function formatMetadata(additionalProps) {
20
+ if (additionalProps === void 0) {
21
+ return void 0;
22
+ }
23
+ const entries = Object.entries(additionalProps).sort(
24
+ ([left], [right]) => left.localeCompare(right)
25
+ );
26
+ if (entries.length === 0) {
27
+ return void 0;
28
+ }
29
+ const metadata = entries.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(" ");
30
+ return `<metadata ${metadata} />`;
31
+ }
32
+
33
+ export {
34
+ normalizeDocuments,
35
+ formatDocument
36
+ };
37
+ //# sourceMappingURL=chunk-NF6WBPFG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/completion/documents.ts"],"sourcesContent":["import type { Document, Message } from \"./types\";\n\nexport function normalizeDocuments(documents: Document[]): Message | undefined {\n if (documents.length === 0) {\n return undefined;\n }\n\n return { role: \"user\", content: documents.map(formatDocument).join(\"\\n\") };\n}\n\nexport function formatDocument(document: Document): string {\n return `<file id: ${document.id}>\\n${formatDocumentBody(document)}\\n</file>\\n`;\n}\n\nfunction formatDocumentBody(document: Document): string {\n const metadata = formatMetadata(document.additionalProps);\n return metadata === undefined ? document.text : `${metadata}\\n${document.text}`;\n}\n\nfunction formatMetadata(additionalProps: Record<string, string> | undefined): string | undefined {\n if (additionalProps === undefined) {\n return undefined;\n }\n\n const entries = Object.entries(additionalProps).sort(([left], [right]) =>\n left.localeCompare(right),\n );\n if (entries.length === 0) {\n return undefined;\n }\n\n const metadata = entries.map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(\" \");\n return `<metadata ${metadata} />`;\n}\n"],"mappings":";AAEO,SAAS,mBAAmB,WAA4C;AAC7E,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,MAAM,QAAQ,SAAS,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,EAAE;AAC3E;AAEO,SAAS,eAAe,UAA4B;AACzD,SAAO,aAAa,SAAS,EAAE;AAAA,EAAM,mBAAmB,QAAQ,CAAC;AAAA;AAAA;AACnE;AAEA,SAAS,mBAAmB,UAA4B;AACtD,QAAM,WAAW,eAAe,SAAS,eAAe;AACxD,SAAO,aAAa,SAAY,SAAS,OAAO,GAAG,QAAQ;AAAA,EAAK,SAAS,IAAI;AAC/E;AAEA,SAAS,eAAe,iBAAyE;AAC/F,MAAI,oBAAoB,QAAW;AACjC,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,OAAO,QAAQ,eAAe,EAAE;AAAA,IAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAClE,KAAK,cAAc,KAAK;AAAA,EAC1B;AACA,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,KAAK,KAAK,UAAU,KAAK,CAAC,EAAE,EAAE,KAAK,GAAG;AAC3F,SAAO,aAAa,QAAQ;AAC9B;","names":[]}
@@ -0,0 +1,66 @@
1
+ import {
2
+ AgentRunBlockedError
3
+ } from "./chunk-WN6AVBO4.js";
4
+
5
+ // src/evals/agent-target.ts
6
+ var AgentEvalSuspensionError = class extends Error {
7
+ constructor(result, message = "Agent eval target suspended without an interaction responder.") {
8
+ super(message);
9
+ this.result = result;
10
+ this.name = "AgentEvalSuspensionError";
11
+ }
12
+ result;
13
+ };
14
+ function agentEvalTarget(options) {
15
+ return async (input, testCase) => {
16
+ const maxResponses = options.interactions?.maxResponses ?? 10;
17
+ if (!Number.isSafeInteger(maxResponses) || maxResponses < 1) {
18
+ throw new TypeError("Agent eval interactions.maxResponses must be a positive integer.");
19
+ }
20
+ const request = await options.request({ input, testCase });
21
+ const runSettings = agentRunSettings(request);
22
+ let response = await options.agent.generate(request);
23
+ let phase = 0;
24
+ while (response.type === "interaction") {
25
+ if (options.interactions === void 0) {
26
+ throw new AgentEvalSuspensionError(response);
27
+ }
28
+ if (phase >= maxResponses) {
29
+ throw new AgentEvalSuspensionError(
30
+ response,
31
+ `Agent eval target exceeded the interaction response limit of ${maxResponses}.`
32
+ );
33
+ }
34
+ phase += 1;
35
+ const interactionResponse = await options.interactions.respond({
36
+ interaction: response.interaction,
37
+ testCase,
38
+ phase
39
+ });
40
+ response = await options.agent.generate({
41
+ continuation: response.continuation,
42
+ response: interactionResponse,
43
+ ...runSettings
44
+ });
45
+ }
46
+ if (response.type === "blocked") throw new AgentRunBlockedError(response);
47
+ return options.output === void 0 ? response : await options.output({ response, testCase });
48
+ };
49
+ }
50
+ function agentRunSettings(request) {
51
+ const {
52
+ prompt: _prompt,
53
+ messages: _messages,
54
+ session: _session,
55
+ continuation: _continuation,
56
+ response: _response,
57
+ ...settings
58
+ } = request;
59
+ return settings;
60
+ }
61
+
62
+ export {
63
+ AgentEvalSuspensionError,
64
+ agentEvalTarget
65
+ };
66
+ //# sourceMappingURL=chunk-NNEKBZSM.js.map