@anvia/core 1.1.2 → 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 +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,342 @@
1
+ import {
2
+ createCompletionRequest
3
+ } from "./chunk-CKKNO4XB.js";
4
+ import {
5
+ CompletionStreamAccumulator
6
+ } from "./chunk-UTAB3XQI.js";
7
+ import {
8
+ CompletionProviderOutputError,
9
+ assertCompletionResponseIntegrity
10
+ } from "./chunk-XQV3XNVT.js";
11
+ import {
12
+ Usage,
13
+ assertCompletionRequestSupported,
14
+ textFromAssistantContent
15
+ } from "./chunk-IDNL6IH4.js";
16
+ import {
17
+ isJsonValue
18
+ } from "./chunk-4C7AXYOM.js";
19
+ import {
20
+ toProviderJsonSchema
21
+ } from "./chunk-SQAAVYJG.js";
22
+ import {
23
+ completionProviderOutputErrorUsage,
24
+ resolveRetryOptions,
25
+ retryDelayMs,
26
+ retryOptionsForFailure,
27
+ waitForRetry
28
+ } from "./chunk-POXHJF3H.js";
29
+ import {
30
+ abortError,
31
+ throwIfAborted
32
+ } from "./chunk-USRKPEQN.js";
33
+
34
+ // src/completion/generate-completion.ts
35
+ var CompletionStructuredOutputError = class extends Error {
36
+ phase;
37
+ outputLength;
38
+ usage;
39
+ finishReason;
40
+ providerFinishReason;
41
+ constructor(options) {
42
+ const failure = options.phase === "truncated" ? "because the provider reached its output limit" : options.phase === "content-filter" ? "because the provider filtered the response" : options.phase === "parse" ? "during JSON parsing" : "during schema validation";
43
+ super(`Structured completion output failed ${failure}.`, { cause: options.cause });
44
+ this.name = "CompletionStructuredOutputError";
45
+ this.phase = options.phase;
46
+ this.outputLength = options.outputLength;
47
+ this.usage = options.usage;
48
+ this.finishReason = options.finishReason;
49
+ this.providerFinishReason = options.providerFinishReason;
50
+ }
51
+ };
52
+ async function generateCompletion(options) {
53
+ throwIfAborted(options.abortSignal);
54
+ const request = requestFromOptions(options);
55
+ assertCompletionRequestSupported(options.model, request);
56
+ const retries = resolveOptionalRetries(options.retries);
57
+ const response = await sendCompletion(options.model, request, retries, options.abortSignal);
58
+ return resultFromResponse(response, structuredOutputSchema(options));
59
+ }
60
+ function streamCompletion(options) {
61
+ throwIfAborted(options.abortSignal);
62
+ const request = requestFromOptions(options);
63
+ if (!isStreamingCompletionModel(options.model) || !options.model.capabilities.streaming) {
64
+ throw new Error("This completion model does not support streaming");
65
+ }
66
+ assertCompletionRequestSupported(options.model, request, { streaming: true });
67
+ const retries = resolveOptionalRetries(options.retries);
68
+ return streamCompletionWithRetries(
69
+ options.model,
70
+ request,
71
+ retries,
72
+ options.abortSignal,
73
+ structuredOutputSchema(options)
74
+ );
75
+ }
76
+ async function sendCompletion(model, request, retries, abortSignal) {
77
+ const callOptions = modelCallOptions(abortSignal);
78
+ let attempt = 1;
79
+ let failedUsage = Usage.empty();
80
+ while (true) {
81
+ try {
82
+ throwIfAborted(abortSignal);
83
+ const response = await model.completion(request, callOptions);
84
+ assertCompletionResponseIntegrity({ response });
85
+ return Usage.isEmpty(failedUsage) ? response : { ...response, usage: Usage.add(failedUsage, response.usage) };
86
+ } catch (error) {
87
+ const normalizedError = abortSignal?.aborted === true ? abortError(abortSignal.reason) : error;
88
+ const attemptUsage = completionProviderOutputErrorUsage(normalizedError);
89
+ if (attemptUsage !== void 0) failedUsage = Usage.add(failedUsage, attemptUsage);
90
+ const retryOptions = retryOptionsForFailure(retries, {
91
+ error: normalizedError,
92
+ attempt,
93
+ streaming: false
94
+ });
95
+ if (retryOptions === void 0) throw normalizedError;
96
+ await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);
97
+ attempt += 1;
98
+ }
99
+ }
100
+ }
101
+ function resolveOptionalRetries(setting) {
102
+ return setting === void 0 || setting === false ? void 0 : resolveRetryOptions(setting);
103
+ }
104
+ async function* streamCompletionWithRetries(model, request, retries, abortSignal, outputSchema) {
105
+ let attempt = 1;
106
+ let swallowedUsage = Usage.empty();
107
+ const callOptions = modelCallOptions(abortSignal);
108
+ attemptLoop: while (true) {
109
+ let exposedProgress = false;
110
+ let retryDelay;
111
+ const accumulator = new CompletionStreamAccumulator();
112
+ try {
113
+ throwIfAborted(abortSignal);
114
+ const events = model.streamCompletion(request, callOptions);
115
+ for await (const event of events) {
116
+ if (event.type === "error" && !exposedProgress) {
117
+ const eventError = abortSignal?.aborted === true ? abortError(abortSignal.reason) : event.error;
118
+ const eventUsage = event.usage ?? completionProviderOutputErrorUsage(eventError) ?? Usage.empty();
119
+ const retryOptions = retryOptionsForFailure(retries, {
120
+ error: eventError,
121
+ attempt,
122
+ streaming: true
123
+ });
124
+ if (retryOptions !== void 0) {
125
+ swallowedUsage = Usage.add(swallowedUsage, eventUsage);
126
+ retryDelay = retryDelayMs(retryOptions, attempt);
127
+ break;
128
+ }
129
+ }
130
+ if (event.type === "error") {
131
+ const eventError = abortSignal?.aborted === true ? abortError(abortSignal.reason) : event.error;
132
+ const eventUsage = event.usage ?? completionProviderOutputErrorUsage(eventError) ?? Usage.empty();
133
+ yield {
134
+ type: "error",
135
+ error: eventError,
136
+ usage: Usage.add(swallowedUsage, eventUsage)
137
+ };
138
+ return;
139
+ }
140
+ if (event.type === "final") {
141
+ const cumulativeUsage = Usage.add(swallowedUsage, event.response.usage);
142
+ try {
143
+ accumulator.accept(event);
144
+ const accumulatedResponse = accumulator.response();
145
+ const response = Usage.isEmpty(swallowedUsage) ? accumulatedResponse : { ...accumulatedResponse, usage: cumulativeUsage };
146
+ assertCompletionResponseIntegrity({ response });
147
+ yield {
148
+ type: "final",
149
+ result: resultFromResponse(response, outputSchema)
150
+ };
151
+ } catch (error) {
152
+ const retryOptions = exposedProgress ? void 0 : retryOptionsForFailure(retries, {
153
+ error,
154
+ attempt,
155
+ streaming: true
156
+ });
157
+ if (retryOptions !== void 0) {
158
+ swallowedUsage = cumulativeUsage;
159
+ await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);
160
+ attempt += 1;
161
+ continue attemptLoop;
162
+ }
163
+ yield { type: "error", error, usage: cumulativeUsage };
164
+ }
165
+ return;
166
+ }
167
+ accumulator.accept(event);
168
+ exposedProgress = true;
169
+ yield event;
170
+ }
171
+ if (retryDelay !== void 0) {
172
+ await waitForRetry(retryDelay, abortSignal);
173
+ attempt += 1;
174
+ continue;
175
+ }
176
+ let incomplete;
177
+ try {
178
+ accumulator.response();
179
+ incomplete = new CompletionProviderOutputError({ kind: "incomplete-stream" });
180
+ } catch (error) {
181
+ incomplete = error;
182
+ }
183
+ if (!exposedProgress) {
184
+ const retryOptions = retryOptionsForFailure(retries, {
185
+ error: incomplete,
186
+ attempt,
187
+ streaming: true
188
+ });
189
+ if (retryOptions !== void 0) {
190
+ await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);
191
+ attempt += 1;
192
+ continue;
193
+ }
194
+ }
195
+ yield { type: "error", error: incomplete, usage: swallowedUsage };
196
+ return;
197
+ } catch (error) {
198
+ const normalizedError = abortSignal?.aborted === true ? abortError(abortSignal.reason) : error;
199
+ const attemptUsage = completionProviderOutputErrorUsage(normalizedError);
200
+ const cumulativeUsage = attemptUsage === void 0 ? swallowedUsage : Usage.add(swallowedUsage, attemptUsage);
201
+ if (!exposedProgress) {
202
+ const retryOptions = retryOptionsForFailure(retries, {
203
+ error: normalizedError,
204
+ attempt,
205
+ streaming: true
206
+ });
207
+ if (retryOptions !== void 0) {
208
+ try {
209
+ swallowedUsage = cumulativeUsage;
210
+ await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);
211
+ attempt += 1;
212
+ continue;
213
+ } catch (waitError) {
214
+ yield { type: "error", error: waitError, usage: cumulativeUsage };
215
+ return;
216
+ }
217
+ }
218
+ }
219
+ yield { type: "error", error: normalizedError, usage: cumulativeUsage };
220
+ return;
221
+ }
222
+ }
223
+ }
224
+ function requestFromOptions(options) {
225
+ const input = inputFromOptions(options);
226
+ return createCompletionRequest(input, {
227
+ instructions: options.instructions,
228
+ documents: options.documents,
229
+ tools: options.tools,
230
+ temperature: options.temperature,
231
+ maxTokens: options.maxTokens,
232
+ toolChoice: options.toolChoice,
233
+ controls: options.controls,
234
+ providerOptions: options.providerOptions,
235
+ outputSchema: "outputSchema" in options && options.outputSchema !== void 0 ? toProviderJsonSchema(options.outputSchema) : void 0
236
+ });
237
+ }
238
+ function inputFromOptions(options) {
239
+ const prompt = options.prompt;
240
+ const messages = options.messages;
241
+ const hasPrompt = prompt !== void 0;
242
+ const hasMessages = messages !== void 0;
243
+ if (hasPrompt === hasMessages) {
244
+ throw new TypeError("Exactly one of prompt or messages must be provided.");
245
+ }
246
+ if (hasPrompt) {
247
+ if (typeof prompt !== "string" || prompt.trim().length === 0) {
248
+ throw new TypeError("Completion prompt must be a non-empty string.");
249
+ }
250
+ return prompt;
251
+ }
252
+ if (!Array.isArray(messages)) {
253
+ throw new TypeError("Completion messages must be an array of Message values.");
254
+ }
255
+ return messages;
256
+ }
257
+ function structuredOutputSchema(options) {
258
+ return options.outputSchema;
259
+ }
260
+ function resultFromResponse(response, outputSchema) {
261
+ const text = textFromAssistantContent(response.choice);
262
+ const result = {
263
+ output: outputSchema === void 0 ? text : parseCompletionOutput(text, outputSchema, response),
264
+ text,
265
+ content: [...response.choice],
266
+ usage: response.usage,
267
+ rawResponse: response.rawResponse
268
+ };
269
+ if (response.finishReason !== void 0) result.finishReason = response.finishReason;
270
+ if (response.providerFinishReason !== void 0) {
271
+ result.providerFinishReason = response.providerFinishReason;
272
+ }
273
+ if (response.contextUsage !== void 0) result.contextUsage = response.contextUsage;
274
+ if (response.messageId !== void 0) result.messageId = response.messageId;
275
+ if (response.sources !== void 0) result.sources = [...response.sources];
276
+ if (response.providerToolCalls !== void 0) {
277
+ result.providerToolCalls = [...response.providerToolCalls];
278
+ }
279
+ return result;
280
+ }
281
+ function parseCompletionOutput(text, schema, response) {
282
+ if (response.finishReason === "content-filter") {
283
+ throw new CompletionStructuredOutputError({
284
+ phase: "content-filter",
285
+ outputLength: text.length,
286
+ usage: response.usage,
287
+ finishReason: response.finishReason,
288
+ providerFinishReason: response.providerFinishReason
289
+ });
290
+ }
291
+ if (response.finishReason === "length") {
292
+ throw new CompletionStructuredOutputError({
293
+ phase: "truncated",
294
+ outputLength: text.length,
295
+ usage: response.usage,
296
+ finishReason: response.finishReason,
297
+ providerFinishReason: response.providerFinishReason
298
+ });
299
+ }
300
+ let json;
301
+ try {
302
+ json = JSON.parse(text);
303
+ if (!isJsonValue(json)) {
304
+ throw new TypeError("Structured completion output is not a JSON value.");
305
+ }
306
+ } catch (error) {
307
+ throw new CompletionStructuredOutputError({
308
+ phase: "parse",
309
+ outputLength: text.length,
310
+ usage: response.usage,
311
+ finishReason: response.finishReason,
312
+ providerFinishReason: response.providerFinishReason,
313
+ cause: error
314
+ });
315
+ }
316
+ try {
317
+ return schema.parse(json);
318
+ } catch (error) {
319
+ throw new CompletionStructuredOutputError({
320
+ phase: "schema",
321
+ outputLength: text.length,
322
+ usage: response.usage,
323
+ finishReason: response.finishReason,
324
+ providerFinishReason: response.providerFinishReason,
325
+ cause: error
326
+ });
327
+ }
328
+ }
329
+ function modelCallOptions(abortSignal) {
330
+ return abortSignal === void 0 ? void 0 : { abortSignal };
331
+ }
332
+ function isStreamingCompletionModel(model) {
333
+ return typeof model.streamCompletion === "function";
334
+ }
335
+
336
+ export {
337
+ CompletionStructuredOutputError,
338
+ generateCompletion,
339
+ streamCompletion,
340
+ isStreamingCompletionModel
341
+ };
342
+ //# sourceMappingURL=chunk-BDKFFFVX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/completion/generate-completion.ts"],"sourcesContent":["import { abortError, throwIfAborted } from \"../internal/abort\";\nimport { createCompletionRequest } from \"../internal/completion-request\";\nimport type { ModelCallOptions } from \"../model-call-options\";\nimport {\n completionProviderOutputErrorUsage,\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\";\nimport { isJsonValue } from \"./json\";\nimport {\n assertCompletionResponseIntegrity,\n CompletionProviderOutputError,\n} from \"./provider-output-error\";\nimport { CompletionStreamAccumulator } from \"./stream-accumulator\";\nimport type {\n CompletionControlValues,\n CompletionModel,\n CompletionModelControlsOf,\n CompletionModelStreamEvent,\n CompletionRequest,\n CompletionResponse,\n CompletionResult,\n CompletionStreamEvent,\n CompletionTool,\n Document,\n JsonObject,\n Message as MessageType,\n StreamingCompletionModel,\n ToolChoice,\n} from \"./types\";\nimport { assertCompletionRequestSupported, textFromAssistantContent, Usage } from \"./types\";\n\nexport type CompletionStructuredOutputPhase = \"truncated\" | \"content-filter\" | \"parse\" | \"schema\";\n\nexport class CompletionStructuredOutputError extends Error {\n readonly phase: CompletionStructuredOutputPhase;\n readonly outputLength: number;\n readonly usage: Usage;\n readonly finishReason: CompletionResponse[\"finishReason\"];\n readonly providerFinishReason: string | undefined;\n\n constructor(options: {\n phase: CompletionStructuredOutputPhase;\n outputLength: number;\n usage: Usage;\n finishReason?: CompletionResponse[\"finishReason\"];\n providerFinishReason?: string | undefined;\n cause?: unknown;\n }) {\n const failure =\n options.phase === \"truncated\"\n ? \"because the provider reached its output limit\"\n : options.phase === \"content-filter\"\n ? \"because the provider filtered the response\"\n : options.phase === \"parse\"\n ? \"during JSON parsing\"\n : \"during schema validation\";\n super(`Structured completion output failed ${failure}.`, { cause: options.cause });\n this.name = \"CompletionStructuredOutputError\";\n this.phase = options.phase;\n this.outputLength = options.outputLength;\n this.usage = options.usage;\n this.finishReason = options.finishReason;\n this.providerFinishReason = options.providerFinishReason;\n }\n}\n\nexport type CompletionInput =\n | { prompt: string; messages?: never }\n | { messages: readonly MessageType[]; prompt?: never };\n\nexport type CompletionBaseOptions<Model extends CompletionModel = CompletionModel> =\n CompletionInput & {\n model: Model;\n instructions?: string | undefined;\n documents?: readonly Document[] | undefined;\n tools?: readonly CompletionTool[] | undefined;\n temperature?: number | undefined;\n maxTokens?: number | undefined;\n toolChoice?: ToolChoice | undefined;\n controls?: CompletionControlValues<CompletionModelControlsOf<Model>> | undefined;\n providerOptions?: JsonObject | undefined;\n retries?: RetrySetting | undefined;\n abortSignal?: AbortSignal | undefined;\n };\n\nexport type GenerateCompletionOptions<Model extends CompletionModel = CompletionModel> =\n CompletionBaseOptions<Model> & { outputSchema?: never };\n\nexport type GenerateStructuredCompletionOptions<\n Output,\n Model extends CompletionModel = CompletionModel,\n> = CompletionBaseOptions<Model> & { outputSchema: ZodSchema<Output> };\n\nexport type StreamCompletionOptions<\n Model extends StreamingCompletionModel = StreamingCompletionModel,\n> = GenerateCompletionOptions<Model>;\n\nexport type StreamStructuredCompletionOptions<\n Output,\n Model extends StreamingCompletionModel = StreamingCompletionModel,\n> = GenerateStructuredCompletionOptions<Output, Model>;\n\ntype RawResponseOf<Model> =\n Model extends CompletionModel<infer RawResponse> ? RawResponse : unknown;\n\nexport function generateCompletion<Output, Model extends CompletionModel>(\n options: GenerateStructuredCompletionOptions<Output, Model>,\n): Promise<CompletionResult<Output, RawResponseOf<Model>>>;\nexport function generateCompletion<Model extends CompletionModel>(\n options: GenerateCompletionOptions<Model>,\n): Promise<CompletionResult<string, RawResponseOf<Model>>>;\nexport async function generateCompletion<Output, Model extends CompletionModel>(\n options: GenerateCompletionOptions<Model> | GenerateStructuredCompletionOptions<Output, Model>,\n): Promise<CompletionResult<Output | string, RawResponseOf<Model>>> {\n throwIfAborted(options.abortSignal);\n const request = requestFromOptions(options);\n assertCompletionRequestSupported(options.model, request);\n const retries = resolveOptionalRetries(options.retries);\n const response = await sendCompletion(options.model, request, retries, options.abortSignal);\n return resultFromResponse(response, structuredOutputSchema(options));\n}\n\nexport function streamCompletion<Output, Model extends StreamingCompletionModel>(\n options: StreamStructuredCompletionOptions<Output, Model>,\n): AsyncIterable<CompletionStreamEvent<Output, RawResponseOf<Model>>>;\nexport function streamCompletion<Model extends StreamingCompletionModel>(\n options: StreamCompletionOptions<Model>,\n): AsyncIterable<CompletionStreamEvent<string, RawResponseOf<Model>>>;\nexport function streamCompletion<Output, Model extends StreamingCompletionModel>(\n options: StreamCompletionOptions<Model> | StreamStructuredCompletionOptions<Output, Model>,\n): AsyncIterable<CompletionStreamEvent<Output | string, RawResponseOf<Model>>> {\n throwIfAborted(options.abortSignal);\n const request = requestFromOptions(options);\n if (!isStreamingCompletionModel(options.model) || !options.model.capabilities.streaming) {\n throw new Error(\"This completion model does not support streaming\");\n }\n assertCompletionRequestSupported(options.model, request, { streaming: true });\n const retries = resolveOptionalRetries(options.retries);\n return streamCompletionWithRetries(\n options.model,\n request,\n retries,\n options.abortSignal,\n structuredOutputSchema(options),\n );\n}\n\nasync function sendCompletion<Model extends CompletionModel>(\n model: Model,\n request: CompletionRequest,\n retries: ResolvedRetryOptions | undefined,\n abortSignal: AbortSignal | undefined,\n): Promise<CompletionResponse<RawResponseOf<Model>>> {\n const callOptions = modelCallOptions(abortSignal);\n let attempt = 1;\n let failedUsage = Usage.empty();\n while (true) {\n try {\n throwIfAborted(abortSignal);\n const response = (await model.completion(request, callOptions)) as CompletionResponse<\n RawResponseOf<Model>\n >;\n assertCompletionResponseIntegrity({ response });\n return Usage.isEmpty(failedUsage)\n ? response\n : { ...response, usage: Usage.add(failedUsage, response.usage) };\n } catch (error) {\n const normalizedError =\n abortSignal?.aborted === true ? abortError(abortSignal.reason) : error;\n const attemptUsage = completionProviderOutputErrorUsage(normalizedError);\n if (attemptUsage !== undefined) failedUsage = Usage.add(failedUsage, attemptUsage);\n const retryOptions = retryOptionsForFailure(retries, {\n error: normalizedError,\n attempt,\n streaming: false,\n });\n if (retryOptions === undefined) throw normalizedError;\n await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);\n attempt += 1;\n }\n }\n}\n\nfunction resolveOptionalRetries(\n setting: RetrySetting | undefined,\n): ResolvedRetryOptions | undefined {\n return setting === undefined || setting === false ? undefined : resolveRetryOptions(setting);\n}\n\nasync function* streamCompletionWithRetries<Output, Model extends StreamingCompletionModel>(\n model: Model,\n request: CompletionRequest,\n retries: ResolvedRetryOptions | undefined,\n abortSignal: AbortSignal | undefined,\n outputSchema: ZodSchema<Output> | undefined,\n): AsyncIterable<CompletionStreamEvent<Output | string, RawResponseOf<Model>>> {\n let attempt = 1;\n let swallowedUsage = Usage.empty();\n const callOptions = modelCallOptions(abortSignal);\n\n attemptLoop: while (true) {\n let exposedProgress = false;\n let retryDelay: number | undefined;\n const accumulator = new CompletionStreamAccumulator<RawResponseOf<Model>>();\n try {\n throwIfAborted(abortSignal);\n const events = model.streamCompletion(request, callOptions) as AsyncIterable<\n CompletionModelStreamEvent<RawResponseOf<Model>>\n >;\n for await (const event of events) {\n if (event.type === \"error\" && !exposedProgress) {\n const eventError =\n abortSignal?.aborted === true ? abortError(abortSignal.reason) : event.error;\n const eventUsage =\n event.usage ?? completionProviderOutputErrorUsage(eventError) ?? Usage.empty();\n const retryOptions = retryOptionsForFailure(retries, {\n error: eventError,\n attempt,\n streaming: true,\n });\n if (retryOptions !== undefined) {\n swallowedUsage = Usage.add(swallowedUsage, eventUsage);\n retryDelay = retryDelayMs(retryOptions, attempt);\n break;\n }\n }\n\n if (event.type === \"error\") {\n const eventError =\n abortSignal?.aborted === true ? abortError(abortSignal.reason) : event.error;\n const eventUsage =\n event.usage ?? completionProviderOutputErrorUsage(eventError) ?? Usage.empty();\n yield {\n type: \"error\",\n error: eventError,\n usage: Usage.add(swallowedUsage, eventUsage),\n };\n return;\n }\n\n if (event.type === \"final\") {\n const cumulativeUsage = Usage.add(swallowedUsage, event.response.usage);\n try {\n accumulator.accept(event);\n const accumulatedResponse = accumulator.response();\n const response = Usage.isEmpty(swallowedUsage)\n ? accumulatedResponse\n : { ...accumulatedResponse, usage: cumulativeUsage };\n assertCompletionResponseIntegrity({ response });\n yield {\n type: \"final\",\n result: resultFromResponse(response, outputSchema),\n };\n } catch (error) {\n const retryOptions = exposedProgress\n ? undefined\n : retryOptionsForFailure(retries, {\n error,\n attempt,\n streaming: true,\n });\n if (retryOptions !== undefined) {\n swallowedUsage = cumulativeUsage;\n await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);\n attempt += 1;\n continue attemptLoop;\n }\n yield { type: \"error\", error, usage: cumulativeUsage };\n }\n return;\n }\n\n accumulator.accept(event);\n exposedProgress = true;\n yield event;\n }\n\n if (retryDelay !== undefined) {\n await waitForRetry(retryDelay, abortSignal);\n attempt += 1;\n continue;\n }\n\n let incomplete: unknown;\n try {\n accumulator.response();\n incomplete = new CompletionProviderOutputError({ kind: \"incomplete-stream\" });\n } catch (error) {\n incomplete = error;\n }\n if (!exposedProgress) {\n const retryOptions = retryOptionsForFailure(retries, {\n error: incomplete,\n attempt,\n streaming: true,\n });\n if (retryOptions !== undefined) {\n await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);\n attempt += 1;\n continue;\n }\n }\n yield { type: \"error\", error: incomplete, usage: swallowedUsage };\n return;\n } catch (error) {\n const normalizedError =\n abortSignal?.aborted === true ? abortError(abortSignal.reason) : error;\n const attemptUsage = completionProviderOutputErrorUsage(normalizedError);\n const cumulativeUsage =\n attemptUsage === undefined ? swallowedUsage : Usage.add(swallowedUsage, attemptUsage);\n if (!exposedProgress) {\n const retryOptions = retryOptionsForFailure(retries, {\n error: normalizedError,\n attempt,\n streaming: true,\n });\n if (retryOptions !== undefined) {\n try {\n swallowedUsage = cumulativeUsage;\n await waitForRetry(retryDelayMs(retryOptions, attempt), abortSignal);\n attempt += 1;\n continue;\n } catch (waitError) {\n yield { type: \"error\", error: waitError, usage: cumulativeUsage };\n return;\n }\n }\n }\n yield { type: \"error\", error: normalizedError, usage: cumulativeUsage };\n return;\n }\n }\n}\n\nfunction requestFromOptions<Model extends CompletionModel, Output>(\n options: GenerateCompletionOptions<Model> | GenerateStructuredCompletionOptions<Output, Model>,\n): CompletionRequest {\n const input = inputFromOptions(options);\n return createCompletionRequest(input, {\n instructions: options.instructions,\n documents: options.documents,\n tools: options.tools,\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n toolChoice: options.toolChoice,\n controls: options.controls,\n providerOptions: options.providerOptions,\n outputSchema:\n \"outputSchema\" in options && options.outputSchema !== undefined\n ? toProviderJsonSchema(options.outputSchema)\n : undefined,\n });\n}\n\nfunction inputFromOptions(options: CompletionInput): string | readonly MessageType[] {\n const prompt = (options as { prompt?: unknown }).prompt;\n const messages = (options as { messages?: unknown }).messages;\n const hasPrompt = prompt !== undefined;\n const hasMessages = messages !== undefined;\n if (hasPrompt === hasMessages) {\n throw new TypeError(\"Exactly one of prompt or messages must be provided.\");\n }\n if (hasPrompt) {\n if (typeof prompt !== \"string\" || prompt.trim().length === 0) {\n throw new TypeError(\"Completion prompt must be a non-empty string.\");\n }\n return prompt;\n }\n if (!Array.isArray(messages)) {\n throw new TypeError(\"Completion messages must be an array of Message values.\");\n }\n return messages as readonly MessageType[];\n}\n\nfunction structuredOutputSchema<Output>(options: {\n outputSchema?: ZodSchema<Output> | undefined;\n}): ZodSchema<Output> | undefined {\n return options.outputSchema;\n}\n\nfunction resultFromResponse<Output, RawResponse>(\n response: CompletionResponse<RawResponse>,\n outputSchema: ZodSchema<Output> | undefined,\n): CompletionResult<Output | string, RawResponse> {\n const text = textFromAssistantContent(response.choice);\n const result: CompletionResult<Output | string, RawResponse> = {\n output: outputSchema === undefined ? text : parseCompletionOutput(text, outputSchema, response),\n text,\n content: [...response.choice],\n usage: response.usage,\n rawResponse: response.rawResponse,\n };\n if (response.finishReason !== undefined) result.finishReason = response.finishReason;\n if (response.providerFinishReason !== undefined) {\n result.providerFinishReason = response.providerFinishReason;\n }\n if (response.contextUsage !== undefined) result.contextUsage = response.contextUsage;\n if (response.messageId !== undefined) result.messageId = response.messageId;\n if (response.sources !== undefined) result.sources = [...response.sources];\n if (response.providerToolCalls !== undefined) {\n result.providerToolCalls = [...response.providerToolCalls];\n }\n return result;\n}\n\nfunction parseCompletionOutput<Output, RawResponse>(\n text: string,\n schema: ZodSchema<Output>,\n response: CompletionResponse<RawResponse>,\n): Output {\n if (response.finishReason === \"content-filter\") {\n throw new CompletionStructuredOutputError({\n phase: \"content-filter\",\n outputLength: text.length,\n usage: response.usage,\n finishReason: response.finishReason,\n providerFinishReason: response.providerFinishReason,\n });\n }\n if (response.finishReason === \"length\") {\n throw new CompletionStructuredOutputError({\n phase: \"truncated\",\n outputLength: text.length,\n usage: response.usage,\n finishReason: response.finishReason,\n providerFinishReason: response.providerFinishReason,\n });\n }\n let json: unknown;\n try {\n json = JSON.parse(text);\n if (!isJsonValue(json)) {\n throw new TypeError(\"Structured completion output is not a JSON value.\");\n }\n } catch (error) {\n throw new CompletionStructuredOutputError({\n phase: \"parse\",\n outputLength: text.length,\n usage: response.usage,\n finishReason: response.finishReason,\n providerFinishReason: response.providerFinishReason,\n cause: error,\n });\n }\n try {\n return schema.parse(json);\n } catch (error) {\n throw new CompletionStructuredOutputError({\n phase: \"schema\",\n outputLength: text.length,\n usage: response.usage,\n finishReason: response.finishReason,\n providerFinishReason: response.providerFinishReason,\n cause: error,\n });\n }\n}\n\nfunction modelCallOptions(abortSignal: AbortSignal | undefined): ModelCallOptions | undefined {\n return abortSignal === undefined ? undefined : { abortSignal };\n}\n\nexport function isStreamingCompletionModel(\n model: CompletionModel,\n): model is StreamingCompletionModel {\n return typeof (model as { streamCompletion?: unknown }).streamCompletion === \"function\";\n}\n"],"mappings":"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","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/completion/message-schema.ts
6
6
  import { z } from "zod";
