@mastra/core 1.0.0-beta.14 → 1.0.0-beta.15

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 (349) hide show
  1. package/CHANGELOG.md +307 -0
  2. package/dist/agent/agent-legacy.d.ts.map +1 -1
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +11 -11
  5. package/dist/agent/index.js +2 -2
  6. package/dist/agent/message-list/index.cjs +3 -3
  7. package/dist/agent/message-list/index.d.ts +1 -1
  8. package/dist/agent/message-list/index.d.ts.map +1 -1
  9. package/dist/agent/message-list/index.js +1 -1
  10. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  11. package/dist/agent/utils.d.ts.map +1 -1
  12. package/dist/{chunk-TDM43G4I.cjs → chunk-2OOMJRXZ.cjs} +9 -9
  13. package/dist/{chunk-TDM43G4I.cjs.map → chunk-2OOMJRXZ.cjs.map} +1 -1
  14. package/dist/chunk-37YWZMBX.js +27 -0
  15. package/dist/chunk-37YWZMBX.js.map +1 -0
  16. package/dist/{chunk-GBQXIVL6.js → chunk-3HDRO3GG.js} +790 -1206
  17. package/dist/chunk-3HDRO3GG.js.map +1 -0
  18. package/dist/{chunk-VZJOEGQA.js → chunk-4DFWV4IR.js} +2 -2
  19. package/dist/chunk-4DFWV4IR.js.map +1 -0
  20. package/dist/{chunk-373OC54J.js → chunk-4HP7CS6L.js} +7 -6
  21. package/dist/chunk-4HP7CS6L.js.map +1 -0
  22. package/dist/{chunk-4CMIJQF6.js → chunk-4J4M2Q5R.js} +14 -14
  23. package/dist/chunk-4J4M2Q5R.js.map +1 -0
  24. package/dist/{chunk-HWMMIRIF.cjs → chunk-4U7ZLI36.cjs} +3 -2
  25. package/dist/chunk-4U7ZLI36.cjs.map +1 -0
  26. package/dist/{chunk-Z55SJVEC.cjs → chunk-6HJFCSJ4.cjs} +7 -6
  27. package/dist/chunk-6HJFCSJ4.cjs.map +1 -0
  28. package/dist/{chunk-EGHGFLL3.cjs → chunk-AAX7ZOM7.cjs} +2 -2
  29. package/dist/chunk-AAX7ZOM7.cjs.map +1 -0
  30. package/dist/{chunk-SLBWA2F3.js → chunk-AR5CF3IN.js} +3 -3
  31. package/dist/{chunk-SLBWA2F3.js.map → chunk-AR5CF3IN.js.map} +1 -1
  32. package/dist/{chunk-QDVYP2T7.js → chunk-BAZHNX5P.js} +8 -8
  33. package/dist/{chunk-QDVYP2T7.js.map → chunk-BAZHNX5P.js.map} +1 -1
  34. package/dist/{chunk-O3ULBGV6.cjs → chunk-BC2VKOH4.cjs} +43 -21
  35. package/dist/chunk-BC2VKOH4.cjs.map +1 -0
  36. package/dist/{chunk-5UQ5TB6J.js → chunk-BCUKD2XG.js} +59 -19
  37. package/dist/chunk-BCUKD2XG.js.map +1 -0
  38. package/dist/{chunk-67LM2UCT.js → chunk-CBQ6WDUJ.js} +5 -5
  39. package/dist/{chunk-67LM2UCT.js.map → chunk-CBQ6WDUJ.js.map} +1 -1
  40. package/dist/chunk-CBVHOGXX.cjs +674 -0
  41. package/dist/chunk-CBVHOGXX.cjs.map +1 -0
  42. package/dist/{chunk-O5BQBZEF.cjs → chunk-CBY37FTP.cjs} +28 -28
  43. package/dist/{chunk-O5BQBZEF.cjs.map → chunk-CBY37FTP.cjs.map} +1 -1
  44. package/dist/{chunk-3IP3DZ7G.js → chunk-D2IFWD7A.js} +285 -124
  45. package/dist/chunk-D2IFWD7A.js.map +1 -0
  46. package/dist/{chunk-JAGQZZ43.cjs → chunk-DDK3URK2.cjs} +636 -313
  47. package/dist/chunk-DDK3URK2.cjs.map +1 -0
  48. package/dist/chunk-DRJTNGI4.cjs +263 -0
  49. package/dist/chunk-DRJTNGI4.cjs.map +1 -0
  50. package/dist/{chunk-72E3YF6A.cjs → chunk-EMLEZXTQ.cjs} +15 -12
  51. package/dist/chunk-EMLEZXTQ.cjs.map +1 -0
  52. package/dist/{chunk-YPLZDWG7.js → chunk-FJEVLHJT.js} +3 -2
  53. package/dist/chunk-FJEVLHJT.js.map +1 -0
  54. package/dist/{chunk-53SZJCBX.cjs → chunk-GXMJ5URG.cjs} +25 -25
  55. package/dist/{chunk-53SZJCBX.cjs.map → chunk-GXMJ5URG.cjs.map} +1 -1
  56. package/dist/chunk-H2NHG7QL.cjs +32 -0
  57. package/dist/chunk-H2NHG7QL.cjs.map +1 -0
  58. package/dist/chunk-HAYBGFPA.js +259 -0
  59. package/dist/chunk-HAYBGFPA.js.map +1 -0
  60. package/dist/{chunk-AYBJ5GAD.js → chunk-IHISDRFV.js} +124 -50
  61. package/dist/chunk-IHISDRFV.js.map +1 -0
  62. package/dist/{chunk-DBW6S25C.cjs → chunk-IRTICXRZ.cjs} +101 -61
  63. package/dist/chunk-IRTICXRZ.cjs.map +1 -0
  64. package/dist/{chunk-ETWAR2YE.cjs → chunk-LOV5NNGK.cjs} +811 -1235
  65. package/dist/chunk-LOV5NNGK.cjs.map +1 -0
  66. package/dist/{chunk-QF4MHFSU.js → chunk-NGWTSHNA.js} +470 -152
  67. package/dist/chunk-NGWTSHNA.js.map +1 -0
  68. package/dist/{chunk-72YCRTEX.cjs → chunk-O2CAMK4A.cjs} +13 -2
  69. package/dist/chunk-O2CAMK4A.cjs.map +1 -0
  70. package/dist/{chunk-GELVUDUY.js → chunk-O7M7DR4E.js} +3 -3
  71. package/dist/{chunk-GELVUDUY.js.map → chunk-O7M7DR4E.js.map} +1 -1
  72. package/dist/chunk-OTIGV7CL.js +10215 -0
  73. package/dist/chunk-OTIGV7CL.js.map +1 -0
  74. package/dist/{chunk-4AT6YQKZ.js → chunk-QXL3F3T2.js} +7 -4
  75. package/dist/chunk-QXL3F3T2.js.map +1 -0
  76. package/dist/{chunk-6CG7IY57.cjs → chunk-RA2CHJCY.cjs} +319 -158
  77. package/dist/chunk-RA2CHJCY.cjs.map +1 -0
  78. package/dist/chunk-RMV5HJM7.cjs +10237 -0
  79. package/dist/chunk-RMV5HJM7.cjs.map +1 -0
  80. package/dist/{chunk-FPDJ4XN6.cjs → chunk-S23TNDXG.cjs} +125 -51
  81. package/dist/chunk-S23TNDXG.cjs.map +1 -0
  82. package/dist/{chunk-OOUFPYSX.cjs → chunk-SSB4AVHU.cjs} +17 -17
  83. package/dist/{chunk-OOUFPYSX.cjs.map → chunk-SSB4AVHU.cjs.map} +1 -1
  84. package/dist/{chunk-TRUNX3AX.cjs → chunk-T2LVULCK.cjs} +31 -31
  85. package/dist/chunk-T2LVULCK.cjs.map +1 -0
  86. package/dist/{chunk-LDXKZYOV.js → chunk-XJB7J4UT.js} +30 -8
  87. package/dist/chunk-XJB7J4UT.js.map +1 -0
  88. package/dist/chunk-YV43YEZ6.js +598 -0
  89. package/dist/chunk-YV43YEZ6.js.map +1 -0
  90. package/dist/{chunk-Y36Y5MTD.js → chunk-ZGIVAQRI.js} +13 -3
  91. package/dist/chunk-ZGIVAQRI.js.map +1 -0
  92. package/dist/error/index.cjs +6 -6
  93. package/dist/error/index.d.ts +1 -0
  94. package/dist/error/index.d.ts.map +1 -1
  95. package/dist/error/index.js +1 -1
  96. package/dist/evals/index.cjs +49 -9
  97. package/dist/evals/index.js +2 -2
  98. package/dist/evals/scoreTraces/index.cjs +70 -22
  99. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  100. package/dist/evals/scoreTraces/index.js +63 -15
  101. package/dist/evals/scoreTraces/index.js.map +1 -1
  102. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  103. package/dist/evals/scoreTraces/utils.d.ts.map +1 -1
  104. package/dist/evals/types.d.ts +568 -116
  105. package/dist/evals/types.d.ts.map +1 -1
  106. package/dist/index.cjs +2 -2
  107. package/dist/index.js +1 -1
  108. package/dist/integration/index.cjs +2 -2
  109. package/dist/integration/index.js +1 -1
  110. package/dist/llm/index.cjs +20 -20
  111. package/dist/llm/index.js +4 -4
  112. package/dist/llm/model/aisdk/v6/model.d.ts +1 -9
  113. package/dist/llm/model/aisdk/v6/model.d.ts.map +1 -1
  114. package/dist/llm/model/embedding-router.d.ts +1 -1
  115. package/dist/llm/model/model.d.ts.map +1 -1
  116. package/dist/llm/model/model.loop.d.ts.map +1 -1
  117. package/dist/llm/model/provider-options.d.ts +2 -1
  118. package/dist/llm/model/provider-options.d.ts.map +1 -1
  119. package/dist/llm/model/provider-types.generated.d.ts +42 -17
  120. package/dist/loop/index.cjs +2 -2
  121. package/dist/loop/index.js +1 -1
  122. package/dist/loop/network/index.d.ts +6 -6
  123. package/dist/loop/test-utils/MastraLanguageModelV3Mock.d.ts +1 -9
  124. package/dist/loop/test-utils/MastraLanguageModelV3Mock.d.ts.map +1 -1
  125. package/dist/loop/types.d.ts +5 -2
  126. package/dist/loop/types.d.ts.map +1 -1
  127. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  128. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  129. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  130. package/dist/mastra/hooks.d.ts.map +1 -1
  131. package/dist/mastra/index.cjs +2 -2
  132. package/dist/mastra/index.d.ts +7 -2
  133. package/dist/mastra/index.d.ts.map +1 -1
  134. package/dist/mastra/index.js +1 -1
  135. package/dist/mcp/index.cjs +4 -4
  136. package/dist/mcp/index.js +1 -1
  137. package/dist/memory/index.cjs +26 -6
  138. package/dist/memory/index.d.ts +1 -0
  139. package/dist/memory/index.d.ts.map +1 -1
  140. package/dist/memory/index.js +1 -1
  141. package/dist/memory/memory.d.ts +9 -8
  142. package/dist/memory/memory.d.ts.map +1 -1
  143. package/dist/memory/mock.d.ts +2 -1
  144. package/dist/memory/mock.d.ts.map +1 -1
  145. package/dist/memory/types.d.ts +3 -4
  146. package/dist/memory/types.d.ts.map +1 -1
  147. package/dist/memory/working-memory-utils.d.ts +20 -0
  148. package/dist/memory/working-memory-utils.d.ts.map +1 -0
  149. package/dist/models-dev-26XLUKVK.cjs +12 -0
  150. package/dist/{models-dev-PPS7X4JM.cjs.map → models-dev-26XLUKVK.cjs.map} +1 -1
  151. package/dist/models-dev-HUFLQFPB.js +3 -0
  152. package/dist/{models-dev-E3WWI7VA.js.map → models-dev-HUFLQFPB.js.map} +1 -1
  153. package/dist/netlify-CUYK2MZ2.cjs +12 -0
  154. package/dist/{netlify-VZFM5UH3.cjs.map → netlify-CUYK2MZ2.cjs.map} +1 -1
  155. package/dist/netlify-J4QPOROO.js +3 -0
  156. package/dist/{netlify-TY656UYF.js.map → netlify-J4QPOROO.js.map} +1 -1
  157. package/dist/observability/index.cjs +14 -10
  158. package/dist/observability/index.js +1 -1
  159. package/dist/observability/types/tracing.d.ts +32 -19
  160. package/dist/observability/types/tracing.d.ts.map +1 -1
  161. package/dist/processors/index.cjs +37 -37
  162. package/dist/processors/index.d.ts +2 -0
  163. package/dist/processors/index.d.ts.map +1 -1
  164. package/dist/processors/index.js +1 -1
  165. package/dist/processors/memory/message-history.d.ts +7 -1
  166. package/dist/processors/memory/message-history.d.ts.map +1 -1
  167. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  168. package/dist/processors/processors/moderation.d.ts.map +1 -1
  169. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  170. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  171. package/dist/processors/processors/token-limiter.d.ts +5 -2
  172. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  173. package/dist/processors/runner.d.ts +2 -0
  174. package/dist/processors/runner.d.ts.map +1 -1
  175. package/dist/provider-registry-6CIGRQVZ.js +3 -0
  176. package/dist/{provider-registry-NXVD764B.js.map → provider-registry-6CIGRQVZ.js.map} +1 -1
  177. package/dist/provider-registry-7O7FJ4BS.cjs +40 -0
  178. package/dist/{provider-registry-ZIWSEUQE.cjs.map → provider-registry-7O7FJ4BS.cjs.map} +1 -1
  179. package/dist/provider-registry.json +120 -46
  180. package/dist/relevance/index.cjs +3 -3
  181. package/dist/relevance/index.js +1 -1
  182. package/dist/server/index.cjs +5 -5
  183. package/dist/server/index.js +1 -1
  184. package/dist/storage/base.d.ts +40 -292
  185. package/dist/storage/base.d.ts.map +1 -1
  186. package/dist/storage/constants.cjs +60 -0
  187. package/dist/storage/constants.cjs.map +1 -0
  188. package/dist/storage/constants.d.ts +6 -1
  189. package/dist/storage/constants.d.ts.map +1 -1
  190. package/dist/storage/constants.js +3 -0
  191. package/dist/storage/constants.js.map +1 -0
  192. package/dist/storage/domains/agents/base.d.ts +2 -2
  193. package/dist/storage/domains/agents/base.d.ts.map +1 -1
  194. package/dist/storage/domains/agents/inmemory.d.ts +5 -4
  195. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -1
  196. package/dist/storage/domains/base.d.ts +20 -0
  197. package/dist/storage/domains/base.d.ts.map +1 -0
  198. package/dist/storage/domains/index.d.ts +3 -0
  199. package/dist/storage/domains/index.d.ts.map +1 -1
  200. package/dist/storage/domains/inmemory-db.d.ts +57 -0
  201. package/dist/storage/domains/inmemory-db.d.ts.map +1 -0
  202. package/dist/storage/domains/memory/base.d.ts +2 -2
  203. package/dist/storage/domains/memory/base.d.ts.map +1 -1
  204. package/dist/storage/domains/memory/inmemory.d.ts +5 -13
  205. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  206. package/dist/storage/domains/observability/base.d.ts +24 -29
  207. package/dist/storage/domains/observability/base.d.ts.map +1 -1
  208. package/dist/storage/domains/observability/index.d.ts +1 -0
  209. package/dist/storage/domains/observability/index.d.ts.map +1 -1
  210. package/dist/storage/domains/observability/inmemory.d.ts +46 -35
  211. package/dist/storage/domains/observability/inmemory.d.ts.map +1 -1
  212. package/dist/storage/domains/observability/types.d.ts +2365 -0
  213. package/dist/storage/domains/observability/types.d.ts.map +1 -0
  214. package/dist/storage/domains/scores/base.d.ts +9 -20
  215. package/dist/storage/domains/scores/base.d.ts.map +1 -1
  216. package/dist/storage/domains/scores/inmemory.d.ts +11 -22
  217. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
  218. package/dist/storage/domains/shared.d.ts +76 -0
  219. package/dist/storage/domains/shared.d.ts.map +1 -0
  220. package/dist/storage/domains/workflows/base.d.ts +4 -2
  221. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  222. package/dist/storage/domains/workflows/inmemory.d.ts +10 -9
  223. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  224. package/dist/storage/index.cjs +272 -59
  225. package/dist/storage/index.js +2 -1
  226. package/dist/storage/mock.d.ts +28 -174
  227. package/dist/storage/mock.d.ts.map +1 -1
  228. package/dist/storage/types.d.ts +39 -44
  229. package/dist/storage/types.d.ts.map +1 -1
  230. package/dist/storage/utils.d.ts +5 -0
  231. package/dist/storage/utils.d.ts.map +1 -1
  232. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  233. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  234. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  235. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  236. package/dist/stream/RunOutput.d.ts.map +1 -1
  237. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  238. package/dist/stream/base/output.d.ts.map +1 -1
  239. package/dist/stream/index.cjs +12 -12
  240. package/dist/stream/index.js +2 -2
  241. package/dist/stream/types.d.ts +3 -0
  242. package/dist/stream/types.d.ts.map +1 -1
  243. package/dist/test-utils/llm-mock.cjs +4 -4
  244. package/dist/test-utils/llm-mock.js +1 -1
  245. package/dist/tool-loop-agent/index.cjs +20 -0
  246. package/dist/tool-loop-agent/index.cjs.map +1 -0
  247. package/dist/tool-loop-agent/index.d.ts +36 -0
  248. package/dist/tool-loop-agent/index.d.ts.map +1 -0
  249. package/dist/tool-loop-agent/index.js +3 -0
  250. package/dist/tool-loop-agent/index.js.map +1 -0
  251. package/dist/tool-loop-agent/tool-loop-processor.d.ts +30 -0
  252. package/dist/tool-loop-agent/tool-loop-processor.d.ts.map +1 -0
  253. package/dist/tool-loop-agent/utils.d.ts +17 -0
  254. package/dist/tool-loop-agent/utils.d.ts.map +1 -0
  255. package/dist/tools/index.cjs +4 -4
  256. package/dist/tools/index.js +1 -1
  257. package/dist/tools/is-vercel-tool.cjs +2 -2
  258. package/dist/tools/is-vercel-tool.js +1 -1
  259. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  260. package/dist/tools/toolchecks.d.ts +1 -1
  261. package/dist/tools/toolchecks.d.ts.map +1 -1
  262. package/dist/tools/validation.d.ts +1 -1
  263. package/dist/tools/validation.d.ts.map +1 -1
  264. package/dist/utils/zod-utils.d.ts +34 -0
  265. package/dist/utils/zod-utils.d.ts.map +1 -0
  266. package/dist/utils.cjs +39 -22
  267. package/dist/utils.d.ts +1 -1
  268. package/dist/utils.d.ts.map +1 -1
  269. package/dist/utils.js +2 -1
  270. package/dist/vector/index.cjs +12 -5299
  271. package/dist/vector/index.cjs.map +1 -1
  272. package/dist/vector/index.js +3 -5274
  273. package/dist/vector/index.js.map +1 -1
  274. package/dist/vector/vector.d.ts +13 -3
  275. package/dist/vector/vector.d.ts.map +1 -1
  276. package/dist/voice/index.cjs +6 -6
  277. package/dist/voice/index.js +1 -1
  278. package/dist/workflows/default.d.ts +2 -0
  279. package/dist/workflows/default.d.ts.map +1 -1
  280. package/dist/workflows/evented/execution-engine.d.ts +1 -0
  281. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  282. package/dist/workflows/evented/index.cjs +10 -10
  283. package/dist/workflows/evented/index.js +1 -1
  284. package/dist/workflows/evented/step-executor.d.ts +1 -0
  285. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  286. package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
  287. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  288. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +2 -2
  289. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
  290. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
  291. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
  292. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
  293. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
  294. package/dist/workflows/evented/workflow.d.ts +5 -2
  295. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  296. package/dist/workflows/execution-engine.d.ts +1 -0
  297. package/dist/workflows/execution-engine.d.ts.map +1 -1
  298. package/dist/workflows/handlers/control-flow.d.ts +4 -0
  299. package/dist/workflows/handlers/control-flow.d.ts.map +1 -1
  300. package/dist/workflows/handlers/entry.d.ts +3 -2
  301. package/dist/workflows/handlers/entry.d.ts.map +1 -1
  302. package/dist/workflows/handlers/step.d.ts +1 -0
  303. package/dist/workflows/handlers/step.d.ts.map +1 -1
  304. package/dist/workflows/index.cjs +23 -23
  305. package/dist/workflows/index.js +1 -1
  306. package/dist/workflows/types.d.ts +23 -3
  307. package/dist/workflows/types.d.ts.map +1 -1
  308. package/dist/workflows/utils.d.ts +1 -0
  309. package/dist/workflows/utils.d.ts.map +1 -1
  310. package/dist/workflows/workflow.d.ts +22 -8
  311. package/dist/workflows/workflow.d.ts.map +1 -1
  312. package/package.json +16 -6
  313. package/src/llm/model/provider-types.generated.d.ts +42 -17
  314. package/storage/constants.d.ts +1 -0
  315. package/tool-loop-agent.d.ts +1 -0
  316. package/dist/chunk-373OC54J.js.map +0 -1
  317. package/dist/chunk-3IP3DZ7G.js.map +0 -1
  318. package/dist/chunk-4AT6YQKZ.js.map +0 -1
  319. package/dist/chunk-4CMIJQF6.js.map +0 -1
  320. package/dist/chunk-5UQ5TB6J.js.map +0 -1
  321. package/dist/chunk-6CG7IY57.cjs.map +0 -1
  322. package/dist/chunk-72E3YF6A.cjs.map +0 -1
  323. package/dist/chunk-72YCRTEX.cjs.map +0 -1
  324. package/dist/chunk-ADADLFDR.js +0 -42
  325. package/dist/chunk-ADADLFDR.js.map +0 -1
  326. package/dist/chunk-AYBJ5GAD.js.map +0 -1
  327. package/dist/chunk-DBW6S25C.cjs.map +0 -1
  328. package/dist/chunk-EGHGFLL3.cjs.map +0 -1
  329. package/dist/chunk-ETWAR2YE.cjs.map +0 -1
  330. package/dist/chunk-FPDJ4XN6.cjs.map +0 -1
  331. package/dist/chunk-GBQXIVL6.js.map +0 -1
  332. package/dist/chunk-HWMMIRIF.cjs.map +0 -1
  333. package/dist/chunk-JAGQZZ43.cjs.map +0 -1
  334. package/dist/chunk-LDXKZYOV.js.map +0 -1
  335. package/dist/chunk-O3ULBGV6.cjs.map +0 -1
  336. package/dist/chunk-QF4MHFSU.js.map +0 -1
  337. package/dist/chunk-T2VLUFGG.cjs +0 -47
  338. package/dist/chunk-T2VLUFGG.cjs.map +0 -1
  339. package/dist/chunk-TRUNX3AX.cjs.map +0 -1
  340. package/dist/chunk-VZJOEGQA.js.map +0 -1
  341. package/dist/chunk-Y36Y5MTD.js.map +0 -1
  342. package/dist/chunk-YPLZDWG7.js.map +0 -1
  343. package/dist/chunk-Z55SJVEC.cjs.map +0 -1
  344. package/dist/models-dev-E3WWI7VA.js +0 -3
  345. package/dist/models-dev-PPS7X4JM.cjs +0 -12
  346. package/dist/netlify-TY656UYF.js +0 -3
  347. package/dist/netlify-VZFM5UH3.cjs +0 -12
  348. package/dist/provider-registry-NXVD764B.js +0 -3
  349. package/dist/provider-registry-ZIWSEUQE.cjs +0 -40
