@mastra/core 1.4.0 → 1.5.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/CHANGELOG.md +368 -0
  2. package/dist/agent/agent.d.ts +3 -2
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +13 -13
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/message-list/conversion/output-converter.d.ts.map +1 -1
  7. package/dist/agent/message-list/index.cjs +18 -18
  8. package/dist/agent/message-list/index.js +1 -1
  9. package/dist/agent/message-list/merge/MessageMerger.d.ts.map +1 -1
  10. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  11. package/dist/agent/types.d.ts +2 -2
  12. package/dist/agent/types.d.ts.map +1 -1
  13. package/dist/agent/workflows/prepare-stream/index.d.ts +1 -0
  14. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  15. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +1 -0
  16. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  17. package/dist/agent/workflows/prepare-stream/schema.d.ts +8 -0
  18. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  19. package/dist/{chunk-Y3TQ52UE.js → chunk-33TGTTTS.js} +4 -3
  20. package/dist/chunk-33TGTTTS.js.map +1 -0
  21. package/dist/{chunk-3X3CZUXI.js → chunk-3KJW4EMO.js} +660 -206
  22. package/dist/chunk-3KJW4EMO.js.map +1 -0
  23. package/dist/{chunk-YNNJLLFN.cjs → chunk-3YMDR4OL.cjs} +661 -207
  24. package/dist/chunk-3YMDR4OL.cjs.map +1 -0
  25. package/dist/{chunk-NJ7TL3LQ.js → chunk-5EOLBHHS.js} +26 -15
  26. package/dist/chunk-5EOLBHHS.js.map +1 -0
  27. package/dist/{chunk-RZ4CIIZR.js → chunk-6DUTLERJ.js} +4 -4
  28. package/dist/{chunk-RZ4CIIZR.js.map → chunk-6DUTLERJ.js.map} +1 -1
  29. package/dist/{chunk-VTE2OBKS.cjs → chunk-A6EWCOGA.cjs} +417 -77
  30. package/dist/chunk-A6EWCOGA.cjs.map +1 -0
  31. package/dist/{chunk-4XSAZPPS.js → chunk-A7V2NSY3.js} +313 -137
  32. package/dist/chunk-A7V2NSY3.js.map +1 -0
  33. package/dist/{chunk-FLPEGTEK.js → chunk-AIRMLZ43.js} +5 -5
  34. package/dist/{chunk-FLPEGTEK.js.map → chunk-AIRMLZ43.js.map} +1 -1
  35. package/dist/{chunk-DBSVT6AR.cjs → chunk-BKQAP27M.cjs} +9 -9
  36. package/dist/{chunk-DBSVT6AR.cjs.map → chunk-BKQAP27M.cjs.map} +1 -1
  37. package/dist/{chunk-RS6CZXGA.js → chunk-BQHWJLXU.js} +15 -4
  38. package/dist/chunk-BQHWJLXU.js.map +1 -0
  39. package/dist/{chunk-V2MLGA7T.js → chunk-CXVMDV2B.js} +417 -78
  40. package/dist/chunk-CXVMDV2B.js.map +1 -0
  41. package/dist/{chunk-NKYWDNCI.cjs → chunk-E2FHTXAI.cjs} +7 -7
  42. package/dist/{chunk-NKYWDNCI.cjs.map → chunk-E2FHTXAI.cjs.map} +1 -1
  43. package/dist/{chunk-7UWHFWST.cjs → chunk-EAZ6YDCQ.cjs} +15 -3
  44. package/dist/chunk-EAZ6YDCQ.cjs.map +1 -0
  45. package/dist/{chunk-64WGYTQK.cjs → chunk-FTBLAVTF.cjs} +55 -55
  46. package/dist/{chunk-64WGYTQK.cjs.map → chunk-FTBLAVTF.cjs.map} +1 -1
  47. package/dist/{chunk-4EHGOATH.js → chunk-FZ5DRHKE.js} +1337 -547
  48. package/dist/chunk-FZ5DRHKE.js.map +1 -0
  49. package/dist/{chunk-4TQ4EBYX.js → chunk-GEDGDKQ6.js} +9 -9
  50. package/dist/chunk-GEDGDKQ6.js.map +1 -0
  51. package/dist/{chunk-QTTWRCB5.js → chunk-I3AWF54W.js} +5 -5
  52. package/dist/{chunk-QTTWRCB5.js.map → chunk-I3AWF54W.js.map} +1 -1
  53. package/dist/{chunk-U2HKJZCI.js → chunk-IBNCZTNQ.js} +6 -6
  54. package/dist/{chunk-U2HKJZCI.js.map → chunk-IBNCZTNQ.js.map} +1 -1
  55. package/dist/{chunk-3JVFFAJX.cjs → chunk-IJIE3ZID.cjs} +27 -16
  56. package/dist/chunk-IJIE3ZID.cjs.map +1 -0
  57. package/dist/{chunk-NZG2JAKS.cjs → chunk-JWG272ZZ.cjs} +19 -19
  58. package/dist/chunk-JWG272ZZ.cjs.map +1 -0
  59. package/dist/{chunk-BP7VYTOP.cjs → chunk-JZ6TH4HQ.cjs} +954 -401
  60. package/dist/chunk-JZ6TH4HQ.cjs.map +1 -0
  61. package/dist/{chunk-SU5APAM6.cjs → chunk-KNXZ7KYL.cjs} +94 -6
  62. package/dist/chunk-KNXZ7KYL.cjs.map +1 -0
  63. package/dist/{chunk-CYUP7QWT.cjs → chunk-KRAGJ433.cjs} +4 -3
  64. package/dist/chunk-KRAGJ433.cjs.map +1 -0
  65. package/dist/{chunk-XDD5V446.cjs → chunk-MDC6VYA6.cjs} +6 -2
  66. package/dist/{chunk-XDD5V446.cjs.map → chunk-MDC6VYA6.cjs.map} +1 -1
  67. package/dist/{chunk-AXHBJ4GX.js → chunk-NN26FSKL.js} +10 -8
  68. package/dist/chunk-NN26FSKL.js.map +1 -0
  69. package/dist/{chunk-AY6DBRS3.js → chunk-OHLVZVIK.js} +36 -2
  70. package/dist/chunk-OHLVZVIK.js.map +1 -0
  71. package/dist/{chunk-5Q5Y34SS.js → chunk-PECKKR4C.js} +4 -4
  72. package/dist/{chunk-5Q5Y34SS.js.map → chunk-PECKKR4C.js.map} +1 -1
  73. package/dist/{chunk-HYRYTTMT.cjs → chunk-PHHJLGZU.cjs} +9 -9
  74. package/dist/{chunk-HYRYTTMT.cjs.map → chunk-PHHJLGZU.cjs.map} +1 -1
  75. package/dist/{chunk-65PHUUMF.cjs → chunk-QDH6MVJ7.cjs} +24 -22
  76. package/dist/chunk-QDH6MVJ7.cjs.map +1 -0
  77. package/dist/{chunk-VD5YA6RH.cjs → chunk-QSN5KQXZ.cjs} +18 -18
  78. package/dist/{chunk-VD5YA6RH.cjs.map → chunk-QSN5KQXZ.cjs.map} +1 -1
  79. package/dist/{chunk-4IJ4UDZX.cjs → chunk-RH2K66O2.cjs} +399 -223
  80. package/dist/chunk-RH2K66O2.cjs.map +1 -0
  81. package/dist/{chunk-4KFEMXTV.cjs → chunk-S4VVZI4E.cjs} +1361 -546
  82. package/dist/chunk-S4VVZI4E.cjs.map +1 -0
  83. package/dist/{chunk-ZATLLPIH.js → chunk-TPDMP7OD.js} +6 -2
  84. package/dist/chunk-TPDMP7OD.js.map +1 -0
  85. package/dist/{chunk-PS5ONCXY.js → chunk-UZFGMMKU.js} +82 -4
  86. package/dist/chunk-UZFGMMKU.js.map +1 -0
  87. package/dist/{chunk-7NKUSQEV.js → chunk-YIN5F7VO.js} +936 -389
  88. package/dist/chunk-YIN5F7VO.js.map +1 -0
  89. package/dist/{chunk-CZ4NQANZ.cjs → chunk-YW54RH77.cjs} +36 -2
  90. package/dist/chunk-YW54RH77.cjs.map +1 -0
  91. package/dist/datasets/experiment/executor.d.ts.map +1 -1
  92. package/dist/datasets/index.cjs +17 -17
  93. package/dist/datasets/index.js +2 -2
  94. package/dist/docs/SKILL.md +27 -1
  95. package/dist/docs/assets/SOURCE_MAP.json +463 -389
  96. package/dist/docs/references/docs-agents-processors.md +52 -0
  97. package/dist/docs/references/docs-observability-datasets-overview.md +188 -0
  98. package/dist/docs/references/docs-observability-datasets-running-experiments.md +266 -0
  99. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +7 -4
  100. package/dist/docs/references/reference-agents-generate.md +1 -1
  101. package/dist/docs/references/reference-configuration.md +3 -4
  102. package/dist/docs/references/reference-datasets-addItem.md +35 -0
  103. package/dist/docs/references/reference-datasets-addItems.md +33 -0
  104. package/dist/docs/references/reference-datasets-compareExperiments.md +48 -0
  105. package/dist/docs/references/reference-datasets-create.md +49 -0
  106. package/dist/docs/references/reference-datasets-dataset.md +78 -0
  107. package/dist/docs/references/reference-datasets-datasets-manager.md +84 -0
  108. package/dist/docs/references/reference-datasets-delete.md +23 -0
  109. package/dist/docs/references/reference-datasets-deleteExperiment.md +25 -0
  110. package/dist/docs/references/reference-datasets-deleteItem.md +25 -0
  111. package/dist/docs/references/reference-datasets-deleteItems.md +27 -0
  112. package/dist/docs/references/reference-datasets-get.md +29 -0
  113. package/dist/docs/references/reference-datasets-getDetails.md +45 -0
  114. package/dist/docs/references/reference-datasets-getExperiment.md +28 -0
  115. package/dist/docs/references/reference-datasets-getItem.md +31 -0
  116. package/dist/docs/references/reference-datasets-getItemHistory.md +29 -0
  117. package/dist/docs/references/reference-datasets-list.md +29 -0
  118. package/dist/docs/references/reference-datasets-listExperimentResults.md +37 -0
  119. package/dist/docs/references/reference-datasets-listExperiments.md +31 -0
  120. package/dist/docs/references/reference-datasets-listItems.md +44 -0
  121. package/dist/docs/references/reference-datasets-listVersions.md +31 -0
  122. package/dist/docs/references/reference-datasets-startExperiment.md +60 -0
  123. package/dist/docs/references/reference-datasets-startExperimentAsync.md +41 -0
  124. package/dist/docs/references/reference-datasets-update.md +46 -0
  125. package/dist/docs/references/reference-datasets-updateItem.md +36 -0
  126. package/dist/docs/references/reference-memory-observational-memory.md +36 -0
  127. package/dist/docs/references/reference-processors-processor-interface.md +4 -0
  128. package/dist/docs/references/reference-tools-create-tool.md +1 -1
  129. package/dist/docs/references/reference.md +24 -0
  130. package/dist/editor/index.d.ts +1 -1
  131. package/dist/editor/index.d.ts.map +1 -1
  132. package/dist/editor/types.d.ts +108 -2
  133. package/dist/editor/types.d.ts.map +1 -1
  134. package/dist/evals/index.cjs +20 -20
  135. package/dist/evals/index.js +3 -3
  136. package/dist/evals/scoreTraces/index.cjs +5 -5
  137. package/dist/evals/scoreTraces/index.js +2 -2
  138. package/dist/harness/harness.d.ts +281 -0
  139. package/dist/harness/harness.d.ts.map +1 -0
  140. package/dist/harness/index.cjs +1728 -0
  141. package/dist/harness/index.cjs.map +1 -0
  142. package/dist/harness/index.d.ts +4 -0
  143. package/dist/harness/index.d.ts.map +1 -0
  144. package/dist/harness/index.js +1723 -0
  145. package/dist/harness/index.js.map +1 -0
  146. package/dist/harness/tools.d.ts +65 -0
  147. package/dist/harness/tools.d.ts.map +1 -0
  148. package/dist/harness/types.d.ts +561 -0
  149. package/dist/harness/types.d.ts.map +1 -0
  150. package/dist/index.cjs +2 -2
  151. package/dist/index.js +1 -1
  152. package/dist/integration/index.cjs +2 -2
  153. package/dist/integration/index.js +1 -1
  154. package/dist/llm/index.cjs +20 -20
  155. package/dist/llm/index.js +3 -3
  156. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  157. package/dist/llm/model/gateways/models-dev.d.ts +2 -3
  158. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  159. package/dist/llm/model/provider-types.generated.d.ts +312 -93
  160. package/dist/loop/index.cjs +12 -12
  161. package/dist/loop/index.js +1 -1
  162. package/dist/loop/network/index.d.ts.map +1 -1
  163. package/dist/loop/test-utils/options.d.ts.map +1 -1
  164. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  165. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  166. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  167. package/dist/loop/workflows/stream.d.ts.map +1 -1
  168. package/dist/mastra/index.cjs +2 -2
  169. package/dist/mastra/index.d.ts +3 -3
  170. package/dist/mastra/index.d.ts.map +1 -1
  171. package/dist/mastra/index.js +1 -1
  172. package/dist/memory/index.cjs +14 -14
  173. package/dist/memory/index.js +1 -1
  174. package/dist/memory/memory.d.ts +10 -0
  175. package/dist/memory/memory.d.ts.map +1 -1
  176. package/dist/memory/types.d.ts +24 -0
  177. package/dist/memory/types.d.ts.map +1 -1
  178. package/dist/models-dev-BW2GAM3K.cjs +12 -0
  179. package/dist/{models-dev-PPIXUUCU.cjs.map → models-dev-BW2GAM3K.cjs.map} +1 -1
  180. package/dist/models-dev-MDI5E2YA.js +3 -0
  181. package/dist/{models-dev-FQVUTQ7L.js.map → models-dev-MDI5E2YA.js.map} +1 -1
  182. package/dist/observability/index.cjs +11 -11
  183. package/dist/observability/index.js +1 -1
  184. package/dist/observability/utils.d.ts.map +1 -1
  185. package/dist/processors/index.cjs +41 -41
  186. package/dist/processors/index.js +1 -1
  187. package/dist/processors/processors/skills.d.ts +5 -0
  188. package/dist/processors/processors/skills.d.ts.map +1 -1
  189. package/dist/processors/runner.d.ts +2 -2
  190. package/dist/processors/runner.d.ts.map +1 -1
  191. package/dist/processors/step-schema.d.ts +218 -49453
  192. package/dist/processors/step-schema.d.ts.map +1 -1
  193. package/dist/provider-registry-4PH2JPIA.cjs +40 -0
  194. package/dist/{provider-registry-6LZAGQET.cjs.map → provider-registry-4PH2JPIA.cjs.map} +1 -1
  195. package/dist/provider-registry-VEJ3PN4S.js +3 -0
  196. package/dist/{provider-registry-QUNT7S55.js.map → provider-registry-VEJ3PN4S.js.map} +1 -1
  197. package/dist/provider-registry.json +657 -203
  198. package/dist/relevance/index.cjs +3 -3
  199. package/dist/relevance/index.js +1 -1
  200. package/dist/server/composite-auth.d.ts.map +1 -1
  201. package/dist/server/index.cjs +6 -1
  202. package/dist/server/index.cjs.map +1 -1
  203. package/dist/server/index.js +6 -1
  204. package/dist/server/index.js.map +1 -1
  205. package/dist/storage/base.d.ts +4 -1
  206. package/dist/storage/base.d.ts.map +1 -1
  207. package/dist/storage/constants.cjs +82 -42
  208. package/dist/storage/constants.d.ts +11 -1
  209. package/dist/storage/constants.d.ts.map +1 -1
  210. package/dist/storage/constants.js +1 -1
  211. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -1
  212. package/dist/storage/domains/blobs/base.d.ts +47 -0
  213. package/dist/storage/domains/blobs/base.d.ts.map +1 -0
  214. package/dist/storage/domains/blobs/index.d.ts +3 -0
  215. package/dist/storage/domains/blobs/index.d.ts.map +1 -0
  216. package/dist/storage/domains/blobs/inmemory.d.ts +17 -0
  217. package/dist/storage/domains/blobs/inmemory.d.ts.map +1 -0
  218. package/dist/storage/domains/datasets/inmemory.d.ts.map +1 -1
  219. package/dist/storage/domains/index.d.ts +3 -0
  220. package/dist/storage/domains/index.d.ts.map +1 -1
  221. package/dist/storage/domains/inmemory-db.d.ts +7 -1
  222. package/dist/storage/domains/inmemory-db.d.ts.map +1 -1
  223. package/dist/storage/domains/mcp-clients/inmemory.d.ts.map +1 -1
  224. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  225. package/dist/storage/domains/prompt-blocks/inmemory.d.ts.map +1 -1
  226. package/dist/storage/domains/scorer-definitions/inmemory.d.ts.map +1 -1
  227. package/dist/storage/domains/skills/base.d.ts +47 -0
  228. package/dist/storage/domains/skills/base.d.ts.map +1 -0
  229. package/dist/storage/domains/skills/index.d.ts +3 -0
  230. package/dist/storage/domains/skills/index.d.ts.map +1 -0
  231. package/dist/storage/domains/skills/inmemory.d.ts +31 -0
  232. package/dist/storage/domains/skills/inmemory.d.ts.map +1 -0
  233. package/dist/storage/domains/versioned.d.ts +12 -3
  234. package/dist/storage/domains/versioned.d.ts.map +1 -1
  235. package/dist/storage/domains/workspaces/base.d.ts +47 -0
  236. package/dist/storage/domains/workspaces/base.d.ts.map +1 -0
  237. package/dist/storage/domains/workspaces/index.d.ts +3 -0
  238. package/dist/storage/domains/workspaces/index.d.ts.map +1 -0
  239. package/dist/storage/domains/workspaces/inmemory.d.ts +31 -0
  240. package/dist/storage/domains/workspaces/inmemory.d.ts.map +1 -0
  241. package/dist/storage/index.cjs +202 -138
  242. package/dist/storage/index.js +2 -2
  243. package/dist/storage/mock.d.ts.map +1 -1
  244. package/dist/storage/types.d.ts +422 -12
  245. package/dist/storage/types.d.ts.map +1 -1
  246. package/dist/stream/base/output.d.ts.map +1 -1
  247. package/dist/stream/index.cjs +11 -11
  248. package/dist/stream/index.js +2 -2
  249. package/dist/test-utils/llm-mock.cjs +4 -4
  250. package/dist/test-utils/llm-mock.js +1 -1
  251. package/dist/tool-loop-agent/index.cjs +4 -4
  252. package/dist/tool-loop-agent/index.js +1 -1
  253. package/dist/tools/index.cjs +8 -4
  254. package/dist/tools/index.js +1 -1
  255. package/dist/tools/is-vercel-tool.cjs +2 -2
  256. package/dist/tools/is-vercel-tool.js +1 -1
  257. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  258. package/dist/tools/tool.d.ts +13 -0
  259. package/dist/tools/tool.d.ts.map +1 -1
  260. package/dist/tools/toolchecks.d.ts.map +1 -1
  261. package/dist/tools/types.d.ts +24 -0
  262. package/dist/tools/types.d.ts.map +1 -1
  263. package/dist/types/zod-compat.d.ts +27 -6
  264. package/dist/types/zod-compat.d.ts.map +1 -1
  265. package/dist/utils.cjs +23 -23
  266. package/dist/utils.js +1 -1
  267. package/dist/vector/index.cjs +12 -12
  268. package/dist/vector/index.js +2 -2
  269. package/dist/workflows/evented/index.cjs +10 -10
  270. package/dist/workflows/evented/index.js +1 -1
  271. package/dist/workflows/handlers/entry.d.ts.map +1 -1
  272. package/dist/workflows/index.cjs +25 -25
  273. package/dist/workflows/index.js +1 -1
  274. package/dist/workflows/workflow.d.ts +2 -2
  275. package/dist/workflows/workflow.d.ts.map +1 -1
  276. package/dist/workspace/constants/index.d.ts +1 -0
  277. package/dist/workspace/constants/index.d.ts.map +1 -1
  278. package/dist/workspace/errors.d.ts +3 -0
  279. package/dist/workspace/errors.d.ts.map +1 -1
  280. package/dist/workspace/filesystem/composite-filesystem.d.ts +75 -6
  281. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  282. package/dist/workspace/filesystem/local-filesystem.d.ts +42 -0
  283. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  284. package/dist/workspace/glob.d.ts +61 -0
  285. package/dist/workspace/glob.d.ts.map +1 -0
  286. package/dist/workspace/index.cjs +133 -41
  287. package/dist/workspace/index.d.ts +8 -1
  288. package/dist/workspace/index.d.ts.map +1 -1
  289. package/dist/workspace/index.js +1 -1
  290. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  291. package/dist/workspace/skills/composite-versioned-skill-source.d.ts +44 -0
  292. package/dist/workspace/skills/composite-versioned-skill-source.d.ts.map +1 -0
  293. package/dist/workspace/skills/index.d.ts +3 -0
  294. package/dist/workspace/skills/index.d.ts.map +1 -1
  295. package/dist/workspace/skills/local-skill-source.d.ts.map +1 -1
  296. package/dist/workspace/skills/publish.d.ts +34 -0
  297. package/dist/workspace/skills/publish.d.ts.map +1 -0
  298. package/dist/workspace/skills/skill-source.d.ts +2 -0
  299. package/dist/workspace/skills/skill-source.d.ts.map +1 -1
  300. package/dist/workspace/skills/types.d.ts +16 -0
  301. package/dist/workspace/skills/types.d.ts.map +1 -1
  302. package/dist/workspace/skills/versioned-skill-source.d.ts +20 -0
  303. package/dist/workspace/skills/versioned-skill-source.d.ts.map +1 -0
  304. package/dist/workspace/skills/workspace-skills.d.ts +5 -0
  305. package/dist/workspace/skills/workspace-skills.d.ts.map +1 -1
  306. package/dist/workspace/tools/delete-file.d.ts +5 -0
  307. package/dist/workspace/tools/delete-file.d.ts.map +1 -0
  308. package/dist/workspace/tools/edit-file.d.ts +7 -0
  309. package/dist/workspace/tools/edit-file.d.ts.map +1 -0
  310. package/dist/workspace/tools/execute-command.d.ts +7 -0
  311. package/dist/workspace/tools/execute-command.d.ts.map +1 -0
  312. package/dist/workspace/tools/file-stat.d.ts +4 -0
  313. package/dist/workspace/tools/file-stat.d.ts.map +1 -0
  314. package/dist/workspace/tools/grep.d.ts +9 -0
  315. package/dist/workspace/tools/grep.d.ts.map +1 -0
  316. package/dist/workspace/tools/helpers.d.ts +36 -0
  317. package/dist/workspace/tools/helpers.d.ts.map +1 -0
  318. package/dist/workspace/tools/index-content.d.ts +6 -0
  319. package/dist/workspace/tools/index-content.d.ts.map +1 -0
  320. package/dist/workspace/tools/index.d.ts +13 -1
  321. package/dist/workspace/tools/index.d.ts.map +1 -1
  322. package/dist/workspace/tools/list-files.d.ts +10 -0
  323. package/dist/workspace/tools/list-files.d.ts.map +1 -0
  324. package/dist/workspace/tools/mkdir.d.ts +5 -0
  325. package/dist/workspace/tools/mkdir.d.ts.map +1 -0
  326. package/dist/workspace/tools/read-file.d.ts +8 -0
  327. package/dist/workspace/tools/read-file.d.ts.map +1 -0
  328. package/dist/workspace/tools/search.d.ts +7 -0
  329. package/dist/workspace/tools/search.d.ts.map +1 -0
  330. package/dist/workspace/tools/tools.d.ts +5 -7
  331. package/dist/workspace/tools/tools.d.ts.map +1 -1
  332. package/dist/workspace/tools/tree-formatter.d.ts +2 -0
  333. package/dist/workspace/tools/tree-formatter.d.ts.map +1 -1
  334. package/dist/workspace/tools/write-file.d.ts +6 -0
  335. package/dist/workspace/tools/write-file.d.ts.map +1 -0
  336. package/dist/workspace/workspace.d.ts +56 -10
  337. package/dist/workspace/workspace.d.ts.map +1 -1
  338. package/harness.d.ts +1 -0
  339. package/package.json +8 -6
  340. package/src/llm/model/provider-types.generated.d.ts +312 -93
  341. package/dist/chunk-3JVFFAJX.cjs.map +0 -1
  342. package/dist/chunk-3X3CZUXI.js.map +0 -1
  343. package/dist/chunk-4EHGOATH.js.map +0 -1
  344. package/dist/chunk-4IJ4UDZX.cjs.map +0 -1
  345. package/dist/chunk-4KFEMXTV.cjs.map +0 -1
  346. package/dist/chunk-4TQ4EBYX.js.map +0 -1
  347. package/dist/chunk-4XSAZPPS.js.map +0 -1
  348. package/dist/chunk-65PHUUMF.cjs.map +0 -1
  349. package/dist/chunk-7NKUSQEV.js.map +0 -1
  350. package/dist/chunk-7UWHFWST.cjs.map +0 -1
  351. package/dist/chunk-AXHBJ4GX.js.map +0 -1
  352. package/dist/chunk-AY6DBRS3.js.map +0 -1
  353. package/dist/chunk-BP7VYTOP.cjs.map +0 -1
  354. package/dist/chunk-CYUP7QWT.cjs.map +0 -1
  355. package/dist/chunk-CZ4NQANZ.cjs.map +0 -1
  356. package/dist/chunk-NJ7TL3LQ.js.map +0 -1
  357. package/dist/chunk-NZG2JAKS.cjs.map +0 -1
  358. package/dist/chunk-PS5ONCXY.js.map +0 -1
  359. package/dist/chunk-RS6CZXGA.js.map +0 -1
  360. package/dist/chunk-SU5APAM6.cjs.map +0 -1
  361. package/dist/chunk-V2MLGA7T.js.map +0 -1
  362. package/dist/chunk-VTE2OBKS.cjs.map +0 -1
  363. package/dist/chunk-Y3TQ52UE.js.map +0 -1
  364. package/dist/chunk-YNNJLLFN.cjs.map +0 -1
  365. package/dist/chunk-ZATLLPIH.js.map +0 -1
  366. package/dist/models-dev-FQVUTQ7L.js +0 -3
  367. package/dist/models-dev-PPIXUUCU.cjs +0 -12
  368. package/dist/provider-registry-6LZAGQET.cjs +0 -40
  369. package/dist/provider-registry-QUNT7S55.js +0 -3