@@ -157,21 +157,12 @@ function isBase64(value) {
157
157
  return firstPadding === -1 || value.length % 4 === 0;
158
158
  }
159
159
 
160
- // src/schema/zod-schema.ts
161
- import { z as z2 } from "zod";
162
- function toProviderJsonSchema(schema, options = {}) {
163
- const jsonSchema = z2.toJSONSchema(schema, options);
164
- const { $schema: _schema, ...providerSchema } = jsonSchema;
165
- return providerSchema;
166
- }
167
-
168
160
  export {
169
161
  createMessageSchema,
170
162
  messageSchema,
171
163
  messagesSchema,
172
164
  parseMessage,
173
165
  parseMessages,
174
- isMessage,
175
- toProviderJsonSchema
166
+ isMessage
176
167
  };
177
- //# sourceMappingURL=chunk-QGX73TSQ.js.map
168
+ //# sourceMappingURL=chunk-BONQTXRQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/completion/message-schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { isJsonValue } from \"./json\";\nimport type { JsonObject, JsonValue, Message } from \"./types\";\n\nconst jsonValueSchema = z.custom<JsonValue>(isJsonValue, {\n message: \"Expected a strict JSON value\",\n});\n\nconst jsonObjectSchema = z.custom<JsonObject>(\n (value) =>\n typeof value === \"object\" && value !== null && !Array.isArray(value) && isJsonValue(value),\n { message: \"Expected a strict JSON object\" },\n);\n\nconst textPartSchema = z\n .object({\n type: z.literal(\"text\"),\n text: z.string(),\n signature: z.string().optional(),\n })\n .strict();\n\nconst urlDataSchema = z.object({ type: z.literal(\"url\"), url: z.url() }).strict();\nconst binaryDataSchema = z\n .object({\n type: z.literal(\"data\"),\n data: z.string().refine(isBase64, { message: \"Expected base64 data\" }),\n })\n .strict();\nconst textDataSchema = z.object({ type: z.literal(\"text\"), text: z.string() }).strict();\nconst fileDataSchema = z.union([urlDataSchema, binaryDataSchema, textDataSchema]);\nconst mediaTypeSchema = z.string().regex(/^[^\\s/]+\\/[^\\s/]+(?:\\s*;.*)?$/, \"Expected a media type\");\n\nconst imagePartSchema = z\n .object({\n type: z.literal(\"image\"),\n image: z.union([urlDataSchema, binaryDataSchema]),\n mediaType: mediaTypeSchema.optional(),\n detail: z.enum([\"auto\", \"low\", \"high\"]).optional(),\n })\n .strict();\n\nconst filePartSchema = z\n .object({\n type: z.literal(\"file\"),\n data: fileDataSchema,\n mediaType: mediaTypeSchema,\n filename: z.string().optional(),\n })\n .strict();\n\nconst reasoningDetailSchema = z.union([\n z\n .object({ type: z.literal(\"text\"), text: z.string(), signature: z.string().optional() })\n .strict(),\n z.object({ type: z.literal(\"summary\"), text: z.string() }).strict(),\n z.object({ type: z.literal(\"encrypted\"), data: z.string() }).strict(),\n z.object({ type: z.literal(\"redacted\"), data: z.string() }).strict(),\n]);\n\nconst reasoningPartSchema = z\n .object({\n type: z.literal(\"reasoning\"),\n text: z.string(),\n id: z.string().optional(),\n details: z.array(reasoningDetailSchema).optional(),\n })\n .strict();\n\nconst toolCallPartSchema = z\n .object({\n type: z.literal(\"tool-call\"),\n toolCallId: z.string().min(1),\n callId: z.string().optional(),\n toolName: z.string().min(1),\n input: jsonValueSchema,\n signature: z.string().optional(),\n })\n .strict();\n\nconst toolResultOutputSchema = z.union([\n z.object({ type: z.literal(\"text\"), value: z.string() }).strict(),\n z.object({ type: z.literal(\"json\"), value: jsonValueSchema }).strict(),\n z\n .object({\n type: z.literal(\"content\"),\n value: z.array(z.union([textPartSchema, filePartSchema])),\n })\n .strict(),\n z.object({ type: z.literal(\"execution-denied\"), reason: z.string().optional() }).strict(),\n z.object({ type: z.literal(\"error-text\"), value: z.string() }).strict(),\n z.object({ type: z.literal(\"error-json\"), value: jsonValueSchema }).strict(),\n]);\n\nconst toolResultPartSchema = z\n .object({\n type: z.literal(\"tool-result\"),\n toolCallId: z.string().min(1),\n callId: z.string().optional(),\n toolName: z.string().min(1),\n output: toolResultOutputSchema,\n })\n .strict();\n\nconst toolApprovalResponsePartSchema = z\n .object({\n type: z.literal(\"tool-approval-response\"),\n interactionId: z.string().min(1),\n toolCallId: z.string().min(1),\n callId: z.string().optional(),\n toolName: z.string().min(1),\n approved: z.boolean(),\n reason: z.string().optional(),\n })\n .strict();\n\nconst toolQuestionAnswerSchema = z\n .object({\n questionId: z.string().min(1),\n value: z.string(),\n })\n .strict();\n\nconst toolQuestionResponsePartSchema = z\n .object({\n type: z.literal(\"tool-question-response\"),\n interactionId: z.string().min(1),\n toolCallId: z.string().min(1),\n callId: z.string().optional(),\n toolName: z.string().min(1),\n answers: z.array(toolQuestionAnswerSchema),\n })\n .strict();\n\nexport type MessageMetadataSchema<Metadata extends JsonObject> = z.ZodType<Metadata>;\n\nexport function createMessageSchema<Metadata extends JsonObject>(options: {\n metadataSchema: MessageMetadataSchema<Metadata>;\n}): z.ZodType<Message<Metadata>> {\n const metadata = options.metadataSchema.optional();\n const system = z.object({ role: z.literal(\"system\"), content: z.string(), metadata }).strict();\n const user = z\n .object({\n role: z.literal(\"user\"),\n content: z.union([\n z.string(),\n z.array(z.union([textPartSchema, imagePartSchema, filePartSchema])),\n ]),\n metadata,\n })\n .strict();\n const assistant = z\n .object({\n role: z.literal(\"assistant\"),\n id: z.string().optional(),\n content: z.union([\n z.string(),\n z.array(\n z.union([\n textPartSchema,\n imagePartSchema,\n filePartSchema,\n reasoningPartSchema,\n toolCallPartSchema,\n ]),\n ),\n ]),\n metadata,\n })\n .strict();\n const tool = z\n .object({\n role: z.literal(\"tool\"),\n content: z.array(\n z.union([\n toolResultPartSchema,\n toolApprovalResponsePartSchema,\n toolQuestionResponsePartSchema,\n ]),\n ),\n metadata,\n })\n .strict();\n\n const message = z.union([system, user, assistant, tool]);\n return z\n .custom<z.input<typeof message>>(isJsonValue, { message: \"Expected a strict JSON message\" })\n .pipe(message)\n .refine(isJsonValue, { message: \"Expected a strict JSON message\" }) as unknown as z.ZodType<\n Message<Metadata>\n >;\n}\n\nexport const messageSchema = createMessageSchema({ metadataSchema: jsonObjectSchema });\nexport const messagesSchema = z.array(messageSchema);\n\nexport function parseMessage(value: unknown): Message {\n return messageSchema.parse(value);\n}\n\nexport function parseMessages(value: unknown): Message[] {\n return messagesSchema.parse(value);\n}\n\nexport function isMessage(value: unknown): value is Message {\n return messageSchema.safeParse(value).success;\n}\n\nfunction isBase64(value: string): boolean {\n if (!/^[A-Za-z0-9+/]*={0,2}$/.test(value)) return false;\n const firstPadding = value.indexOf(\"=\");\n if (firstPadding !== -1 && firstPadding < value.length - 2) return false;\n const rawLength = value.replace(/=+$/, \"\").length;\n if (rawLength % 4 === 1) return false;\n return firstPadding === -1 || value.length % 4 === 0;\n}\n"],"mappings":";;;;;AAAA,SAAS,SAAS;AAIlB,IAAM,kBAAkB,EAAE,OAAkB,aAAa;AAAA,EACvD,SAAS;AACX,CAAC;AAED,IAAM,mBAAmB,EAAE;AAAA,EACzB,CAAC,UACC,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,YAAY,KAAK;AAAA,EAC3F,EAAE,SAAS,gCAAgC;AAC7C;AAEA,IAAM,iBAAiB,EACpB,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,EAAE,OAAO;AAAA,EACf,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EACA,OAAO;AAEV,IAAM,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO;AAChF,IAAM,mBAAmB,EACtB,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,MAAM,EAAE,OAAO,EAAE,OAAO,UAAU,EAAE,SAAS,uBAAuB,CAAC;AACvE,CAAC,EACA,OAAO;AACV,IAAM,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AACtF,IAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,kBAAkB,cAAc,CAAC;AAChF,IAAM,kBAAkB,EAAE,OAAO,EAAE,MAAM,iCAAiC,uBAAuB;AAEjG,IAAM,kBAAkB,EACrB,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,OAAO;AAAA,EACvB,OAAO,EAAE,MAAM,CAAC,eAAe,gBAAgB,CAAC;AAAA,EAChD,WAAW,gBAAgB,SAAS;AAAA,EACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,OAAO,MAAM,CAAC,EAAE,SAAS;AACnD,CAAC,EACA,OAAO;AAEV,IAAM,iBAAiB,EACpB,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,MAAM;AAAA,EACtB,MAAM;AAAA,EACN,WAAW;AAAA,EACX,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC,EACA,OAAO;AAEV,IAAM,wBAAwB,EAAE,MAAM;AAAA,EACpC,EACG,OAAO,EAAE,MAAM,EAAE,QAAQ,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACtF,OAAO;AAAA,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AAAA,EAClE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,WAAW,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AAAA,EACpE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAU,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AACrE,CAAC;AAED,IAAM,sBAAsB,EACzB,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM,EAAE,OAAO;AAAA,EACf,IAAI,EAAE,OAAO,EAAE,SAAS;AAAA,EACxB,SAAS,EAAE,MAAM,qBAAqB,EAAE,SAAS;AACnD,CAAC,EACA,OAAO;AAEV,IAAM,qBAAqB,EACxB,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,WAAW;AAAA,EAC3B,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,OAAO;AAAA,EACP,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EACA,OAAO;AAEV,IAAM,yBAAyB,EAAE,MAAM;AAAA,EACrC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AAAA,EAChE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,MAAM,GAAG,OAAO,gBAAgB,CAAC,EAAE,OAAO;AAAA,EACrE,EACG,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,SAAS;AAAA,IACzB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,cAAc,CAAC,CAAC;AAAA,EAC1D,CAAC,EACA,OAAO;AAAA,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,kBAAkB,GAAG,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AAAA,EACxF,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AAAA,EACtE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,YAAY,GAAG,OAAO,gBAAgB,CAAC,EAAE,OAAO;AAC7E,CAAC;AAED,IAAM,uBAAuB,EAC1B,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,aAAa;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,QAAQ;AACV,CAAC,EACA,OAAO;AAEV,IAAM,iCAAiC,EACpC,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,wBAAwB;AAAA,EACxC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC/B,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,UAAU,EAAE,QAAQ;AAAA,EACpB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC,EACA,OAAO;AAEV,IAAM,2BAA2B,EAC9B,OAAO;AAAA,EACN,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC5B,OAAO,EAAE,OAAO;AAClB,CAAC,EACA,OAAO;AAEV,IAAM,iCAAiC,EACpC,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ,wBAAwB;AAAA,EACxC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC/B,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAC1B,SAAS,EAAE,MAAM,wBAAwB;AAC3C,CAAC,EACA,OAAO;AAIH,SAAS,oBAAiD,SAEhC;AAC/B,QAAM,WAAW,QAAQ,eAAe,SAAS;AACjD,QAAM,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,QAAQ,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,EAAE,OAAO;AAC7F,QAAM,OAAO,EACV,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,SAAS,EAAE,MAAM;AAAA,MACf,EAAE,OAAO;AAAA,MACT,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,iBAAiB,cAAc,CAAC,CAAC;AAAA,IACpE,CAAC;AAAA,IACD;AAAA,EACF,CAAC,EACA,OAAO;AACV,QAAM,YAAY,EACf,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,WAAW;AAAA,IAC3B,IAAI,EAAE,OAAO,EAAE,SAAS;AAAA,IACxB,SAAS,EAAE,MAAM;AAAA,MACf,EAAE,OAAO;AAAA,MACT,EAAE;AAAA,QACA,EAAE,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,IACD;AAAA,EACF,CAAC,EACA,OAAO;AACV,QAAM,OAAO,EACV,OAAO;AAAA,IACN,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,SAAS,EAAE;AAAA,MACT,EAAE,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA;AAAA,EACF,CAAC,EACA,OAAO;AAEV,QAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,MAAM,WAAW,IAAI,CAAC;AACvD,SAAO,EACJ,OAAgC,aAAa,EAAE,SAAS,iCAAiC,CAAC,EAC1F,KAAK,OAAO,EACZ,OAAO,aAAa,EAAE,SAAS,iCAAiC,CAAC;AAGtE;AAEO,IAAM,gBAAgB,oBAAoB,EAAE,gBAAgB,iBAAiB,CAAC;AAC9E,IAAM,iBAAiB,EAAE,MAAM,aAAa;AAE5C,SAAS,aAAa,OAAyB;AACpD,SAAO,cAAc,MAAM,KAAK;AAClC;AAEO,SAAS,cAAc,OAA2B;AACvD,SAAO,eAAe,MAAM,KAAK;AACnC;AAEO,SAAS,UAAU,OAAkC;AAC1D,SAAO,cAAc,UAAU,KAAK,EAAE;AACxC;AAEA,SAAS,SAAS,OAAwB;AACxC,MAAI,CAAC,yBAAyB,KAAK,KAAK,EAAG,QAAO;AAClD,QAAM,eAAe,MAAM,QAAQ,GAAG;AACtC,MAAI,iBAAiB,MAAM,eAAe,MAAM,SAAS,EAAG,QAAO;AACnE,QAAM,YAAY,MAAM,QAAQ,OAAO,EAAE,EAAE;AAC3C,MAAI,YAAY,MAAM,EAAG,QAAO;AAChC,SAAO,iBAAiB,MAAM,MAAM,SAAS,MAAM;AACrD;","names":[]}