@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
@@ -506,6 +506,59 @@ var DownloadError = class extends (_b15 = AISDKError, _a15 = symbol15, _b15) {
506
506
  return AISDKError.hasMarker(error, marker15);
507
507
  }
508
508
  };
509
+ var DEFAULT_MAX_DOWNLOAD_SIZE = 2 * 1024 * 1024 * 1024;
510
+ async function readResponseWithSizeLimit({
511
+ response,
512
+ url,
513
+ maxBytes = DEFAULT_MAX_DOWNLOAD_SIZE
514
+ }) {
515
+ const contentLength = response.headers.get("content-length");
516
+ if (contentLength != null) {
517
+ const length = parseInt(contentLength, 10);
518
+ if (!isNaN(length) && length > maxBytes) {
519
+ throw new DownloadError({
520
+ url,
521
+ message: `Download of ${url} exceeded maximum size of ${maxBytes} bytes (Content-Length: ${length}).`
522
+ });
523
+ }
524
+ }
525
+ const body = response.body;
526
+ if (body == null) {
527
+ return new Uint8Array(0);
528
+ }
529
+ const reader = body.getReader();
530
+ const chunks = [];
531
+ let totalBytes = 0;
532
+ try {
533
+ while (true) {
534
+ const { done, value } = await reader.read();
535
+ if (done) {
536
+ break;
537
+ }
538
+ totalBytes += value.length;
539
+ if (totalBytes > maxBytes) {
540
+ throw new DownloadError({
541
+ url,
542
+ message: `Download of ${url} exceeded maximum size of ${maxBytes} bytes.`
543
+ });
544
+ }
545
+ chunks.push(value);
546
+ }
547
+ } finally {
548
+ try {
549
+ await reader.cancel();
550
+ } finally {
551
+ reader.releaseLock();
552
+ }
553
+ }
554
+ const result = new Uint8Array(totalBytes);
555
+ let offset = 0;
556
+ for (const chunk of chunks) {
557
+ result.set(chunk, offset);
558
+ offset += chunk.length;
559
+ }
560
+ return result;
561
+ }
509
562
  var createIdGenerator = ({
510
563
  prefix,
511
564
  size = 16,
@@ -646,7 +699,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
646
699
  );
647
700
  return Object.fromEntries(normalizedHeaders.entries());
648
701
  }
649
- var VERSION = "4.0.13";
702
+ var VERSION = "4.0.15";
650
703
  var getOriginalFetch = () => globalThis.fetch;
