@mastra/core 1.0.0-beta.1 → 1.0.0-beta.11

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 (576) hide show
  1. package/CHANGELOG.md +1218 -0
  2. package/dist/agent/agent-legacy.d.ts +35 -30
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent-types.test-d.d.ts +2 -0
  5. package/dist/agent/agent-types.test-d.d.ts.map +1 -0
  6. package/dist/agent/agent.d.ts +24 -9
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.types.d.ts +17 -9
  9. package/dist/agent/agent.types.d.ts.map +1 -1
  10. package/dist/agent/index.cjs +9 -9
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +3 -3
  13. package/dist/agent/message-list/index.d.ts +61 -3
  14. package/dist/agent/message-list/index.d.ts.map +1 -1
  15. package/dist/agent/message-list/index.js +1 -1
  16. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  17. package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
  18. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
  19. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
  20. package/dist/agent/save-queue/index.d.ts +3 -1
  21. package/dist/agent/save-queue/index.d.ts.map +1 -1
  22. package/dist/agent/test-utils.d.ts +37 -0
  23. package/dist/agent/test-utils.d.ts.map +1 -1
  24. package/dist/agent/trip-wire.d.ts +38 -4
  25. package/dist/agent/trip-wire.d.ts.map +1 -1
  26. package/dist/agent/types.d.ts +46 -14
  27. package/dist/agent/types.d.ts.map +1 -1
  28. package/dist/agent/utils.d.ts +4 -5
  29. package/dist/agent/utils.d.ts.map +1 -1
  30. package/dist/agent/workflows/prepare-stream/index.d.ts +37 -13
  31. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  32. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
  33. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  34. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +34 -11
  35. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  36. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
  37. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  38. package/dist/agent/workflows/prepare-stream/schema.d.ts +38 -15
  39. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  40. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +11 -1
  41. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  42. package/dist/base.cjs +2 -2
  43. package/dist/base.js +1 -1
  44. package/dist/bundler/index.cjs +2 -2
  45. package/dist/bundler/index.js +1 -1
  46. package/dist/cache/index.cjs +3 -3
  47. package/dist/cache/index.js +1 -1
  48. package/dist/{chunk-JUBFO5J3.js → chunk-2ULLRN4Y.js} +16333 -11839
  49. package/dist/chunk-2ULLRN4Y.js.map +1 -0
  50. package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
  51. package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
  52. package/dist/chunk-3E3ILV6T.cjs +518 -0
  53. package/dist/chunk-3E3ILV6T.cjs.map +1 -0
  54. package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
  55. package/dist/chunk-3N3QE4ZK.js.map +1 -0
  56. package/dist/{chunk-QUKUN6NR.cjs → chunk-4JKEUSCC.cjs} +107 -7
  57. package/dist/chunk-4JKEUSCC.cjs.map +1 -0
  58. package/dist/{chunk-MSWTA73A.cjs → chunk-52RSUALV.cjs} +16490 -11957
  59. package/dist/chunk-52RSUALV.cjs.map +1 -0
  60. package/dist/chunk-5PAEYE3Q.js +513 -0
  61. package/dist/chunk-5PAEYE3Q.js.map +1 -0
  62. package/dist/{chunk-ECFXGXWO.cjs → chunk-5Q6WAYEY.cjs} +695 -375
  63. package/dist/chunk-5Q6WAYEY.cjs.map +1 -0
  64. package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
  65. package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
  66. package/dist/{chunk-GRBGQ2GE.js → chunk-6TBWJV35.js} +5 -3
  67. package/dist/chunk-6TBWJV35.js.map +1 -0
  68. package/dist/chunk-6XCINXZ7.cjs +194 -0
  69. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  70. package/dist/{chunk-E7K4FTLN.cjs → chunk-72YCRTEX.cjs} +18 -2
  71. package/dist/chunk-72YCRTEX.cjs.map +1 -0
  72. package/dist/{chunk-W7UH2PWL.js → chunk-7P6BNIJH.js} +1142 -331
  73. package/dist/chunk-7P6BNIJH.js.map +1 -0
  74. package/dist/{chunk-76K3IYWM.js → chunk-ADADLFDR.js} +3 -3
  75. package/dist/{chunk-76K3IYWM.js.map → chunk-ADADLFDR.js.map} +1 -1
  76. package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
  77. package/dist/chunk-AF74UXR5.cjs.map +1 -0
  78. package/dist/{chunk-GGYKYORQ.cjs → chunk-BJXKH4LG.cjs} +407 -22
  79. package/dist/chunk-BJXKH4LG.cjs.map +1 -0
  80. package/dist/{chunk-2ZVKF4HP.cjs → chunk-BUKY6CTR.cjs} +1147 -334
  81. package/dist/chunk-BUKY6CTR.cjs.map +1 -0
  82. package/dist/chunk-BWYU7D33.js +192 -0
  83. package/dist/chunk-BWYU7D33.js.map +1 -0
  84. package/dist/{chunk-XEVG546F.js → chunk-C36YRTZ6.js} +178 -12
  85. package/dist/chunk-C36YRTZ6.js.map +1 -0
  86. package/dist/{chunk-CB575O6L.cjs → chunk-CZEJQSWB.cjs} +473 -124
  87. package/dist/chunk-CZEJQSWB.cjs.map +1 -0
  88. package/dist/chunk-DD2VNRQM.js +62 -0
  89. package/dist/chunk-DD2VNRQM.js.map +1 -0
  90. package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
  91. package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
  92. package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
  93. package/dist/chunk-EOPEDKLG.cjs.map +1 -0
  94. package/dist/{chunk-UIZSWUKP.js → chunk-F2GAJSBI.js} +105 -7
  95. package/dist/chunk-F2GAJSBI.js.map +1 -0
  96. package/dist/{chunk-4CDL2QJT.js → chunk-IVV5TOMD.js} +122 -37
  97. package/dist/chunk-IVV5TOMD.js.map +1 -0
  98. package/dist/{chunk-MV7KHWUT.js → chunk-JIGDJK2O.js} +391 -15
  99. package/dist/chunk-JIGDJK2O.js.map +1 -0
  100. package/dist/chunk-KJBMTK5B.cjs +64 -0
  101. package/dist/chunk-KJBMTK5B.cjs.map +1 -0
  102. package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
  103. package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
  104. package/dist/chunk-MGCGWPQJ.cjs +275 -0
  105. package/dist/chunk-MGCGWPQJ.cjs.map +1 -0
  106. package/dist/chunk-MRFUISXC.cjs +4981 -0
  107. package/dist/chunk-MRFUISXC.cjs.map +1 -0
  108. package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
  109. package/dist/chunk-NRUZYMHE.js.map +1 -0
  110. package/dist/{chunk-CINNK34N.js → chunk-O2BJW7YA.js} +26 -11
  111. package/dist/chunk-O2BJW7YA.js.map +1 -0
  112. package/dist/chunk-OEIVMCWX.js +4959 -0
  113. package/dist/chunk-OEIVMCWX.js.map +1 -0
  114. package/dist/{chunk-WM6CK2F3.cjs → chunk-PG5H6QIO.cjs} +131 -49
  115. package/dist/chunk-PG5H6QIO.cjs.map +1 -0
  116. package/dist/{chunk-JPGVRWWL.js → chunk-PK2A5WBG.js} +472 -125
  117. package/dist/chunk-PK2A5WBG.js.map +1 -0
  118. package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
  119. package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
  120. package/dist/{chunk-VOY2RXOC.cjs → chunk-S73Z3PBJ.cjs} +182 -15
  121. package/dist/chunk-S73Z3PBJ.cjs.map +1 -0
  122. package/dist/{chunk-MA7TEM62.cjs → chunk-SCUWP4II.cjs} +769 -27
  123. package/dist/chunk-SCUWP4II.cjs.map +1 -0
  124. package/dist/{chunk-JV2KH24V.js → chunk-SXNQRJQD.js} +695 -375
  125. package/dist/chunk-SXNQRJQD.js.map +1 -0
  126. package/dist/{chunk-BMAFVZ2D.cjs → chunk-T2VLUFGG.cjs} +4 -4
  127. package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-T2VLUFGG.cjs.map} +1 -1
  128. package/dist/chunk-THZTRBFS.js +268 -0
  129. package/dist/chunk-THZTRBFS.js.map +1 -0
  130. package/dist/{chunk-VOQ3ULMT.js → chunk-U3XOLEPX.js} +759 -17
  131. package/dist/chunk-U3XOLEPX.js.map +1 -0
  132. package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
  133. package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
  134. package/dist/{chunk-H6CZGPZD.js → chunk-US2U7ECW.js} +179 -38
  135. package/dist/chunk-US2U7ECW.js.map +1 -0
  136. package/dist/{chunk-J7O6WENZ.cjs → chunk-UVHSM2GU.cjs} +6 -2
  137. package/dist/chunk-UVHSM2GU.cjs.map +1 -0
  138. package/dist/{chunk-CD56CXVE.cjs → chunk-WTSZBHIZ.cjs} +32 -17
  139. package/dist/chunk-WTSZBHIZ.cjs.map +1 -0
  140. package/dist/{chunk-KIZIOFZC.js → chunk-Y36Y5MTD.js} +17 -3
  141. package/dist/chunk-Y36Y5MTD.js.map +1 -0
  142. package/dist/{chunk-DNEURYF3.cjs → chunk-YC6PJEPH.cjs} +206 -65
  143. package/dist/chunk-YC6PJEPH.cjs.map +1 -0
  144. package/dist/{chunk-IQO7ANVS.cjs → chunk-YWMMBIOM.cjs} +21 -20
  145. package/dist/chunk-YWMMBIOM.cjs.map +1 -0
  146. package/dist/{chunk-I4CXL4SR.js → chunk-Z57R5WS4.js} +16 -15
  147. package/dist/chunk-Z57R5WS4.js.map +1 -0
  148. package/dist/deployer/index.cjs +2 -2
  149. package/dist/deployer/index.js +1 -1
  150. package/dist/di/index.cjs +10 -2
  151. package/dist/di/index.d.ts +1 -1
  152. package/dist/di/index.d.ts.map +1 -1
  153. package/dist/di/index.js +1 -1
  154. package/dist/evals/base.d.ts +10 -2
  155. package/dist/evals/base.d.ts.map +1 -1
  156. package/dist/evals/base.test-utils.d.ts +25 -25
  157. package/dist/evals/index.cjs +9 -9
  158. package/dist/evals/index.js +2 -2
  159. package/dist/evals/scoreTraces/index.cjs +7 -6
  160. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  161. package/dist/evals/scoreTraces/index.js +4 -3
  162. package/dist/evals/scoreTraces/index.js.map +1 -1
  163. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  164. package/dist/evals/types.d.ts +25 -24
  165. package/dist/evals/types.d.ts.map +1 -1
  166. package/dist/index.cjs +2 -2
  167. package/dist/index.js +1 -1
  168. package/dist/integration/index.cjs +2 -2
  169. package/dist/integration/index.js +1 -1
  170. package/dist/llm/index.cjs +30 -10
  171. package/dist/llm/index.d.ts +2 -0
  172. package/dist/llm/index.d.ts.map +1 -1
  173. package/dist/llm/index.js +5 -1
  174. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  175. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  176. package/dist/llm/model/base.types.d.ts +2 -2
  177. package/dist/llm/model/base.types.d.ts.map +1 -1
  178. package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
  179. package/dist/llm/model/gateways/azure.d.ts +36 -0
  180. package/dist/llm/model/gateways/azure.d.ts.map +1 -0
  181. package/dist/llm/model/gateways/base.d.ts +9 -4
  182. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  183. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  184. package/dist/llm/model/gateways/index.d.ts +4 -1
  185. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  186. package/dist/llm/model/gateways/models-dev.d.ts +3 -2
  187. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  188. package/dist/llm/model/gateways/netlify.d.ts +4 -3
  189. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  190. package/dist/llm/model/is-v2-model.d.ts +3 -0
  191. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  192. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  193. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  194. package/dist/llm/model/model.d.ts.map +1 -1
  195. package/dist/llm/model/model.loop.d.ts +2 -2
  196. package/dist/llm/model/model.loop.d.ts.map +1 -1
  197. package/dist/llm/model/model.loop.types.d.ts +4 -2
  198. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  199. package/dist/llm/model/provider-options.d.ts +4 -1
  200. package/dist/llm/model/provider-options.d.ts.map +1 -1
  201. package/dist/llm/model/provider-registry.d.ts +11 -1
  202. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  203. package/dist/llm/model/provider-types.generated.d.ts +489 -27
  204. package/dist/llm/model/registry-generator.d.ts +12 -0
  205. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  206. package/dist/llm/model/resolve-model.d.ts +1 -1
  207. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  208. package/dist/llm/model/router.d.ts +12 -5
  209. package/dist/llm/model/router.d.ts.map +1 -1
  210. package/dist/llm/model/shared.types.d.ts +17 -6
  211. package/dist/llm/model/shared.types.d.ts.map +1 -1
  212. package/dist/logger/constants.d.ts +1 -0
  213. package/dist/logger/constants.d.ts.map +1 -1
  214. package/dist/logger/index.cjs +11 -11
  215. package/dist/logger/index.js +2 -2
  216. package/dist/logger/transport.d.ts +1 -1
  217. package/dist/logger/transport.d.ts.map +1 -1
  218. package/dist/loop/index.cjs +2 -2
  219. package/dist/loop/index.js +1 -1
  220. package/dist/loop/loop.d.ts.map +1 -1
  221. package/dist/loop/network/index.d.ts.map +1 -1
  222. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  223. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  224. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  225. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  226. package/dist/loop/test-utils/options.d.ts.map +1 -1
  227. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  228. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  229. package/dist/loop/test-utils/textStream.d.ts.map +1 -1
  230. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
  231. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  232. package/dist/loop/test-utils/utils.d.ts +1 -1
  233. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  234. package/dist/loop/types.d.ts +42 -20
  235. package/dist/loop/types.d.ts.map +1 -1
  236. package/dist/loop/workflows/agentic-execution/index.d.ts +60 -42
  237. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  238. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +41 -29
  239. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  240. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +20 -14
  241. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  242. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  243. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  244. package/dist/loop/workflows/agentic-loop/index.d.ts +62 -43
  245. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  246. package/dist/loop/workflows/run-state.d.ts +2 -2
  247. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  248. package/dist/loop/workflows/schema.d.ts +32 -15
  249. package/dist/loop/workflows/schema.d.ts.map +1 -1
  250. package/dist/loop/workflows/stream.d.ts +1 -1
  251. package/dist/loop/workflows/stream.d.ts.map +1 -1
  252. package/dist/mastra/index.cjs +2 -2
  253. package/dist/mastra/index.d.ts +377 -12
  254. package/dist/mastra/index.d.ts.map +1 -1
  255. package/dist/mastra/index.js +1 -1
  256. package/dist/mcp/index.cjs +4 -4
  257. package/dist/mcp/index.cjs.map +1 -1
  258. package/dist/mcp/index.d.ts +4 -4
  259. package/dist/mcp/index.d.ts.map +1 -1
  260. package/dist/mcp/index.js +2 -2
  261. package/dist/mcp/index.js.map +1 -1
  262. package/dist/mcp/types.d.ts +2 -2
  263. package/dist/mcp/types.d.ts.map +1 -1
  264. package/dist/memory/index.cjs +21 -327
  265. package/dist/memory/index.cjs.map +1 -1
  266. package/dist/memory/index.js +1 -327
  267. package/dist/memory/index.js.map +1 -1
  268. package/dist/memory/memory.d.ts +28 -18
  269. package/dist/memory/memory.d.ts.map +1 -1
  270. package/dist/memory/mock.d.ts +15 -14
  271. package/dist/memory/mock.d.ts.map +1 -1
  272. package/dist/memory/types.d.ts +69 -11
  273. package/dist/memory/types.d.ts.map +1 -1
  274. package/dist/models-dev-23RN2WHG.js +3 -0
  275. package/dist/{models-dev-DNBKXHT4.js.map → models-dev-23RN2WHG.js.map} +1 -1
  276. package/dist/models-dev-EO3SUIY2.cjs +12 -0
  277. package/dist/{models-dev-YBEEQIX6.cjs.map → models-dev-EO3SUIY2.cjs.map} +1 -1
  278. package/dist/netlify-GXJ5D5DD.js +3 -0
  279. package/dist/{netlify-7G2L5VSH.js.map → netlify-GXJ5D5DD.js.map} +1 -1
  280. package/dist/netlify-KJLY3GFS.cjs +12 -0
  281. package/dist/{netlify-GWNGSIRZ.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
  282. package/dist/observability/index.cjs +16 -8
  283. package/dist/observability/index.js +1 -1
  284. package/dist/observability/types/tracing.d.ts +236 -13
  285. package/dist/observability/types/tracing.d.ts.map +1 -1
  286. package/dist/observability/utils.d.ts +47 -1
  287. package/dist/observability/utils.d.ts.map +1 -1
  288. package/dist/processors/index.cjs +115 -11
  289. package/dist/processors/index.d.ts +246 -26
  290. package/dist/processors/index.d.ts.map +1 -1
  291. package/dist/processors/index.js +1 -1
  292. package/dist/processors/memory/index.d.ts +7 -0
  293. package/dist/processors/memory/index.d.ts.map +1 -0
  294. package/dist/processors/memory/message-history.d.ts +43 -0
  295. package/dist/processors/memory/message-history.d.ts.map +1 -0
  296. package/dist/processors/memory/semantic-recall.d.ts +152 -0
  297. package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
  298. package/dist/processors/memory/working-memory.d.ts +65 -0
  299. package/dist/processors/memory/working-memory.d.ts.map +1 -0
  300. package/dist/processors/processors/batch-parts.d.ts +1 -1
  301. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  302. package/dist/processors/processors/index.d.ts +2 -1
  303. package/dist/processors/processors/index.d.ts.map +1 -1
  304. package/dist/processors/processors/language-detector.d.ts +15 -1
  305. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  306. package/dist/processors/processors/moderation.d.ts +15 -1
  307. package/dist/processors/processors/moderation.d.ts.map +1 -1
  308. package/dist/processors/processors/pii-detector.d.ts +15 -1
  309. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  310. package/dist/processors/processors/prepare-step.d.ts +12 -0
  311. package/dist/processors/processors/prepare-step.d.ts.map +1 -0
  312. package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
  313. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  314. package/dist/processors/processors/structured-output.d.ts +7 -5
  315. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  316. package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
  317. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  318. package/dist/processors/processors/token-limiter.d.ts +22 -12
  319. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  320. package/dist/processors/processors/tool-call-filter.d.ts +28 -0
  321. package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
  322. package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
  323. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
  324. package/dist/processors/runner.d.ts +83 -9
  325. package/dist/processors/runner.d.ts.map +1 -1
  326. package/dist/processors/step-schema.d.ts +49731 -0
  327. package/dist/processors/step-schema.d.ts.map +1 -0
  328. package/dist/provider-registry-3TG2KUD2.cjs +40 -0
  329. package/dist/provider-registry-3TG2KUD2.cjs.map +1 -0
  330. package/dist/provider-registry-F67Y6OF2.js +3 -0
  331. package/dist/provider-registry-F67Y6OF2.js.map +1 -0
  332. package/dist/provider-registry.json +1056 -61
  333. package/dist/{registry-generator-MK63POJO.cjs → registry-generator-34SC4TAU.cjs} +23 -6
  334. package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
  335. package/dist/{registry-generator-H4YNODDH.js → registry-generator-UMTNPBJX.js} +23 -7
  336. package/dist/registry-generator-UMTNPBJX.js.map +1 -0
  337. package/dist/relevance/index.cjs +2 -2
  338. package/dist/relevance/index.js +1 -1
  339. package/dist/request-context/index.cjs +10 -2
  340. package/dist/request-context/index.d.ts +26 -0
  341. package/dist/request-context/index.d.ts.map +1 -1
  342. package/dist/request-context/index.js +1 -1
  343. package/dist/server/auth.d.ts +11 -0
  344. package/dist/server/auth.d.ts.map +1 -1
  345. package/dist/server/base.d.ts +51 -0
  346. package/dist/server/base.d.ts.map +1 -0
  347. package/dist/server/composite-auth.d.ts +9 -0
  348. package/dist/server/composite-auth.d.ts.map +1 -0
  349. package/dist/server/index.cjs +124 -3
  350. package/dist/server/index.cjs.map +1 -1
  351. package/dist/server/index.d.ts +8 -0
  352. package/dist/server/index.d.ts.map +1 -1
  353. package/dist/server/index.js +121 -3
  354. package/dist/server/index.js.map +1 -1
  355. package/dist/server/simple-auth.d.ts +27 -0
  356. package/dist/server/simple-auth.d.ts.map +1 -0
  357. package/dist/server/types.d.ts +6 -0
  358. package/dist/server/types.d.ts.map +1 -1
  359. package/dist/storage/base.d.ts +76 -3
  360. package/dist/storage/base.d.ts.map +1 -1
  361. package/dist/storage/constants.d.ts +3 -1
  362. package/dist/storage/constants.d.ts.map +1 -1
  363. package/dist/storage/domains/agents/base.d.ts +49 -0
  364. package/dist/storage/domains/agents/base.d.ts.map +1 -0
  365. package/dist/storage/domains/agents/index.d.ts +3 -0
  366. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  367. package/dist/storage/domains/agents/inmemory.d.ts +22 -0
  368. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -0
  369. package/dist/storage/domains/index.d.ts +1 -0
  370. package/dist/storage/domains/index.d.ts.map +1 -1
  371. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  372. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  373. package/dist/storage/domains/scores/base.d.ts +2 -2
  374. package/dist/storage/domains/scores/base.d.ts.map +1 -1
  375. package/dist/storage/domains/scores/inmemory.d.ts +2 -2
  376. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
  377. package/dist/storage/domains/workflows/base.d.ts +4 -0
  378. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  379. package/dist/storage/domains/workflows/inmemory.d.ts +5 -1
  380. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  381. package/dist/storage/index.cjs +65 -29
  382. package/dist/storage/index.js +1 -1
  383. package/dist/storage/mock.d.ts +7 -2
  384. package/dist/storage/mock.d.ts.map +1 -1
  385. package/dist/storage/storageWithInit.d.ts.map +1 -1
  386. package/dist/storage/types.d.ts +88 -5
  387. package/dist/storage/types.d.ts.map +1 -1
  388. package/dist/storage/utils.d.ts +82 -0
  389. package/dist/storage/utils.d.ts.map +1 -1
  390. package/dist/stream/MastraAgentNetworkStream.d.ts +2 -2
  391. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  392. package/dist/stream/MastraWorkflowStream.d.ts +2 -2
  393. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  394. package/dist/stream/RunOutput.d.ts +2 -2
  395. package/dist/stream/RunOutput.d.ts.map +1 -1
  396. package/dist/stream/aisdk/v4/transform.d.ts.map +1 -1
  397. package/dist/stream/aisdk/v4/usage.d.ts +19 -0
  398. package/dist/stream/aisdk/v4/usage.d.ts.map +1 -0
  399. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  400. package/dist/stream/aisdk/v5/execute.d.ts +9 -5
  401. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  402. package/dist/stream/aisdk/v5/input.d.ts +4 -1
  403. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  404. package/dist/stream/aisdk/v5/output-helpers.d.ts +5 -1
  405. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
  406. package/dist/stream/aisdk/v5/output.d.ts +11 -13
  407. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  408. package/dist/stream/aisdk/v5/transform.d.ts +2 -1
  409. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  410. package/dist/stream/base/base.d.ts +1 -1
  411. package/dist/stream/base/base.d.ts.map +1 -1
  412. package/dist/stream/base/input.d.ts +1 -1
  413. package/dist/stream/base/output-format-handlers.d.ts +14 -1
  414. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  415. package/dist/stream/base/output.d.ts +9 -14
  416. package/dist/stream/base/output.d.ts.map +1 -1
  417. package/dist/stream/index.cjs +15 -11
  418. package/dist/stream/index.d.ts +2 -2
  419. package/dist/stream/index.d.ts.map +1 -1
  420. package/dist/stream/index.js +2 -2
  421. package/dist/stream/types.d.ts +97 -32
  422. package/dist/stream/types.d.ts.map +1 -1
  423. package/dist/test-utils/llm-mock.cjs +101 -30
  424. package/dist/test-utils/llm-mock.cjs.map +1 -1
  425. package/dist/test-utils/llm-mock.d.ts +7 -2
  426. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  427. package/dist/test-utils/llm-mock.js +97 -30
  428. package/dist/test-utils/llm-mock.js.map +1 -1
  429. package/dist/tools/index.cjs +6 -6
  430. package/dist/tools/index.js +2 -2
  431. package/dist/tools/is-vercel-tool.cjs +2 -2
  432. package/dist/tools/is-vercel-tool.js +1 -1
  433. package/dist/tools/stream.d.ts +10 -4
  434. package/dist/tools/stream.d.ts.map +1 -1
  435. package/dist/tools/tool-builder/builder.d.ts +2 -0
  436. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  437. package/dist/tools/tool-stream-types.test-d.d.ts +2 -0
  438. package/dist/tools/tool-stream-types.test-d.d.ts.map +1 -0
  439. package/dist/tools/tool.d.ts +21 -8
  440. package/dist/tools/tool.d.ts.map +1 -1
  441. package/dist/tools/types.d.ts +33 -6
  442. package/dist/tools/types.d.ts.map +1 -1
  443. package/dist/tools/validation.d.ts +25 -1
  444. package/dist/tools/validation.d.ts.map +1 -1
  445. package/dist/tts/index.cjs +2 -2
  446. package/dist/tts/index.js +1 -1
  447. package/dist/types/zod-compat.d.ts +14 -1
  448. package/dist/types/zod-compat.d.ts.map +1 -1
  449. package/dist/utils.cjs +25 -21
  450. package/dist/utils.d.ts +9 -4
  451. package/dist/utils.d.ts.map +1 -1
  452. package/dist/utils.js +1 -1
  453. package/dist/vector/filter/index.cjs +7 -189
  454. package/dist/vector/filter/index.cjs.map +1 -1
  455. package/dist/vector/filter/index.js +1 -190
  456. package/dist/vector/filter/index.js.map +1 -1
  457. package/dist/vector/index.cjs +7 -2
  458. package/dist/vector/index.cjs.map +1 -1
  459. package/dist/vector/index.d.ts +1 -0
  460. package/dist/vector/index.d.ts.map +1 -1
  461. package/dist/vector/index.js +2 -1
  462. package/dist/vector/index.js.map +1 -1
  463. package/dist/vector/types.d.ts +86 -3
  464. package/dist/vector/types.d.ts.map +1 -1
  465. package/dist/vector/vector.d.ts +39 -2
  466. package/dist/vector/vector.d.ts.map +1 -1
  467. package/dist/voice/aisdk/index.d.ts +3 -0
  468. package/dist/voice/aisdk/index.d.ts.map +1 -0
  469. package/dist/voice/aisdk/speech.d.ts +23 -0
  470. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  471. package/dist/voice/aisdk/transcription.d.ts +22 -0
  472. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  473. package/dist/voice/composite-voice.d.ts +4 -3
  474. package/dist/voice/composite-voice.d.ts.map +1 -1
  475. package/dist/voice/index.cjs +12 -4
  476. package/dist/voice/index.d.ts +1 -0
  477. package/dist/voice/index.d.ts.map +1 -1
  478. package/dist/voice/index.js +1 -1
  479. package/dist/workflows/default.d.ts +180 -270
  480. package/dist/workflows/default.d.ts.map +1 -1
  481. package/dist/workflows/evented/execution-engine.d.ts +3 -1
  482. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  483. package/dist/workflows/evented/index.cjs +10 -10
  484. package/dist/workflows/evented/index.js +1 -1
  485. package/dist/workflows/evented/step-executor.d.ts +1 -1
  486. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  487. package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
  488. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  489. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
  490. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
  491. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
  492. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
  493. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
  494. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
  495. package/dist/workflows/evented/workflow.d.ts +2 -1
  496. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  497. package/dist/workflows/execution-engine.d.ts +8 -6
  498. package/dist/workflows/execution-engine.d.ts.map +1 -1
  499. package/dist/workflows/handlers/control-flow.d.ts +133 -0
  500. package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
  501. package/dist/workflows/handlers/entry.d.ts +43 -0
  502. package/dist/workflows/handlers/entry.d.ts.map +1 -0
  503. package/dist/workflows/handlers/sleep.d.ts +60 -0
  504. package/dist/workflows/handlers/sleep.d.ts.map +1 -0
  505. package/dist/workflows/handlers/step.d.ts +58 -0
  506. package/dist/workflows/handlers/step.d.ts.map +1 -0
  507. package/dist/workflows/index.cjs +40 -16
  508. package/dist/workflows/index.js +1 -1
  509. package/dist/workflows/step.d.ts +8 -6
  510. package/dist/workflows/step.d.ts.map +1 -1
  511. package/dist/workflows/types.d.ts +257 -10
  512. package/dist/workflows/types.d.ts.map +1 -1
  513. package/dist/workflows/utils.d.ts +36 -0
  514. package/dist/workflows/utils.d.ts.map +1 -1
  515. package/dist/workflows/workflow.d.ts +146 -55
  516. package/dist/workflows/workflow.d.ts.map +1 -1
  517. package/package.json +26 -30
  518. package/src/llm/model/provider-types.generated.d.ts +489 -27
  519. package/dist/chunk-2ZVKF4HP.cjs.map +0 -1
  520. package/dist/chunk-436FFEF6.js +0 -34
  521. package/dist/chunk-436FFEF6.js.map +0 -1
  522. package/dist/chunk-4CDL2QJT.js.map +0 -1
  523. package/dist/chunk-7AHYOMHJ.js +0 -149
  524. package/dist/chunk-7AHYOMHJ.js.map +0 -1
  525. package/dist/chunk-CB575O6L.cjs.map +0 -1
  526. package/dist/chunk-CD56CXVE.cjs.map +0 -1
  527. package/dist/chunk-CINNK34N.js.map +0 -1
  528. package/dist/chunk-DNEURYF3.cjs.map +0 -1
  529. package/dist/chunk-DSNPWVIG.cjs.map +0 -1
  530. package/dist/chunk-E7K4FTLN.cjs.map +0 -1
  531. package/dist/chunk-ECFXGXWO.cjs.map +0 -1
  532. package/dist/chunk-ET6UOTTU.cjs +0 -154
  533. package/dist/chunk-ET6UOTTU.cjs.map +0 -1
  534. package/dist/chunk-GGYKYORQ.cjs.map +0 -1
  535. package/dist/chunk-GRBGQ2GE.js.map +0 -1
  536. package/dist/chunk-H6CZGPZD.js.map +0 -1
  537. package/dist/chunk-HDJFSJCK.js +0 -2237
  538. package/dist/chunk-HDJFSJCK.js.map +0 -1
  539. package/dist/chunk-HGNRQ3OG.js +0 -58
  540. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  541. package/dist/chunk-I4CXL4SR.js.map +0 -1
  542. package/dist/chunk-IQO7ANVS.cjs.map +0 -1
  543. package/dist/chunk-J7O6WENZ.cjs.map +0 -1
  544. package/dist/chunk-JPGVRWWL.js.map +0 -1
  545. package/dist/chunk-JUBFO5J3.js.map +0 -1
  546. package/dist/chunk-JV2KH24V.js.map +0 -1
  547. package/dist/chunk-KIZIOFZC.js.map +0 -1
  548. package/dist/chunk-KJ2SW6VA.js.map +0 -1
  549. package/dist/chunk-LJFJTTZQ.cjs +0 -4
  550. package/dist/chunk-LJFJTTZQ.cjs.map +0 -1
  551. package/dist/chunk-LRSB62Z6.cjs +0 -60
  552. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  553. package/dist/chunk-LWBQ4P4N.cjs +0 -2240
  554. package/dist/chunk-LWBQ4P4N.cjs.map +0 -1
  555. package/dist/chunk-MA7TEM62.cjs.map +0 -1
  556. package/dist/chunk-MSWTA73A.cjs.map +0 -1
  557. package/dist/chunk-MV7KHWUT.js.map +0 -1
  558. package/dist/chunk-QUKUN6NR.cjs.map +0 -1
  559. package/dist/chunk-TQTAMPSC.js.map +0 -1
  560. package/dist/chunk-UIZSWUKP.js.map +0 -1
  561. package/dist/chunk-V3VLOOSW.cjs +0 -36
  562. package/dist/chunk-V3VLOOSW.cjs.map +0 -1
  563. package/dist/chunk-VOQ3ULMT.js.map +0 -1
  564. package/dist/chunk-VOY2RXOC.cjs.map +0 -1
  565. package/dist/chunk-W7UH2PWL.js.map +0 -1
  566. package/dist/chunk-WM6CK2F3.cjs.map +0 -1
  567. package/dist/chunk-XEVG546F.js.map +0 -1
  568. package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
  569. package/dist/chunk-ZV5CC35D.js +0 -3
  570. package/dist/chunk-ZV5CC35D.js.map +0 -1
  571. package/dist/models-dev-DNBKXHT4.js +0 -3
  572. package/dist/models-dev-YBEEQIX6.cjs +0 -12
  573. package/dist/netlify-7G2L5VSH.js +0 -3
  574. package/dist/netlify-GWNGSIRZ.cjs +0 -12
  575. package/dist/registry-generator-H4YNODDH.js.map +0 -1
  576. package/dist/registry-generator-MK63POJO.cjs.map +0 -1
@@ -0,0 +1,62 @@
1
+ import { WritableStream } from 'stream/web';
2
+
3
+ // src/tools/stream.ts
4
+ var ToolStream = class extends WritableStream {
5
+ prefix;
6
+ callId;
7
+ name;
8
+ runId;
9
+ writeFn;
10
+ constructor({
11
+ prefix,
12
+ callId,
13
+ name,
14
+ runId
15
+ }, writeFn) {
16
+ super({
17
+ async write(chunk) {
18
+ await getInstance()._write(chunk);
19
+ }
20
+ });
21
+ const self = this;
22
+ function getInstance() {
23
+ return self;
24
+ }
25
+ this.prefix = prefix;
26
+ this.callId = callId;
27
+ this.name = name;
28
+ this.runId = runId;
29
+ this.writeFn = writeFn;
30
+ }
31
+ async _write(data) {
32
+ if (this.writeFn) {
33
+ await this.writeFn({
34
+ type: `${this.prefix}-output`,
35
+ runId: this.runId,
36
+ from: "USER",
37
+ payload: {
38
+ output: data,
39
+ ...this.prefix === "workflow-step" ? {
40
+ runId: this.runId,
41
+ stepName: this.name
42
+ } : {
43
+ [`${this.prefix}CallId`]: this.callId,
44
+ [`${this.prefix}Name`]: this.name
45
+ }
46
+ }
47
+ });
48
+ }
49
+ }
50
+ async write(data) {
51
+ await this._write(data);
52
+ }
53
+ async custom(data) {
54
+ if (this.writeFn) {
55
+ await this.writeFn(data);
56
+ }
57
+ }
58
+ };
59
+
60
+ export { ToolStream };
61
+ //# sourceMappingURL=chunk-DD2VNRQM.js.map
62
+ //# sourceMappingURL=chunk-DD2VNRQM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tools/stream.ts"],"names":[],"mappings":";;;AAIO,IAAM,UAAA,GAAN,cAAyB,cAAA,CAAwB;AAAA,EAC9C,MAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EAER,WAAA,CACE;AAAA,IACE,MAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,KAOF,OAAA,EACA;AACA,IAAA,KAAA,CAAM;AAAA,MACJ,MAAM,MAAM,KAAA,EAAY;AACtB,QAAA,MAAM,WAAA,EAAY,CAAE,MAAA,CAAO,KAAK,CAAA;AAAA,MAClC;AAAA,KACD,CAAA;AAED,IAAA,MAAM,IAAA,GAAO,IAAA;AACb,IAAA,SAAS,WAAA,GAAc;AACrB,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA,EAEA,MAAc,OAAO,IAAA,EAAW;AAC9B,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,MAAM,KAAK,OAAA,CAAQ;AAAA,QACjB,IAAA,EAAM,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,OAAA,CAAA;AAAA,QACpB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,IAAA,EAAM,MAAA;AAAA,QACN,OAAA,EAAS;AAAA,UACP,MAAA,EAAQ,IAAA;AAAA,UACR,GAAI,IAAA,CAAK,MAAA,KAAW,eAAA,GAChB;AAAA,YACE,OAAO,IAAA,CAAK,KAAA;AAAA,YACZ,UAAU,IAAA,CAAK;AAAA,WACjB,GACA;AAAA,YACE,CAAC,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,MAAA,CAAQ,GAAG,IAAA,CAAK,MAAA;AAAA,YAC/B,CAAC,CAAA,EAAG,IAAA,CAAK,MAAM,CAAA,IAAA,CAAM,GAAG,IAAA,CAAK;AAAA;AAC/B;AACN,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,IAAA,EAAW;AACrB,IAAA,MAAM,IAAA,CAAK,OAAO,IAAI,CAAA;AAAA,EACxB;AAAA,EAEA,MAAM,OAAmC,IAAA,EAAgE;AACvG,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,MAAM,IAAA,CAAK,QAAQ,IAAI,CAAA;AAAA,IACzB;AAAA,EACF;AACF","file":"chunk-DD2VNRQM.js","sourcesContent":["import { WritableStream } from 'node:stream/web';\nimport type { DataChunkType } from '../stream/types';\nimport type { OutputWriter } from '../workflows';\n\nexport class ToolStream extends WritableStream<unknown> {\n private prefix: string;\n private callId: string;\n private name: string;\n private runId: string;\n private writeFn?: OutputWriter;\n\n constructor(\n {\n prefix,\n callId,\n name,\n runId,\n }: {\n prefix: string;\n callId: string;\n name: string;\n runId: string;\n },\n writeFn?: OutputWriter,\n ) {\n super({\n async write(chunk: any) {\n await getInstance()._write(chunk);\n },\n });\n\n const self = this;\n function getInstance() {\n return self;\n }\n\n this.prefix = prefix;\n this.callId = callId;\n this.name = name;\n this.runId = runId;\n this.writeFn = writeFn;\n }\n\n private async _write(data: any) {\n if (this.writeFn) {\n await this.writeFn({\n type: `${this.prefix}-output`,\n runId: this.runId,\n from: 'USER',\n payload: {\n output: data,\n ...(this.prefix === 'workflow-step'\n ? {\n runId: this.runId,\n stepName: this.name,\n }\n : {\n [`${this.prefix}CallId`]: this.callId,\n [`${this.prefix}Name`]: this.name,\n }),\n },\n });\n }\n }\n\n async write(data: any) {\n await this._write(data);\n }\n\n async custom<T extends { type: string }>(data: T extends { type: `data-${string}` } ? DataChunkType : T) {\n if (this.writeFn) {\n await this.writeFn(data);\n }\n }\n}\n"]}
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkDSNPWVIG_cjs = require('./chunk-DSNPWVIG.cjs');
3
+ var chunkAF74UXR5_cjs = require('./chunk-AF74UXR5.cjs');
4
4
 
5
5
  // src/base.ts
6
6
  var MastraBase = class {
7
- component = chunkDSNPWVIG_cjs.RegisteredLogger.LLM;
7
+ component = chunkAF74UXR5_cjs.RegisteredLogger.LLM;
8
8
  logger;
9
9
  name;
10
10
  constructor({ component, name }) {
11
- this.component = component || chunkDSNPWVIG_cjs.RegisteredLogger.LLM;
11
+ this.component = component || chunkAF74UXR5_cjs.RegisteredLogger.LLM;
12
12
  this.name = name;
13
- this.logger = new chunkDSNPWVIG_cjs.ConsoleLogger({ name: `${this.component} - ${this.name}` });
13
+ this.logger = new chunkAF74UXR5_cjs.ConsoleLogger({ name: `${this.component} - ${this.name}` });
14
14
  }
15
15
  /**
16
16
  * Set the logger for the agent
@@ -18,12 +18,12 @@ var MastraBase = class {
18
18
  */
19
19
  __setLogger(logger) {
20
20
  this.logger = logger;
21
- if (this.component !== chunkDSNPWVIG_cjs.RegisteredLogger.LLM) {
21
+ if (this.component !== chunkAF74UXR5_cjs.RegisteredLogger.LLM) {
22
22
  this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);
23
23
  }
24
24
  }
25
25
  };
26
26
 
27
27
  exports.MastraBase = MastraBase;
28
- //# sourceMappingURL=chunk-KEXGB7FK.cjs.map
29
- //# sourceMappingURL=chunk-KEXGB7FK.cjs.map
28
+ //# sourceMappingURL=chunk-DGV2FWB4.cjs.map
29
+ //# sourceMappingURL=chunk-DGV2FWB4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/base.ts"],"names":["RegisteredLogger","ConsoleLogger"],"mappings":";;;;;AAIO,IAAM,aAAN,MAAiB;AAAA,EACtB,YAA8BA,kCAAA,CAAiB,GAAA;AAAA,EACrC,MAAA;AAAA,EACV,IAAA;AAAA,EAEA,WAAA,CAAY,EAAE,SAAA,EAAW,IAAA,EAAK,EAAoD;AAChF,IAAA,IAAA,CAAK,SAAA,GAAY,aAAaA,kCAAA,CAAiB,GAAA;AAC/C,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,IAAIC,+BAAA,CAAc,EAAE,IAAA,EAAM,CAAA,EAAG,IAAA,CAAK,SAAS,CAAA,GAAA,EAAM,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,CAAA;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAA,EAAuB;AACjC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAEd,IAAA,IAAI,IAAA,CAAK,SAAA,KAAcD,kCAAA,CAAiB,GAAA,EAAK;AAC3C,MAAA,IAAA,CAAK,MAAA,CAAO,MAAM,CAAA,0BAAA,EAA6B,IAAA,CAAK,SAAS,CAAA,QAAA,EAAW,IAAA,CAAK,IAAI,CAAA,CAAA,CAAG,CAAA;AAAA,IACtF;AAAA,EACF;AACF","file":"chunk-KEXGB7FK.cjs","sourcesContent":["import type { IMastraLogger } from './logger';\nimport { RegisteredLogger } from './logger/constants';\nimport { ConsoleLogger } from './logger/default-logger';\n\nexport class MastraBase {\n component: RegisteredLogger = RegisteredLogger.LLM;\n protected logger: IMastraLogger;\n name?: string;\n\n constructor({ component, name }: { component?: RegisteredLogger; name?: string }) {\n this.component = component || RegisteredLogger.LLM;\n this.name = name;\n this.logger = new ConsoleLogger({ name: `${this.component} - ${this.name}` });\n }\n\n /**\n * Set the logger for the agent\n * @param logger\n */\n __setLogger(logger: IMastraLogger) {\n this.logger = logger;\n\n if (this.component !== RegisteredLogger.LLM) {\n this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);\n }\n }\n}\n\nexport * from './types';\n"]}
1
+ {"version":3,"sources":["../src/base.ts"],"names":["RegisteredLogger","ConsoleLogger"],"mappings":";;;;;AAIO,IAAM,aAAN,MAAiB;AAAA,EACtB,YAA8BA,kCAAA,CAAiB,GAAA;AAAA,EACrC,MAAA;AAAA,EACV,IAAA;AAAA,EAEA,WAAA,CAAY,EAAE,SAAA,EAAW,IAAA,EAAK,EAAoD;AAChF,IAAA,IAAA,CAAK,SAAA,GAAY,aAAaA,kCAAA,CAAiB,GAAA;AAC/C,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,IAAIC,+BAAA,CAAc,EAAE,IAAA,EAAM,CAAA,EAAG,IAAA,CAAK,SAAS,CAAA,GAAA,EAAM,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,CAAA;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAA,EAAuB;AACjC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAEd,IAAA,IAAI,IAAA,CAAK,SAAA,KAAcD,kCAAA,CAAiB,GAAA,EAAK;AAC3C,MAAA,IAAA,CAAK,MAAA,CAAO,MAAM,CAAA,0BAAA,EAA6B,IAAA,CAAK,SAAS,CAAA,QAAA,EAAW,IAAA,CAAK,IAAI,CAAA,CAAA,CAAG,CAAA;AAAA,IACtF;AAAA,EACF;AACF","file":"chunk-DGV2FWB4.cjs","sourcesContent":["import type { IMastraLogger } from './logger';\nimport { RegisteredLogger } from './logger/constants';\nimport { ConsoleLogger } from './logger/default-logger';\n\nexport class MastraBase {\n component: RegisteredLogger = RegisteredLogger.LLM;\n protected logger: IMastraLogger;\n name?: string;\n\n constructor({ component, name }: { component?: RegisteredLogger; name?: string }) {\n this.component = component || RegisteredLogger.LLM;\n this.name = name;\n this.logger = new ConsoleLogger({ name: `${this.component} - ${this.name}` });\n }\n\n /**\n * Set the logger for the agent\n * @param logger\n */\n __setLogger(logger: IMastraLogger) {\n this.logger = logger;\n\n if (this.component !== RegisteredLogger.LLM) {\n this.logger.debug(`Logger updated [component=${this.component}] [name=${this.name}]`);\n }\n }\n}\n\nexport * from './types';\n"]}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkKEXGB7FK_cjs = require('./chunk-KEXGB7FK.cjs');
3
+ var chunkDGV2FWB4_cjs = require('./chunk-DGV2FWB4.cjs');
4
4
  var promises = require('fs/promises');
5
5
  var dotenv = require('dotenv');
6
6
 
7
- var MastraBundler = class extends chunkKEXGB7FK_cjs.MastraBase {
7
+ var MastraBundler = class extends chunkDGV2FWB4_cjs.MastraBase {
8
8
  constructor({ name, component = "BUNDLER" }) {
9
9
  super({ component, name });
10
10
  }
@@ -22,5 +22,5 @@ var MastraBundler = class extends chunkKEXGB7FK_cjs.MastraBase {
22
22
  };
23
23
 
24
24
  exports.MastraBundler = MastraBundler;
25
- //# sourceMappingURL=chunk-Y63IFHEZ.cjs.map
26
- //# sourceMappingURL=chunk-Y63IFHEZ.cjs.map
25
+ //# sourceMappingURL=chunk-EOPEDKLG.cjs.map
26
+ //# sourceMappingURL=chunk-EOPEDKLG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bundler/index.ts"],"names":["MastraBase","readFile","parse"],"mappings":";;;;;;AAmBO,IAAe,aAAA,GAAf,cAAqCA,4BAAA,CAA+B;AAAA,EACzE,WAAA,CAAY,EAAE,IAAA,EAAM,SAAA,GAAY,WAAU,EAAyD;AACjG,IAAA,KAAA,CAAM,EAAE,SAAA,EAAW,IAAA,EAAM,CAAA;AAAA,EAC3B;AAAA,EAEA,MAAM,WAAA,GAA4C;AAChD,IAAA,MAAM,OAAA,uBAAc,GAAA,EAAI;AAExB,IAAA,KAAA,MAAW,IAAA,IAAQ,MAAM,IAAA,CAAK,WAAA,EAAY,EAAG;AAC3C,MAAA,MAAM,OAAA,GAAU,MAAMC,iBAAA,CAAS,IAAA,EAAM,OAAO,CAAA;AAC5C,MAAA,MAAM,MAAA,GAASC,aAAM,OAAO,CAAA;AAE5B,MAAA,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAC/C,QAAA,OAAA,CAAQ,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,MACxB,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,OAAA;AAAA,EACT;AAYF","file":"chunk-EOPEDKLG.cjs","sourcesContent":["import { readFile } from 'node:fs/promises';\nimport { parse } from 'dotenv';\n\nimport { MastraBase } from '../base';\n\nexport interface IBundler {\n loadEnvVars(): Promise<Map<string, string>>;\n getEnvFiles(): Promise<string[]>;\n getAllToolPaths(mastraDir: string, toolsPaths: (string | string[])[]): (string | string[])[];\n bundle(\n entryFile: string,\n outputDirectory: string,\n options: { toolsPaths: (string | string[])[]; projectRoot: string },\n ): Promise<void>;\n prepare(outputDirectory: string): Promise<void>;\n writePackageJson(outputDirectory: string, dependencies: Map<string, string>): Promise<void>;\n lint(entryFile: string, outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void>;\n}\n\nexport abstract class MastraBundler extends MastraBase implements IBundler {\n constructor({ name, component = 'BUNDLER' }: { name: string; component?: 'BUNDLER' | 'DEPLOYER' }) {\n super({ component, name });\n }\n\n async loadEnvVars(): Promise<Map<string, string>> {\n const envVars = new Map();\n\n for (const file of await this.getEnvFiles()) {\n const content = await readFile(file, 'utf-8');\n const config = parse(content);\n\n Object.entries(config).forEach(([key, value]) => {\n envVars.set(key, value);\n });\n }\n\n return envVars;\n }\n\n abstract getAllToolPaths(mastraDir: string, toolsPaths: (string | string[])[]): (string | string[])[];\n abstract prepare(outputDirectory: string): Promise<void>;\n abstract writePackageJson(outputDirectory: string, dependencies: Map<string, string>): Promise<void>;\n abstract getEnvFiles(): Promise<string[]>;\n abstract bundle(\n entryFile: string,\n outputDirectory: string,\n { toolsPaths, projectRoot }: { toolsPaths: (string | string[])[]; projectRoot: string },\n ): Promise<void>;\n abstract lint(entryFile: string, outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void>;\n}\n"]}
@@ -1,5 +1,7 @@
1
1
  import { MastraError } from './chunk-JJ5O45LH.js';
2
- import { MastraBase } from './chunk-S6URFGCZ.js';
2
+ import { MastraBase } from './chunk-LSHPJWM5.js';
3
+ import { PassThrough } from 'stream';
4
+ import { experimental_generateSpeech, experimental_transcribe } from 'ai-v5';
3
5
 
4
6
  // src/voice/voice.ts
5
7
  var MastraVoice = class extends MastraBase {
@@ -94,16 +96,112 @@ var MastraVoice = class extends MastraBase {
94
96
  return Promise.resolve({ enabled: false });
95
97
  }
96
98
  };
99
+ var AISDKSpeech = class extends MastraVoice {
100
+ model;
101
+ defaultVoice;
102
+ constructor(model, options) {
103
+ super({ name: "ai-sdk-speech" });
104
+ this.model = model;
105
+ this.defaultVoice = options?.voice;
106
+ }
107
+ async speak(input, options) {
108
+ const text = typeof input === "string" ? input : await this.streamToText(input);
109
+ const result = await experimental_generateSpeech({
110
+ model: this.model,
111
+ text,
112
+ voice: options?.speaker || this.defaultVoice,
113
+ // Map speaker to AI SDK's voice parameter
114
+ language: options?.language,
115
+ providerOptions: options?.providerOptions,
116
+ abortSignal: options?.abortSignal,
117
+ headers: options?.headers
118
+ });
119
+ const stream = new PassThrough();
120
+ stream.end(Buffer.from(result.audio.uint8Array));
121
+ return stream;
122
+ }
123
+ async listen() {
124
+ throw new Error("AI SDK speech models do not support transcription. Use AISDKTranscription instead.");
125
+ }
126
+ async getSpeakers() {
127
+ return [];
128
+ }
129
+ async getListener() {
130
+ return { enabled: false };
131
+ }
132
+ async streamToText(stream) {
133
+ const chunks = [];
134
+ for await (const chunk of stream) {
135
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
136
+ }
137
+ return Buffer.concat(chunks).toString("utf-8");
138
+ }
139
+ };
140
+ var AISDKTranscription = class extends MastraVoice {
141
+ model;
142
+ constructor(model) {
143
+ super({ name: "ai-sdk-transcription" });
144
+ this.model = model;
145
+ }
146
+ async speak() {
147
+ throw new Error("AI SDK transcription models do not support text-to-speech. Use AISDKSpeech instead.");
148
+ }
149
+ async getSpeakers() {
150
+ return [];
151
+ }
152
+ async getListener() {
153
+ return { enabled: true };
154
+ }
155
+ /**
156
+ * Transcribe audio to text
157
+ * For enhanced metadata (segments, language, duration), use AI SDK's transcribe() directly
158
+ */
159
+ async listen(audioStream, options) {
160
+ const audioBuffer = await this.convertToBuffer(audioStream);
161
+ const result = await experimental_transcribe({
162
+ model: this.model,
163
+ audio: audioBuffer,
164
+ providerOptions: options?.providerOptions,
165
+ abortSignal: options?.abortSignal,
166
+ headers: options?.headers
167
+ });
168
+ return result.text;
169
+ }
170
+ async convertToBuffer(audio) {
171
+ if (Buffer.isBuffer(audio)) return audio;
172
+ if (audio instanceof Uint8Array) return Buffer.from(audio);
173
+ if (typeof audio === "string") return Buffer.from(audio, "base64");
174
+ const chunks = [];
175
+ for await (const chunk of audio) {
176
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
177
+ }
178
+ return Buffer.concat(chunks);
179
+ }
180
+ };
97
181
 
98
182
  // src/voice/composite-voice.ts
183
+ function isTranscriptionModel(obj) {
184
+ return obj && typeof obj === "object" && obj.modelId && obj.specificationVersion === "v2";
185
+ }
186
+ function isSpeechModel(obj) {
187
+ return obj && typeof obj === "object" && obj.modelId && obj.specificationVersion === "v2";
188
+ }
99
189
  var CompositeVoice = class extends MastraVoice {
100
190
  speakProvider;
101
191
  listenProvider;
102
192
  realtimeProvider;
103
- constructor({ input, output, realtime }) {
193
+ constructor({
194
+ input,
195
+ output,
196
+ realtime
197
+ }) {
104
198
  super();
105
- this.speakProvider = output;
106
- this.listenProvider = input;
199
+ if (input) {
200
+ this.listenProvider = isTranscriptionModel(input) ? new AISDKTranscription(input) : input;
201
+ }
202
+ if (output) {
203
+ this.speakProvider = isSpeechModel(output) ? new AISDKSpeech(output) : output;
204
+ }
107
205
  this.realtimeProvider = realtime;
108
206
  }
109
207
  /**
@@ -321,6 +419,6 @@ var DefaultVoice = class extends MastraVoice {
321
419
  }
322
420
  };
323
421
 
324
- export { CompositeVoice, DefaultVoice, MastraVoice };
325
- //# sourceMappingURL=chunk-UIZSWUKP.js.map
326
- //# sourceMappingURL=chunk-UIZSWUKP.js.map
422
+ export { AISDKSpeech, AISDKTranscription, CompositeVoice, DefaultVoice, MastraVoice };
423
+ //# sourceMappingURL=chunk-F2GAJSBI.js.map
424
+ //# sourceMappingURL=chunk-F2GAJSBI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/voice/voice.ts","../src/voice/aisdk/speech.ts","../src/voice/aisdk/transcription.ts","../src/voice/composite-voice.ts","../src/voice/default-voice.ts"],"names":[],"mappings":"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","file":"chunk-F2GAJSBI.js","sourcesContent":["import type { ToolsInput } from '../agent';\nimport { MastraBase } from '../base';\n\nexport type VoiceEventType = 'speaking' | 'writing' | 'error' | string;\n\nexport interface VoiceEventMap {\n speaker: NodeJS.ReadableStream;\n speaking: { audio?: string };\n writing: { text: string; role: 'assistant' | 'user' };\n error: { message: string; code?: string; details?: unknown };\n [key: string]: unknown;\n}\n\ninterface BuiltInModelConfig {\n name: string;\n apiKey?: string;\n}\n\nexport interface VoiceConfig<T = unknown> {\n listeningModel?: BuiltInModelConfig;\n speechModel?: BuiltInModelConfig;\n speaker?: string;\n name?: string;\n realtimeConfig?: {\n model?: string;\n apiKey?: string;\n options?: T;\n };\n}\n\nexport abstract class MastraVoice<\n TOptions = unknown,\n TSpeakOptions = unknown,\n TListenOptions = unknown,\n TTools extends ToolsInput = ToolsInput,\n TEventArgs extends VoiceEventMap = VoiceEventMap,\n TSpeakerMetadata = unknown,\n> extends MastraBase {\n protected listeningModel?: BuiltInModelConfig;\n protected speechModel?: BuiltInModelConfig;\n protected speaker?: string;\n protected realtimeConfig?: {\n model?: string;\n apiKey?: string;\n options?: TOptions;\n };\n\n constructor({ listeningModel, speechModel, speaker, realtimeConfig, name }: VoiceConfig<TOptions> = {}) {\n super({\n component: 'VOICE',\n name,\n });\n this.listeningModel = listeningModel;\n this.speechModel = speechModel;\n this.speaker = speaker;\n this.realtimeConfig = realtimeConfig;\n }\n\n /**\n * Convert text to speech\n * @param input Text or text stream to convert to speech\n * @param options Speech options including speaker and provider-specific options\n * @returns Audio stream\n */\n /**\n * Convert text to speech\n * @param input Text or text stream to convert to speech\n * @param options Speech options including speaker and provider-specific options\n * @returns Audio stream or void if in chat mode\n */\n abstract speak(\n input: string | NodeJS.ReadableStream,\n options?: {\n speaker?: string;\n } & TSpeakOptions,\n ): Promise<NodeJS.ReadableStream | void>;\n\n /**\n * Convert speech to text\n * @param audioStream Audio stream to transcribe\n * @param options Provider-specific transcription options\n * @returns Text or text stream\n */\n /**\n * Convert speech to text\n * @param audioStream Audio stream to transcribe\n * @param options Provider-specific transcription options\n * @returns Text, text stream, or void if in chat mode\n */\n abstract listen(\n audioStream: NodeJS.ReadableStream | unknown, // Allow other audio input types for OpenAI realtime API\n options?: TListenOptions,\n ): Promise<string | NodeJS.ReadableStream | void>;\n\n updateConfig(_options: Record<string, unknown>): void {\n this.logger.warn('updateConfig not implemented by this voice provider');\n }\n\n /**\n * Initializes a WebSocket or WebRTC connection for real-time communication\n * @returns Promise that resolves when the connection is established\n */\n connect(_options?: Record<string, unknown>): Promise<void> {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('connect not implemented by this voice provider');\n return Promise.resolve();\n }\n\n /**\n * Relay audio data to the voice provider for real-time processing\n * @param audioData Audio data to relay\n */\n send(_audioData: NodeJS.ReadableStream | Int16Array): Promise<void> {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('relay not implemented by this voice provider');\n return Promise.resolve();\n }\n\n /**\n * Trigger voice providers to respond\n */\n answer(_options?: Record<string, unknown>): Promise<void> {\n this.logger.warn('answer not implemented by this voice provider');\n return Promise.resolve();\n }\n\n /**\n * Equip the voice provider with instructions\n * @param instructions Instructions to add\n */\n addInstructions(_instructions?: string): void {\n // Default implementation - voice providers can override if they support this feature\n }\n\n /**\n * Equip the voice provider with tools\n * @param tools Array of tools to add\n */\n addTools(_tools: TTools): void {\n // Default implementation - voice providers can override if they support this feature\n }\n\n /**\n * Disconnect from the WebSocket or WebRTC connection\n */\n close(): void {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('close not implemented by this voice provider');\n }\n\n /**\n * Register an event listener\n * @param event Event name (e.g., 'speaking', 'writing', 'error')\n * @param callback Callback function that receives event data\n */\n on<E extends VoiceEventType>(\n _event: E,\n _callback: (data: E extends keyof TEventArgs ? TEventArgs[E] : unknown) => void,\n ): void {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('on not implemented by this voice provider');\n }\n\n /**\n * Remove an event listener\n * @param event Event name (e.g., 'speaking', 'writing', 'error')\n * @param callback Callback function to remove\n */\n off<E extends VoiceEventType>(\n _event: E,\n _callback: (data: E extends keyof TEventArgs ? TEventArgs[E] : unknown) => void,\n ): void {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('off not implemented by this voice provider');\n }\n\n /**\n * Get available speakers/voices\n * @returns Array of available voice IDs and their metadata\n */\n getSpeakers(): Promise<\n Array<\n {\n voiceId: string;\n } & TSpeakerMetadata\n >\n > {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('getSpeakers not implemented by this voice provider');\n return Promise.resolve([]);\n }\n\n /**\n * Get available speakers/voices\n * @returns Array of available voice IDs and their metadata\n */\n getListener(): Promise<{ enabled: boolean }> {\n // Default implementation - voice providers can override if they support this feature\n this.logger.warn('getListener not implemented by this voice provider');\n return Promise.resolve({ enabled: false });\n }\n}\n","import { PassThrough } from 'node:stream';\nimport { experimental_generateSpeech } from 'ai-v5';\nimport type { SpeechModel } from 'ai-v5';\nimport { MastraVoice } from '../voice';\n\nexport class AISDKSpeech extends MastraVoice {\n private model: SpeechModel;\n private defaultVoice?: string;\n\n constructor(model: SpeechModel, options?: { voice?: string }) {\n super({ name: 'ai-sdk-speech' });\n this.model = model;\n this.defaultVoice = options?.voice;\n }\n\n async speak(\n input: string | NodeJS.ReadableStream,\n options?: {\n speaker?: string;\n language?: string;\n providerOptions?: Record<string, any>;\n abortSignal?: AbortSignal;\n headers?: Record<string, string>;\n },\n ): Promise<NodeJS.ReadableStream> {\n // Convert stream to text if needed\n const text = typeof input === 'string' ? input : await this.streamToText(input);\n\n const result = await experimental_generateSpeech({\n model: this.model,\n text,\n voice: options?.speaker || this.defaultVoice, // Map speaker to AI SDK's voice parameter\n language: options?.language,\n providerOptions: options?.providerOptions,\n abortSignal: options?.abortSignal,\n headers: options?.headers,\n });\n\n // Convert Uint8Array to Node stream\n const stream = new PassThrough();\n stream.end(Buffer.from(result.audio.uint8Array));\n return stream;\n }\n\n async listen(): Promise<string> {\n throw new Error('AI SDK speech models do not support transcription. Use AISDKTranscription instead.');\n }\n\n async getSpeakers() {\n // Return empty array - voice must be specified in speak() options\n return [];\n }\n\n async getListener() {\n return { enabled: false };\n }\n\n private async streamToText(stream: NodeJS.ReadableStream): Promise<string> {\n const chunks: Buffer[] = [];\n for await (const chunk of stream) {\n chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n }\n return Buffer.concat(chunks).toString('utf-8');\n }\n}\n","import { experimental_transcribe } from 'ai-v5';\nimport type { TranscriptionModel } from 'ai-v5';\nimport { MastraVoice } from '../voice';\n\nexport class AISDKTranscription extends MastraVoice {\n private model: TranscriptionModel;\n\n constructor(model: TranscriptionModel) {\n super({ name: 'ai-sdk-transcription' });\n this.model = model;\n }\n\n async speak(): Promise<NodeJS.ReadableStream> {\n throw new Error('AI SDK transcription models do not support text-to-speech. Use AISDKSpeech instead.');\n }\n\n async getSpeakers() {\n return [];\n }\n\n async getListener() {\n return { enabled: true };\n }\n\n /**\n * Transcribe audio to text\n * For enhanced metadata (segments, language, duration), use AI SDK's transcribe() directly\n */\n async listen(\n audioStream: NodeJS.ReadableStream,\n options?: {\n providerOptions?: Record<string, any>;\n abortSignal?: AbortSignal;\n headers?: Record<string, string>;\n },\n ): Promise<string> {\n const audioBuffer = await this.convertToBuffer(audioStream);\n\n const result = await experimental_transcribe({\n model: this.model,\n audio: audioBuffer,\n providerOptions: options?.providerOptions,\n abortSignal: options?.abortSignal,\n headers: options?.headers,\n });\n\n return result.text;\n }\n\n private async convertToBuffer(audio: NodeJS.ReadableStream | Buffer | Uint8Array | string): Promise<Buffer> {\n if (Buffer.isBuffer(audio)) return audio;\n if (audio instanceof Uint8Array) return Buffer.from(audio);\n if (typeof audio === 'string') return Buffer.from(audio, 'base64');\n\n const chunks: Buffer[] = [];\n for await (const chunk of audio) {\n chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n }\n return Buffer.concat(chunks);\n }\n}\n","import type { TranscriptionModel, SpeechModel } from 'ai-v5';\n\nimport type { ToolsInput } from '../agent';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\n\nimport { AISDKSpeech } from './aisdk/speech';\nimport { AISDKTranscription } from './aisdk/transcription';\nimport { MastraVoice } from './voice';\nimport type { VoiceEventType, VoiceEventMap } from '.';\n\n// Helper to check if something is an AI SDK model\nfunction isTranscriptionModel(obj: any): obj is TranscriptionModel {\n return obj && typeof obj === 'object' && obj.modelId && obj.specificationVersion === 'v2';\n}\n\nfunction isSpeechModel(obj: any): obj is SpeechModel {\n return obj && typeof obj === 'object' && obj.modelId && obj.specificationVersion === 'v2';\n}\n\nexport class CompositeVoice extends MastraVoice<unknown, unknown, unknown, ToolsInput, VoiceEventMap> {\n protected speakProvider?: MastraVoice;\n protected listenProvider?: MastraVoice;\n protected realtimeProvider?: MastraVoice;\n\n constructor({\n input,\n output,\n realtime,\n }: {\n input?: MastraVoice | TranscriptionModel;\n output?: MastraVoice | SpeechModel;\n realtime?: MastraVoice;\n }) {\n super();\n\n // Auto-wrap AI SDK models\n if (input) {\n this.listenProvider = isTranscriptionModel(input) ? new AISDKTranscription(input) : input;\n }\n\n if (output) {\n this.speakProvider = isSpeechModel(output) ? new AISDKSpeech(output) : output;\n }\n\n this.realtimeProvider = realtime;\n }\n\n /**\n * Convert text to speech using the configured provider\n * @param input Text or text stream to convert to speech\n * @param options Speech options including speaker and provider-specific options\n * @returns Audio stream or void if in realtime mode\n */\n async speak(\n input: string | NodeJS.ReadableStream,\n options?: { speaker?: string } & any,\n ): Promise<NodeJS.ReadableStream | void> {\n if (this.realtimeProvider) {\n return this.realtimeProvider.speak(input, options);\n } else if (this.speakProvider) {\n return this.speakProvider.speak(input, options);\n }\n\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_SPEAK_PROVIDER',\n text: 'No speak provider or realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n async listen(audioStream: NodeJS.ReadableStream, options?: any) {\n if (this.realtimeProvider) {\n return await this.realtimeProvider.listen(audioStream, options);\n } else if (this.listenProvider) {\n return await this.listenProvider.listen(audioStream, options);\n }\n\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_LISTEN_PROVIDER',\n text: 'No listen provider or realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n async getSpeakers() {\n if (this.realtimeProvider) {\n return this.realtimeProvider.getSpeakers();\n } else if (this.speakProvider) {\n return this.speakProvider.getSpeakers();\n }\n\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_SPEAKERS_PROVIDER',\n text: 'No speak provider or realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n async getListener() {\n if (this.realtimeProvider) {\n return this.realtimeProvider.getListener();\n } else if (this.listenProvider) {\n return this.listenProvider.getListener();\n }\n\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_LISTENER_PROVIDER',\n text: 'No listener provider or realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n updateConfig(options: Record<string, unknown>): void {\n if (!this.realtimeProvider) {\n return;\n }\n this.realtimeProvider.updateConfig(options);\n }\n\n /**\n * Initializes a WebSocket or WebRTC connection for real-time communication\n * @returns Promise that resolves when the connection is established\n */\n connect(options?: Record<string, unknown>): Promise<void> {\n if (!this.realtimeProvider) {\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_REALTIME_PROVIDER_CONNECT',\n text: 'No realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n return this.realtimeProvider.connect(options);\n }\n\n /**\n * Relay audio data to the voice provider for real-time processing\n * @param audioData Audio data to send\n */\n send(audioData: NodeJS.ReadableStream | Int16Array): Promise<void> {\n if (!this.realtimeProvider) {\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_REALTIME_PROVIDER_SEND',\n text: 'No realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n return this.realtimeProvider.send(audioData);\n }\n\n /**\n * Trigger voice providers to respond\n */\n answer(options?: Record<string, unknown>): Promise<void> {\n if (!this.realtimeProvider) {\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_REALTIME_PROVIDER_ANSWER',\n text: 'No realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n return this.realtimeProvider.answer(options);\n }\n\n /**\n * Equip the voice provider with instructions\n * @param instructions Instructions to add\n */\n addInstructions(instructions: string): void {\n if (!this.realtimeProvider) {\n return;\n }\n this.realtimeProvider.addInstructions(instructions);\n }\n\n /**\n * Equip the voice provider with tools\n * @param tools Array of tools to add\n */\n addTools(tools: ToolsInput): void {\n if (!this.realtimeProvider) {\n return;\n }\n this.realtimeProvider.addTools(tools);\n }\n\n /**\n * Disconnect from the WebSocket or WebRTC connection\n */\n close(): void {\n if (!this.realtimeProvider) {\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_REALTIME_PROVIDER_CLOSE',\n text: 'No realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n this.realtimeProvider.close();\n }\n\n /**\n * Register an event listener\n * @param event Event name (e.g., 'speaking', 'writing', 'error')\n * @param callback Callback function that receives event data\n */\n on<E extends VoiceEventType>(\n event: E,\n callback: (data: E extends keyof VoiceEventMap ? VoiceEventMap[E] : unknown) => void,\n ): void {\n if (!this.realtimeProvider) {\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_REALTIME_PROVIDER_ON',\n text: 'No realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n this.realtimeProvider.on(event, callback);\n }\n\n /**\n * Remove an event listener\n * @param event Event name (e.g., 'speaking', 'writing', 'error')\n * @param callback Callback function to remove\n */\n off<E extends VoiceEventType>(\n event: E,\n callback: (data: E extends keyof VoiceEventMap ? VoiceEventMap[E] : unknown) => void,\n ): void {\n if (!this.realtimeProvider) {\n throw new MastraError({\n id: 'VOICE_COMPOSITE_NO_REALTIME_PROVIDER_OFF',\n text: 'No realtime provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n this.realtimeProvider.off(event, callback);\n }\n}\n","import { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport { MastraVoice } from '.';\n\nexport class DefaultVoice extends MastraVoice {\n constructor() {\n super();\n }\n\n async speak(_input: string | NodeJS.ReadableStream): Promise<NodeJS.ReadableStream> {\n throw new MastraError({\n id: 'VOICE_DEFAULT_NO_SPEAK_PROVIDER',\n text: 'No voice provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n async listen(_input: string | NodeJS.ReadableStream): Promise<string> {\n throw new MastraError({\n id: 'VOICE_DEFAULT_NO_LISTEN_PROVIDER',\n text: 'No voice provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n async getSpeakers(): Promise<{ voiceId: string }[]> {\n throw new MastraError({\n id: 'VOICE_DEFAULT_NO_SPEAKERS_PROVIDER',\n text: 'No voice provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n\n async getListener(): Promise<{ enabled: boolean }> {\n throw new MastraError({\n id: 'VOICE_DEFAULT_NO_LISTENER_PROVIDER',\n text: 'No voice provider configured',\n domain: ErrorDomain.MASTRA_VOICE,\n category: ErrorCategory.USER,\n });\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
- import { wrapMastra } from './chunk-KIZIOFZC.js';
1
+ import { executeWithContext, wrapMastra } from './chunk-Y36Y5MTD.js';
2
2
  import { MastraError } from './chunk-JJ5O45LH.js';
3
- import { ToolStream } from './chunk-HGNRQ3OG.js';
4
- import { isVercelTool, validateToolInput } from './chunk-7AHYOMHJ.js';
5
- import { RequestContext } from './chunk-GRBGQ2GE.js';
6
- import { MastraBase } from './chunk-S6URFGCZ.js';
3
+ import { ToolStream } from './chunk-DD2VNRQM.js';
4
+ import { isVercelTool, validateToolInput, validateToolOutput, validateToolSuspendData } from './chunk-THZTRBFS.js';
5
+ import { RequestContext } from './chunk-6TBWJV35.js';
6
+ import { MastraBase } from './chunk-LSHPJWM5.js';
7
7
  import { createHash } from 'crypto';
8
- import jsonSchemaToZod from 'json-schema-to-zod';
8
+ import { jsonSchemaToZod } from '@mastra/schema-compat/json-to-zod';
9
9
  import { z } from 'zod';
10
10
  import { convertZodSchemaToAISDKSchema, OpenAIReasoningSchemaCompatLayer, OpenAISchemaCompatLayer, GoogleSchemaCompatLayer, AnthropicSchemaCompatLayer, DeepSeekSchemaCompatLayer, MetaSchemaCompatLayer, applyCompatLayer } from '@mastra/schema-compat';
11
11
 
@@ -28,7 +28,7 @@ var CoreToolBuilder = class extends MastraBase {
28
28
  }
29
29
  return schema2;
30
30
  }
31
- let schema = this.originalTool.inputSchema ?? z.object({});
31
+ let schema = this.originalTool.inputSchema;
32
32
  if (typeof schema === "function") {
33
33
  schema = schema();
34
34
  }
@@ -44,18 +44,60 @@ var CoreToolBuilder = class extends MastraBase {
44
44
  }
45
45
  return null;
46
46
  };
47
+ getResumeSchema = () => {
48
+ if ("resumeSchema" in this.originalTool) {
49
+ let schema = this.originalTool.resumeSchema;
50
+ if (typeof schema === "function") {
51
+ schema = schema();
52
+ }
53
+ return schema;
54
+ }
55
+ return null;
56
+ };
57
+ getSuspendSchema = () => {
58
+ if ("suspendSchema" in this.originalTool) {
59
+ let schema = this.originalTool.suspendSchema;
60
+ if (typeof schema === "function") {
61
+ schema = schema();
62
+ }
63
+ return schema;
64
+ }
65
+ return null;
66
+ };
47
67
  // For provider-defined tools, we need to include all required properties
48
68
  buildProviderTool(tool) {
49
69
  if ("type" in tool && tool.type === "provider-defined" && "id" in tool && typeof tool.id === "string" && tool.id.includes(".")) {
50
- const parameters = this.getParameters();
51
- const outputSchema = this.getOutputSchema();
70
+ let parameters = "parameters" in tool ? tool.parameters : "inputSchema" in tool ? tool.inputSchema : void 0;
71
+ if (typeof parameters === "function") {
72
+ parameters = parameters();
73
+ }
74
+ let outputSchema = "outputSchema" in tool ? tool.outputSchema : void 0;
75
+ if (typeof outputSchema === "function") {
76
+ outputSchema = outputSchema();
77
+ }
78
+ let processedParameters;
79
+ if (parameters !== void 0 && parameters !== null) {
80
+ if (typeof parameters === "object" && "jsonSchema" in parameters) {
81
+ processedParameters = parameters;
82
+ } else {
83
+ processedParameters = convertZodSchemaToAISDKSchema(parameters);
84
+ }
85
+ }
86
+ let processedOutputSchema;
87
+ if (outputSchema !== void 0 && outputSchema !== null) {
88
+ if (typeof outputSchema === "object" && "jsonSchema" in outputSchema) {
89
+ processedOutputSchema = outputSchema;
90
+ } else {
91
+ processedOutputSchema = convertZodSchemaToAISDKSchema(outputSchema);
92
+ }
93
+ }
52
94
  return {
95
+ ...processedOutputSchema ? { outputSchema: processedOutputSchema } : {},
53
96
  type: "provider-defined",
54
97
  id: tool.id,
55
98
  args: "args" in this.originalTool ? this.originalTool.args : {},
56
99
  description: tool.description,
57
- parameters: parameters.jsonSchema ? parameters : convertZodSchemaToAISDKSchema(parameters),
58
- ...outputSchema ? { outputSchema: outputSchema.jsonSchema ? outputSchema : convertZodSchemaToAISDKSchema(outputSchema) } : {},
100
+ parameters: processedParameters,
59
101
  execute: this.originalTool.execute ? this.createExecute(
60
102
  this.originalTool,
61
103
  { ...this.options, description: this.originalTool.description },
@@ -106,8 +148,12 @@ var CoreToolBuilder = class extends MastraBase {
106
148
  });
107
149
  try {
108
150
  let result;
151
+ let suspendData = null;
109
152
  if (isVercelTool(tool)) {
110
- result = await tool?.execute?.(args, execOptions);
153
+ result = await executeWithContext({
154
+ span: toolSpan,
155
+ fn: async () => tool?.execute?.(args, execOptions)
156
+ });
111
157
  } else {
112
158
  const wrappedMastra = options.mastra ? wrapMastra(options.mastra, { currentSpan: toolSpan }) : options.mastra;
113
159
  const baseContext = {
@@ -124,32 +170,35 @@ var CoreToolBuilder = class extends MastraBase {
124
170
  name: options.name,
125
171
  runId: options.runId
126
172
  },
127
- options.writableStream || execOptions.writableStream
173
+ options.outputWriter || execOptions.outputWriter
128
174
  ),
129
175
  tracingContext: { currentSpan: toolSpan },
130
176
  abortSignal: execOptions.abortSignal,
131
- suspend: execOptions.suspend,
177
+ suspend: (args2) => {
178
+ suspendData = args2;
179
+ return execOptions.suspend?.(args2);
180
+ },
132
181
  resumeData: execOptions.resumeData
133
182
  };
134
183
  const isAgentExecution = execOptions.toolCallId && execOptions.messages || options.agentName && options.threadId && !options.workflowId;
135
184
  const isWorkflowExecution = !isAgentExecution && (options.workflow || options.workflowId);
136
185
  let toolContext;
137
186
  if (isAgentExecution) {
138
- const { suspend, resumeData, threadId, resourceId, ...restBaseContext } = baseContext;
187
+ const { suspend, resumeData: resumeData2, threadId, resourceId, ...restBaseContext } = baseContext;
139
188
  toolContext = {
140
189
  ...restBaseContext,
141
190
  agent: {
142
191
  toolCallId: execOptions.toolCallId || "",
143
192
  messages: execOptions.messages || [],
144
193
  suspend,
145
- resumeData,
194
+ resumeData: resumeData2,
146
195
  threadId,
147
196
  resourceId,
148
- writableStream: execOptions.writableStream
197
+ outputWriter: execOptions.outputWriter
149
198
  }
150
199
  };
151
200
  } else if (isWorkflowExecution) {
152
- const { suspend, resumeData, ...restBaseContext } = baseContext;
201
+ const { suspend, resumeData: resumeData2, ...restBaseContext } = baseContext;
153
202
  toolContext = {
154
203
  ...restBaseContext,
155
204
  workflow: options.workflow || {
@@ -158,7 +207,7 @@ var CoreToolBuilder = class extends MastraBase {
158
207
  state: options.state,
159
208
  setState: options.setState,
160
209
  suspend,
161
- resumeData
210
+ resumeData: resumeData2
162
211
  }
163
212
  };
164
213
  } else if (execOptions.mcp) {
@@ -169,10 +218,44 @@ var CoreToolBuilder = class extends MastraBase {
169
218
  } else {
170
219
  toolContext = baseContext;
171
220
  }
172
- result = await tool?.execute?.(args, toolContext);
221
+ const resumeData = execOptions.resumeData;
222
+ if (resumeData) {
223
+ const resumeSchema = this.getResumeSchema();
224
+ const resumeValidation = validateToolInput(resumeSchema, resumeData, options.name);
225
+ if (resumeValidation.error) {
226
+ logger?.warn(resumeValidation.error.message);
227
+ toolSpan?.end({ output: resumeValidation.error });
228
+ return resumeValidation.error;
229
+ }
230
+ }
231
+ result = await executeWithContext({ span: toolSpan, fn: async () => tool?.execute?.(args, toolContext) });
232
+ }
233
+ if (suspendData) {
234
+ const suspendSchema = this.getSuspendSchema();
235
+ const suspendValidation = validateToolSuspendData(suspendSchema, suspendData, options.name);
236
+ if (suspendValidation.error) {
237
+ logger?.warn(suspendValidation.error.message);
238
+ toolSpan?.end({ output: suspendValidation.error });
239
+ return suspendValidation.error;
240
+ }
241
+ }
242
+ const shouldSkipValidation = typeof result === "undefined" && !!suspendData;
243
+ if (shouldSkipValidation) {
244
+ toolSpan?.end({ output: result });
245
+ return result;
246
+ }
247
+ if (isVercelTool(tool)) {
248
+ const outputSchema = this.getOutputSchema();
249
+ const outputValidation = validateToolOutput(outputSchema, result, options.name, false);
250
+ if (outputValidation.error) {
251
+ logger?.warn(outputValidation.error.message);
252
+ toolSpan?.end({ output: outputValidation.error });
253
+ return outputValidation.error;
254
+ }
255
+ result = outputValidation.data;
173
256
  }
174
257
  toolSpan?.end({ output: result });
175
- return result ?? void 0;
258
+ return result;
176
259
  } catch (error2) {
177
260
  toolSpan?.error({ error: error2 });
178
261
  throw error2;
@@ -185,11 +268,7 @@ var CoreToolBuilder = class extends MastraBase {
185
268
  const parameters = processedSchema || this.getParameters();
186
269
  const { data, error: error2 } = validateToolInput(parameters, args, options.name);
187
270
  if (error2) {
188
- logger2.warn(`Tool input validation failed for '${options.name}'`, {
189
- toolName: options.name,
190
- errors: error2.validationErrors,
191
- args
192
- });
271
+ logger2.warn(error2.message);
193
272
  return error2;
194
273
  }
195
274
  args = data;
@@ -233,7 +312,8 @@ var CoreToolBuilder = class extends MastraBase {
233
312
  inputSchema: builtTool.parameters,
234
313
  onInputStart: "onInputStart" in this.originalTool ? this.originalTool.onInputStart : void 0,
235
314
  onInputDelta: "onInputDelta" in this.originalTool ? this.originalTool.onInputDelta : void 0,
236
- onInputAvailable: "onInputAvailable" in this.originalTool ? this.originalTool.onInputAvailable : void 0
315
+ onInputAvailable: "onInputAvailable" in this.originalTool ? this.originalTool.onInputAvailable : void 0,
316
+ onOutput: "onOutput" in this.originalTool ? this.originalTool.onOutput : void 0
237
317
  };
238
318
  if (builtTool.type === "provider-defined") {
239
319
  const { execute, parameters, ...rest } = base;
@@ -256,7 +336,7 @@ var CoreToolBuilder = class extends MastraBase {
256
336
  const model = this.options.model;
257
337
  const schemaCompatLayers = [];
258
338
  if (model) {
259
- const supportsStructuredOutputs = model.specificationVersion !== "v2" ? model.supportsStructuredOutputs ?? false : false;
339
+ const supportsStructuredOutputs = "supportsStructuredOutputs" in model ? model.supportsStructuredOutputs ?? false : false;
260
340
  const modelInfo = {
261
341
  modelId: model.modelId,
262
342
  supportsStructuredOutputs,
@@ -282,27 +362,28 @@ var CoreToolBuilder = class extends MastraBase {
282
362
  compatLayers: schemaCompatLayers,
283
363
  mode: "aiSdkSchema"
284
364
  });
285
- } else {
365
+ } else if (originalSchema) {
286
366
  processedZodSchema = originalSchema;
287
367
  processedSchema = applyCompatLayer({
288
368
  schema: originalSchema,
289
369
  compatLayers: schemaCompatLayers,
290
370
  mode: "aiSdkSchema"
291
371
  });
372
+ } else {
373
+ processedZodSchema = void 0;
374
+ processedSchema = void 0;
292
375
  }
293
376
  let processedOutputSchema;
294
377
  if (this.getOutputSchema()) {
295
378
  processedOutputSchema = applyCompatLayer({
296
379
  schema: this.getOutputSchema(),
297
- compatLayers: schemaCompatLayers,
380
+ compatLayers: [],
298
381
  mode: "aiSdkSchema"
299
382
  });
300
383
  }
301
384
  const definition = {
302
385
  type: "function",
303
386
  description: this.originalTool.description,
304
- parameters: this.getParameters(),
305
- outputSchema: this.getOutputSchema(),
306
387
  requireApproval: this.options.requireApproval,
307
388
  execute: this.originalTool.execute ? this.createExecute(
308
389
  this.originalTool,
@@ -315,8 +396,9 @@ var CoreToolBuilder = class extends MastraBase {
315
396
  return {
316
397
  ...definition,
317
398
  id: "id" in this.originalTool ? this.originalTool.id : void 0,
318
- parameters: processedSchema,
319
- outputSchema: processedOutputSchema
399
+ parameters: processedSchema ?? z.object({}),
400
+ outputSchema: processedOutputSchema,
401
+ providerOptions: "providerOptions" in this.originalTool ? this.originalTool.providerOptions : void 0
320
402
  };
321
403
  }
322
404
  };
@@ -643,7 +725,10 @@ function setNestedValue(obj, path, value) {
643
725
  }, obj);
644
726
  target[lastKey] = value;
645
727
  }
728
+ var removeUndefinedValues = (obj) => {
729
+ return Object.fromEntries(Object.entries(obj).filter(([_, value]) => value !== void 0));
730
+ };
646
731
 
647
- export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getNestedValue, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput, selectFields, setNestedValue };
648
- //# sourceMappingURL=chunk-4CDL2QJT.js.map
649
- //# sourceMappingURL=chunk-4CDL2QJT.js.map
732
+ export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getNestedValue, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys, parseFieldKey, parseSqlIdentifier, removeUndefinedValues, resolveSerializedZodOutput, selectFields, setNestedValue };
733
+ //# sourceMappingURL=chunk-IVV5TOMD.js.map
734
+ //# sourceMappingURL=chunk-IVV5TOMD.js.map