@@ -485,6 +485,59 @@ var DownloadError = class extends (_b15 = AISDKError, _a15 = symbol15, _b15) {
485
485
  return AISDKError.hasMarker(error, marker15);
486
486
  }
487
487
  };
488
+ var DEFAULT_MAX_DOWNLOAD_SIZE = 2 * 1024 * 1024 * 1024;
489
+ async function readResponseWithSizeLimit({
490
+ response,
491
+ url,
492
+ maxBytes = DEFAULT_MAX_DOWNLOAD_SIZE
493
+ }) {
494
+ const contentLength = response.headers.get("content-length");
495
+ if (contentLength != null) {
496
+ const length = parseInt(contentLength, 10);
497
+ if (!isNaN(length) && length > maxBytes) {
498
+ throw new DownloadError({
499
+ url,
500
+ message: `Download of ${url} exceeded maximum size of ${maxBytes} bytes (Content-Length: ${length}).`
501
+ });
502
+ }
503
+ }
504
+ const body = response.body;
505
+ if (body == null) {
506
+ return new Uint8Array(0);
507
+ }
508
+ const reader = body.getReader();
509
+ const chunks = [];
510
+ let totalBytes = 0;
511
+ try {
512
+ while (true) {
513
+ const { done, value } = await reader.read();
514
+ if (done) {
515
+ break;
516
+ }
517
+ totalBytes += value.length;
518
+ if (totalBytes > maxBytes) {
519
+ throw new DownloadError({
520
+ url,
521
+ message: `Download of ${url} exceeded maximum size of ${maxBytes} bytes.`
522
+ });
523
+ }
524
+ chunks.push(value);
525
+ }
526
+ } finally {
527
+ try {
528
+ await reader.cancel();
529
+ } finally {
530
+ reader.releaseLock();
531
+ }
532
+ }
533
+ const result = new Uint8Array(totalBytes);
534
+ let offset = 0;
535
+ for (const chunk of chunks) {
536
+ result.set(chunk, offset);
537
+ offset += chunk.length;
538
+ }
539
+ return result;
540
+ }
488
541
  var createIdGenerator = ({
489
542
  prefix,
490
543
  size = 16,
@@ -625,7 +678,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
625
678
  );
626
679
  return Object.fromEntries(normalizedHeaders.entries());
627
680
  }