@@ -0,0 +1,263 @@
1
+ 'use strict';
2
+
3
+ var chunkRMV5HJM7_cjs = require('./chunk-RMV5HJM7.cjs');
4
+ var chunkDDK3URK2_cjs = require('./chunk-DDK3URK2.cjs');
5
+ var chunkFVQTJUBD_cjs = require('./chunk-FVQTJUBD.cjs');
6
+ var chunkGXMJ5URG_cjs = require('./chunk-GXMJ5URG.cjs');
7
+
8
+ // src/tool-loop-agent/utils.ts
9
+ function isToolLoopAgentLike(obj) {
10
+ if (!obj) return false;
11
+ if (obj instanceof chunkRMV5HJM7_cjs.ToolLoopAgent) return true;
12
+ return "version" in obj && typeof obj.version === "string" && (obj.version === "agent-v1" || obj.version.startsWith("agent-v"));
13
+ }
14
+ function getSettings(agent) {
15
+ const settings = agent.settings;
16
+ if (!settings) {
17
+ throw new Error("Could not extract settings from ToolLoopAgent. The agent may be from an incompatible version.");
18
+ }
19
+ return settings;
20
+ }
21
+
22
+ // src/tool-loop-agent/tool-loop-processor.ts
23
+ var ToolLoopAgentProcessor = class {
24
+ id = "tool-loop-agent-processor";
25
+ name = "ToolLoop to Mastra Agent Processor";
26
+ agent;
27
+ settings;
28
+ prepareCallResult;
29
+ constructor(agent) {
30
+ this.agent = agent;
31
+ this.settings = getSettings(agent);
32
+ }
33
+ getAgentConfig() {
34
+ const tools = "tools" in this.agent ? this.agent.tools : void 0;
35
+ const defaultOptions = {};
36
+ if (this.settings.toolChoice) {
37
+ defaultOptions.toolChoice = this.settings.toolChoice;
38
+ }
39
+ if (this.settings.providerOptions) {
40
+ defaultOptions.providerOptions = this.settings.providerOptions;
41
+ }
42
+ if (this.settings.temperature !== void 0) {
43
+ defaultOptions.modelSettings = {
44
+ ...defaultOptions.modelSettings ?? {},
45
+ temperature: this.settings.temperature
46
+ };
47
+ }
48
+ if (this.settings.topP !== void 0) {
49
+ defaultOptions.modelSettings = { ...defaultOptions.modelSettings ?? {}, topP: this.settings.topP };
50
+ }
51
+ if (this.settings.topK !== void 0) {
52
+ defaultOptions.modelSettings = { ...defaultOptions.modelSettings ?? {}, topK: this.settings.topK };
53
+ }
54
+ if (this.settings.seed !== void 0) {
55
+ defaultOptions.modelSettings = { ...defaultOptions.modelSettings ?? {}, seed: this.settings.seed };
56
+ }
57
+ if (this.settings.maxOutputTokens !== void 0) {
58
+ defaultOptions.modelSettings = {
59
+ ...defaultOptions.modelSettings ?? {},
60
+ maxOutputTokens: this.settings.maxOutputTokens
61
+ };
62
+ }
63
+ if (this.settings.presencePenalty !== void 0) {
64
+ defaultOptions.modelSettings = {
65
+ ...defaultOptions.modelSettings ?? {},
66
+ presencePenalty: this.settings.presencePenalty
67
+ };
68
+ }
69
+ if (this.settings.frequencyPenalty !== void 0) {
70
+ defaultOptions.modelSettings = {
71
+ ...defaultOptions.modelSettings ?? {},
72
+ frequencyPenalty: this.settings.frequencyPenalty
73
+ };
74
+ }
75
+ if (this.settings.stopSequences !== void 0) {
76
+ defaultOptions.modelSettings = {
77
+ ...defaultOptions.modelSettings ?? {},
78
+ stopSequences: this.settings.stopSequences
79
+ };
80
+ }
81
+ if (this.settings.stopWhen) {
82
+ defaultOptions.stopWhen = this.settings.stopWhen;
83
+ }
84
+ if (this.settings.onStepFinish) {
85
+ defaultOptions.onStepFinish = this.settings.onStepFinish;
86
+ }
87
+ if (this.settings.onFinish) {
88
+ defaultOptions.onFinish = this.settings.onFinish;
89
+ }
90
+ return {
91
+ id: this.settings.id,
92
+ name: this.settings.id,
93
+ instructions: this.settings.instructions ?? "",
94
+ model: this.settings.model,
95
+ tools,
96
+ maxRetries: this.settings.maxRetries,
97
+ defaultOptions: Object.keys(defaultOptions).length > 0 ? defaultOptions : void 0
98
+ };
99
+ }
100
+ /**
101
+ * Maps prepareCall or prepareStep result to ProcessInputStepResult.
102
+ * Both hooks return similar structures that can override model, tools, activeTools, etc.
103
+ */
104
+ mapToProcessInputStepResult(result) {
105
+ if (!result) {
106
+ return {};
107
+ }
108
+ const stepResult = {};
109
+ if (result.model) {
110
+ stepResult.model = result.model;
111
+ }
112
+ if ("tools" in result && result.tools) {
113
+ stepResult.tools = result.tools;
114
+ }
115
+ if ("toolChoice" in result && result.toolChoice !== void 0) {
116
+ stepResult.toolChoice = result.toolChoice;
117
+ }
118
+ if (result.activeTools) {
119
+ stepResult.activeTools = result.activeTools;
120
+ }
121
+ if ("providerOptions" in result && result.providerOptions) {
122
+ stepResult.providerOptions = result.providerOptions;
123
+ }
124
+ const modelSettings = {};
125
+ if ("temperature" in result && result.temperature !== void 0) {
126
+ modelSettings.temperature = result.temperature;
127
+ }
128
+ if ("topP" in result && result.topP !== void 0) {
129
+ modelSettings.topP = result.topP;
130
+ }
131
+ if ("topK" in result && result.topK !== void 0) {
132
+ modelSettings.topK = result.topK;
133
+ }
134
+ if ("maxOutputTokens" in result && result.maxOutputTokens !== void 0) {
135
+ modelSettings.maxOutputTokens = result.maxOutputTokens;
136
+ }
137
+ if ("presencePenalty" in result && result.presencePenalty !== void 0) {
138
+ modelSettings.presencePenalty = result.presencePenalty;
139
+ }
140
+ if ("frequencyPenalty" in result && result.frequencyPenalty !== void 0) {
141
+ modelSettings.frequencyPenalty = result.frequencyPenalty;
142
+ }
143
+ if ("stopSequences" in result && result.stopSequences !== void 0) {
144
+ modelSettings.stopSequences = result.stopSequences;
145
+ }
146
+ if ("seed" in result && result.seed !== void 0) {
147
+ modelSettings.seed = result.seed;
148
+ }
149
+ if (Object.keys(modelSettings).length > 0) {
150
+ stepResult.modelSettings = modelSettings;
151
+ }
152
+ const systemContent = "instructions" in result ? result.instructions : "system" in result ? result.system : void 0;
153
+ if (systemContent) {
154
+ if (typeof systemContent === "string") {
155
+ stepResult.systemMessages = [{ role: "system", content: systemContent }];
156
+ } else if (Array.isArray(systemContent)) {
157
+ stepResult.systemMessages = systemContent.map(
158
+ (msg) => typeof msg === "string" ? { role: "system", content: msg } : msg
159
+ );
160
+ } else if (typeof systemContent === "object" && "role" in systemContent && "content" in systemContent) {
161
+ stepResult.systemMessages = [systemContent];
162
+ }
163
+ }
164
+ if ("messages" in result && result.messages && Array.isArray(result.messages)) {
165
+ stepResult.messages = result.messages;
166
+ }
167
+ return stepResult;
168
+ }
169
+ async handlePrepareCall(args) {
170
+ if (this.settings.prepareCall) {
171
+ const { model, messages, activeTools, providerOptions, modelSettings, tools } = args;
172
+ const prepareCallInput = {
173
+ // TODO: prepareCall expects messages in AI SDK format, we have them in Mastra format
174
+ messages,
175
+ model,
176
+ tools,
177
+ instructions: this.settings.instructions,
178
+ stopWhen: this.settings.stopWhen,
179
+ activeTools,
180
+ providerOptions,
181
+ // Model settings
182
+ temperature: modelSettings?.temperature,
183
+ topP: modelSettings?.topP,
184
+ topK: modelSettings?.topK,
185
+ maxOutputTokens: modelSettings?.maxOutputTokens,
186
+ presencePenalty: modelSettings?.presencePenalty,
187
+ frequencyPenalty: modelSettings?.frequencyPenalty,
188
+ stopSequences: modelSettings?.stopSequences,
189
+ seed: modelSettings?.seed
190
+ // Experimental options
191
+ // experimental_telemetry: this.settings.experimental_telemetry,
192
+ // experimental_context: this.settings.experimental_context,
193
+ // experimental_download: this.settings.experimental_download,
194
+ };
195
+ const prepareCallResult = await this.settings.prepareCall(prepareCallInput);
196
+ this.prepareCallResult = prepareCallResult;
197
+ }
198
+ }
199
+ async handlePrepareStep(args, currentResult) {
200
+ if (this.settings.prepareStep) {
201
+ const { messages, steps, stepNumber } = args;
202
+ let model = args.model;
203
+ if (currentResult.model) {
204
+ const resolvedModel = await chunkGXMJ5URG_cjs.resolveModelConfig(currentResult.model);
205
+ if (!chunkDDK3URK2_cjs.isSupportedLanguageModel(resolvedModel)) {
206
+ throw new Error("prepareStep returned an unsupported model version");
207
+ }
208
+ model = resolvedModel;
209
+ }
210
+ const prepareStepInputArgs = {
211
+ model,
212
+ // Messages are in Mastra format (MastraDBMessage[])
213
+ messages,
214
+ // Steps may have minor type differences in usage properties (inputTokenDetails/outputTokenDetails)
215
+ steps,
216
+ stepNumber,
217
+ experimental_context: void 0
218
+ };
219
+ const prepareStepResult = await this.settings.prepareStep(prepareStepInputArgs);
220
+ return prepareStepResult;
221
+ }
222
+ }
223
+ async processInputStep(args) {
224
+ const { stepNumber } = args;
225
+ if (stepNumber === 0 && this.settings.prepareCall) {
226
+ await this.handlePrepareCall(args);
227
+ }
228
+ let result = {};
229
+ if (this.prepareCallResult) {
230
+ const mappedResult = this.mapToProcessInputStepResult(this.prepareCallResult);
231
+ if (Object.keys(mappedResult).length > 0) {
232
+ result = { ...result, ...mappedResult };
233
+ }
234
+ }
235
+ if (this.settings.prepareStep) {
236
+ const prepareStepResult = await this.handlePrepareStep(args, result);
237
+ if (prepareStepResult) {
238
+ const mappedResult = this.mapToProcessInputStepResult(prepareStepResult);
239
+ result = { ...result, ...mappedResult };
240
+ }
241
+ }
242
+ return result;
243
+ }
244
+ };
245
+
246
+ // src/tool-loop-agent/index.ts
247
+ function toolLoopAgentToMastraAgent(agent, options) {
248
+ const processor = new ToolLoopAgentProcessor(agent);
249
+ const agentConfig = processor.getAgentConfig();
250
+ const id = agentConfig.id || options?.fallbackName || `tool-loop-agent-${chunkFVQTJUBD_cjs.generateId()}`;
251
+ return new chunkDDK3URK2_cjs.Agent({
252
+ ...agentConfig,
253
+ id,
254
+ name: agentConfig.name || id,
255
+ inputProcessors: [processor]
256
+ });
257
+ }
258
+
259
+ exports.getSettings = getSettings;
260
+ exports.isToolLoopAgentLike = isToolLoopAgentLike;
261
+ exports.toolLoopAgentToMastraAgent = toolLoopAgentToMastraAgent;
262
+ //# sourceMappingURL=chunk-DRJTNGI4.cjs.map
263
+ //# sourceMappingURL=chunk-DRJTNGI4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tool-loop-agent/utils.ts","../src/tool-loop-agent/tool-loop-processor.ts","../src/tool-loop-agent/index.ts"],"names":["ToolLoopAgent","resolveModelConfig","isSupportedLanguageModel","generateId","Agent"],"mappings":";;;;;;;;AAeO,SAAS,oBAAoB,GAAA,EAAoC;AACtE,EAAA,IAAI,CAAC,KAAK,OAAO,KAAA;AACjB,EAAA,IAAI,GAAA,YAAeA,iCAAe,OAAO,IAAA;AACzC,EAAA,OACE,SAAA,IAAa,GAAA,IACb,OAAO,GAAA,CAAI,OAAA,KAAY,QAAA,KACtB,GAAA,CAAI,OAAA,KAAY,UAAA,IAAc,GAAA,CAAI,OAAA,CAAQ,UAAA,CAAW,SAAS,CAAA,CAAA;AAEnE;AAMO,SAAS,YAAY,KAAA,EAAgE;AAC1F,EAAA,MAAM,WAAY,KAAA,CAAwE,QAAA;AAC1F,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,MAAM,IAAI,MAAM,+FAA+F,CAAA;AAAA,EACjH;AACA,EAAA,OAAO,QAAA;AACT;;;ACIO,IAAM,yBAAN,MAA+E;AAAA,EAC3E,EAAA,GAAK,2BAAA;AAAA,EACL,IAAA,GAAO,oCAAA;AAAA,EAER,KAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA;AAAA,EAER,YAAY,KAAA,EAA0B;AACpC,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,QAAA,GAAW,YAAyB,KAAK,CAAA;AAAA,EAChD;AAAA,EAEO,cAAA,GAAiB;AACtB,IAAA,MAAM,QAAQ,OAAA,IAAW,IAAA,CAAK,KAAA,GAAS,IAAA,CAAK,MAAwB,KAAA,GAAQ,MAAA;AAG5E,IAAA,MAAM,iBAA2E,EAAC;AAGlF,IAAA,IAAI,IAAA,CAAK,SAAS,UAAA,EAAY;AAC5B,MAAA,cAAA,CAAe,UAAA,GAAa,KAAK,QAAA,CAAS,UAAA;AAAA,IAC5C;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,eAAA,EAAiB;AACjC,MAAA,cAAA,CAAe,eAAA,GAAkB,KAAK,QAAA,CAAS,eAAA;AAAA,IACjD;AAEA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,WAAA,KAAgB,MAAA,EAAW;AAC3C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,WAAA,EAAa,KAAK,QAAA,CAAS;AAAA,OAC7B;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAA,KAAS,MAAA,EAAW;AACpC,MAAA,cAAA,CAAe,aAAA,GAAgB,EAAE,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC,EAAI,IAAA,EAAM,IAAA,CAAK,QAAA,CAAS,IAAA,EAAK;AAAA,IACrG;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAA,KAAS,MAAA,EAAW;AACpC,MAAA,cAAA,CAAe,aAAA,GAAgB,EAAE,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC,EAAI,IAAA,EAAM,IAAA,CAAK,QAAA,CAAS,IAAA,EAAK;AAAA,IACrG;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAA,KAAS,MAAA,EAAW;AACpC,MAAA,cAAA,CAAe,aAAA,GAAgB,EAAE,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC,EAAI,IAAA,EAAM,IAAA,CAAK,QAAA,CAAS,IAAA,EAAK;AAAA,IACrG;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,eAAA,KAAoB,MAAA,EAAW;AAC/C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,eAAA,EAAiB,KAAK,QAAA,CAAS;AAAA,OACjC;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,eAAA,KAAoB,MAAA,EAAW;AAC/C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,eAAA,EAAiB,KAAK,QAAA,CAAS;AAAA,OACjC;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,gBAAA,KAAqB,MAAA,EAAW;AAChD,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,gBAAA,EAAkB,KAAK,QAAA,CAAS;AAAA,OAClC;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,aAAA,KAAkB,MAAA,EAAW;AAC7C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,aAAA,EAAe,KAAK,QAAA,CAAS;AAAA,OAC/B;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,QAAA,EAAU;AAE1B,MAAA,cAAA,CAAe,QAAA,GAAW,KAAK,QAAA,CAAS,QAAA;AAAA,IAC1C;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,YAAA,EAAc;AAE9B,MAAA,cAAA,CAAe,YAAA,GAAe,KAAK,QAAA,CAAS,YAAA;AAAA,IAC9C;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,QAAA,EAAU;AAE1B,MAAA,cAAA,CAAe,QAAA,GAAW,KAAK,QAAA,CAAS,QAAA;AAAA,IAC1C;AAEA,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAK,QAAA,CAAS,EAAA;AAAA,MAClB,IAAA,EAAM,KAAK,QAAA,CAAS,EAAA;AAAA,MACpB,YAAA,EAAe,IAAA,CAAK,QAAA,CAAS,YAAA,IAAsC,EAAA;AAAA,MACnE,KAAA,EAAO,KAAK,QAAA,CAAS,KAAA;AAAA,MACrB,KAAA;AAAA,MACA,UAAA,EAAY,KAAK,QAAA,CAAS,UAAA;AAAA,MAC1B,gBAAgB,MAAA,CAAO,IAAA,CAAK,cAAc,CAAA,CAAE,MAAA,GAAS,IAAI,cAAA,GAAiB;AAAA,KAC5E;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,4BACN,MAAA,EACwB;AACxB,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,EAAC;AAAA,IACV;AAEA,IAAA,MAAM,aAAqC,EAAC;AAG5C,IAAA,IAAI,OAAO,KAAA,EAAO;AAChB,MAAA,UAAA,CAAW,QAAQ,MAAA,CAAO,KAAA;AAAA,IAC5B;AAGA,IAAA,IAAI,OAAA,IAAW,MAAA,IAAU,MAAA,CAAO,KAAA,EAAO;AACrC,MAAA,UAAA,CAAW,QAAQ,MAAA,CAAO,KAAA;AAAA,IAC5B;AAGA,IAAA,IAAI,YAAA,IAAgB,MAAA,IAAU,MAAA,CAAO,UAAA,KAAe,MAAA,EAAW;AAC7D,MAAA,UAAA,CAAW,aAAa,MAAA,CAAO,UAAA;AAAA,IACjC;AAGA,IAAA,IAAI,OAAO,WAAA,EAAa;AACtB,MAAA,UAAA,CAAW,cAAc,MAAA,CAAO,WAAA;AAAA,IAClC;AAGA,IAAA,IAAI,iBAAA,IAAqB,MAAA,IAAU,MAAA,CAAO,eAAA,EAAiB;AACzD,MAAA,UAAA,CAAW,kBAAkB,MAAA,CAAO,eAAA;AAAA,IACtC;AAGA,IAAA,MAAM,gBAAyD,EAAC;AAChE,IAAA,IAAI,aAAA,IAAiB,MAAA,IAAU,MAAA,CAAO,WAAA,KAAgB,MAAA,EAAW;AAC/D,MAAA,aAAA,CAAc,cAAc,MAAA,CAAO,WAAA;AAAA,IACrC;AACA,IAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,KAAS,MAAA,EAAW;AACjD,MAAA,aAAA,CAAc,OAAO,MAAA,CAAO,IAAA;AAAA,IAC9B;AACA,IAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,KAAS,MAAA,EAAW;AACjD,MAAA,aAAA,CAAc,OAAO,MAAA,CAAO,IAAA;AAAA,IAC9B;AACA,IAAA,IAAI,iBAAA,IAAqB,MAAA,IAAU,MAAA,CAAO,eAAA,KAAoB,MAAA,EAAW;AACvE,MAAA,aAAA,CAAc,kBAAkB,MAAA,CAAO,eAAA;AAAA,IACzC;AACA,IAAA,IAAI,iBAAA,IAAqB,MAAA,IAAU,MAAA,CAAO,eAAA,KAAoB,MAAA,EAAW;AACvE,MAAA,aAAA,CAAc,kBAAkB,MAAA,CAAO,eAAA;AAAA,IACzC;AACA,IAAA,IAAI,kBAAA,IAAsB,MAAA,IAAU,MAAA,CAAO,gBAAA,KAAqB,MAAA,EAAW;AACzE,MAAA,aAAA,CAAc,mBAAmB,MAAA,CAAO,gBAAA;AAAA,IAC1C;AACA,IAAA,IAAI,eAAA,IAAmB,MAAA,IAAU,MAAA,CAAO,aAAA,KAAkB,MAAA,EAAW;AACnE,MAAA,aAAA,CAAc,gBAAgB,MAAA,CAAO,aAAA;AAAA,IACvC;AACA,IAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,KAAS,MAAA,EAAW;AACjD,MAAA,aAAA,CAAc,OAAO,MAAA,CAAO,IAAA;AAAA,IAC9B;AAEA,IAAA,IAAI,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA,CAAE,SAAS,CAAA,EAAG;AACzC,MAAA,UAAA,CAAW,aAAA,GAAgB,aAAA;AAAA,IAC7B;AAIA,IAAA,MAAM,aAAA,GACJ,kBAAkB,MAAA,GAAS,MAAA,CAAO,eAAe,QAAA,IAAY,MAAA,GAAS,OAAO,MAAA,GAAS,MAAA;AACxF,IAAA,IAAI,aAAA,EAAe;AAEjB,MAAA,IAAI,OAAO,kBAAkB,QAAA,EAAU;AACrC,QAAA,UAAA,CAAW,iBAAiB,CAAC,EAAE,MAAM,QAAA,EAAU,OAAA,EAAS,eAAe,CAAA;AAAA,MACzE,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAG;AACvC,QAAA,UAAA,CAAW,iBAAiB,aAAA,CAAc,GAAA;AAAA,UAAI,CAAA,GAAA,KAC5C,OAAO,GAAA,KAAQ,QAAA,GAAW,EAAE,IAAA,EAAM,QAAA,EAAmB,OAAA,EAAS,GAAA,EAAI,GAAI;AAAA,SACxE;AAAA,MACF,WAAW,OAAO,aAAA,KAAkB,YAAY,MAAA,IAAU,aAAA,IAAiB,aAAa,aAAA,EAAe;AACrG,QAAA,UAAA,CAAW,cAAA,GAAiB,CAAC,aAAoD,CAAA;AAAA,MACnF;AAAA,IACF;AAIA,IAAA,IAAI,UAAA,IAAc,UAAU,MAAA,CAAO,QAAA,IAAY,MAAM,OAAA,CAAQ,MAAA,CAAO,QAAQ,CAAA,EAAG;AAG7E,MAAA,UAAA,CAAW,WAAW,MAAA,CAAO,QAAA;AAAA,IAC/B;AAEA,IAAA,OAAO,UAAA;AAAA,EACT;AAAA,EAEA,MAAc,kBAAkB,IAAA,EAA4B;AAC1D,IAAA,IAAI,IAAA,CAAK,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAU,aAAa,eAAA,EAAiB,aAAA,EAAe,OAAM,GAAI,IAAA;AAKhF,MAAA,MAAM,gBAAA,GAAqC;AAAA;AAAA,QAEzC,QAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,YAAA,EAAc,KAAK,QAAA,CAAS,YAAA;AAAA,QAC5B,QAAA,EAAU,KAAK,QAAA,CAAS,QAAA;AAAA,QACxB,WAAA;AAAA,QACA,eAAA;AAAA;AAAA,QAGA,aAAa,aAAA,EAAe,WAAA;AAAA,QAC5B,MAAM,aAAA,EAAe,IAAA;AAAA,QACrB,MAAM,aAAA,EAAe,IAAA;AAAA,QACrB,iBAAiB,aAAA,EAAe,eAAA;AAAA,QAChC,iBAAiB,aAAA,EAAe,eAAA;AAAA,QAChC,kBAAkB,aAAA,EAAe,gBAAA;AAAA,QACjC,eAAe,aAAA,EAAe,aAAA;AAAA,QAC9B,MAAM,aAAA,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA,OAMvB;AAGA,MAAA,MAAM,iBAAA,GAAoB,MAAM,IAAA,CAAK,QAAA,CAAS,YAAY,gBAAuB,CAAA;AACjF,MAAA,IAAA,CAAK,iBAAA,GAAoB,iBAAA;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,MAAc,iBAAA,CAAkB,IAAA,EAA4B,aAAA,EAAuC;AACjG,IAAA,IAAI,IAAA,CAAK,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,UAAA,EAAW,GAAI,IAAA;AAExC,MAAA,IAAI,QAAQ,IAAA,CAAK,KAAA;AACjB,MAAA,IAAI,cAAc,KAAA,EAAO;AACvB,QAAA,MAAM,aAAA,GAAgB,MAAMC,oCAAA,CAAmB,aAAA,CAAc,KAAK,CAAA;AAClE,QAAA,IAAI,CAACC,0CAAA,CAAyB,aAAa,CAAA,EAAG;AAC5C,UAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,QACrE;AACA,QAAA,KAAA,GAAQ,aAAA;AAAA,MACV;AAOA,MAAA,MAAM,oBAAA,GAsBF;AAAA,QACF,KAAA;AAAA;AAAA,QAEA,QAAA;AAAA;AAAA,QAEA,KAAA;AAAA,QACA,UAAA;AAAA,QACA,oBAAA,EAAsB;AAAA,OACxB;AAEA,MAAA,MAAM,iBAAA,GAAoB,MAAM,IAAA,CAAK,QAAA,CAAS,YAAY,oBAAoB,CAAA;AAC9E,MAAA,OAAO,iBAAA;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,iBAAiB,IAAA,EAAgF;AACrG,IAAA,MAAM,EAAE,YAAW,GAAI,IAAA;AAEvB,IAAA,IAAI,UAAA,KAAe,CAAA,IAAK,IAAA,CAAK,QAAA,CAAS,WAAA,EAAa;AACjD,MAAA,MAAM,IAAA,CAAK,kBAAkB,IAAI,CAAA;AAAA,IACnC;AAEA,IAAA,IAAI,SAAiC,EAAC;AAGtC,IAAA,IAAI,KAAK,iBAAA,EAAmB;AAC1B,MAAA,MAAM,YAAA,GAAe,IAAA,CAAK,2BAAA,CAA4B,IAAA,CAAK,iBAAiB,CAAA;AAC5E,MAAA,IAAI,MAAA,CAAO,IAAA,CAAK,YAAY,CAAA,CAAE,SAAS,CAAA,EAAG;AACxC,QAAA,MAAA,GAAS,EAAE,GAAG,MAAA,EAAQ,GAAG,YAAA,EAAa;AAAA,MACxC;AAAA,IACF;AAIA,IAAA,IAAI,IAAA,CAAK,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,iBAAA,GAAoB,MAAM,IAAA,CAAK,iBAAA,CAAkB,MAAM,MAAM,CAAA;AACnE,MAAA,IAAI,iBAAA,EAAmB;AACrB,QAAA,MAAM,YAAA,GAAe,IAAA,CAAK,2BAAA,CAA4B,iBAAwB,CAAA;AAE9E,QAAA,MAAA,GAAS,EAAE,GAAG,MAAA,EAAQ,GAAG,YAAA,EAAa;AAAA,MACxC;AAAA,IACF;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF,CAAA;;;AC3TO,SAAS,0BAAA,CAA2B,OAA0B,OAAA,EAAqC;AACxG,EAAA,MAAM,SAAA,GAAY,IAAI,sBAAA,CAAuB,KAAK,CAAA;AAClD,EAAA,MAAM,WAAA,GAAc,UAAU,cAAA,EAAe;AAC7C,EAAA,MAAM,KAAK,WAAA,CAAY,EAAA,IAAM,SAAS,YAAA,IAAgB,CAAA,gBAAA,EAAmBC,8BAAY,CAAA,CAAA;AAErF,EAAA,OAAO,IAAIC,uBAAA,CAAM;AAAA,IACf,GAAG,WAAA;AAAA,IACH,EAAA;AAAA,IACA,IAAA,EAAM,YAAY,IAAA,IAAQ,EAAA;AAAA,IAC1B,eAAA,EAAiB,CAAC,SAAS;AAAA,GAC5B,CAAA;AACH","file":"chunk-DRJTNGI4.cjs","sourcesContent":["import { ToolLoopAgent } from '@internal/ai-v6';\nimport type { ToolLoopAgentSettings } from '@internal/ai-v6';\n\n/**\n * Shape of a ToolLoopAgent-like object for runtime extraction.\n * We use this looser type because TypeScript's structural typing doesn't work\n * well with private properties across different package declarations.\n */\nexport interface ToolLoopAgentLike {\n readonly id?: string;\n readonly version?: string;\n // The settings property is private in ToolLoopAgent but accessible at runtime\n // We don't declare it here since we access it via type casting\n}\n\nexport function isToolLoopAgentLike(obj: any): obj is ToolLoopAgentLike {\n if (!obj) return false;\n if (obj instanceof ToolLoopAgent) return true;\n return (\n 'version' in obj &&\n typeof obj.version === 'string' &&\n (obj.version === 'agent-v1' || obj.version.startsWith('agent-v'))\n );\n}\n\n/**\n * Extracts the settings from a ToolLoopAgent instance.\n * ToolLoopAgent.settings is private in TypeScript but accessible at runtime.\n */\nexport function getSettings(agent: ToolLoopAgentLike): ToolLoopAgentSettings<any, any, any> {\n const settings = (agent as unknown as { settings: ToolLoopAgentSettings<any, any, any> }).settings;\n if (!settings) {\n throw new Error('Could not extract settings from ToolLoopAgent. The agent may be from an incompatible version.');\n }\n return settings;\n}\n","import type {\n ToolLoopAgent,\n AgentCallParameters,\n ModelMessage,\n StepResult,\n ToolLoopAgentSettings,\n} from '@internal/ai-v6';\nimport { isSupportedLanguageModel } from '../agent';\nimport type { AgentExecutionOptions, AgentInstructions } from '../agent';\nimport { resolveModelConfig } from '../llm/model/resolve-model';\nimport type { MastraLanguageModel } from '../llm/model/shared.types';\nimport type { ProcessInputStepArgs, ProcessInputStepResult, Processor } from '../processors';\nimport type { OutputSchema } from '../stream';\nimport { getSettings as getToolLoopAgentSettings } from './utils';\nimport type { ToolLoopAgentLike } from './utils';\n\ntype PrepareCallInput = AgentCallParameters<never> &\n Pick<\n ToolLoopAgentSettings<never, any, any>,\n | 'model'\n | 'tools'\n | 'maxOutputTokens'\n | 'temperature'\n | 'topP'\n | 'topK'\n | 'presencePenalty'\n | 'frequencyPenalty'\n | 'stopSequences'\n | 'seed'\n | 'headers'\n | 'instructions'\n | 'stopWhen'\n | 'experimental_telemetry'\n | 'activeTools'\n | 'providerOptions'\n | 'experimental_context'\n | 'experimental_download'\n >;\n\nexport class ToolLoopAgentProcessor implements Processor<'tool-loop-agent-processor'> {\n readonly id = 'tool-loop-agent-processor';\n readonly name = 'ToolLoop to Mastra Agent Processor';\n\n private agent: ToolLoopAgentLike;\n private settings: ToolLoopAgentSettings<any, any, any>;\n private prepareCallResult?: Awaited<ReturnType<NonNullable<ToolLoopAgentSettings<any, any, any>['prepareCall']>>>;\n\n constructor(agent: ToolLoopAgentLike) {\n this.agent = agent;\n this.settings = getToolLoopAgentSettings(agent);\n }\n\n public getAgentConfig() {\n const tools = 'tools' in this.agent ? (this.agent as ToolLoopAgent).tools : undefined;\n\n // Build default options from ToolLoopAgent config params\n const defaultOptions: Omit<AgentExecutionOptions<OutputSchema>, 'abortSignal'> = {};\n\n // AgentExecutionOptions\n if (this.settings.toolChoice) {\n defaultOptions.toolChoice = this.settings.toolChoice;\n }\n if (this.settings.providerOptions) {\n defaultOptions.providerOptions = this.settings.providerOptions;\n }\n // AgentExecutionOptions[\"modelSettings\"]\n if (this.settings.temperature !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n temperature: this.settings.temperature,\n };\n }\n if (this.settings.topP !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), topP: this.settings.topP };\n }\n if (this.settings.topK !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), topK: this.settings.topK };\n }\n if (this.settings.seed !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), seed: this.settings.seed };\n }\n if (this.settings.maxOutputTokens !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n maxOutputTokens: this.settings.maxOutputTokens,\n };\n }\n if (this.settings.presencePenalty !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n presencePenalty: this.settings.presencePenalty,\n };\n }\n if (this.settings.frequencyPenalty !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n frequencyPenalty: this.settings.frequencyPenalty,\n };\n }\n if (this.settings.stopSequences !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n stopSequences: this.settings.stopSequences,\n };\n }\n if (this.settings.stopWhen) {\n // TODO: The callback signatures differ (Types of parameters stepResult and event are incompatible)\n defaultOptions.stopWhen = this.settings.stopWhen as any;\n }\n if (this.settings.onStepFinish) {\n // TODO: The callback signatures differ (Types of parameters stepResult and event are incompatible)\n defaultOptions.onStepFinish = this.settings.onStepFinish as any;\n }\n if (this.settings.onFinish) {\n // TODO: The callback signatures differ (Types of parameters 'event' and 'event' are incompatible)\n defaultOptions.onFinish = this.settings.onFinish as any;\n }\n\n return {\n id: this.settings.id,\n name: this.settings.id,\n instructions: (this.settings.instructions as AgentInstructions) ?? '',\n model: this.settings.model,\n tools,\n maxRetries: this.settings.maxRetries,\n defaultOptions: Object.keys(defaultOptions).length > 0 ? defaultOptions : undefined,\n };\n }\n\n /**\n * Maps prepareCall or prepareStep result to ProcessInputStepResult.\n * Both hooks return similar structures that can override model, tools, activeTools, etc.\n */\n private mapToProcessInputStepResult(\n result: Awaited<ReturnType<NonNullable<ToolLoopAgentSettings<any, any, any>['prepareCall']>>> | undefined,\n ): ProcessInputStepResult {\n if (!result) {\n return {};\n }\n\n const stepResult: ProcessInputStepResult = {};\n\n // Map model (both prepareCall and prepareStep can return this)\n if (result.model) {\n stepResult.model = result.model;\n }\n\n // Map tools (prepareCall can return this)\n if ('tools' in result && result.tools) {\n stepResult.tools = result.tools as Record<string, unknown>;\n }\n\n // Map toolChoice (prepareStep can return this)\n if ('toolChoice' in result && result.toolChoice !== undefined) {\n stepResult.toolChoice = result.toolChoice as ProcessInputStepResult['toolChoice'];\n }\n\n // Map activeTools (both can return this)\n if (result.activeTools) {\n stepResult.activeTools = result.activeTools as string[];\n }\n\n // Map providerOptions (prepareCall can return this)\n if ('providerOptions' in result && result.providerOptions) {\n stepResult.providerOptions = result.providerOptions;\n }\n\n // Map model settings (prepareCall can return individual settings)\n const modelSettings: ProcessInputStepResult['modelSettings'] = {};\n if ('temperature' in result && result.temperature !== undefined) {\n modelSettings.temperature = result.temperature;\n }\n if ('topP' in result && result.topP !== undefined) {\n modelSettings.topP = result.topP;\n }\n if ('topK' in result && result.topK !== undefined) {\n modelSettings.topK = result.topK;\n }\n if ('maxOutputTokens' in result && result.maxOutputTokens !== undefined) {\n modelSettings.maxOutputTokens = result.maxOutputTokens;\n }\n if ('presencePenalty' in result && result.presencePenalty !== undefined) {\n modelSettings.presencePenalty = result.presencePenalty;\n }\n if ('frequencyPenalty' in result && result.frequencyPenalty !== undefined) {\n modelSettings.frequencyPenalty = result.frequencyPenalty;\n }\n if ('stopSequences' in result && result.stopSequences !== undefined) {\n modelSettings.stopSequences = result.stopSequences;\n }\n if ('seed' in result && result.seed !== undefined) {\n modelSettings.seed = result.seed;\n }\n\n if (Object.keys(modelSettings).length > 0) {\n stepResult.modelSettings = modelSettings;\n }\n\n // Map system/instructions to systemMessages\n // prepareCall returns 'instructions', prepareStep returns 'system'\n const systemContent =\n 'instructions' in result ? result.instructions : 'system' in result ? result.system : undefined;\n if (systemContent) {\n // Convert to CoreMessageV4 format\n if (typeof systemContent === 'string') {\n stepResult.systemMessages = [{ role: 'system', content: systemContent }];\n } else if (Array.isArray(systemContent)) {\n stepResult.systemMessages = systemContent.map(msg =>\n typeof msg === 'string' ? { role: 'system' as const, content: msg } : msg,\n );\n } else if (typeof systemContent === 'object' && 'role' in systemContent && 'content' in systemContent) {\n stepResult.systemMessages = [systemContent as { role: 'system'; content: string }];\n }\n }\n\n // Map messages if prepareStep returns them\n // Convert AI SDK ModelMessage[] to MastraDBMessage[]\n if ('messages' in result && result.messages && Array.isArray(result.messages)) {\n // AI SDK v6 ModelMessage is compatible with MessageListInput at runtime\n // stepResult.messages = convertMessages(result.messages as any).to('Mastra.V2');\n stepResult.messages = result.messages as any;\n }\n\n return stepResult;\n }\n\n private async handlePrepareCall(args: ProcessInputStepArgs) {\n if (this.settings.prepareCall) {\n const { model, messages, activeTools, providerOptions, modelSettings, tools } = args;\n // TODO: This should probably happen in processInput, currently calling in processInputStep if stepNumber === 0\n\n // Build the prepareCall input object\n // AI SDK prepareCall expects: AgentCallParameters & Pick<ToolLoopAgentSettings, ...settings>\n const prepareCallInput: PrepareCallInput = {\n // TODO: prepareCall expects messages in AI SDK format, we have them in Mastra format\n messages: messages as unknown as any,\n model,\n tools,\n instructions: this.settings.instructions,\n stopWhen: this.settings.stopWhen,\n activeTools,\n providerOptions,\n\n // Model settings\n temperature: modelSettings?.temperature,\n topP: modelSettings?.topP,\n topK: modelSettings?.topK,\n maxOutputTokens: modelSettings?.maxOutputTokens,\n presencePenalty: modelSettings?.presencePenalty,\n frequencyPenalty: modelSettings?.frequencyPenalty,\n stopSequences: modelSettings?.stopSequences,\n seed: modelSettings?.seed,\n\n // Experimental options\n // experimental_telemetry: this.settings.experimental_telemetry,\n // experimental_context: this.settings.experimental_context,\n // experimental_download: this.settings.experimental_download,\n };\n\n // Call prepareCall and apply any returned overrides\n const prepareCallResult = await this.settings.prepareCall(prepareCallInput as any); // TODO: types\n this.prepareCallResult = prepareCallResult;\n }\n }\n\n private async handlePrepareStep(args: ProcessInputStepArgs, currentResult: ProcessInputStepResult) {\n if (this.settings.prepareStep) {\n const { messages, steps, stepNumber } = args;\n\n let model = args.model;\n if (currentResult.model) {\n const resolvedModel = await resolveModelConfig(currentResult.model);\n if (!isSupportedLanguageModel(resolvedModel)) {\n throw new Error('prepareStep returned an unsupported model version');\n }\n model = resolvedModel;\n }\n\n // Use the model from currentResult if prepareCall overrode it, otherwise use args.model\n\n // Note: We pass messages and steps in Mastra format rather than converting to AI SDK format.\n // This is intentional - most prepareStep callbacks only return overrides and don't inspect\n // the message content. The type casts handle the format difference at runtime.\n const prepareStepInputArgs: {\n /**\n * The steps that have been executed so far.\n */\n steps: Array<StepResult<NoInfer<any>>>;\n /**\n * The number of the step that is being executed.\n */\n stepNumber: number;\n /**\n * The model instance that is being used for this step.\n */\n model: MastraLanguageModel;\n /**\n * The messages that will be sent to the model for the current step.\n * Note: These are in Mastra format (MastraDBMessage[]), not AI SDK ModelMessage format.\n */\n messages: Array<ModelMessage>;\n /**\n * The context passed via the experimental_context setting (experimental).\n */\n experimental_context: unknown;\n } = {\n model,\n // Messages are in Mastra format (MastraDBMessage[])\n messages: messages as any,\n // Steps may have minor type differences in usage properties (inputTokenDetails/outputTokenDetails)\n steps: steps as any,\n stepNumber,\n experimental_context: undefined,\n };\n\n const prepareStepResult = await this.settings.prepareStep(prepareStepInputArgs);\n return prepareStepResult;\n }\n }\n\n async processInputStep(args: ProcessInputStepArgs): Promise<ProcessInputStepResult | undefined | void> {\n const { stepNumber } = args;\n\n if (stepNumber === 0 && this.settings.prepareCall) {\n await this.handlePrepareCall(args);\n }\n\n let result: ProcessInputStepResult = {};\n\n // Apply prepareCall result (only on step 0, already called above)\n if (this.prepareCallResult) {\n const mappedResult = this.mapToProcessInputStepResult(this.prepareCallResult);\n if (Object.keys(mappedResult).length > 0) {\n result = { ...result, ...mappedResult };\n }\n }\n\n // Apply prepareStep result (called on every step)\n // Pass the current result so prepareStep sees any overrides from prepareCall\n if (this.settings.prepareStep) {\n const prepareStepResult = await this.handlePrepareStep(args, result);\n if (prepareStepResult) {\n const mappedResult = this.mapToProcessInputStepResult(prepareStepResult as any);\n // prepareStep overrides prepareCall for this step\n result = { ...result, ...mappedResult };\n }\n }\n\n return result;\n }\n}\n","import { generateId } from '@internal/ai-sdk-v5';\nimport { Agent } from '../agent';\nimport { ToolLoopAgentProcessor } from './tool-loop-processor';\nimport type { ToolLoopAgentLike } from './utils';\nexport { type ToolLoopAgentLike, isToolLoopAgentLike, getSettings } from './utils';\n\n/**\n * Converts an AI SDK v6 ToolLoopAgent instance into a Mastra Agent.\n *\n * This enables users to create a ToolLoopAgent using AI SDK's API\n * while gaining access to Mastra features like memory, processors, scorers, and observability.\n *\n * @example\n * ```typescript\n * import { ToolLoopAgent, tool } from 'ai';\n * import { openai } from '@ai-sdk/openai';\n * import { toolLoopAgentToMastraAgent } from '@mastra/core/tool-loop-agent';\n *\n * const toolLoopAgent = new ToolLoopAgent({\n * id: 'weather-agent',\n * model: openai('gpt-4o'),\n * instructions: 'You are a helpful weather assistant.',\n * tools: { weather: weatherTool },\n * temperature: 0.7,\n * });\n *\n * const mastraAgent = toolLoopAgentToMastraAgent(toolLoopAgent);\n *\n * const result = await mastraAgent.generate({ prompt: 'What is the weather in NYC?' });\n * ```\n *\n * @param agent - The ToolLoopAgent instance\n * @param options - Optional name fallback since Mastra Agent requires id/name but ToolLoopAgent doesn't\n * @returns A Mastra Agent instance\n */\nexport function toolLoopAgentToMastraAgent(agent: ToolLoopAgentLike, options?: { fallbackName?: string }) {\n const processor = new ToolLoopAgentProcessor(agent);\n const agentConfig = processor.getAgentConfig();\n const id = agentConfig.id || options?.fallbackName || `tool-loop-agent-${generateId()}`;\n\n return new Agent({\n ...agentConfig,\n id,\n name: agentConfig.name || id,\n inputProcessors: [processor],\n });\n}\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkNESKUIRE_cjs = require('./chunk-NESKUIRE.cjs');
4
4
  var chunkNIOEY3N3_cjs = require('./chunk-NIOEY3N3.cjs');
