@anvia/core 1.1.1 → 1.2.0

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-2QZJTG2E.js → chunk-23GEYG2X.js} +11 -71
  47. package/dist/chunk-23GEYG2X.js.map +1 -0
  48. package/dist/{chunk-I3Q7XSBB.js → chunk-23LRXKQX.js} +6 -4
  49. package/dist/{chunk-I3Q7XSBB.js.map → chunk-23LRXKQX.js.map} +1 -1
  50. package/dist/{chunk-YK4WAAS4.js → chunk-2NLINXRF.js} +1 -1
  51. package/dist/{chunk-SPD4XVR7.js → chunk-2XSMGVBG.js} +1 -1
  52. package/dist/chunk-3J2CSVPR.js +1 -0
  53. package/dist/chunk-3J2CSVPR.js.map +1 -0
  54. package/dist/chunk-3P3YVJ7V.js +1 -0
  55. package/dist/chunk-3P3YVJ7V.js.map +1 -0
  56. package/dist/chunk-3TAQXJBC.js +107 -0
  57. package/dist/chunk-3TAQXJBC.js.map +1 -0
  58. package/dist/chunk-47NTHIVB.js +76 -0
  59. package/dist/chunk-47NTHIVB.js.map +1 -0
  60. package/dist/chunk-4AW2633B.js +9 -0
  61. package/dist/chunk-4AW2633B.js.map +1 -0
  62. package/dist/{chunk-3XQGVDU5.js → chunk-4C7AXYOM.js} +1 -1
  63. package/dist/{chunk-IZNOP6JG.js → chunk-4FIVU53H.js} +1 -1
  64. package/dist/chunk-4ITAV7YA.js +1 -0
  65. package/dist/chunk-4ITAV7YA.js.map +1 -0
  66. package/dist/{chunk-7JLAIN6E.js → chunk-4ONUNWGC.js} +2 -2
  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-5AETKC4L.js +107 -0
  72. package/dist/chunk-5AETKC4L.js.map +1 -0
  73. package/dist/chunk-5I2NVRHC.js +146 -0
  74. package/dist/chunk-5I2NVRHC.js.map +1 -0
  75. package/dist/chunk-5IURMWFN.js +53 -0
  76. package/dist/chunk-5IURMWFN.js.map +1 -0
  77. package/dist/chunk-5M6GTA3T.js +1 -0
  78. package/dist/chunk-5M6GTA3T.js.map +1 -0
  79. package/dist/chunk-5N5W7CX7.js +18 -0
  80. package/dist/chunk-5N5W7CX7.js.map +1 -0
  81. package/dist/chunk-5P2YOQSA.js +355 -0
  82. package/dist/chunk-5P2YOQSA.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-7F53DOML.js +53 -0
  98. package/dist/chunk-7F53DOML.js.map +1 -0
  99. package/dist/chunk-7KAGWJ5M.js +112 -0
  100. package/dist/chunk-7KAGWJ5M.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-B47EXUHL.js +67 -0
  106. package/dist/chunk-B47EXUHL.js.map +1 -0
  107. package/dist/chunk-B5JQDR33.js +14 -0
  108. package/dist/chunk-B5JQDR33.js.map +1 -0
  109. package/dist/chunk-B5YTCKUJ.js +158 -0
  110. package/dist/chunk-B5YTCKUJ.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-GDJNOZ47.js +1 -0
  148. package/dist/chunk-GDJNOZ47.js.map +1 -0
  149. package/dist/chunk-GDY2Z2SZ.js +83 -0
  150. package/dist/chunk-GDY2Z2SZ.js.map +1 -0
  151. package/dist/chunk-GLMYZ6OA.js +20 -0
  152. package/dist/chunk-GLMYZ6OA.js.map +1 -0
  153. package/dist/{chunk-XEVOC433.js → chunk-GPVXCY5I.js} +2 -73
  154. package/dist/chunk-GPVXCY5I.js.map +1 -0
  155. package/dist/{chunk-KSKST3KP.js → chunk-H3H74RWJ.js} +1 -1
  156. package/dist/chunk-HAAGSIZH.js +89 -0
  157. package/dist/chunk-HAAGSIZH.js.map +1 -0
  158. package/dist/{chunk-K5L7R7XM.js → chunk-HHMLE3TZ.js} +6 -54
  159. package/dist/chunk-HHMLE3TZ.js.map +1 -0
  160. package/dist/{chunk-JLJMVRRE.js → chunk-HP34GRQX.js} +10 -83
  161. package/dist/chunk-HP34GRQX.js.map +1 -0
  162. package/dist/chunk-HTI343NP.js +1 -0
  163. package/dist/chunk-HTI343NP.js.map +1 -0
  164. package/dist/{chunk-T2C3CGDQ.js → chunk-HTI7DZJM.js} +6 -4
  165. package/dist/{chunk-T2C3CGDQ.js.map → chunk-HTI7DZJM.js.map} +1 -1
  166. package/dist/chunk-IDNL6IH4.js +294 -0
  167. package/dist/chunk-IDNL6IH4.js.map +1 -0
  168. package/dist/chunk-IV6YQTY2.js +47 -0
  169. package/dist/chunk-IV6YQTY2.js.map +1 -0
  170. package/dist/chunk-J4SINPUA.js +939 -0
  171. package/dist/chunk-J4SINPUA.js.map +1 -0
  172. package/dist/chunk-J6S6MT7O.js +32 -0
  173. package/dist/chunk-J6S6MT7O.js.map +1 -0
  174. package/dist/chunk-JB3RFK6K.js +168 -0
  175. package/dist/chunk-JB3RFK6K.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-JOQ2T3QP.js +663 -0
  183. package/dist/chunk-JOQ2T3QP.js.map +1 -0
  184. package/dist/chunk-K4IBS7VB.js +55 -0
  185. package/dist/chunk-K4IBS7VB.js.map +1 -0
  186. package/dist/chunk-KBBQSP4M.js +16 -0
  187. package/dist/chunk-KBBQSP4M.js.map +1 -0
  188. package/dist/chunk-KFAVEL5F.js +68 -0
  189. package/dist/chunk-KFAVEL5F.js.map +1 -0
  190. package/dist/chunk-KITX3HDN.js +17 -0
  191. package/dist/chunk-KITX3HDN.js.map +1 -0
  192. package/dist/chunk-KO5NMTAM.js +1 -0
  193. package/dist/chunk-KO5NMTAM.js.map +1 -0
  194. package/dist/chunk-KY4VXIN2.js +118 -0
  195. package/dist/chunk-KY4VXIN2.js.map +1 -0
  196. package/dist/chunk-KZGSXJKU.js +29 -0
  197. package/dist/chunk-KZGSXJKU.js.map +1 -0
  198. package/dist/chunk-LAIATEUB.js +24 -0
  199. package/dist/chunk-LAIATEUB.js.map +1 -0
  200. package/dist/{chunk-OJBFDBLG.js → chunk-LBYJPMHC.js} +2 -2
  201. package/dist/chunk-LKIABZNR.js +49 -0
  202. package/dist/chunk-LKIABZNR.js.map +1 -0
  203. package/dist/chunk-LQJ4KHMY.js +23 -0
  204. package/dist/chunk-LQJ4KHMY.js.map +1 -0
  205. package/dist/chunk-MEN4AFDZ.js +1 -0
  206. package/dist/chunk-MEN4AFDZ.js.map +1 -0
  207. package/dist/chunk-MHOJJYDK.js +93 -0
  208. package/dist/chunk-MHOJJYDK.js.map +1 -0
  209. package/dist/chunk-MJCMKZFP.js +30 -0
  210. package/dist/chunk-MJCMKZFP.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-OJF67RNM.js +1 -0
  222. package/dist/chunk-OJF67RNM.js.map +1 -0
  223. package/dist/chunk-PHLGGRHC.js +89 -0
  224. package/dist/chunk-PHLGGRHC.js.map +1 -0
  225. package/dist/chunk-PIMD4DYG.js +104 -0
  226. package/dist/chunk-PIMD4DYG.js.map +1 -0
  227. package/dist/chunk-PJNE75WC.js +1 -0
  228. package/dist/chunk-PJNE75WC.js.map +1 -0
  229. package/dist/{chunk-J6LVLV6P.js → chunk-PLDJCCVL.js} +1 -1
  230. package/dist/{chunk-3RWESPUG.js → chunk-POXHJF3H.js} +6 -51
  231. package/dist/chunk-POXHJF3H.js.map +1 -0
  232. package/dist/chunk-PPJ7SYQL.js +81 -0
  233. package/dist/chunk-PPJ7SYQL.js.map +1 -0
  234. package/dist/chunk-PT777EQ3.js +48 -0
  235. package/dist/chunk-PT777EQ3.js.map +1 -0
  236. package/dist/chunk-PYLPLFJZ.js +318 -0
  237. package/dist/chunk-PYLPLFJZ.js.map +1 -0
  238. package/dist/chunk-QEPBHHAP.js +41 -0
  239. package/dist/chunk-QEPBHHAP.js.map +1 -0
  240. package/dist/chunk-QHGYCYV6.js +91 -0
  241. package/dist/chunk-QHGYCYV6.js.map +1 -0
  242. package/dist/chunk-R6722CIU.js +28 -0
  243. package/dist/chunk-R6722CIU.js.map +1 -0
  244. package/dist/chunk-RA4YVN43.js +1 -0
  245. package/dist/chunk-RA4YVN43.js.map +1 -0
  246. package/dist/chunk-RT5LUEO3.js +2339 -0
  247. package/dist/chunk-RT5LUEO3.js.map +1 -0
  248. package/dist/chunk-RXKUIJ77.js +236 -0
  249. package/dist/chunk-RXKUIJ77.js.map +1 -0
  250. package/dist/chunk-SC4SUIEY.js +1 -0
  251. package/dist/chunk-SC4SUIEY.js.map +1 -0
  252. package/dist/chunk-SQAAVYJG.js +12 -0
  253. package/dist/chunk-SQAAVYJG.js.map +1 -0
  254. package/dist/chunk-SXE4J43E.js +59 -0
  255. package/dist/chunk-SXE4J43E.js.map +1 -0
  256. package/dist/{chunk-EFLT7XZD.js → chunk-SYULMZGL.js} +6 -4
  257. package/dist/{chunk-EFLT7XZD.js.map → chunk-SYULMZGL.js.map} +1 -1
  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-TSPQD5HW.js +613 -0
  267. package/dist/chunk-TSPQD5HW.js.map +1 -0
  268. package/dist/{chunk-JTJU56ZV.js → chunk-UOGM62JL.js} +11 -7
  269. package/dist/{chunk-JTJU56ZV.js.map → chunk-UOGM62JL.js.map} +1 -1
  270. package/dist/chunk-USRKPEQN.js +55 -0
  271. package/dist/chunk-USRKPEQN.js.map +1 -0
  272. package/dist/chunk-UTAB3XQI.js +667 -0
  273. package/dist/chunk-UTAB3XQI.js.map +1 -0
  274. package/dist/chunk-V3FFZWF3.js +182 -0
  275. package/dist/chunk-V3FFZWF3.js.map +1 -0
  276. package/dist/chunk-V4OZ7ISA.js +9 -0
  277. package/dist/chunk-V4OZ7ISA.js.map +1 -0
  278. package/dist/chunk-VZ5ZZBNX.js +139 -0
  279. package/dist/chunk-VZ5ZZBNX.js.map +1 -0
  280. package/dist/{chunk-AHLKV6KP.js → chunk-WN6AVBO4.js} +1 -1
  281. package/dist/chunk-WXR5CWSC.js +1 -0
  282. package/dist/chunk-WXR5CWSC.js.map +1 -0
  283. package/dist/chunk-X6WS3XWL.js +36 -0
  284. package/dist/chunk-X6WS3XWL.js.map +1 -0
  285. package/dist/{chunk-Q5BCNYED.js → chunk-XJRNBTIV.js} +7 -4
  286. package/dist/chunk-XQV3XNVT.js +225 -0
  287. package/dist/chunk-XQV3XNVT.js.map +1 -0
  288. package/dist/chunk-XV3DH5GC.js +58 -0
  289. package/dist/chunk-XV3DH5GC.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 +3 -37
  530. package/dist/streaming/index.js.map +1 -1
  531. package/dist/streaming/readable-stream.js +7 -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 +8 -5
  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 @@