628
- var VERSION = "4.0.13";
681
+ var VERSION = "4.0.15";
629
682
  var getOriginalFetch = () => globalThis.fetch;
630
683
  var getFromApi = async ({
631
684
  url,
@@ -2665,7 +2718,7 @@ async function createGatewayErrorFromResponse({
2665
2718
  cause,
2666
2719
  authMethod
2667
2720
  }) {
2668
- var _a83;
2721
+ var _a93;
2669
2722
  const parseResult = await safeValidateTypes({
2670
2723
  value: response,
2671
2724
  schema: gatewayErrorResponseSchema
@@ -2684,7 +2737,7 @@ async function createGatewayErrorFromResponse({
2684
2737
  const validatedResponse = parseResult.value;
2685
2738
  const errorType = validatedResponse.error.type;
2686
2739
  const message = validatedResponse.error.message;
2687
- const generationId = (_a83 = validatedResponse.generationId) != null ? _a83 : void 0;
2740
+ const generationId = (_a93 = validatedResponse.generationId) != null ? _a93 : void 0;
2688
2741
  switch (errorType) {
2689
2742
  case "authentication_error":
2690
2743
  return GatewayAuthenticationError.createContextualError({
@@ -2750,21 +2803,88 @@ var gatewayErrorResponseSchema = lazySchema(
2750
2803
  })
2751
2804
  )
2752
2805
  );
2753
- function asGatewayError(error, authMethod) {
2754
- var _a83;
2806
+ var name72 = "GatewayTimeoutError";
2807
+ var marker82 = `vercel.ai.gateway.error.${name72}`;
2808
+ var symbol82 = Symbol.for(marker82);
2809
+ var _a82;
2810
+ var _b82;
2811
+ var GatewayTimeoutError = class _GatewayTimeoutError extends (_b82 = GatewayError, _a82 = symbol82, _b82) {
2812
+ constructor({
2813
+ message = "Request timed out",
2814
+ statusCode = 408,
2815
+ cause,
2816
+ generationId
2817
+ } = {}) {
2818
+ super({ message, statusCode, cause, generationId });
2819
+ this[_a82] = true;
2820
+ this.name = name72;
2821
+ this.type = "timeout_error";
2822
+ }
2823
+ static isInstance(error) {
2824
+ return GatewayError.hasMarker(error) && symbol82 in error;
2825
+ }
2826
+ /**
2827
+ * Creates a helpful timeout error message with troubleshooting guidance
2828
+ */
2829
+ static createTimeoutError({
2830
+ originalMessage,
2831
+ statusCode = 408,
2832
+ cause,
2833
+ generationId
2834
+ }) {
2835
+ const message = `Gateway request timed out: ${originalMessage}
2836
+
2837
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;
2838
+ return new _GatewayTimeoutError({
2839
+ message,
2840
+ statusCode,
2841
+ cause,
2842
+ generationId
2843
+ });
2844
+ }
2845
+ };
2846
+ function isTimeoutError(error) {
2847
+ if (!(error instanceof Error)) {
2848
+ return false;
2849
+ }
2850
+ const errorCode = error.code;
2851
+ if (typeof errorCode === "string") {
2852
+ const undiciTimeoutCodes = [
2853
+ "UND_ERR_HEADERS_TIMEOUT",
2854
+ "UND_ERR_BODY_TIMEOUT",
2855
+ "UND_ERR_CONNECT_TIMEOUT"
2856
+ ];
2857
+ return undiciTimeoutCodes.includes(errorCode);
2858
+ }
2859
+ return false;
2860
+ }
2861
+ async function asGatewayError(error, authMethod) {
2862
+ var _a93;
2755
2863
  if (GatewayError.isInstance(error)) {
2756
2864
  return error;
2757
2865
  }
2866
+ if (isTimeoutError(error)) {
2867
+ return GatewayTimeoutError.createTimeoutError({
2868
+ originalMessage: error instanceof Error ? error.message : "Unknown error",
2869
+ cause: error
2870
+ });
2871
+ }
2758
2872
  if (APICallError.isInstance(error)) {
2759
- return createGatewayErrorFromResponse({
2873
+ if (error.cause && isTimeoutError(error.cause)) {
2874
+ return GatewayTimeoutError.createTimeoutError({
2875
+ originalMessage: error.message,
2876
+ cause: error
2877
+ });
2878
+ }
2879
+ return await createGatewayErrorFromResponse({
2760
2880
  response: extractApiCallResponse(error),
2761
- statusCode: (_a83 = error.statusCode) != null ? _a83 : 500,
2881
+ statusCode: (_a93 = error.statusCode) != null ? _a93 : 500,
2762
2882
  defaultMessage: "Gateway request failed",
2763
2883
  cause: error,
2764
2884
  authMethod
2765
2885
  });
2766
2886
  }
2767
- return createGatewayErrorFromResponse({
2887
+ return await createGatewayErrorFromResponse({
2768
2888
  response: {},
2769
2889
  statusCode: 500,
2770
2890
  defaultMessage: error instanceof Error ? `Gateway request failed: ${error.message}` : "Unknown Gateway error",
@@ -2866,7 +2986,7 @@ var gatewayAvailableModelsResponseSchema = lazySchema(
2866
2986
  provider: z.string(),
2867
2987
  modelId: z.string()
2868
2988
  }),
2869
- modelType: z.enum(["language", "embedding", "image"]).nullish()
2989
+ modelType: z.enum(["embedding", "image", "language", "video"]).nullish()
2870
2990
  })
2871
2991
  )
2872
2992
  })
@@ -3045,7 +3165,7 @@ var GatewayEmbeddingModel = class {
3045
3165
  abortSignal,
3046
3166
  providerOptions
3047
3167
  }) {
3048
- var _a83;
3168
+ var _a93;
3049
3169
  const resolvedHeaders = await resolve(this.config.headers());
3050
3170
  try {
3051
3171
  const {
@@ -3076,7 +3196,7 @@ var GatewayEmbeddingModel = class {
3076
3196
  });
3077
3197
  return {
3078
3198
  embeddings: responseBody.embeddings,
3079
- usage: (_a83 = responseBody.usage) != null ? _a83 : void 0,
3199
+ usage: (_a93 = responseBody.usage) != null ? _a93 : void 0,
3080
3200
  providerMetadata: responseBody.providerMetadata,
3081
3201
  response: { headers: responseHeaders, body: rawValue },
3082
3202
  warnings: []
@@ -3126,7 +3246,7 @@ var GatewayImageModel = class {
3126
3246
  headers,
3127
3247
  abortSignal
3128
3248
  }) {
3129
- var _a83;
3249
+ var _a93, _b92, _c, _d;
3130
3250
  const resolvedHeaders = await resolve(this.config.headers());
3131
3251
  try {
3132
3252
  const {
@@ -3165,16 +3285,23 @@ var GatewayImageModel = class {
3165
3285
  return {
3166
3286
  images: responseBody.images,
3167
3287
  // Always base64 strings from server
3168
- warnings: (_a83 = responseBody.warnings) != null ? _a83 : [],
3288
+ warnings: (_a93 = responseBody.warnings) != null ? _a93 : [],
3169
3289
  providerMetadata: responseBody.providerMetadata,
3170
3290
  response: {
3171
3291
  timestamp: /* @__PURE__ */ new Date(),
3172
3292
  modelId: this.modelId,
3173
3293
  headers: responseHeaders
3294
+ },
3295
+ ...responseBody.usage != null && {
3296
+ usage: {
3297
+ inputTokens: (_b92 = responseBody.usage.inputTokens) != null ? _b92 : void 0,
3298
+ outputTokens: (_c = responseBody.usage.outputTokens) != null ? _c : void 0,
3299
+ totalTokens: (_d = responseBody.usage.totalTokens) != null ? _d : void 0
3300
+ }
3174
3301
  }
3175
3302
  };
3176
3303
  } catch (error) {
3177
- throw asGatewayError(error, await parseAuthMethod(resolvedHeaders));
3304
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
3178
3305
  }
3179
3306
  }
3180
3307
  getUrl() {
@@ -3199,16 +3326,160 @@ function maybeEncodeImageFile(file) {
3199
3326
  var providerMetadataEntrySchema = z.object({
3200
3327
  images: z.array(z.unknown()).optional()
3201
3328
  }).catchall(z.unknown());
3329
+ var gatewayImageWarningSchema = z.discriminatedUnion("type", [
3330
+ z.object({
3331
+ type: z.literal("unsupported"),
3332
+ feature: z.string(),
3333
+ details: z.string().optional()
3334
+ }),
3335
+ z.object({
3336
+ type: z.literal("compatibility"),
3337
+ feature: z.string(),
3338
+ details: z.string().optional()
3339
+ }),
3340
+ z.object({
3341
+ type: z.literal("other"),
3342
+ message: z.string()
3343
+ })
3344
+ ]);
3345
+ var gatewayImageUsageSchema = z.object({
3346
+ inputTokens: z.number().nullish(),
3347
+ outputTokens: z.number().nullish(),
3348
+ totalTokens: z.number().nullish()
3349
+ });
3202
3350
  var gatewayImageResponseSchema = z.object({
3203
3351
  images: z.array(z.string()),
3204
3352
  // Always base64 strings over the wire
3205
- warnings: z.array(
3206
- z.object({
3207
- type: z.literal("other"),
3208
- message: z.string()
3209
- })
3210
- ).optional(),
3211
- providerMetadata: z.record(z.string(), providerMetadataEntrySchema).optional()
3353
+ warnings: z.array(gatewayImageWarningSchema).optional(),
3354
+ providerMetadata: z.record(z.string(), providerMetadataEntrySchema).optional(),
3355
+ usage: gatewayImageUsageSchema.optional()
3356
+ });
3357
+ var GatewayVideoModel = class {
3358
+ constructor(modelId, config) {
3359
+ this.modelId = modelId;
3360
+ this.config = config;
3361
+ this.specificationVersion = "v3";
3362
+ this.maxVideosPerCall = Number.MAX_SAFE_INTEGER;
3363
+ }
3364
+ get provider() {
3365
+ return this.config.provider;
3366
+ }
3367
+ async doGenerate({
3368
+ prompt,
3369
+ n,
3370
+ aspectRatio,
3371
+ resolution,
3372
+ duration,
3373
+ fps,
3374
+ seed,
3375
+ image,
3376
+ providerOptions,
3377
+ headers,
3378
+ abortSignal
3379
+ }) {
3380
+ var _a93;
3381
+ const resolvedHeaders = await resolve(this.config.headers());
3382
+ try {
3383
+ const {
3384
+ responseHeaders,
3385
+ value: responseBody
3386
+ } = await postJsonToApi({
3387
+ url: this.getUrl(),
3388
+ headers: combineHeaders(
3389
+ resolvedHeaders,
3390
+ headers != null ? headers : {},
3391
+ this.getModelConfigHeaders(),
3392
+ await resolve(this.config.o11yHeaders)
3393
+ ),
3394
+ body: {
3395
+ prompt,
3396
+ n,
3397
+ ...aspectRatio && { aspectRatio },
3398
+ ...resolution && { resolution },
3399
+ ...duration && { duration },
3400
+ ...fps && { fps },
3401
+ ...seed && { seed },
3402
+ ...providerOptions && { providerOptions },
3403
+ ...image && { image: maybeEncodeVideoFile(image) }
3404
+ },
3405
+ successfulResponseHandler: createJsonResponseHandler(
3406
+ gatewayVideoResponseSchema
3407
+ ),
3408
+ failedResponseHandler: createJsonErrorResponseHandler({
3409
+ errorSchema: z.any(),
3410
+ errorToMessage: (data) => data
3411
+ }),
3412
+ ...abortSignal && { abortSignal },
3413
+ fetch: this.config.fetch
3414
+ });
3415
+ return {
3416
+ videos: responseBody.videos,
3417
+ warnings: (_a93 = responseBody.warnings) != null ? _a93 : [],
3418
+ providerMetadata: responseBody.providerMetadata,
3419
+ response: {
3420
+ timestamp: /* @__PURE__ */ new Date(),
3421
+ modelId: this.modelId,
3422
+ headers: responseHeaders
3423
+ }
3424
+ };
3425
+ } catch (error) {
3426
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
3427
+ }
3428
+ }
3429
+ getUrl() {
3430
+ return `${this.config.baseURL}/video-model`;
3431
+ }
3432
+ getModelConfigHeaders() {
3433
+ return {
3434
+ "ai-video-model-specification-version": "3",
3435
+ "ai-model-id": this.modelId
3436
+ };
3437
+ }
3438
+ };
3439
+ function maybeEncodeVideoFile(file) {
3440
+ if (file.type === "file" && file.data instanceof Uint8Array) {
3441
+ return {
3442
+ ...file,
3443
+ data: convertUint8ArrayToBase64(file.data)
3444
+ };
3445
+ }
3446
+ return file;
3447
+ }
3448
+ var providerMetadataEntrySchema2 = z.object({
3449
+ videos: z.array(z.unknown()).optional()
3450
+ }).catchall(z.unknown());
3451
+ var gatewayVideoDataSchema = z.union([
3452
+ z.object({
3453
+ type: z.literal("url"),
3454
+ url: z.string(),
3455
+ mediaType: z.string()
3456
+ }),
3457
+ z.object({
3458
+ type: z.literal("base64"),
3459
+ data: z.string(),
3460
+ mediaType: z.string()
3461
+ })
3462
+ ]);
3463
+ var gatewayVideoWarningSchema = z.discriminatedUnion("type", [
3464
+ z.object({
3465
+ type: z.literal("unsupported"),
3466
+ feature: z.string(),
3467
+ details: z.string().optional()
3468
+ }),
3469
+ z.object({
3470
+ type: z.literal("compatibility"),
3471
+ feature: z.string(),
3472
+ details: z.string().optional()
3473
+ }),
3474
+ z.object({
3475
+ type: z.literal("other"),
3476
+ message: z.string()
3477
+ })
3478
+ ]);
3479
+ var gatewayVideoResponseSchema = z.object({
3480
+ videos: z.array(gatewayVideoDataSchema),
3481
+ warnings: z.array(gatewayVideoWarningSchema).optional(),
3482
+ providerMetadata: z.record(z.string(), providerMetadataEntrySchema2).optional()
3212
3483
  });
3213
3484
  var parallelSearchInputSchema = lazySchema(
3214
3485
  () => zodSchema(
@@ -3383,18 +3654,18 @@ var gatewayTools = {
3383
3654
  perplexitySearch
3384
3655
  };
3385
3656
  async function getVercelRequestId() {
3386
- var _a83;
3387
- return (_a83 = (0, import_oidc.getContext)().headers) == null ? void 0 : _a83["x-vercel-id"];
3657
+ var _a93;
3658
+ return (_a93 = (0, import_oidc.getContext)().headers) == null ? void 0 : _a93["x-vercel-id"];
3388
3659
  }
3389
- var VERSION2 = "3.0.32";
3660
+ var VERSION2 = "3.0.50";
3390
3661
  var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
3391
3662
  function createGatewayProvider(options = {}) {
3392
- var _a83, _b82;
3663
+ var _a93, _b92;
3393
3664
  let pendingMetadata = null;
3394
3665
  let metadataCache = null;
3395
- const cacheRefreshMillis = (_a83 = options.metadataCacheRefreshMillis) != null ? _a83 : 1e3 * 60 * 5;
3666
+ const cacheRefreshMillis = (_a93 = options.metadataCacheRefreshMillis) != null ? _a93 : 1e3 * 60 * 5;
3396
3667
  let lastFetchTime = 0;
3397
- const baseURL = (_b82 = withoutTrailingSlash(options.baseURL)) != null ? _b82 : "https://ai-gateway.vercel.sh/v3/ai";
3668
+ const baseURL = (_b92 = withoutTrailingSlash(options.baseURL)) != null ? _b92 : "https://ai-gateway.vercel.sh/v3/ai";
3398
3669
  const getHeaders = async () => {
3399
3670
  try {
3400
3671
  const auth = await getGatewayAuthToken(options);
@@ -3449,8 +3720,8 @@ function createGatewayProvider(options = {}) {
3449
3720
  });
3450
3721
  };
3451
3722
  const getAvailableModels = async () => {
3452
- var _a922, _b92, _c;
3453
- const now2 = (_c = (_b92 = (_a922 = options._internal) == null ? void 0 : _a922.currentDate) == null ? void 0 : _b92.call(_a922).getTime()) != null ? _c : Date.now();
3723
+ var _a1022, _b102, _c;
3724
+ const now2 = (_c = (_b102 = (_a1022 = options._internal) == null ? void 0 : _a1022.currentDate) == null ? void 0 : _b102.call(_a1022).getTime()) != null ? _c : Date.now();
3454
3725
  if (!pendingMetadata || now2 - lastFetchTime > cacheRefreshMillis) {
3455
3726
  lastFetchTime = now2;
3456
3727
  pendingMetadata = new GatewayFetchMetadata({
@@ -3513,6 +3784,19 @@ function createGatewayProvider(options = {}) {
3513
3784
  };
3514
3785
  provider.embeddingModel = createEmbeddingModel;
3515
3786
  provider.textEmbeddingModel = createEmbeddingModel;
3787
+ provider.videoModel = (modelId) => {
3788
+ return new GatewayVideoModel(modelId, {
3789
+ provider: "gateway",
3790
+ baseURL,
3791
+ headers: getHeaders,
3792
+ fetch: options.fetch,
3793
+ o11yHeaders: createO11yHeaders()
3794
+ });
3795
+ };
3796
+ provider.chat = provider.languageModel;
3797
+ provider.embedding = provider.embeddingModel;
3798
+ provider.image = provider.imageModel;
3799
+ provider.video = provider.videoModel;
3516
3800
  provider.tools = gatewayTools;
3517
3801
  return provider;
3518
3802
  }
@@ -3627,12 +3911,12 @@ function registerGlobal(type, instance, diag, allowOverride) {
3627
3911
  return true;
3628
3912
  }
3629
3913
  function getGlobal(type) {
3630
- var _a21, _b82;
3914
+ var _a21, _b92;
3631
3915
  var globalVersion = (_a21 = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a21 === void 0 ? void 0 : _a21.version;
3632
3916
  if (!globalVersion || !isCompatible(globalVersion)) {
3633
3917
  return;
3634
3918
  }
3635
- return (_b82 = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b82 === void 0 ? void 0 : _b82[type];
3919
+ return (_b92 = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b92 === void 0 ? void 0 : _b92[type];
3636
3920
  }
3637
3921
  function unregisterGlobal(type, diag) {
3638
3922
  diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + VERSION22 + ".");
@@ -3797,7 +4081,7 @@ var DiagAPI = (
3797
4081
  }
3798
4082
  var self = this;
3799
4083
  var setLogger = function(logger, optionsOrLogLevel) {
3800
- var _a21, _b82, _c;
4084
+ var _a21, _b92, _c;
3801
4085
  if (optionsOrLogLevel === void 0) {
3802
4086
  optionsOrLogLevel = { logLevel: DiagLogLevel.INFO };
3803
4087
  }
@@ -3812,7 +4096,7 @@ var DiagAPI = (
3812
4096
  };
3813
4097
  }
3814
4098
  var oldLogger = getGlobal("diag");
3815
- var newLogger = createLogLevelDiagLogger((_b82 = optionsOrLogLevel.logLevel) !== null && _b82 !== void 0 ? _b82 : DiagLogLevel.INFO, logger);
4099
+ var newLogger = createLogLevelDiagLogger((_b92 = optionsOrLogLevel.logLevel) !== null && _b92 !== void 0 ? _b92 : DiagLogLevel.INFO, logger);
3816
4100
  if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) {
3817
4101
  var stack = (_c = new Error().stack) !== null && _c !== void 0 ? _c : "<failed to generate stacktrace>";
3818
4102
  oldLogger.warn("Current logger will be overwritten from " + stack);
@@ -4245,10 +4529,10 @@ var __export = (target, all) => {
4245
4529
  for (var name21 in all)
4246
4530
  __defProp(target, name21, { get: all[name21], enumerable: true });
4247
4531
  };
4248
- var name72 = "AI_InvalidArgumentError";
4249
- var marker82 = `vercel.ai.error.${name72}`;
4250
- var symbol82 = Symbol.for(marker82);
4251
- var _a82;
4532
+ var name82 = "AI_InvalidArgumentError";
4533
+ var marker92 = `vercel.ai.error.${name82}`;
4534
+ var symbol92 = Symbol.for(marker92);
4535
+ var _a92;
4252
4536
  var InvalidArgumentError2 = class extends AISDKError {
4253
4537
  constructor({
4254
4538
  parameter,
@@ -4256,18 +4540,18 @@ var InvalidArgumentError2 = class extends AISDKError {
4256
4540
  message
4257
4541
  }) {
4258
4542
  super({
4259
- name: name72,
4543
+ name: name82,
4260
4544
  message: `Invalid argument for parameter ${parameter}: ${message}`
4261
4545
  });
4262
- this[_a82] = true;
4546
+ this[_a92] = true;
4263
4547
  this.parameter = parameter;
4264
4548
  this.value = value;
4265
4549
  }
4266
4550
  static isInstance(error) {
4267
- return AISDKError.hasMarker(error, marker82);
4551
+ return AISDKError.hasMarker(error, marker92);
4268
4552
  }
4269
4553
  };
4270
- _a82 = symbol82;
4554
+ _a92 = symbol92;
4271
4555
  var name322 = "AI_InvalidToolApprovalError";
4272
4556
  var marker322 = `vercel.ai.error.${name322}`;
4273
4557
  var symbol322 = Symbol.for(marker322);
@@ -4349,8 +4633,8 @@ var MissingToolResultsError = class extends AISDKError {
4349
4633
  }
4350
4634
  };
4351
4635
  _a622 = symbol622;
4352
- var name82 = "AI_NoObjectGeneratedError";
4353
- var marker822 = `vercel.ai.error.${name82}`;
4636
+ var name822 = "AI_NoObjectGeneratedError";
4637
+ var marker822 = `vercel.ai.error.${name822}`;
4354
4638
  var symbol822 = Symbol.for(marker822);
4355
4639
  var _a822;
4356
4640
  var NoObjectGeneratedError = class extends AISDKError {
@@ -4362,7 +4646,7 @@ var NoObjectGeneratedError = class extends AISDKError {
4362
4646
  usage,
4363
4647
  finishReason
4364
4648
  }) {
4365
- super({ name: name82, message, cause });
4649
+ super({ name: name822, message, cause });
4366
4650
  this[_a822] = true;
4367
4651
  this.text = text2;
4368
4652
  this.response = response;
@@ -4375,9 +4659,9 @@ var NoObjectGeneratedError = class extends AISDKError {
4375
4659
  };
4376
4660
  _a822 = symbol822;
4377
4661
  var name92 = "AI_NoOutputGeneratedError";
4378
- var marker92 = `vercel.ai.error.${name92}`;
4379
- var symbol92 = Symbol.for(marker92);
4380
- var _a92;
4662
+ var marker922 = `vercel.ai.error.${name92}`;
4663
+ var symbol922 = Symbol.for(marker922);
4664
+ var _a922;
4381
4665
  var NoOutputGeneratedError = class extends AISDKError {
4382
4666
  // used in isInstance
4383
4667
  constructor({
@@ -4385,13 +4669,13 @@ var NoOutputGeneratedError = class extends AISDKError {
4385
4669
  cause
4386
4670
  } = {}) {
4387
4671
  super({ name: name92, message, cause });
4388
- this[_a92] = true;
4672
+ this[_a922] = true;
4389
4673
  }
4390
4674
  static isInstance(error) {
4391
- return AISDKError.hasMarker(error, marker92);
4675
+ return AISDKError.hasMarker(error, marker922);
4392
4676
  }
4393
4677
  };
4394
- _a92 = symbol92;
4678
+ _a922 = symbol922;
4395
4679
  var name132 = "AI_NoSuchToolError";
4396
4680
  var marker132 = `vercel.ai.error.${name132}`;
4397
4681
  var symbol132 = Symbol.for(marker132);
@@ -4831,8 +5115,12 @@ function detectMediaType({
4831
5115
  }
4832
5116
  return void 0;
4833
5117
  }
4834
- var VERSION3 = "6.0.69";
4835
- var download = async ({ url }) => {
5118
+ var VERSION3 = "6.0.91";
5119
+ var download = async ({
5120
+ url,
5121
+ maxBytes,
5122
+ abortSignal
5123
+ }) => {
4836
5124
  var _a21;
4837
5125
  const urlText = url.toString();
4838
5126
  try {
@@ -4841,7 +5129,8 @@ var download = async ({ url }) => {
4841
5129
  {},
4842
5130
  `ai-sdk/${VERSION3}`,
4843
5131
  getRuntimeEnvironmentUserAgent()
4844
- )
5132
+ ),
5133
+ signal: abortSignal
4845
5134
  });
4846
5135
  if (!response.ok) {
4847
5136
  throw new DownloadError({
@@ -4850,8 +5139,13 @@ var download = async ({ url }) => {
4850
5139
  statusText: response.statusText
4851
5140
  });
4852
5141
  }
5142
+ const data = await readResponseWithSizeLimit({
5143
+ response,
5144
+ url: urlText,
5145
+ maxBytes: maxBytes != null ? maxBytes : DEFAULT_MAX_DOWNLOAD_SIZE
5146
+ });
4853
5147
  return {
4854
- data: new Uint8Array(await response.arrayBuffer()),
5148
+ data,
4855
5149
  mediaType: (_a21 = response.headers.get("content-type")) != null ? _a21 : void 0
4856
5150
  };
4857
5151
  } catch (error) {
@@ -4887,8 +5181,8 @@ var dataContentSchema = z.union([
4887
5181
  z.custom(
4888
5182
  // Buffer might not be available in some environments such as CloudFlare:
4889
5183
  (value) => {
4890
- var _a21, _b82;
4891
- return (_b82 = (_a21 = globalThis.Buffer) == null ? void 0 : _a21.isBuffer(value)) != null ? _b82 : false;
5184
+ var _a21, _b92;
5185
+ return (_b92 = (_a21 = globalThis.Buffer) == null ? void 0 : _a21.isBuffer(value)) != null ? _b92 : false;
4892
5186
  },
4893
5187
  { message: "Must be a Buffer" }
4894
5188
  )
@@ -5977,13 +6271,13 @@ function createNullLanguageModelUsage() {
5977
6271
  };
5978
6272
  }
5979
6273
  function addLanguageModelUsage(usage1, usage2) {
5980
- var _a21, _b82, _c, _d, _e, _f, _g, _h, _i, _j;
6274
+ var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j;
5981
6275
  return {
5982
6276
  inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
5983
6277
  inputTokenDetails: {
5984
6278
  noCacheTokens: addTokenCounts(
5985
6279
  (_a21 = usage1.inputTokenDetails) == null ? void 0 : _a21.noCacheTokens,
5986
- (_b82 = usage2.inputTokenDetails) == null ? void 0 : _b82.noCacheTokens
6280
+ (_b92 = usage2.inputTokenDetails) == null ? void 0 : _b92.noCacheTokens
5987
6281
  ),
5988
6282
  cacheReadTokens: addTokenCounts(
5989
6283
  (_c = usage1.inputTokenDetails) == null ? void 0 : _c.cacheReadTokens,
@@ -6340,6 +6634,12 @@ async function executeToolCall({
6340
6634
  }
6341
6635
  });
6342
6636
  }
6637
+ function extractReasoningContent(content) {
6638
+ const parts = content.filter(
6639
+ (content2) => content2.type === "reasoning"
6640
+ );
6641
+ return parts.length === 0 ? void 0 : parts.map((content2) => content2.text).join("\n");
6642
+ }
6343
6643
  function extractTextContent(content) {
6344
6644
  const parts = content.filter(
6345
6645
  (content2) => content2.type === "text"
@@ -7479,7 +7779,7 @@ async function generateText({
7479
7779
  }),
7480
7780
  tracer,
7481
7781
  fn: async (span) => {
7482
- var _a21, _b82, _c, _d, _e, _f, _g, _h, _i, _j, _k;
7782
+ var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j, _k;
7483
7783
  const initialMessages = initialPrompt.messages;
7484
7784
  const responseMessages = [];
7485
7785
  const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
@@ -7578,7 +7878,7 @@ async function generateText({
7578
7878
  );
7579
7879
  const promptMessages = await convertToLanguageModelPrompt({
7580
7880
  prompt: {
7581
- system: (_b82 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b82 : initialPrompt.system,
7881
+ system: (_b92 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b92 : initialPrompt.system,
7582
7882
  messages: (_c = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _c : stepInputMessages
7583
7883
  },
7584
7884
  supportedUrls: await stepModel.supportedUrls,
@@ -7661,6 +7961,9 @@ async function generateText({
7661
7961
  "ai.response.text": {
7662
7962
  output: () => extractTextContent(result.content)
7663
7963
  },
7964
+ "ai.response.reasoning": {
7965
+ output: () => extractReasoningContent(result.content)
7966
+ },
7664
7967
  "ai.response.toolCalls": {
7665
7968
  output: () => {
7666
7969
  const toolCalls = asToolCalls(result.content);
@@ -7846,6 +8149,9 @@ async function generateText({
7846
8149
  "ai.response.text": {
7847
8150
  output: () => extractTextContent(currentModelResponse.content)
7848
8151
  },
8152
+ "ai.response.reasoning": {
8153
+ output: () => extractReasoningContent(currentModelResponse.content)
8154
+ },
7849
8155
  "ai.response.toolCalls": {
7850
8156
  output: () => {
7851
8157
  const toolCalls = asToolCalls(currentModelResponse.content);
@@ -8314,7 +8620,7 @@ function processUIMessageStream({
8314
8620
  new TransformStream({
8315
8621
  async transform(chunk, controller) {
8316
8622
  await runUpdateMessageJob(async ({ state, write }) => {
8317
- var _a21, _b82, _c, _d;
8623
+ var _a21, _b92, _c, _d;
8318
8624
  function getToolInvocation(toolCallId) {
8319
8625
  const toolInvocations = state.message.parts.filter(isToolUIPart);
8320
8626
  const toolInvocation = toolInvocations.find(
@@ -8457,7 +8763,7 @@ function processUIMessageStream({
8457
8763
  });
8458
8764
  }
8459
8765
  textPart.state = "done";
8460
- textPart.providerMetadata = (_b82 = chunk.providerMetadata) != null ? _b82 : textPart.providerMetadata;
8766
+ textPart.providerMetadata = (_b92 = chunk.providerMetadata) != null ? _b92 : textPart.providerMetadata;
8461
8767
  delete state.activeTextParts[chunk.id];
8462
8768
  write();
8463
8769
  break;
@@ -8809,6 +9115,7 @@ function processUIMessageStream({
8809
9115
  function handleUIMessageStreamFinish({
8810
9116
  messageId,
8811
9117
  originalMessages = [],
9118
+ onStepFinish,
8812
9119
  onFinish,
8813
9120
  onError,
8814
9121
  stream
@@ -8836,7 +9143,7 @@ function handleUIMessageStreamFinish({
8836
9143
  }
8837
9144
  })
8838
9145
  );
8839
- if (onFinish == null) {
9146
+ if (onFinish == null && onStepFinish == null) {
8840
9147
  return idInjectedStream;
8841
9148
  }
8842
9149
  const state = createStreamingUIMessageState({
@@ -8866,13 +9173,34 @@ function handleUIMessageStreamFinish({
8866
9173
  finishReason: state.finishReason
8867
9174
  });
8868
9175
  };
9176
+ const callOnStepFinish = async () => {
9177
+ if (!onStepFinish) {
9178
+ return;
9179
+ }
9180
+ const isContinuation = state.message.id === (lastMessage == null ? void 0 : lastMessage.id);
9181
+ try {
9182
+ await onStepFinish({
9183
+ isContinuation,
9184
+ responseMessage: structuredClone(state.message),
9185
+ messages: [
9186
+ ...isContinuation ? originalMessages.slice(0, -1) : originalMessages,
9187
+ structuredClone(state.message)
9188
+ ]
9189
+ });
9190
+ } catch (error) {
9191
+ onError(error);
9192
+ }
9193
+ };
8869
9194
  return processUIMessageStream({
8870
9195
  stream: idInjectedStream,
8871
9196
  runUpdateMessageJob,
8872
9197
  onError
8873
9198
  }).pipeThrough(
8874
9199
  new TransformStream({
8875
- transform(chunk, controller) {
9200
+ async transform(chunk, controller) {
9201
+ if (chunk.type === "finish-step") {
9202
+ await callOnStepFinish();
9203
+ }
8876
9204
  controller.enqueue(chunk);
8877
9205
  },
8878
9206
  // @ts-expect-error cancel is still new and missing from types https://developer.mozilla.org/en-US/docs/Web/API/TransformStream#browser_compatibility
@@ -9079,8 +9407,8 @@ function createStitchableStream() {
9079
9407
  };
9080
9408
  }
9081
9409
  function now() {
9082
- var _a21, _b82;
9083
- return (_b82 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b82 : Date.now();
9410
+ var _a21, _b92;
9411
+ return (_b92 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b92 : Date.now();
9084
9412
  }
9085
9413
  function runToolsTransformation({
9086
9414
  tools,
@@ -9521,7 +9849,7 @@ var DefaultStreamTextResult = class {
9521
9849
  let activeReasoningContent = {};
9522
9850
  const eventProcessor = new TransformStream({
9523
9851
  async transform(chunk, controller) {
9524
- var _a21, _b82, _c, _d;
9852
+ var _a21, _b92, _c, _d;
9525
9853
  controller.enqueue(chunk);
9526
9854
  const { part } = chunk;
9527
9855
  if (part.type === "text-delta" || part.type === "reasoning-delta" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
@@ -9565,7 +9893,7 @@ var DefaultStreamTextResult = class {
9565
9893
  });
9566
9894
  return;
9567
9895
  }
9568
- activeText.providerMetadata = (_b82 = part.providerMetadata) != null ? _b82 : activeText.providerMetadata;
9896
+ activeText.providerMetadata = (_b92 = part.providerMetadata) != null ? _b92 : activeText.providerMetadata;
9569
9897
  delete activeTextContent[part.id];
9570
9898
  }
9571
9899
  if (part.type === "reasoning-start") {
@@ -9714,6 +10042,9 @@ var DefaultStreamTextResult = class {
9714
10042
  attributes: {
9715
10043
  "ai.response.finishReason": finishReason,
9716
10044
  "ai.response.text": { output: () => finalStep.text },
10045
+ "ai.response.reasoning": {
10046
+ output: () => finalStep.reasoningText
10047
+ },
9717
10048
  "ai.response.toolCalls": {
9718
10049
  output: () => {
9719
10050
  var _a21;
@@ -9939,7 +10270,7 @@ var DefaultStreamTextResult = class {
9939
10270
  responseMessages,
9940
10271
  usage
9941
10272
  }) {
9942
- var _a21, _b82, _c, _d, _e, _f, _g;
10273
+ var _a21, _b92, _c, _d, _e, _f, _g;
9943
10274
  const includeRawChunks2 = self.includeRawChunks;
9944
10275
  const stepTimeoutId = stepTimeoutMs != null ? setTimeout(() => stepAbortController.abort(), stepTimeoutMs) : void 0;
9945
10276
  let chunkTimeoutId = void 0;
@@ -9980,7 +10311,7 @@ var DefaultStreamTextResult = class {
9980
10311
  );
9981
10312
  const promptMessages = await convertToLanguageModelPrompt({
9982
10313
  prompt: {
9983
- system: (_b82 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b82 : initialPrompt.system,
10314
+ system: (_b92 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b92 : initialPrompt.system,
9984
10315
  messages: (_c = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _c : stepInputMessages
9985
10316
  },
9986
10317
  supportedUrls: await stepModel.supportedUrls,
@@ -10259,6 +10590,14 @@ var DefaultStreamTextResult = class {
10259
10590
  "ai.response.text": {
10260
10591
  output: () => activeText
10261
10592
  },
10593
+ "ai.response.reasoning": {
10594
+ output: () => {
10595
+ const reasoningParts = recordedContent.filter(
10596
+ (c) => c.type === "reasoning"
10597
+ );
10598
+ return reasoningParts.length > 0 ? reasoningParts.map((r) => r.text).join("\n") : void 0;
10599
+ }
10600
+ },
10262
10601
  "ai.response.toolCalls": {
10263
10602
  output: () => stepToolCallsJson
10264
10603
  },
@@ -10533,11 +10872,11 @@ var DefaultStreamTextResult = class {
10533
10872
  );
10534
10873
  }
10535
10874
  get elementStream() {
10536
- var _a21, _b82, _c;
10875
+ var _a21, _b92, _c;
10537
10876
  const transform = (_a21 = this.outputSpecification) == null ? void 0 : _a21.createElementStreamTransform();
10538
10877
  if (transform == null) {
10539
10878
  throw new UnsupportedFunctionalityError({
10540
- functionality: `element streams in ${(_c = (_b82 = this.outputSpecification) == null ? void 0 : _b82.name) != null ? _c : "text"} mode`
10879
+ functionality: `element streams in ${(_c = (_b92 = this.outputSpecification) == null ? void 0 : _b92.name) != null ? _c : "text"} mode`
10541
10880
  });
10542
10881
  }
10543
10882
  return createAsyncIterableStream(this.teeStream().pipeThrough(transform));
@@ -10910,15 +11249,15 @@ var ToolLoopAgent = class {
10910
11249
  return this.settings.tools;
10911
11250
  }
10912
11251
  async prepareCall(options) {
10913
- var _a21, _b82, _c, _d;
11252
+ var _a21, _b92, _c, _d;
10914
11253
  const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
10915
11254
  const baseCallArgs = {
10916
11255
  ...settingsWithoutCallback,
10917
11256
  stopWhen: (_a21 = this.settings.stopWhen) != null ? _a21 : stepCountIs(20),
10918
11257
  ...options
10919
11258
  };
10920
- const preparedCallArgs = (_d = await ((_c = (_b82 = this.settings).prepareCall) == null ? void 0 : _c.call(
10921
- _b82,
11259
+ const preparedCallArgs = (_d = await ((_c = (_b92 = this.settings).prepareCall) == null ? void 0 : _c.call(
11260
+ _b92,
10922
11261
  baseCallArgs
10923
11262
  ))) != null ? _d : baseCallArgs;
10924
11263
  const { instructions, messages, prompt, ...callArgs } = preparedCallArgs;
@@ -11096,6 +11435,6 @@ var DefaultEmbedResult = class {
11096
11435
  createIdGenerator({ prefix: "aiobj", size: 24 });
11097
11436
  createIdGenerator({ prefix: "aiobj", size: 24 });
11098
11437
 
11099
- export { ToolLoopAgent, embed };
11100
- //# sourceMappingURL=chunk-V2MLGA7T.js.map
11101
- //# sourceMappingURL=chunk-V2MLGA7T.js.map
11438
+ export { ToolLoopAgent, createGatewayProvider, embed };
11439
+ //# sourceMappingURL=chunk-CXVMDV2B.js.map
11440
+ //# sourceMappingURL=chunk-CXVMDV2B.js.map