651
704
  var getFromApi = async ({
652
705
  url,
@@ -2686,7 +2739,7 @@ async function createGatewayErrorFromResponse({
2686
2739
  cause,
2687
2740
  authMethod
2688
2741
  }) {
2689
- var _a83;
2742
+ var _a93;
2690
2743
  const parseResult = await safeValidateTypes({
2691
2744
  value: response,
2692
2745
  schema: gatewayErrorResponseSchema
@@ -2705,7 +2758,7 @@ async function createGatewayErrorFromResponse({
2705
2758
  const validatedResponse = parseResult.value;
2706
2759
  const errorType = validatedResponse.error.type;
2707
2760
  const message = validatedResponse.error.message;
2708
- const generationId = (_a83 = validatedResponse.generationId) != null ? _a83 : void 0;
2761
+ const generationId = (_a93 = validatedResponse.generationId) != null ? _a93 : void 0;
2709
2762
  switch (errorType) {
2710
2763
  case "authentication_error":
2711
2764
  return GatewayAuthenticationError.createContextualError({
@@ -2771,21 +2824,88 @@ var gatewayErrorResponseSchema = lazySchema(
2771
2824
  })
2772
2825
  )
2773
2826
  );
2774
- function asGatewayError(error, authMethod) {
2775
- var _a83;
2827
+ var name72 = "GatewayTimeoutError";
2828
+ var marker82 = `vercel.ai.gateway.error.${name72}`;
2829
+ var symbol82 = Symbol.for(marker82);
2830
+ var _a82;
2831
+ var _b82;
2832
+ var GatewayTimeoutError = class _GatewayTimeoutError extends (_b82 = GatewayError, _a82 = symbol82, _b82) {
2833
+ constructor({
2834
+ message = "Request timed out",
2835
+ statusCode = 408,
2836
+ cause,
2837
+ generationId
2838
+ } = {}) {
2839
+ super({ message, statusCode, cause, generationId });
2840
+ this[_a82] = true;
2841
+ this.name = name72;
2842
+ this.type = "timeout_error";
2843
+ }
2844
+ static isInstance(error) {
2845
+ return GatewayError.hasMarker(error) && symbol82 in error;
2846
+ }
2847
+ /**
2848
+ * Creates a helpful timeout error message with troubleshooting guidance
2849
+ */
2850
+ static createTimeoutError({
2851
+ originalMessage,
2852
+ statusCode = 408,
2853
+ cause,
2854
+ generationId
2855
+ }) {
2856
+ const message = `Gateway request timed out: ${originalMessage}
2857
+
2858
+ 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`;
2859
+ return new _GatewayTimeoutError({
2860
+ message,
2861
+ statusCode,
2862
+ cause,
2863
+ generationId
2864
+ });
2865
+ }
2866
+ };
2867
+ function isTimeoutError(error) {
2868
+ if (!(error instanceof Error)) {
2869
+ return false;
2870
+ }
2871
+ const errorCode = error.code;
2872
+ if (typeof errorCode === "string") {
2873
+ const undiciTimeoutCodes = [
2874
+ "UND_ERR_HEADERS_TIMEOUT",
2875
+ "UND_ERR_BODY_TIMEOUT",
2876
+ "UND_ERR_CONNECT_TIMEOUT"
2877
+ ];
2878
+ return undiciTimeoutCodes.includes(errorCode);
2879
+ }
2880
+ return false;
2881
+ }
2882
+ async function asGatewayError(error, authMethod) {
2883
+ var _a93;
2776
2884
  if (GatewayError.isInstance(error)) {
2777
2885
  return error;
2778
2886
  }
2887
+ if (isTimeoutError(error)) {
2888
+ return GatewayTimeoutError.createTimeoutError({
2889
+ originalMessage: error instanceof Error ? error.message : "Unknown error",
2890
+ cause: error
2891
+ });
2892
+ }
2779
2893
  if (APICallError.isInstance(error)) {
2780
- return createGatewayErrorFromResponse({
2894
+ if (error.cause && isTimeoutError(error.cause)) {
2895
+ return GatewayTimeoutError.createTimeoutError({
2896
+ originalMessage: error.message,
2897
+ cause: error
2898
+ });
2899
+ }
2900
+ return await createGatewayErrorFromResponse({
2781
2901
  response: extractApiCallResponse(error),
2782
- statusCode: (_a83 = error.statusCode) != null ? _a83 : 500,
2902
+ statusCode: (_a93 = error.statusCode) != null ? _a93 : 500,
2783
2903
  defaultMessage: "Gateway request failed",
2784
2904
  cause: error,
2785
2905
  authMethod
2786
2906
  });
2787
2907
  }
2788
- return createGatewayErrorFromResponse({
2908
+ return await createGatewayErrorFromResponse({
2789
2909
  response: {},
2790
2910
  statusCode: 500,
2791
2911
  defaultMessage: error instanceof Error ? `Gateway request failed: ${error.message}` : "Unknown Gateway error",
@@ -2887,7 +3007,7 @@ var gatewayAvailableModelsResponseSchema = lazySchema(
2887
3007
  provider: z4.z.string(),
2888
3008
  modelId: z4.z.string()
2889
3009
  }),
2890
- modelType: z4.z.enum(["language", "embedding", "image"]).nullish()
3010
+ modelType: z4.z.enum(["embedding", "image", "language", "video"]).nullish()
2891
3011
  })
2892
3012
  )
2893
3013
  })
@@ -3066,7 +3186,7 @@ var GatewayEmbeddingModel = class {
3066
3186
  abortSignal,
3067
3187
  providerOptions
3068
3188
  }) {
3069
- var _a83;
3189
+ var _a93;
3070
3190
  const resolvedHeaders = await resolve(this.config.headers());
3071
3191
  try {
3072
3192
  const {
@@ -3097,7 +3217,7 @@ var GatewayEmbeddingModel = class {
3097
3217
  });
3098
3218
  return {
3099
3219
  embeddings: responseBody.embeddings,
3100
- usage: (_a83 = responseBody.usage) != null ? _a83 : void 0,
3220
+ usage: (_a93 = responseBody.usage) != null ? _a93 : void 0,
3101
3221
  providerMetadata: responseBody.providerMetadata,
3102
3222
  response: { headers: responseHeaders, body: rawValue },
3103
3223
  warnings: []
@@ -3147,7 +3267,7 @@ var GatewayImageModel = class {
3147
3267
  headers,
3148
3268
  abortSignal
3149
3269
  }) {
3150
- var _a83;
3270
+ var _a93, _b92, _c, _d;
3151
3271
  const resolvedHeaders = await resolve(this.config.headers());
3152
3272
  try {
3153
3273
  const {
@@ -3186,16 +3306,23 @@ var GatewayImageModel = class {
3186
3306
  return {
3187
3307
  images: responseBody.images,
3188
3308
  // Always base64 strings from server
3189
- warnings: (_a83 = responseBody.warnings) != null ? _a83 : [],
3309
+ warnings: (_a93 = responseBody.warnings) != null ? _a93 : [],
3190
3310
  providerMetadata: responseBody.providerMetadata,
3191
3311
  response: {
3192
3312
  timestamp: /* @__PURE__ */ new Date(),
3193
3313
  modelId: this.modelId,
3194
3314
  headers: responseHeaders
3315
+ },
3316
+ ...responseBody.usage != null && {
3317
+ usage: {
3318
+ inputTokens: (_b92 = responseBody.usage.inputTokens) != null ? _b92 : void 0,
3319
+ outputTokens: (_c = responseBody.usage.outputTokens) != null ? _c : void 0,
3320
+ totalTokens: (_d = responseBody.usage.totalTokens) != null ? _d : void 0
3321
+ }
3195
3322
  }
3196
3323
  };
3197
3324
  } catch (error) {
3198
- throw asGatewayError(error, await parseAuthMethod(resolvedHeaders));
3325
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
3199
3326
  }
3200
3327
  }
3201
3328
  getUrl() {
@@ -3220,16 +3347,160 @@ function maybeEncodeImageFile(file) {
3220
3347
  var providerMetadataEntrySchema = z4.z.object({
3221
3348
  images: z4.z.array(z4.z.unknown()).optional()
3222
3349
  }).catchall(z4.z.unknown());
3350
+ var gatewayImageWarningSchema = z4.z.discriminatedUnion("type", [
3351
+ z4.z.object({
3352
+ type: z4.z.literal("unsupported"),
3353
+ feature: z4.z.string(),
3354
+ details: z4.z.string().optional()
3355
+ }),
3356
+ z4.z.object({
3357
+ type: z4.z.literal("compatibility"),
3358
+ feature: z4.z.string(),
3359
+ details: z4.z.string().optional()
3360
+ }),
3361
+ z4.z.object({
3362
+ type: z4.z.literal("other"),
3363
+ message: z4.z.string()
3364
+ })
3365
+ ]);
3366
+ var gatewayImageUsageSchema = z4.z.object({
3367
+ inputTokens: z4.z.number().nullish(),
3368
+ outputTokens: z4.z.number().nullish(),
3369
+ totalTokens: z4.z.number().nullish()
3370
+ });
3223
3371
  var gatewayImageResponseSchema = z4.z.object({
3224
3372
  images: z4.z.array(z4.z.string()),
3225
3373
  // Always base64 strings over the wire
3226
- warnings: z4.z.array(
3227
- z4.z.object({
3228
- type: z4.z.literal("other"),
3229
- message: z4.z.string()
3230
- })
3231
- ).optional(),
3232
- providerMetadata: z4.z.record(z4.z.string(), providerMetadataEntrySchema).optional()
3374
+ warnings: z4.z.array(gatewayImageWarningSchema).optional(),
3375
+ providerMetadata: z4.z.record(z4.z.string(), providerMetadataEntrySchema).optional(),
3376
+ usage: gatewayImageUsageSchema.optional()
3377
+ });
3378
+ var GatewayVideoModel = class {
3379
+ constructor(modelId, config) {
3380
+ this.modelId = modelId;
3381
+ this.config = config;
3382
+ this.specificationVersion = "v3";
3383
+ this.maxVideosPerCall = Number.MAX_SAFE_INTEGER;
3384
+ }
3385
+ get provider() {
3386
+ return this.config.provider;
3387
+ }
3388
+ async doGenerate({
3389
+ prompt,
3390
+ n,
3391
+ aspectRatio,
3392
+ resolution,
3393
+ duration,
3394
+ fps,
3395
+ seed,
3396
+ image,
3397
+ providerOptions,
3398
+ headers,
3399
+ abortSignal
3400
+ }) {
3401
+ var _a93;
3402
+ const resolvedHeaders = await resolve(this.config.headers());
3403
+ try {
3404
+ const {
3405
+ responseHeaders,
3406
+ value: responseBody
3407
+ } = await postJsonToApi({
3408
+ url: this.getUrl(),
3409
+ headers: combineHeaders(
3410
+ resolvedHeaders,
3411
+ headers != null ? headers : {},
3412
+ this.getModelConfigHeaders(),
3413
+ await resolve(this.config.o11yHeaders)
3414
+ ),
3415
+ body: {
3416
+ prompt,
3417
+ n,
3418
+ ...aspectRatio && { aspectRatio },
3419
+ ...resolution && { resolution },
3420
+ ...duration && { duration },
3421
+ ...fps && { fps },
3422
+ ...seed && { seed },
3423
+ ...providerOptions && { providerOptions },
3424
+ ...image && { image: maybeEncodeVideoFile(image) }
3425
+ },
3426
+ successfulResponseHandler: createJsonResponseHandler(
3427
+ gatewayVideoResponseSchema
3428
+ ),
3429
+ failedResponseHandler: createJsonErrorResponseHandler({
3430
+ errorSchema: z4.z.any(),
3431
+ errorToMessage: (data) => data
3432
+ }),
3433
+ ...abortSignal && { abortSignal },
3434
+ fetch: this.config.fetch
3435
+ });
3436
+ return {
3437
+ videos: responseBody.videos,
3438
+ warnings: (_a93 = responseBody.warnings) != null ? _a93 : [],
3439
+ providerMetadata: responseBody.providerMetadata,
3440
+ response: {
3441
+ timestamp: /* @__PURE__ */ new Date(),
3442
+ modelId: this.modelId,
3443
+ headers: responseHeaders
3444
+ }
3445
+ };
3446
+ } catch (error) {
3447
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders));
3448
+ }
3449
+ }
3450
+ getUrl() {
3451
+ return `${this.config.baseURL}/video-model`;
3452
+ }
3453
+ getModelConfigHeaders() {
3454
+ return {
3455
+ "ai-video-model-specification-version": "3",
3456
+ "ai-model-id": this.modelId
3457
+ };
3458
+ }
3459
+ };
3460
+ function maybeEncodeVideoFile(file) {
3461
+ if (file.type === "file" && file.data instanceof Uint8Array) {
3462
+ return {
3463
+ ...file,
3464
+ data: convertUint8ArrayToBase64(file.data)
3465
+ };
3466
+ }
3467
+ return file;
3468
+ }
3469
+ var providerMetadataEntrySchema2 = z4.z.object({
3470
+ videos: z4.z.array(z4.z.unknown()).optional()
3471
+ }).catchall(z4.z.unknown());
3472
+ var gatewayVideoDataSchema = z4.z.union([
3473
+ z4.z.object({
3474
+ type: z4.z.literal("url"),
3475
+ url: z4.z.string(),
3476
+ mediaType: z4.z.string()
3477
+ }),
3478
+ z4.z.object({
3479
+ type: z4.z.literal("base64"),
3480
+ data: z4.z.string(),
3481
+ mediaType: z4.z.string()
3482
+ })
3483
+ ]);
3484
+ var gatewayVideoWarningSchema = z4.z.discriminatedUnion("type", [
3485
+ z4.z.object({
3486
+ type: z4.z.literal("unsupported"),
3487
+ feature: z4.z.string(),
3488
+ details: z4.z.string().optional()
3489
+ }),
3490
+ z4.z.object({
3491
+ type: z4.z.literal("compatibility"),
3492
+ feature: z4.z.string(),
3493
+ details: z4.z.string().optional()
3494
+ }),
3495
+ z4.z.object({
3496
+ type: z4.z.literal("other"),
3497
+ message: z4.z.string()
3498
+ })
3499
+ ]);
3500
+ var gatewayVideoResponseSchema = z4.z.object({
3501
+ videos: z4.z.array(gatewayVideoDataSchema),
3502
+ warnings: z4.z.array(gatewayVideoWarningSchema).optional(),
3503
+ providerMetadata: z4.z.record(z4.z.string(), providerMetadataEntrySchema2).optional()
3233
3504
  });
3234
3505
  var parallelSearchInputSchema = lazySchema(
3235
3506
  () => zodSchema(
@@ -3404,18 +3675,18 @@ var gatewayTools = {
3404
3675
  perplexitySearch
3405
3676
  };
3406
3677
  async function getVercelRequestId() {
3407
- var _a83;
3408
- return (_a83 = (0, import_oidc.getContext)().headers) == null ? void 0 : _a83["x-vercel-id"];
3678
+ var _a93;
3679
+ return (_a93 = (0, import_oidc.getContext)().headers) == null ? void 0 : _a93["x-vercel-id"];
3409
3680
  }
3410
- var VERSION2 = "3.0.32";
3681
+ var VERSION2 = "3.0.50";
3411
3682
  var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
3412
3683
  function createGatewayProvider(options = {}) {
3413
- var _a83, _b82;
3684
+ var _a93, _b92;
3414
3685
  let pendingMetadata = null;
3415
3686
  let metadataCache = null;
3416
- const cacheRefreshMillis = (_a83 = options.metadataCacheRefreshMillis) != null ? _a83 : 1e3 * 60 * 5;
3687
+ const cacheRefreshMillis = (_a93 = options.metadataCacheRefreshMillis) != null ? _a93 : 1e3 * 60 * 5;
3417
3688
  let lastFetchTime = 0;
3418
- const baseURL = (_b82 = withoutTrailingSlash(options.baseURL)) != null ? _b82 : "https://ai-gateway.vercel.sh/v3/ai";
3689
+ const baseURL = (_b92 = withoutTrailingSlash(options.baseURL)) != null ? _b92 : "https://ai-gateway.vercel.sh/v3/ai";
3419
3690
  const getHeaders = async () => {
3420
3691
  try {
3421
3692
  const auth = await getGatewayAuthToken(options);
@@ -3470,8 +3741,8 @@ function createGatewayProvider(options = {}) {
3470
3741
  });
3471
3742
  };
3472
3743
  const getAvailableModels = async () => {
3473
- var _a922, _b92, _c;
3474
- const now2 = (_c = (_b92 = (_a922 = options._internal) == null ? void 0 : _a922.currentDate) == null ? void 0 : _b92.call(_a922).getTime()) != null ? _c : Date.now();
3744
+ var _a1022, _b102, _c;
3745
+ const now2 = (_c = (_b102 = (_a1022 = options._internal) == null ? void 0 : _a1022.currentDate) == null ? void 0 : _b102.call(_a1022).getTime()) != null ? _c : Date.now();
3475
3746
  if (!pendingMetadata || now2 - lastFetchTime > cacheRefreshMillis) {
3476
3747
  lastFetchTime = now2;
3477
3748
  pendingMetadata = new GatewayFetchMetadata({
@@ -3534,6 +3805,19 @@ function createGatewayProvider(options = {}) {
3534
3805
  };
3535
3806
  provider.embeddingModel = createEmbeddingModel;
3536
3807
  provider.textEmbeddingModel = createEmbeddingModel;
3808
+ provider.videoModel = (modelId) => {
3809
+ return new GatewayVideoModel(modelId, {
3810
+ provider: "gateway",
3811
+ baseURL,
3812
+ headers: getHeaders,
3813
+ fetch: options.fetch,
3814
+ o11yHeaders: createO11yHeaders()
3815
+ });
3816
+ };
3817
+ provider.chat = provider.languageModel;
3818
+ provider.embedding = provider.embeddingModel;
3819
+ provider.image = provider.imageModel;
3820
+ provider.video = provider.videoModel;
3537
3821
  provider.tools = gatewayTools;
3538
3822
  return provider;
3539
3823
  }
@@ -3648,12 +3932,12 @@ function registerGlobal(type, instance, diag, allowOverride) {
3648
3932
  return true;
3649
3933
  }
3650
3934
  function getGlobal(type) {
3651
- var _a21, _b82;
3935
+ var _a21, _b92;
3652
3936
  var globalVersion = (_a21 = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a21 === void 0 ? void 0 : _a21.version;
3653
3937
  if (!globalVersion || !isCompatible(globalVersion)) {
3654
3938
  return;
3655
3939
  }
3656
- return (_b82 = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b82 === void 0 ? void 0 : _b82[type];
3940
+ return (_b92 = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b92 === void 0 ? void 0 : _b92[type];
3657
3941
  }
3658
3942
  function unregisterGlobal(type, diag) {
3659
3943
  diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + VERSION22 + ".");
@@ -3818,7 +4102,7 @@ var DiagAPI = (
3818
4102
  }
3819
4103
  var self = this;
3820
4104
  var setLogger = function(logger, optionsOrLogLevel) {
3821
- var _a21, _b82, _c;
4105
+ var _a21, _b92, _c;
3822
4106
  if (optionsOrLogLevel === void 0) {
3823
4107
  optionsOrLogLevel = { logLevel: DiagLogLevel.INFO };
3824
4108
  }
@@ -3833,7 +4117,7 @@ var DiagAPI = (
3833
4117
  };
3834
4118
  }
3835
4119
  var oldLogger = getGlobal("diag");
3836
- var newLogger = createLogLevelDiagLogger((_b82 = optionsOrLogLevel.logLevel) !== null && _b82 !== void 0 ? _b82 : DiagLogLevel.INFO, logger);
4120
+ var newLogger = createLogLevelDiagLogger((_b92 = optionsOrLogLevel.logLevel) !== null && _b92 !== void 0 ? _b92 : DiagLogLevel.INFO, logger);
3837
4121
  if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) {
3838
4122
  var stack = (_c = new Error().stack) !== null && _c !== void 0 ? _c : "<failed to generate stacktrace>";
3839
4123
  oldLogger.warn("Current logger will be overwritten from " + stack);
@@ -4266,10 +4550,10 @@ var __export = (target, all) => {
4266
4550
  for (var name21 in all)
4267
4551
  __defProp(target, name21, { get: all[name21], enumerable: true });
4268
4552
  };
4269
- var name72 = "AI_InvalidArgumentError";
4270
- var marker82 = `vercel.ai.error.${name72}`;
4271
- var symbol82 = Symbol.for(marker82);
4272
- var _a82;
4553
+ var name82 = "AI_InvalidArgumentError";
4554
+ var marker92 = `vercel.ai.error.${name82}`;
4555
+ var symbol92 = Symbol.for(marker92);
4556
+ var _a92;
4273
4557
  var InvalidArgumentError2 = class extends AISDKError {
4274
4558
  constructor({
4275
4559
  parameter,
@@ -4277,18 +4561,18 @@ var InvalidArgumentError2 = class extends AISDKError {
4277
4561
  message
4278
4562
  }) {
4279
4563
  super({
4280
- name: name72,
4564
+ name: name82,
4281
4565
  message: `Invalid argument for parameter ${parameter}: ${message}`
4282
4566
  });
4283
- this[_a82] = true;
4567
+ this[_a92] = true;
4284
4568
  this.parameter = parameter;
4285
4569
  this.value = value;
4286
4570
  }
4287
4571
  static isInstance(error) {
4288
- return AISDKError.hasMarker(error, marker82);
4572
+ return AISDKError.hasMarker(error, marker92);
4289
4573
  }
4290
4574
  };
4291
- _a82 = symbol82;
4575
+ _a92 = symbol92;
4292
4576
  var name322 = "AI_InvalidToolApprovalError";
4293
4577
  var marker322 = `vercel.ai.error.${name322}`;
4294
4578
  var symbol322 = Symbol.for(marker322);
@@ -4370,8 +4654,8 @@ var MissingToolResultsError = class extends AISDKError {
4370
4654
  }
4371
4655
  };
4372
4656
  _a622 = symbol622;
4373
- var name82 = "AI_NoObjectGeneratedError";
4374
- var marker822 = `vercel.ai.error.${name82}`;
4657
+ var name822 = "AI_NoObjectGeneratedError";
4658
+ var marker822 = `vercel.ai.error.${name822}`;
4375
4659
  var symbol822 = Symbol.for(marker822);
4376
4660
  var _a822;
4377
4661
  var NoObjectGeneratedError = class extends AISDKError {
@@ -4383,7 +4667,7 @@ var NoObjectGeneratedError = class extends AISDKError {
4383
4667
  usage,
4384
4668
  finishReason
4385
4669
  }) {
4386
- super({ name: name82, message, cause });
4670
+ super({ name: name822, message, cause });
4387
4671
  this[_a822] = true;
4388
4672
  this.text = text2;
4389
4673
  this.response = response;
@@ -4396,9 +4680,9 @@ var NoObjectGeneratedError = class extends AISDKError {
4396
4680
  };
4397
4681
  _a822 = symbol822;
4398
4682
  var name92 = "AI_NoOutputGeneratedError";
4399
- var marker92 = `vercel.ai.error.${name92}`;
4400
- var symbol92 = Symbol.for(marker92);
4401
- var _a92;
4683
+ var marker922 = `vercel.ai.error.${name92}`;
4684
+ var symbol922 = Symbol.for(marker922);
4685
+ var _a922;
4402
4686
  var NoOutputGeneratedError = class extends AISDKError {
4403
4687
  // used in isInstance
4404
4688
  constructor({
@@ -4406,13 +4690,13 @@ var NoOutputGeneratedError = class extends AISDKError {
4406
4690
  cause
4407
4691
  } = {}) {
4408
4692
  super({ name: name92, message, cause });
4409
- this[_a92] = true;
4693
+ this[_a922] = true;
4410
4694
  }
4411
4695
  static isInstance(error) {
4412
- return AISDKError.hasMarker(error, marker92);
4696
+ return AISDKError.hasMarker(error, marker922);
4413
4697
  }
4414
4698
  };
4415
- _a92 = symbol92;
4699
+ _a922 = symbol922;
4416
4700
  var name132 = "AI_NoSuchToolError";
4417
4701
  var marker132 = `vercel.ai.error.${name132}`;
4418
4702
  var symbol132 = Symbol.for(marker132);
@@ -4852,8 +5136,12 @@ function detectMediaType({
4852
5136
  }
4853
5137
  return void 0;
4854
5138
  }
4855
- var VERSION3 = "6.0.69";
4856
- var download = async ({ url }) => {
5139
+ var VERSION3 = "6.0.91";
5140
+ var download = async ({
5141
+ url,
5142
+ maxBytes,
5143
+ abortSignal
5144
+ }) => {
4857
5145
  var _a21;
4858
5146
  const urlText = url.toString();
4859
5147
  try {
@@ -4862,7 +5150,8 @@ var download = async ({ url }) => {
4862
5150
  {},
4863
5151
  `ai-sdk/${VERSION3}`,
4864
5152
  getRuntimeEnvironmentUserAgent()
4865
- )
5153
+ ),
5154
+ signal: abortSignal
4866
5155
  });
4867
5156
  if (!response.ok) {
4868
5157
  throw new DownloadError({
@@ -4871,8 +5160,13 @@ var download = async ({ url }) => {
4871
5160
  statusText: response.statusText
4872
5161
  });
4873
5162
  }
5163
+ const data = await readResponseWithSizeLimit({
5164
+ response,
5165
+ url: urlText,
5166
+ maxBytes: maxBytes != null ? maxBytes : DEFAULT_MAX_DOWNLOAD_SIZE
5167
+ });
4874
5168
  return {
4875
- data: new Uint8Array(await response.arrayBuffer()),
5169
+ data,
4876
5170
  mediaType: (_a21 = response.headers.get("content-type")) != null ? _a21 : void 0
4877
5171
  };
4878
5172
  } catch (error) {
@@ -4908,8 +5202,8 @@ var dataContentSchema = z4.z.union([
4908
5202
  z4.z.custom(
4909
5203
  // Buffer might not be available in some environments such as CloudFlare:
4910
5204
  (value) => {
4911
- var _a21, _b82;
4912
- return (_b82 = (_a21 = globalThis.Buffer) == null ? void 0 : _a21.isBuffer(value)) != null ? _b82 : false;
5205
+ var _a21, _b92;
5206
+ return (_b92 = (_a21 = globalThis.Buffer) == null ? void 0 : _a21.isBuffer(value)) != null ? _b92 : false;
4913
5207
  },
4914
5208
  { message: "Must be a Buffer" }
4915
5209
  )
@@ -5998,13 +6292,13 @@ function createNullLanguageModelUsage() {
5998
6292
  };
5999
6293
  }
6000
6294
  function addLanguageModelUsage(usage1, usage2) {
6001
- var _a21, _b82, _c, _d, _e, _f, _g, _h, _i, _j;
6295
+ var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j;
6002
6296
  return {
6003
6297
  inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
6004
6298
  inputTokenDetails: {
6005
6299
  noCacheTokens: addTokenCounts(
6006
6300
  (_a21 = usage1.inputTokenDetails) == null ? void 0 : _a21.noCacheTokens,
6007
- (_b82 = usage2.inputTokenDetails) == null ? void 0 : _b82.noCacheTokens
6301
+ (_b92 = usage2.inputTokenDetails) == null ? void 0 : _b92.noCacheTokens
6008
6302
  ),
6009
6303
  cacheReadTokens: addTokenCounts(
6010
6304
  (_c = usage1.inputTokenDetails) == null ? void 0 : _c.cacheReadTokens,
@@ -6361,6 +6655,12 @@ async function executeToolCall({
6361
6655
  }
6362
6656
  });
6363
6657
  }
6658
+ function extractReasoningContent(content) {
6659
+ const parts = content.filter(
6660
+ (content2) => content2.type === "reasoning"
6661
+ );
6662
+ return parts.length === 0 ? void 0 : parts.map((content2) => content2.text).join("\n");
6663
+ }
6364
6664
  function extractTextContent(content) {
6365
6665
  const parts = content.filter(
6366
6666
  (content2) => content2.type === "text"
@@ -7500,7 +7800,7 @@ async function generateText({
7500
7800
  }),
7501
7801
  tracer,
7502
7802
  fn: async (span) => {
7503
- var _a21, _b82, _c, _d, _e, _f, _g, _h, _i, _j, _k;
7803
+ var _a21, _b92, _c, _d, _e, _f, _g, _h, _i, _j, _k;
7504
7804
  const initialMessages = initialPrompt.messages;
7505
7805
  const responseMessages = [];
7506
7806
  const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
@@ -7599,7 +7899,7 @@ async function generateText({
7599
7899
  );
7600
7900
  const promptMessages = await convertToLanguageModelPrompt({
7601
7901
  prompt: {
7602
- system: (_b82 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b82 : initialPrompt.system,
7902
+ system: (_b92 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b92 : initialPrompt.system,
7603
7903
  messages: (_c = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _c : stepInputMessages
7604
7904
  },
7605
7905
  supportedUrls: await stepModel.supportedUrls,
@@ -7682,6 +7982,9 @@ async function generateText({
7682
7982
  "ai.response.text": {
7683
7983
  output: () => extractTextContent(result.content)
7684
7984
  },
7985
+ "ai.response.reasoning": {
7986
+ output: () => extractReasoningContent(result.content)
7987
+ },
7685
7988
  "ai.response.toolCalls": {
7686
7989
  output: () => {
7687
7990
  const toolCalls = asToolCalls(result.content);
@@ -7867,6 +8170,9 @@ async function generateText({
7867
8170
  "ai.response.text": {
7868
8171
  output: () => extractTextContent(currentModelResponse.content)
7869
8172
  },
8173
+ "ai.response.reasoning": {
8174
+ output: () => extractReasoningContent(currentModelResponse.content)
8175
+ },
7870
8176
  "ai.response.toolCalls": {
7871
8177
  output: () => {
7872
8178
  const toolCalls = asToolCalls(currentModelResponse.content);
@@ -8335,7 +8641,7 @@ function processUIMessageStream({
8335
8641
  new TransformStream({
8336
8642
  async transform(chunk, controller) {
8337
8643
  await runUpdateMessageJob(async ({ state, write }) => {
8338
- var _a21, _b82, _c, _d;
8644
+ var _a21, _b92, _c, _d;
8339
8645
  function getToolInvocation(toolCallId) {
8340
8646
  const toolInvocations = state.message.parts.filter(isToolUIPart);
8341
8647
  const toolInvocation = toolInvocations.find(
@@ -8478,7 +8784,7 @@ function processUIMessageStream({
8478
8784
  });
8479
8785
  }
8480
8786
  textPart.state = "done";
8481
- textPart.providerMetadata = (_b82 = chunk.providerMetadata) != null ? _b82 : textPart.providerMetadata;
8787
+ textPart.providerMetadata = (_b92 = chunk.providerMetadata) != null ? _b92 : textPart.providerMetadata;
8482
8788
  delete state.activeTextParts[chunk.id];
8483
8789
  write();
8484
8790
  break;
@@ -8830,6 +9136,7 @@ function processUIMessageStream({
8830
9136
  function handleUIMessageStreamFinish({
8831
9137
  messageId,
8832
9138
  originalMessages = [],
9139
+ onStepFinish,
8833
9140
  onFinish,
8834
9141
  onError,
8835
9142
  stream
@@ -8857,7 +9164,7 @@ function handleUIMessageStreamFinish({
8857
9164
  }
8858
9165
  })
8859
9166
  );
8860
- if (onFinish == null) {
9167
+ if (onFinish == null && onStepFinish == null) {
8861
9168
  return idInjectedStream;
8862
9169
  }
8863
9170
  const state = createStreamingUIMessageState({
@@ -8887,13 +9194,34 @@ function handleUIMessageStreamFinish({
8887
9194
  finishReason: state.finishReason
8888
9195
  });
8889
9196
  };
9197
+ const callOnStepFinish = async () => {
9198
+ if (!onStepFinish) {
9199
+ return;
9200
+ }
9201
+ const isContinuation = state.message.id === (lastMessage == null ? void 0 : lastMessage.id);
9202
+ try {
9203
+ await onStepFinish({
9204
+ isContinuation,
9205
+ responseMessage: structuredClone(state.message),
9206
+ messages: [
9207
+ ...isContinuation ? originalMessages.slice(0, -1) : originalMessages,
9208
+ structuredClone(state.message)
9209
+ ]
9210
+ });
9211
+ } catch (error) {
9212
+ onError(error);
9213
+ }
9214
+ };
8890
9215
  return processUIMessageStream({
8891
9216
  stream: idInjectedStream,
8892
9217
  runUpdateMessageJob,
8893
9218
  onError
8894
9219
  }).pipeThrough(
8895
9220
  new TransformStream({
8896
- transform(chunk, controller) {
9221
+ async transform(chunk, controller) {
9222
+ if (chunk.type === "finish-step") {
9223
+ await callOnStepFinish();
9224
+ }
8897
9225
  controller.enqueue(chunk);
8898
9226
  },
8899
9227
  // @ts-expect-error cancel is still new and missing from types https://developer.mozilla.org/en-US/docs/Web/API/TransformStream#browser_compatibility
@@ -9100,8 +9428,8 @@ function createStitchableStream() {
9100
9428
  };
9101
9429
  }
9102
9430
  function now() {
9103
- var _a21, _b82;
9104
- return (_b82 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b82 : Date.now();
9431
+ var _a21, _b92;
9432
+ return (_b92 = (_a21 = globalThis == null ? void 0 : globalThis.performance) == null ? void 0 : _a21.now()) != null ? _b92 : Date.now();
9105
9433
  }
9106
9434
  function runToolsTransformation({
9107
9435
  tools,
@@ -9542,7 +9870,7 @@ var DefaultStreamTextResult = class {
9542
9870
  let activeReasoningContent = {};
9543
9871
  const eventProcessor = new TransformStream({
9544
9872
  async transform(chunk, controller) {
9545
- var _a21, _b82, _c, _d;
9873
+ var _a21, _b92, _c, _d;
9546
9874
  controller.enqueue(chunk);
9547
9875
  const { part } = chunk;
9548
9876
  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") {
@@ -9586,7 +9914,7 @@ var DefaultStreamTextResult = class {
9586
9914
  });
9587
9915
  return;
9588
9916
  }
9589
- activeText.providerMetadata = (_b82 = part.providerMetadata) != null ? _b82 : activeText.providerMetadata;
9917
+ activeText.providerMetadata = (_b92 = part.providerMetadata) != null ? _b92 : activeText.providerMetadata;
9590
9918
  delete activeTextContent[part.id];
9591
9919
  }
9592
9920
  if (part.type === "reasoning-start") {
@@ -9735,6 +10063,9 @@ var DefaultStreamTextResult = class {
9735
10063
  attributes: {
9736
10064
  "ai.response.finishReason": finishReason,
9737
10065
  "ai.response.text": { output: () => finalStep.text },
10066
+ "ai.response.reasoning": {
10067
+ output: () => finalStep.reasoningText
10068
+ },
9738
10069
  "ai.response.toolCalls": {
9739
10070
  output: () => {
9740
10071
  var _a21;
@@ -9960,7 +10291,7 @@ var DefaultStreamTextResult = class {
9960
10291
  responseMessages,
9961
10292
  usage
9962
10293
  }) {
9963
- var _a21, _b82, _c, _d, _e, _f, _g;
10294
+ var _a21, _b92, _c, _d, _e, _f, _g;
9964
10295
  const includeRawChunks2 = self.includeRawChunks;
9965
10296
  const stepTimeoutId = stepTimeoutMs != null ? setTimeout(() => stepAbortController.abort(), stepTimeoutMs) : void 0;
9966
10297
  let chunkTimeoutId = void 0;
@@ -10001,7 +10332,7 @@ var DefaultStreamTextResult = class {
10001
10332
  );
10002
10333
  const promptMessages = await convertToLanguageModelPrompt({
10003
10334
  prompt: {
10004
- system: (_b82 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b82 : initialPrompt.system,
10335
+ system: (_b92 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _b92 : initialPrompt.system,
10005
10336
  messages: (_c = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _c : stepInputMessages
10006
10337
  },
10007
10338
  supportedUrls: await stepModel.supportedUrls,
@@ -10280,6 +10611,14 @@ var DefaultStreamTextResult = class {
10280
10611
  "ai.response.text": {
10281
10612
  output: () => activeText
10282
10613
  },
10614
+ "ai.response.reasoning": {
10615
+ output: () => {
10616
+ const reasoningParts = recordedContent.filter(
10617
+ (c) => c.type === "reasoning"
10618
+ );
10619
+ return reasoningParts.length > 0 ? reasoningParts.map((r) => r.text).join("\n") : void 0;
10620
+ }
10621
+ },
10283
10622
  "ai.response.toolCalls": {
10284
10623
  output: () => stepToolCallsJson
10285
10624
  },
@@ -10554,11 +10893,11 @@ var DefaultStreamTextResult = class {
10554
10893
  );
10555
10894
  }
10556
10895
  get elementStream() {
10557
- var _a21, _b82, _c;
10896
+ var _a21, _b92, _c;
10558
10897
  const transform = (_a21 = this.outputSpecification) == null ? void 0 : _a21.createElementStreamTransform();
10559
10898
  if (transform == null) {
10560
10899
  throw new UnsupportedFunctionalityError({
10561
- functionality: `element streams in ${(_c = (_b82 = this.outputSpecification) == null ? void 0 : _b82.name) != null ? _c : "text"} mode`
10900
+ functionality: `element streams in ${(_c = (_b92 = this.outputSpecification) == null ? void 0 : _b92.name) != null ? _c : "text"} mode`
10562
10901
  });
10563
10902
  }
10564
10903
  return createAsyncIterableStream(this.teeStream().pipeThrough(transform));
@@ -10931,15 +11270,15 @@ var ToolLoopAgent = class {
10931
11270
  return this.settings.tools;
10932
11271
  }
10933
11272
  async prepareCall(options) {
10934
- var _a21, _b82, _c, _d;
11273
+ var _a21, _b92, _c, _d;
10935
11274
  const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
10936
11275
  const baseCallArgs = {
10937
11276
  ...settingsWithoutCallback,
10938
11277
  stopWhen: (_a21 = this.settings.stopWhen) != null ? _a21 : stepCountIs(20),
10939
11278
  ...options
10940
11279
  };
10941
- const preparedCallArgs = (_d = await ((_c = (_b82 = this.settings).prepareCall) == null ? void 0 : _c.call(
10942
- _b82,
11280
+ const preparedCallArgs = (_d = await ((_c = (_b92 = this.settings).prepareCall) == null ? void 0 : _c.call(
11281
+ _b92,
10943
11282
  baseCallArgs
10944
11283
  ))) != null ? _d : baseCallArgs;
10945
11284
  const { instructions, messages, prompt, ...callArgs } = preparedCallArgs;
@@ -11118,6 +11457,7 @@ createIdGenerator({ prefix: "aiobj", size: 24 });
11118
11457
  createIdGenerator({ prefix: "aiobj", size: 24 });
11119
11458
 
11120
11459
  exports.ToolLoopAgent = ToolLoopAgent;
11460
+ exports.createGatewayProvider = createGatewayProvider;
11121
11461
  exports.embed = embed;
11122
- //# sourceMappingURL=chunk-VTE2OBKS.cjs.map
11123
- //# sourceMappingURL=chunk-VTE2OBKS.cjs.map
11462
+ //# sourceMappingURL=chunk-A6EWCOGA.cjs.map
11463
+ //# sourceMappingURL=chunk-A6EWCOGA.cjs.map