1
+ {"version":3,"sources":["../src/internal/team-runtime/run.ts"],"sourcesContent":["import { AgentRunCancelledError, AgentStreamClosedError } from \"../../agent/errors\";\nimport {\n assertAgentInteractionResponse,\n parseAgentInteractionResponse,\n} from \"../../agent/interactions\";\nimport { composeAgentLifecycle, lifecycleSnapshot } from \"../../agent/lifecycle\";\nimport { createResolvedAgent, getResolvedAgentOptions } from \"../../agent/resolved-agent\";\nimport type {\n AgentInput,\n AgentOutcome,\n AgentSteerInput,\n AgentSteerReceipt,\n AgentStreamEvent,\n} from \"../../agent/run-types\";\nimport { AgentTeamInteractionError, AgentTeamLimitError } from \"../../agent/team/errors\";\nimport type {\n AgentTeamEvent,\n AgentTeamLimits,\n AgentTeamMember,\n AgentTeamMessage,\n AgentTeamOutcome,\n AgentTeamRunOptions,\n} from \"../../agent/team/types\";\nimport { isStreamingCompletionModel } from \"../../completion/generate-completion\";\nimport { parseMessages, Usage, type CompletionResponse } from \"../../completion\";\nimport { throwIfAborted } from \"../abort\";\nimport { AgentRun } from \"../agent-runtime/agent-run\";\nimport { withInternalAgentRunOptions } from \"../agent-runtime/run-options\";\nimport { abortable, TeamChanges, TeamSlots } from \"./coordination\";\nimport {\n agentMessageInput,\n memberSummary,\n steeringMessages,\n type TeamInput,\n type TeamMember,\n} from \"./member\";\nimport { TEAM_INSTRUCTIONS, teamTools } from \"./tools\";\nimport type { TeamPolicy } from \"./policy\";\n\nexport class TeamRun<Output = unknown> {\n readonly id = globalThis.crypto.randomUUID();\n private readonly controller = new AbortController();\n private readonly changes = new TeamChanges();\n private readonly slots: TeamSlots;\n private readonly instances = new Map<string, TeamMember>();\n private readonly leader: TeamMember;\n private closed = false;\n private started = false;\n private turns = 0;\n private fatal: unknown;\n private removeAbortListener: (() => void) | undefined;\n\n constructor(\n leader: AgentTeamMember,\n private readonly policy: TeamPolicy,\n private readonly limits: Required<AgentTeamLimits>,\n private readonly options: AgentTeamRunOptions<unknown>,\n private readonly streaming: boolean,\n private readonly emit: (event: AgentTeamEvent<Output>) => void,\n ) {\n this.slots = new TeamSlots(limits.maxConcurrentAgents);\n this.leader = this.createMember(leader, leader.name ?? leader.id);\n const messages =\n options.messages === undefined\n ? steeringMessages({ prompt: options.prompt! })\n : parseMessages(options.messages);\n const last = messages.at(-1);\n if (last?.role !== \"user\")\n throw new TypeError(\"Agent team input must end with a user message.\");\n this.leader.history = messages.slice(0, -1);\n this.leader.inputs.push({\n id: globalThis.crypto.randomUUID(),\n messages: [last],\n submitted: false,\n });\n if (options.abortSignal !== undefined) {\n const signal = options.abortSignal;\n const abort = () => this.cancel(\"Agent team aborted.\");\n if (signal.aborted) abort();\n else {\n signal.addEventListener(\"abort\", abort, { once: true });\n this.removeAbortListener = () => signal.removeEventListener(\"abort\", abort);\n }\n }\n }\n\n async execute(): Promise<AgentTeamOutcome<Output>> {\n if (this.started) throw new Error(\"Agent team execution has already started.\");\n this.started = true;\n try {\n this.assertOpen();\n this.launch(this.leader);\n while (true) {\n this.assertOpen();\n const version = this.changes.version;\n if (this.leader.status === \"failed\" && this.leader.outcome?.type !== \"blocked\")\n throw this.leader.error;\n const outcome = this.leader.outcome;\n if (\n outcome !== undefined &&\n (outcome.type === \"blocked\" ||\n (this.leader.status === \"idle\" &&\n this.leader.task === undefined &&\n this.leader.inputs.length === 0 &&\n !this.childrenBusy()))\n ) {\n this.closed = true;\n this.stopMembers();\n await this.settleMembers();\n const result = {\n ...outcome,\n teamRunId: this.id,\n usage: [...this.instances.values()].reduce(\n (usage, member) => Usage.add(usage, member.usage),\n Usage.empty(),\n ),\n members: [...this.instances.values()]\n .filter((member) => member !== this.leader)\n .map(memberSummary),\n } as AgentTeamOutcome<Output>;\n this.emit(result);\n return result;\n }\n await this.changes.wait(version, this.controller.signal);\n }\n } catch (error) {\n this.closed = true;\n this.stopMembers();\n await this.settleMembers();\n throw this.fatal ?? error;\n } finally {\n this.removeAbortListener?.();\n }\n }\n\n steer(input: AgentSteerInput): AgentSteerReceipt {\n this.assertOpen();\n const entry: TeamInput = {\n id: globalThis.crypto.randomUUID(),\n messages: steeringMessages(input),\n submitted: false,\n };\n this.enqueue(this.leader, entry);\n return { id: entry.id, status: \"queued\" };\n }\n\n cancel(reason = \"Agent team cancelled.\"): void {\n if (this.closed || this.controller.signal.aborted) return;\n this.fail(new AgentRunCancelledError([], reason));\n }\n\n spawn(parent: TeamMember, definition: AgentTeamMember, prompt: string, name?: string) {\n this.assertOpen();\n throwIfAborted(parent.controller.signal);\n if (!this.policy.spawnTargets(parent).includes(definition))\n throw new Error(`Agent \"${parent.definition.id}\" cannot spawn \"${definition.id}\".`);\n if (parent.depth >= this.limits.maxDepth) throw new AgentTeamLimitError(\"maxDepth\");\n if (this.instances.size >= this.limits.maxAgentInstances)\n throw new AgentTeamLimitError(\"maxAgentInstances\");\n const member = this.createMember(definition, name ?? definition.name ?? definition.id, parent);\n member.inputs.push({\n id: globalThis.crypto.randomUUID(),\n messages: [{ role: \"user\", content: prompt }],\n submitted: false,\n });\n this.memberEvent(member, \"agent_queued\");\n this.launch(member);\n return { instanceId: member.instanceId, status: \"queued\" as const };\n }\n\n send(sender: TeamMember, input: { to: string; content: string; replyTo?: string | undefined }) {\n this.assertOpen();\n throwIfAborted(sender.controller.signal);\n const recipient = this.recipient(sender, input.to);\n if (recipient.status === \"failed\" || recipient.status === \"cancelled\") {\n throw new Error(`Agent instance \"${recipient.instanceId}\" is ${recipient.status}.`);\n }\n return this.queueMessage(sender, recipient, input);\n }\n\n private queueMessage(\n sender: TeamMember,\n recipient: TeamMember,\n input: { content: string; replyTo?: string | undefined },\n notificationType: \"message\" | \"outcome\" = \"message\",\n ) {\n const message: AgentTeamMessage = {\n id: globalThis.crypto.randomUUID(),\n teamRunId: this.id,\n fromInstanceId: sender.instanceId,\n toInstanceId: recipient.instanceId,\n content: input.content,\n createdAt: new Date().toISOString(),\n ...(input.replyTo === undefined ? {} : { replyTo: input.replyTo }),\n };\n this.enqueue(recipient, agentMessageInput(message), notificationType);\n return { messageId: message.id, status: \"queued\" as const };\n }\n\n visibleMembers(caller: TeamMember) {\n return [...this.instances.values()]\n .filter((member) => this.policy.canAccess(caller, member))\n .map((member) => ({\n instanceId: member.instanceId,\n agentId: member.agent.id,\n name: member.name,\n status: member.status,\n depth: member.depth,\n ...(member.parentInstanceId === undefined\n ? {}\n : { parentInstanceId: member.parentInstanceId }),\n }));\n }\n\n cancelMember(caller: TeamMember, instanceId: string, reason = \"Cancelled by parent.\") {\n this.assertOpen();\n throwIfAborted(caller.controller.signal);\n const member = this.recipient(caller, instanceId);\n if (member.parentInstanceId !== caller.instanceId)\n throw new Error(\"Only a parent can cancel its child.\");\n if (member.status === \"cancelled\") return { instanceId, status: \"cancelled\" as const };\n this.stopMember(member, reason);\n this.stopDescendants(member, reason);\n if (member.task === undefined) this.reportOutcome(member);\n return { instanceId, status: \"cancelled\" as const };\n }\n\n async wait(member: TeamMember, instanceId: string | undefined, timeoutMs: number) {\n this.assertOpen();\n const target = instanceId === undefined ? undefined : this.recipient(member, instanceId);\n const deadline = Date.now() + timeoutMs;\n return this.yieldSlot(member, \"waiting\", async () => {\n while (true) {\n const version = this.changes.version;\n const index = member.notifications.findIndex(\n (notification) => target === undefined || notification.from === target.instanceId,\n );\n if (index !== -1) {\n const notification = member.notifications.splice(index, 1)[0]!;\n return {\n reason: notification.type,\n instanceId: notification.from,\n messageId: notification.id,\n };\n }\n if (target !== undefined && [\"idle\", \"failed\", \"cancelled\"].includes(target.status)) {\n return { reason: \"outcome\", instanceId: target.instanceId, status: target.status };\n }\n const remaining = deadline - Date.now();\n if (remaining <= 0) return { reason: \"timeout\" };\n await this.changes.wait(version, member.controller.signal, remaining);\n }\n });\n }\n\n private createMember(agent: AgentTeamMember, name: string, parent?: TeamMember): TeamMember {\n const parentInstanceId = parent?.instanceId;\n const member: TeamMember = {\n instanceId: globalThis.crypto.randomUUID(),\n agent,\n definition: agent,\n depth: parent === undefined ? 0 : parent.depth + 1,\n name,\n ...(parentInstanceId === undefined ? {} : { parentInstanceId }),\n status: \"queued\",\n history: [],\n inputs: [],\n receipts: new Map(),\n controller: new AbortController(),\n usage: Usage.empty(),\n notifications: [],\n };\n const resolved = getResolvedAgentOptions(member.agent);\n member.agent = createResolvedAgent({\n ...resolved,\n instructions: [\n resolved.instructions,\n TEAM_INSTRUCTIONS,\n `Your instance ID is ${member.instanceId}. ${parentInstanceId === undefined ? \"You are the coordinator. Spawn tools create independent members; their outcomes are delivered automatically.\" : `Your parent instance is ${parentInstanceId}.`}`,\n ]\n .filter(Boolean)\n .join(\"\\n\\n\"),\n tools: [\n ...(resolved.tools ?? []),\n ...teamTools(this, member, this.policy.spawnTargets(member)),\n ],\n });\n this.instances.set(member.instanceId, member);\n return member;\n }\n\n private recipient(sender: TeamMember, to: string): TeamMember {\n const id = to === \"parent\" ? sender.parentInstanceId : to;\n const recipient = id === undefined ? undefined : this.instances.get(id);\n if (\n recipient === undefined ||\n recipient === sender ||\n !this.policy.canAccess(sender, recipient)\n ) {\n throw new Error(\n `Agent instance \"${to}\" is not an accessible parent or child, or enabled sibling.`,\n );\n }\n return recipient;\n }\n\n private enqueue(\n member: TeamMember,\n input: TeamInput,\n notificationType: \"message\" | \"outcome\" = \"message\",\n ): void {\n if (member.inputs.length >= 128)\n throw new AgentTeamLimitError(\"pending messages per instance (128)\");\n member.inputs.push(input);\n if (input.message !== undefined) {\n this.emit({ type: \"message_queued\", ...this.identity(member), message: input.message });\n member.notifications.push({\n type: notificationType,\n from: input.message.fromInstanceId,\n id: input.id,\n });\n }\n this.submitInputs(member);\n if (this.started && member.task === undefined) this.launch(member);\n this.changes.notify();\n }\n\n private submitInputs(member: TeamMember): void {\n if (member.activeRun === undefined) return;\n for (const input of member.inputs) {\n if (input.submitted) continue;\n try {\n const receipt = member.activeRun.steer({ messages: input.messages });\n member.receipts.set(receipt.id, input);\n input.submitted = true;\n } catch (error) {\n // Closing runs reject steering; leave this input pending for the next assignment.\n if (error instanceof AgentStreamClosedError) return;\n throw error;\n }\n }\n }\n\n private delivered(member: TeamMember, input: TeamInput): void {\n const index = member.inputs.indexOf(input);\n if (index !== -1) member.inputs.splice(index, 1);\n member.notifications = member.notifications.filter(\n (notification) => notification.id !== input.id,\n );\n if (input.message !== undefined)\n this.emit({ type: \"message_delivered\", ...this.identity(member), message: input.message });\n }\n\n private launch(member: TeamMember): void {\n if (member.task !== undefined || this.closed || member.controller.signal.aborted) return;\n member.status = \"queued\";\n member.task = Promise.resolve()\n .then(() => this.runMember(member))\n .catch((error: unknown) => {\n member.error = error;\n member.inputs.length = 0;\n if (member.controller.signal.aborted) member.status = \"cancelled\";\n else {\n member.status = \"failed\";\n this.memberEvent(member, \"agent_failed\");\n }\n this.stopDescendants(member, \"Parent failed or was cancelled.\");\n if (!this.closed && !this.controller.signal.aborted && member !== this.leader) {\n try {\n this.reportOutcome(member);\n } catch (reportError) {\n this.fail(reportError);\n }\n }\n })\n .finally(() => {\n member.release?.();\n member.release = undefined;\n member.activeRun = undefined;\n member.task = undefined;\n if (member.status === \"idle\" && member.inputs.length > 0) this.launch(member);\n this.changes.notify();\n });\n this.changes.notify();\n }\n\n private async runMember(member: TeamMember): Promise<void> {\n const signal = member.controller.signal;\n member.release = await this.slots.acquire(signal);\n let nextInput: AgentInput | undefined;\n let firstInputs: TeamInput[] = [];\n while (true) {\n throwIfAborted(signal);\n member.status = \"running\";\n member.runId = globalThis.crypto.randomUUID();\n if (nextInput === undefined) {\n firstInputs = member.inputs.filter((input) => !input.submitted);\n const incoming = firstInputs.flatMap((input) => input.messages);\n if (incoming.length === 0) throw new Error(\"Agent team member has no input.\");\n nextInput = { messages: [...member.history, ...incoming] };\n member.history.push(...incoming.slice(0, -1));\n for (const input of firstInputs) input.submitted = true;\n }\n const streaming =\n this.streaming &&\n member.agent.model.capabilities.streaming &&\n isStreamingCompletionModel(member.agent.model);\n const baseSettings =\n member === this.leader\n ? {\n maxTurns: this.options.maxTurns,\n retries: this.options.retries,\n lifecycle: this.options.lifecycle,\n guardrails: this.options.guardrails,\n middlewares: this.options.middlewares,\n trace: this.options.trace,\n controls: this.options.controls,\n }\n : {};\n const run = AgentRun.fromAgent(\n member.agent,\n withInternalAgentRunOptions(\n {\n ...baseSettings,\n ...nextInput,\n abortSignal: signal,\n // Collaboration tools mutate one inbox/permit at a time; provider tools may still run independently across agents.\n toolConcurrency: 1,\n lifecycle: composeAgentLifecycle(baseSettings.lifecycle, {\n onStepFinish: (event) => {\n if (!streaming)\n this.agentEvent(member, {\n type: \"turn_end\",\n turn: event.step,\n response: lifecycleSnapshot(event.response) as CompletionResponse,\n });\n },\n onError: (event) => {\n member.usage = Usage.add(member.usage, event.usage);\n },\n }),\n },\n {\n runId: member.runId,\n hook: {\n onCompletionCall: () => {\n this.assertOpen();\n if (this.turns >= this.limits.maxTotalTurns) {\n const error = new AgentTeamLimitError(\"maxTotalTurns\");\n this.fail(error);\n throw error;\n }\n this.turns += 1;\n for (const input of firstInputs) this.delivered(member, input);\n firstInputs = [];\n },\n },\n beforeFinish: () => this.waitForChildren(member),\n onSteeringApplied: (id) => {\n const input = member.receipts.get(id);\n if (input !== undefined) {\n member.receipts.delete(id);\n this.delivered(member, input);\n }\n },\n },\n ),\n );\n member.activeRun = run;\n this.submitInputs(member);\n this.memberEvent(member, \"agent_started\");\n // Caller-owned models/tools may ignore abort. Close the team promptly, and discard late events.\n const outcome = await abortable(this.consumeRun(member, run, streaming), signal);\n member.activeRun = undefined;\n member.usage = Usage.add(member.usage, outcome.usage);\n member.history.push(...outcome.messages);\n if (outcome.type === \"interaction\") {\n const resolver = this.options.resolveInteraction;\n this.emit({\n type: \"interaction\",\n ...this.identity(member),\n interaction: lifecycleSnapshot(outcome.interaction),\n });\n if (resolver === undefined) {\n const error = new AgentTeamInteractionError(member.instanceId);\n this.fail(error);\n throw error;\n }\n try {\n const response = await this.yieldSlot(member, \"awaiting_interaction\", () =>\n abortable(\n Promise.resolve().then(() =>\n resolver({\n teamRunId: this.id,\n instanceId: member.instanceId,\n runId: outcome.runId,\n interaction: lifecycleSnapshot(outcome.interaction),\n abortSignal: signal,\n }),\n ),\n signal,\n ),\n );\n const parsed = parseAgentInteractionResponse(response);\n assertAgentInteractionResponse(outcome.interaction, parsed);\n nextInput = { continuation: outcome.continuation, response: parsed };\n } catch (cause) {\n if (signal.aborted) throw cause;\n const error = new AgentTeamInteractionError(member.instanceId, { cause });\n this.fail(error);\n throw error;\n }\n continue;\n }\n member.outcome = outcome;\n member.status = outcome.type === \"blocked\" ? \"failed\" : \"idle\";\n if (outcome.type === \"blocked\") {\n member.inputs.length = 0;\n this.stopDescendants(member, \"Parent was blocked.\");\n }\n this.memberEvent(member, outcome.type === \"blocked\" ? \"agent_failed\" : \"agent_idle\");\n if (member !== this.leader) this.reportOutcome(member);\n return;\n }\n }\n\n private async consumeRun(\n member: TeamMember,\n run: AgentRun<unknown>,\n streaming: boolean,\n ): Promise<AgentOutcome<unknown>> {\n if (!streaming) {\n const outcome = await run.generate();\n if (outcome.type === \"response\")\n this.agentEvent(member, { type: \"text_delta\", turn: 0, delta: outcome.text });\n this.agentEvent(member, outcome);\n return outcome;\n }\n for await (const event of run.events()) {\n this.agentEvent(member, event);\n if (event.type === \"error\") throw event.error;\n if (event.type === \"response\" || event.type === \"blocked\" || event.type === \"interaction\")\n return event;\n }\n throw new Error(\"Agent team member stream ended without an outcome.\");\n }\n\n private reportOutcome(member: TeamMember): void {\n const parent = this.instances.get(member.parentInstanceId!);\n if (parent === undefined || parent.status === \"failed\" || parent.status === \"cancelled\") return;\n const content = JSON.stringify({\n type: \"agent-outcome\",\n instanceId: member.instanceId,\n status: member.status,\n ...(member.outcome?.type === \"response\" ? { output: member.outcome.output } : {}),\n ...(member.outcome?.type === \"blocked\" ? { reason: member.outcome.reason } : {}),\n ...(member.error === undefined\n ? {}\n : { error: member.error instanceof Error ? member.error.message : String(member.error) }),\n });\n this.queueMessage(member, parent, { content }, \"outcome\");\n }\n\n private async waitForChildren(member: TeamMember): Promise<void> {\n if (!this.childrenBusy(member) || member.inputs.length > 0) return;\n await this.yieldSlot(member, \"waiting\", async () => {\n while (this.childrenBusy(member) && member.inputs.length === 0) {\n const version = this.changes.version;\n await this.changes.wait(version, member.controller.signal);\n }\n });\n }\n\n // Without a parent, final team settlement checks all descendants, including revived assignments.\n private childrenBusy(parent?: TeamMember): boolean {\n return [...this.instances.values()].some(\n (member) =>\n member !== this.leader &&\n (parent === undefined || member.parentInstanceId === parent.instanceId) &&\n ([\"queued\", \"running\", \"waiting\", \"awaiting_interaction\"].includes(member.status) ||\n member.inputs.length > 0),\n );\n }\n\n private async yieldSlot<T>(\n member: TeamMember,\n status: \"waiting\" | \"awaiting_interaction\",\n work: () => Promise<T>,\n ): Promise<T> {\n member.release?.();\n member.release = undefined;\n member.status = status;\n this.memberEvent(member, \"agent_waiting\");\n this.changes.notify();\n try {\n return await work();\n } finally {\n if (!member.controller.signal.aborted && !this.closed) {\n member.release = await this.slots.acquire(member.controller.signal);\n member.status = \"running\";\n this.changes.notify();\n }\n }\n }\n\n private identity(member: TeamMember) {\n return {\n teamRunId: this.id,\n instanceId: member.instanceId,\n ...(member.runId === undefined ? {} : { runId: member.runId }),\n };\n }\n\n private memberEvent(\n member: TeamMember,\n type:\n | \"agent_queued\"\n | \"agent_started\"\n | \"agent_waiting\"\n | \"agent_idle\"\n | \"agent_failed\"\n | \"agent_cancelled\",\n ) {\n this.emit({ type, ...this.identity(member), member: memberSummary(member) });\n }\n\n private agentEvent(member: TeamMember, event: AgentStreamEvent<unknown>) {\n if (this.closed || member.controller.signal.aborted) return;\n this.emit({\n type: \"agent_event\",\n ...this.identity(member),\n coordinator: member === this.leader,\n event: lifecycleSnapshot(event),\n });\n }\n\n private assertOpen(): void {\n if (this.fatal !== undefined) throw this.fatal;\n if (this.closed) throw new AgentStreamClosedError();\n throwIfAborted(this.controller.signal);\n }\n\n private fail(error: unknown): void {\n this.fatal ??= error;\n this.controller.abort(error);\n this.stopMembers();\n this.changes.notify();\n }\n\n private stopMember(member: TeamMember, reason: string): void {\n if (member.status === \"cancelled\") return;\n member.status = \"cancelled\";\n member.inputs.length = 0;\n member.controller.abort(reason);\n member.activeRun?.cancel(reason);\n this.memberEvent(member, \"agent_cancelled\");\n this.changes.notify();\n }\n\n private stopMembers(): void {\n for (const member of this.instances.values()) {\n if ([\"queued\", \"running\", \"waiting\", \"awaiting_interaction\"].includes(member.status))\n this.stopMember(member, \"Agent team closed.\");\n }\n }\n\n private stopDescendants(parent: TeamMember, reason: string): void {\n // Instances are inserted after their parents; this also reaches idle descendants without recursion.\n // The subtree root is already terminal, and each descendant's parent is stopped first.\n // Only the subtree root reports cancellation to a surviving parent; descendant reports are suppressed.\n const stopped = new Set([parent.instanceId]);\n for (const member of this.instances.values()) {\n if (member.parentInstanceId !== undefined && stopped.has(member.parentInstanceId)) {\n stopped.add(member.instanceId);\n this.stopMember(member, reason);\n }\n }\n }\n\n private async settleMembers(): Promise<void> {\n await Promise.allSettled(\n [...this.instances.values()].flatMap((member) =>\n member.task === undefined ? [] : [member.task],\n ),\n );\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,18 +1,22 @@
1
1
  import {
2
- CompletionCapabilityError,
3
- Usage,
4
2
  generateCompletion
5
- } from "./chunk-OI3LSMJG.js";
3
+ } from "./chunk-BDKFFFVX.js";
4
+ import {
5
+ CompletionCapabilityError,
6
+ Usage
7
+ } from "./chunk-IDNL6IH4.js";
6
8
  import {
7
9
  toProviderJsonSchema
8
- } from "./chunk-QGX73TSQ.js";
10
+ } from "./chunk-SQAAVYJG.js";
9
11
  import {
10
- isAbortError,
11
12
  resolveRetryOptions,
12
13
  retryDelayMs,
13
14
  retryOptionsForFailure,
14
15
  waitForRetry
15
- } from "./chunk-3RWESPUG.js";
16
+ } from "./chunk-POXHJF3H.js";
17
+ import {
18
+ isAbortError
19
+ } from "./chunk-USRKPEQN.js";
16
20
 