5
- var chunkHWMMIRIF_cjs = require('./chunk-HWMMIRIF.cjs');
5
+ var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
6
6
  var uuid = require('@lukeed/uuid');
7
7
  var providerUtilsV5 = require('@ai-sdk/provider-utils-v5');
8
8
  var zod = require('zod');
@@ -70,7 +70,7 @@ function convertToDataContent(content) {
70
70
  if (content instanceof URL && content.protocol === "data:") {
71
71
  const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(content.toString());
72
72
  if (dataUrlMediaType == null || base64Content == null) {
73
- throw new chunkHWMMIRIF_cjs.MastraError({
73
+ throw new chunk4U7ZLI36_cjs.MastraError({
74
74
  id: "INVALID_DATA_URL_FORMAT",
75
75
  text: `Invalid data URL format in content ${content.toString()}`,
76
76
  domain: "LLM" /* LLM */,
@@ -346,7 +346,10 @@ function attachmentsToParts(attachments) {
346
346
  }
347
347
  switch (url.protocol) {
348
348
  case "http:":
349
- case "https:": {
349
+ case "https:":
350
+ // Cloud storage protocols supported by AI providers (e.g., Vertex AI for gs://, Bedrock for s3://)
351
+ case "gs:":
352
+ case "s3:": {
350
353
  if (attachment.contentType?.startsWith("image/")) {
351
354
  parts.push({ type: "image", image: url.toString(), mimeType: attachment.contentType });
352
355
  } else {
@@ -741,7 +744,7 @@ var downloadFromUrl = async ({ url, downloadRetries }) => {
741
744
  downloadRetries
742
745
  );
743
746
  if (!response.ok) {
744
- throw new chunkHWMMIRIF_cjs.MastraError({
747
+ throw new chunk4U7ZLI36_cjs.MastraError({
745
748
  id: "DOWNLOAD_ASSETS_FAILED",
746
749
  text: "Failed to download asset",
747
750
  domain: "LLM" /* LLM */,
@@ -753,7 +756,7 @@ var downloadFromUrl = async ({ url, downloadRetries }) => {
753
756
  mediaType: response.headers.get("content-type") ?? void 0
754
757
  };
755
758
  } catch (error) {
756
- throw new chunkHWMMIRIF_cjs.MastraError(
759
+ throw new chunk4U7ZLI36_cjs.MastraError(
757
760
  {
758
761
  id: "DOWNLOAD_ASSETS_FAILED",
759
762
  text: "Failed to download asset",
@@ -817,7 +820,7 @@ function ensureGeminiCompatibleMessages(messages) {
817
820
  const result = [...messages];
818
821
  const firstNonSystemIndex = result.findIndex((m) => m.role !== "system");
819
822
  if (firstNonSystemIndex === -1) {
820
- throw new chunkHWMMIRIF_cjs.MastraError({
823
+ throw new chunk4U7ZLI36_cjs.MastraError({
821
824
  id: "NO_USER_OR_ASSISTANT_MESSAGES",
822
825
  domain: "AGENT" /* AGENT */,
823
826
  category: "USER" /* USER */,
@@ -1667,7 +1670,7 @@ var MessageList = class _MessageList {
1667
1670
  */
1668
1671
  static mastraDBMessageSystemToV4Core(message) {
1669
1672
  if (message.role !== `system` || !message.content.content)
1670
- throw new chunkHWMMIRIF_cjs.MastraError({
1673
+ throw new chunk4U7ZLI36_cjs.MastraError({
1671
1674
  id: "INVALID_SYSTEM_MESSAGE_FORMAT",
1672
1675
  domain: "AGENT" /* AGENT */,
1673
1676
  category: "USER" /* USER */,
@@ -1697,7 +1700,7 @@ var MessageList = class _MessageList {
1697
1700
  addOne(message, messageSource) {
1698
1701
  if ((!(`content` in message) || !message.content && // allow empty strings
1699
1702
  typeof message.content !== "string") && (!(`parts` in message) || !message.parts)) {
1700
- throw new chunkHWMMIRIF_cjs.MastraError({
1703
+ throw new chunk4U7ZLI36_cjs.MastraError({
1701
1704
  id: "INVALID_MESSAGE_CONTENT",
1702
1705
  domain: "AGENT" /* AGENT */,
1703
1706
  category: "USER" /* USER */,
@@ -1716,7 +1719,7 @@ var MessageList = class _MessageList {
1716
1719
  if (isSupportedSystemFormat) {
1717
1720
  return this.addSystem(message);
1718
1721
  }
1719
- throw new chunkHWMMIRIF_cjs.MastraError({
1722
+ throw new chunk4U7ZLI36_cjs.MastraError({
1720
1723
  id: "INVALID_SYSTEM_MESSAGE_FORMAT",
1721
1724
  domain: "AGENT" /* AGENT */,
1722
1725
  category: "USER" /* USER */,
@@ -2997,7 +3000,7 @@ var MessageList = class _MessageList {
2997
3000
  mimeType = part.mediaType || "image/jpeg";
2998
3001
  data = part.image;
2999
3002
  } else {
3000
- throw new chunkHWMMIRIF_cjs.MastraError({
3003
+ throw new chunk4U7ZLI36_cjs.MastraError({
3001
3004
  id: "MASTRA_AIV5_DATA_PART_INVALID",
3002
3005
  domain: "AGENT" /* AGENT */,
3003
3006
  category: "USER" /* USER */,
@@ -3343,5 +3346,5 @@ exports.DefaultGeneratedFile = DefaultGeneratedFile;
3343
3346
  exports.DefaultGeneratedFileWithType = DefaultGeneratedFileWithType;
3344
3347
  exports.MessageList = MessageList;
3345
3348
  exports.convertMessages = convertMessages;
3346
- //# sourceMappingURL=chunk-72E3YF6A.cjs.map
3347
- //# sourceMappingURL=chunk-72E3YF6A.cjs.map
3349
+ //# sourceMappingURL=chunk-EMLEZXTQ.cjs.map
3350
+ //# sourceMappingURL=chunk-EMLEZXTQ.cjs.map