17
21
  // src/extractor/extractor.ts
18
22
  import { z } from "zod";
@@ -124,4 +128,4 @@ export {
124
128
  ExtractionError,
125
129
  extract
126
130
  };
127
- //# sourceMappingURL=chunk-JTJU56ZV.js.map
131
+ //# sourceMappingURL=chunk-UOGM62JL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extractor/extractor.ts"],"sourcesContent":["import { z } from \"zod\";\nimport {\n type AssistantContentPart,\n CompletionCapabilityError,\n type CompletionModel,\n type CompletionResult,\n generateCompletion,\n type JsonObject,\n type ToolDefinition,\n Usage,\n} from \"../completion/index\";\nimport { isAbortError } from \"../internal/abort\";\nimport {\n type ResolvedRetryOptions,\n type RetrySetting,\n resolveRetryOptions,\n retryDelayMs,\n retryOptionsForFailure,\n waitForRetry,\n} from \"../retry\";\nimport { toProviderJsonSchema, type ZodSchema } from \"../schema/zod-schema\";\n\nconst SUBMIT_TOOL_NAME = \"submit\";\n\nconst DEFAULT_EXTRACTOR_INSTRUCTIONS =\n \"You are an AI assistant whose purpose is to extract structured data from the provided text.\\n\" +\n \"You have access to a `submit` function that defines the structure of the data to extract.\\n\" +\n \"Always call the `submit` function with the structured data. Use default or null values when information is missing.\";\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\nexport type ExtractOptions<Output, Model extends CompletionModel = CompletionModel> = {\n model: Model;\n text: string;\n outputSchema: ZodSchema<Output>;\n instructions?: string | undefined;\n retries?: RetrySetting | undefined;\n temperature?: number | undefined;\n maxTokens?: number | undefined;\n providerOptions?: JsonObject | undefined;\n abortSignal?: AbortSignal | undefined;\n};\n\nexport type ExtractionResult<Output, RawResponse = unknown> = Omit<\n CompletionResult<string, RawResponse>,\n \"output\"\n> & {\n output: Output;\n};\n\nexport class ExtractionError extends Error {\n readonly attempts: number;\n readonly usage: Usage;\n\n constructor(\n message: string,\n options: {\n cause?: unknown;\n attempts: number;\n usage: Usage;\n },\n ) {\n super(message, options.cause === undefined ? undefined : { cause: options.cause });\n this.name = \"ExtractionError\";\n this.attempts = options.attempts;\n this.usage = options.usage;\n }\n}\n\n/** Extract structured data from text using a required, schema-backed submit tool. */\nexport async function extract<Output, Model extends CompletionModel>(\n options: ExtractOptions<Output, Model>,\n): Promise<ExtractionResult<Output, RawResponseOf<Model>>> {\n if (!(options.outputSchema instanceof z.ZodType)) {\n throw new TypeError(\"extract outputSchema must be a Zod schema.\");\n }\n if (typeof options.text !== \"string\") {\n throw new TypeError(\"extract text must be a string.\");\n }\n\n const retries = resolveExtractionRetries(options.retries);\n const maxAttempts = retries?.maxAttempts ?? 1;\n const submitTool = createSubmitTool(options.outputSchema);\n const instructions = extractionInstructions(options.instructions);\n let usage = Usage.empty();\n let lastError: unknown;\n\n for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {\n try {\n const result = await generateCompletion({\n model: options.model,\n prompt: options.text,\n instructions,\n tools: [globalThis.structuredClone(submitTool)],\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n providerOptions: options.providerOptions,\n toolChoice: \"required\",\n retries: false,\n abortSignal: options.abortSignal,\n });\n usage = Usage.add(usage, result.usage);\n return {\n ...result,\n output: extractSubmittedData(result.content, options.outputSchema),\n usage,\n };\n } catch (error) {\n if (error instanceof CompletionCapabilityError || isAbortError(error)) {\n throw error;\n }\n lastError = error;\n const retryOptions = retryOptionsForFailure(retries, {\n error,\n attempt,\n streaming: false,\n });\n if (retryOptions === undefined) {\n throw new ExtractionError(\"No data extracted\", {\n cause: lastError,\n attempts: attempt,\n usage,\n });\n }\n await waitForRetry(retryDelayMs(retryOptions, attempt), options.abortSignal);\n }\n }\n\n throw new ExtractionError(\"No data extracted\", {\n cause: lastError,\n attempts: maxAttempts,\n usage,\n });\n}\n\nfunction extractionInstructions(instructions: string | undefined): string {\n return instructions === undefined || instructions.length === 0\n ? DEFAULT_EXTRACTOR_INSTRUCTIONS\n : `${DEFAULT_EXTRACTOR_INSTRUCTIONS}\\n\\n${instructions}`;\n}\n\nfunction createSubmitTool<Output>(outputSchema: ZodSchema<Output>): ToolDefinition {\n return {\n name: SUBMIT_TOOL_NAME,\n description: \"Submit the structured data extracted from the provided text.\",\n parameters: toProviderJsonSchema(outputSchema, { io: \"input\" }),\n };\n}\n\nfunction resolveExtractionRetries(\n options: RetrySetting | undefined,\n): ResolvedRetryOptions | undefined {\n if (options === undefined || options === false) {\n return undefined;\n }\n return resolveRetryOptions({\n ...options,\n shouldRetry: options.shouldRetry ?? (() => true),\n });\n}\n\nfunction extractSubmittedData<Output>(\n content: readonly AssistantContentPart[],\n schema: ZodSchema<Output>,\n): Output {\n const submitted = content\n .filter((item) => item.type === \"tool-call\")\n .filter((toolCall) => toolCall.toolName === SUBMIT_TOOL_NAME)\n .at(-1);\n\n if (submitted === undefined) {\n throw new Error(\"The model did not call the submit tool\");\n }\n\n try {\n return schema.parse(submitted.input);\n } catch (error) {\n throw new Error(\"Submitted data failed output schema validation\", { cause: error });\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/extractor/extractor.ts"],"sourcesContent":["import { z } from \"zod\";\nimport {\n type AssistantContentPart,\n CompletionCapabilityError,\n type CompletionModel,\n type CompletionResult,\n generateCompletion,\n type JsonObject,\n type ToolDefinition,\n Usage,\n} from \"../completion/index\";\nimport { isAbortError } from \"../internal/abort\";\nimport {\n type ResolvedRetryOptions,\n type RetrySetting,\n resolveRetryOptions,\n retryDelayMs,\n retryOptionsForFailure,\n waitForRetry,\n} from \"../retry\";\nimport { toProviderJsonSchema, type ZodSchema } from \"../schema/zod-schema\";\n\nconst SUBMIT_TOOL_NAME = \"submit\";\n\nconst DEFAULT_EXTRACTOR_INSTRUCTIONS =\n \"You are an AI assistant whose purpose is to extract structured data from the provided text.\\n\" +\n \"You have access to a `submit` function that defines the structure of the data to extract.\\n\" +\n \"Always call the `submit` function with the structured data. Use default or null values when information is missing.\";\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\nexport type ExtractOptions<Output, Model extends CompletionModel = CompletionModel> = {\n model: Model;\n text: string;\n outputSchema: ZodSchema<Output>;\n instructions?: string | undefined;\n retries?: RetrySetting | undefined;\n temperature?: number | undefined;\n maxTokens?: number | undefined;\n providerOptions?: JsonObject | undefined;\n abortSignal?: AbortSignal | undefined;\n};\n\nexport type ExtractionResult<Output, RawResponse = unknown> = Omit<\n CompletionResult<string, RawResponse>,\n \"output\"\n> & {\n output: Output;\n};\n\nexport class ExtractionError extends Error {\n readonly attempts: number;\n readonly usage: Usage;\n\n constructor(\n message: string,\n options: {\n cause?: unknown;\n attempts: number;\n usage: Usage;\n },\n ) {\n super(message, options.cause === undefined ? undefined : { cause: options.cause });\n this.name = \"ExtractionError\";\n this.attempts = options.attempts;\n this.usage = options.usage;\n }\n}\n\n/** Extract structured data from text using a required, schema-backed submit tool. */\nexport async function extract<Output, Model extends CompletionModel>(\n options: ExtractOptions<Output, Model>,\n): Promise<ExtractionResult<Output, RawResponseOf<Model>>> {\n if (!(options.outputSchema instanceof z.ZodType)) {\n throw new TypeError(\"extract outputSchema must be a Zod schema.\");\n }\n if (typeof options.text !== \"string\") {\n throw new TypeError(\"extract text must be a string.\");\n }\n\n const retries = resolveExtractionRetries(options.retries);\n const maxAttempts = retries?.maxAttempts ?? 1;\n const submitTool = createSubmitTool(options.outputSchema);\n const instructions = extractionInstructions(options.instructions);\n let usage = Usage.empty();\n let lastError: unknown;\n\n for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {\n try {\n const result = await generateCompletion({\n model: options.model,\n prompt: options.text,\n instructions,\n tools: [globalThis.structuredClone(submitTool)],\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n providerOptions: options.providerOptions,\n toolChoice: \"required\",\n retries: false,\n abortSignal: options.abortSignal,\n });\n usage = Usage.add(usage, result.usage);\n return {\n ...result,\n output: extractSubmittedData(result.content, options.outputSchema),\n usage,\n };\n } catch (error) {\n if (error instanceof CompletionCapabilityError || isAbortError(error)) {\n throw error;\n }\n lastError = error;\n const retryOptions = retryOptionsForFailure(retries, {\n error,\n attempt,\n streaming: false,\n });\n if (retryOptions === undefined) {\n throw new ExtractionError(\"No data extracted\", {\n cause: lastError,\n attempts: attempt,\n usage,\n });\n }\n await waitForRetry(retryDelayMs(retryOptions, attempt), options.abortSignal);\n }\n }\n\n throw new ExtractionError(\"No data extracted\", {\n cause: lastError,\n attempts: maxAttempts,\n usage,\n });\n}\n\nfunction extractionInstructions(instructions: string | undefined): string {\n return instructions === undefined || instructions.length === 0\n ? DEFAULT_EXTRACTOR_INSTRUCTIONS\n : `${DEFAULT_EXTRACTOR_INSTRUCTIONS}\\n\\n${instructions}`;\n}\n\nfunction createSubmitTool<Output>(outputSchema: ZodSchema<Output>): ToolDefinition {\n return {\n name: SUBMIT_TOOL_NAME,\n description: \"Submit the structured data extracted from the provided text.\",\n parameters: toProviderJsonSchema(outputSchema, { io: \"input\" }),\n };\n}\n\nfunction resolveExtractionRetries(\n options: RetrySetting | undefined,\n): ResolvedRetryOptions | undefined {\n if (options === undefined || options === false) {\n return undefined;\n }\n return resolveRetryOptions({\n ...options,\n shouldRetry: options.shouldRetry ?? (() => true),\n });\n}\n\nfunction extractSubmittedData<Output>(\n content: readonly AssistantContentPart[],\n schema: ZodSchema<Output>,\n): Output {\n const submitted = content\n .filter((item) => item.type === \"tool-call\")\n .filter((toolCall) => toolCall.toolName === SUBMIT_TOOL_NAME)\n .at(-1);\n\n if (submitted === undefined) {\n throw new Error(\"The model did not call the submit tool\");\n }\n\n try {\n return schema.parse(submitted.input);\n } catch (error) {\n throw new Error(\"Submitted data failed output schema validation\", { cause: error });\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,55 @@
1
+ // src/internal/abort.ts
2
+ function throwIfAborted(signal) {
3
+ if (signal?.aborted === true) {
4
+ throw abortError(signal.reason);
5
+ }
6
+ }
7
+ function abortError(reason) {
8
+ if (isAbortError(reason)) {
9
+ return reason;
10
+ }
11
+ const error = new Error(
12
+ "The operation was aborted.",
13
+ reason === void 0 ? void 0 : { cause: reason }
14
+ );
15
+ error.name = "AbortError";
16
+ return error;
17
+ }
18
+ function isAbortError(error) {
19
+ const seen = /* @__PURE__ */ new Set();
20
+ let current = error;
21
+ while (typeof current === "object" && current !== null && !seen.has(current)) {
22
+ seen.add(current);
23
+ if ("name" in current && current.name === "AbortError") {
24
+ return true;
25
+ }
26
+ current = "cause" in current ? current.cause : void 0;
27
+ }
28
+ return false;
29
+ }
30
+ function waitForAbortableDelay(delayMs, signal) {
31
+ throwIfAborted(signal);
32
+ if (delayMs === 0) return Promise.resolve();
33
+ if (signal === void 0) {
34
+ return new Promise((resolve) => setTimeout(resolve, delayMs));
35
+ }
36
+ return new Promise((resolve, reject) => {
37
+ const timer = setTimeout(() => {
38
+ signal.removeEventListener("abort", onAbort);
39
+ resolve();
40
+ }, delayMs);
41
+ const onAbort = () => {
42
+ clearTimeout(timer);
43
+ reject(abortError(signal.reason));
44
+ };
45
+ signal.addEventListener("abort", onAbort, { once: true });
46
+ });
47
+ }
48
+
49
+ export {
50
+ throwIfAborted,
51
+ abortError,
52
+ isAbortError,
53
+ waitForAbortableDelay
54
+ };
55
+ //# sourceMappingURL=chunk-USRKPEQN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/abort.ts"],"sourcesContent":["export function throwIfAborted(signal: AbortSignal | undefined): void {\n if (signal?.aborted === true) {\n throw abortError(signal.reason);\n }\n}\n\nexport function abortError(reason?: unknown): Error {\n if (isAbortError(reason)) {\n return reason;\n }\n\n const error = new Error(\n \"The operation was aborted.\",\n reason === undefined ? undefined : { cause: reason },\n );\n error.name = \"AbortError\";\n return error;\n}\n\nexport function isAbortError(error: unknown): error is Error {\n const seen = new Set<object>();\n let current = error;\n while (typeof current === \"object\" && current !== null && !seen.has(current)) {\n seen.add(current);\n if (\"name\" in current && current.name === \"AbortError\") {\n return true;\n }\n current = \"cause\" in current ? current.cause : undefined;\n }\n return false;\n}\n\nexport function waitForAbortableDelay(\n delayMs: number,\n signal: AbortSignal | undefined,\n): Promise<void> {\n throwIfAborted(signal);\n if (delayMs === 0) return Promise.resolve();\n if (signal === undefined) {\n return new Promise<void>((resolve) => setTimeout(resolve, delayMs));\n }\n\n return new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", onAbort);\n resolve();\n }, delayMs);\n const onAbort = () => {\n clearTimeout(timer);\n reject(abortError(signal.reason));\n };\n signal.addEventListener(\"abort\", onAbort, { once: true });\n });\n}\n"],"mappings":";AAAO,SAAS,eAAe,QAAuC;AACpE,MAAI,QAAQ,YAAY,MAAM;AAC5B,UAAM,WAAW,OAAO,MAAM;AAAA,EAChC;AACF;AAEO,SAAS,WAAW,QAAyB;AAClD,MAAI,aAAa,MAAM,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,IAAI;AAAA,IAChB;AAAA,IACA,WAAW,SAAY,SAAY,EAAE,OAAO,OAAO;AAAA,EACrD;AACA,QAAM,OAAO;AACb,SAAO;AACT;AAEO,SAAS,aAAa,OAAgC;AAC3D,QAAM,OAAO,oBAAI,IAAY;AAC7B,MAAI,UAAU;AACd,SAAO,OAAO,YAAY,YAAY,YAAY,QAAQ,CAAC,KAAK,IAAI,OAAO,GAAG;AAC5E,SAAK,IAAI,OAAO;AAChB,QAAI,UAAU,WAAW,QAAQ,SAAS,cAAc;AACtD,aAAO;AAAA,IACT;AACA,cAAU,WAAW,UAAU,QAAQ,QAAQ;AAAA,EACjD;AACA,SAAO;AACT;AAEO,SAAS,sBACd,SACA,QACe;AACf,iBAAe,MAAM;AACrB,MAAI,YAAY,EAAG,QAAO,QAAQ,QAAQ;AAC1C,MAAI,WAAW,QAAW;AACxB,WAAO,IAAI,QAAc,CAAC,YAAY,WAAW,SAAS,OAAO,CAAC;AAAA,EACpE;AAEA,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,QAAQ,WAAW,MAAM;AAC7B,aAAO,oBAAoB,SAAS,OAAO;AAC3C,cAAQ;AAAA,IACV,GAAG,OAAO;AACV,UAAM,UAAU,MAAM;AACpB,mBAAa,KAAK;AAClB,aAAO,WAAW,OAAO,MAAM,CAAC;AAAA,IAClC;AACA,WAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC1D,CAAC;AACH;","names":[]}