@mastra/core 1.23.0-alpha.5 → 1.23.0-alpha.6

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 (146) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/agent/agent.d.ts +13 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/browser/index.cjs +2 -2
  7. package/dist/browser/index.js +1 -1
  8. package/dist/channels/index.cjs +4 -4
  9. package/dist/channels/index.js +1 -1
  10. package/dist/{chunk-XFLQVMNH.cjs → chunk-2U4U6VZ5.cjs} +17 -17
  11. package/dist/{chunk-XFLQVMNH.cjs.map → chunk-2U4U6VZ5.cjs.map} +1 -1
  12. package/dist/{chunk-EXORPYDN.js → chunk-3632PTZF.js} +3 -3
  13. package/dist/{chunk-EXORPYDN.js.map → chunk-3632PTZF.js.map} +1 -1
  14. package/dist/{chunk-Z34TVGNZ.js → chunk-4HFYPLDG.js} +4 -4
  15. package/dist/{chunk-Z34TVGNZ.js.map → chunk-4HFYPLDG.js.map} +1 -1
  16. package/dist/{chunk-YR7XRMDN.cjs → chunk-4YNVWIVU.cjs} +6 -6
  17. package/dist/{chunk-YR7XRMDN.cjs.map → chunk-4YNVWIVU.cjs.map} +1 -1
  18. package/dist/{chunk-ZHYPWNWS.js → chunk-5A75YCEU.js} +4 -4
  19. package/dist/{chunk-ZHYPWNWS.js.map → chunk-5A75YCEU.js.map} +1 -1
  20. package/dist/{chunk-JNXWDPCZ.js → chunk-5HWO7HAZ.js} +5 -5
  21. package/dist/{chunk-JNXWDPCZ.js.map → chunk-5HWO7HAZ.js.map} +1 -1
  22. package/dist/{chunk-7STIIXEL.cjs → chunk-5QANZ2BK.cjs} +3 -3
  23. package/dist/{chunk-7STIIXEL.cjs.map → chunk-5QANZ2BK.cjs.map} +1 -1
  24. package/dist/{chunk-UENWRQLR.cjs → chunk-7IX2HSPM.cjs} +10 -10
  25. package/dist/{chunk-UENWRQLR.cjs.map → chunk-7IX2HSPM.cjs.map} +1 -1
  26. package/dist/{chunk-Z67JQNEH.cjs → chunk-ANQFQAQH.cjs} +9 -9
  27. package/dist/{chunk-Z67JQNEH.cjs.map → chunk-ANQFQAQH.cjs.map} +1 -1
  28. package/dist/{chunk-JJFGNYVY.cjs → chunk-C75GFXKY.cjs} +7 -7
  29. package/dist/{chunk-JJFGNYVY.cjs.map → chunk-C75GFXKY.cjs.map} +1 -1
  30. package/dist/{chunk-DO4JBKMT.cjs → chunk-CC3MFLBU.cjs} +65 -48
  31. package/dist/chunk-CC3MFLBU.cjs.map +1 -0
  32. package/dist/{chunk-6UQKQBIB.js → chunk-DROHSODZ.js} +3 -3
  33. package/dist/{chunk-6UQKQBIB.js.map → chunk-DROHSODZ.js.map} +1 -1
  34. package/dist/{chunk-XZCYFQ4N.cjs → chunk-GL4YWMFL.cjs} +52 -52
  35. package/dist/{chunk-XZCYFQ4N.cjs.map → chunk-GL4YWMFL.cjs.map} +1 -1
  36. package/dist/{chunk-Z63F3XHK.js → chunk-HMPIJVKP.js} +4 -4
  37. package/dist/{chunk-Z63F3XHK.js.map → chunk-HMPIJVKP.js.map} +1 -1
  38. package/dist/{chunk-QYQSXRFZ.js → chunk-IEGARNJA.js} +26 -9
  39. package/dist/chunk-IEGARNJA.js.map +1 -0
  40. package/dist/{chunk-QIJFD7ZC.js → chunk-JCQOYXXQ.js} +4 -4
  41. package/dist/{chunk-QIJFD7ZC.js.map → chunk-JCQOYXXQ.js.map} +1 -1
  42. package/dist/{chunk-QRK2HWHI.js → chunk-KTG3LQ53.js} +7 -7
  43. package/dist/{chunk-QRK2HWHI.js.map → chunk-KTG3LQ53.js.map} +1 -1
  44. package/dist/{chunk-HWAEQSOO.js → chunk-LWKTIOOF.js} +9 -9
  45. package/dist/{chunk-HWAEQSOO.js.map → chunk-LWKTIOOF.js.map} +1 -1
  46. package/dist/{chunk-4W26D7S6.cjs → chunk-MVWQJXZI.cjs} +8 -8
  47. package/dist/{chunk-4W26D7S6.cjs.map → chunk-MVWQJXZI.cjs.map} +1 -1
  48. package/dist/{chunk-L2MCWEEX.js → chunk-R6IUYM6F.js} +4 -4
  49. package/dist/{chunk-L2MCWEEX.js.map → chunk-R6IUYM6F.js.map} +1 -1
  50. package/dist/{chunk-VO6R5RZT.js → chunk-RPW62X3B.js} +6 -6
  51. package/dist/{chunk-VO6R5RZT.js.map → chunk-RPW62X3B.js.map} +1 -1
  52. package/dist/{chunk-ZCBMZ24O.js → chunk-S7ZNHYXD.js} +3 -3
  53. package/dist/{chunk-ZCBMZ24O.js.map → chunk-S7ZNHYXD.js.map} +1 -1
  54. package/dist/{chunk-JF3WPB75.cjs → chunk-SRYSJ6JO.cjs} +3 -3
  55. package/dist/{chunk-JF3WPB75.cjs.map → chunk-SRYSJ6JO.cjs.map} +1 -1
  56. package/dist/{chunk-TKH2A57J.cjs → chunk-TCQYQJ2J.cjs} +185 -185
  57. package/dist/{chunk-TKH2A57J.cjs.map → chunk-TCQYQJ2J.cjs.map} +1 -1
  58. package/dist/{chunk-TG46FM6X.js → chunk-TL3J2VET.js} +3 -3
  59. package/dist/{chunk-TG46FM6X.js.map → chunk-TL3J2VET.js.map} +1 -1
  60. package/dist/{chunk-7DONY7OL.cjs → chunk-UXGGDVFP.cjs} +4 -4
  61. package/dist/{chunk-7DONY7OL.cjs.map → chunk-UXGGDVFP.cjs.map} +1 -1
  62. package/dist/{chunk-V7AX2MSJ.cjs → chunk-XKFWMB6C.cjs} +20 -20
  63. package/dist/{chunk-V7AX2MSJ.cjs.map → chunk-XKFWMB6C.cjs.map} +1 -1
  64. package/dist/{chunk-ZUN5CMDY.cjs → chunk-YDKLT4WV.cjs} +84 -84
  65. package/dist/{chunk-ZUN5CMDY.cjs.map → chunk-YDKLT4WV.cjs.map} +1 -1
  66. package/dist/{chunk-I6XSSR4Z.js → chunk-YK65ICFP.js} +8 -8
  67. package/dist/{chunk-I6XSSR4Z.js.map → chunk-YK65ICFP.js.map} +1 -1
  68. package/dist/{chunk-FSHOQBGF.cjs → chunk-ZIHHYCR6.cjs} +16 -16
  69. package/dist/{chunk-FSHOQBGF.cjs.map → chunk-ZIHHYCR6.cjs.map} +1 -1
  70. package/dist/datasets/index.cjs +17 -17
  71. package/dist/datasets/index.js +2 -2
  72. package/dist/docs/SKILL.md +1 -1
  73. package/dist/docs/assets/SOURCE_MAP.json +328 -328
  74. package/dist/evals/index.cjs +23 -23
  75. package/dist/evals/index.js +3 -3
  76. package/dist/evals/scoreTraces/index.cjs +5 -5
  77. package/dist/evals/scoreTraces/index.js +2 -2
  78. package/dist/harness/harness.d.ts +2 -0
  79. package/dist/harness/harness.d.ts.map +1 -1
  80. package/dist/harness/index.cjs +20 -9
  81. package/dist/harness/index.cjs.map +1 -1
  82. package/dist/harness/index.js +17 -6
  83. package/dist/harness/index.js.map +1 -1
  84. package/dist/harness/types.d.ts +8 -0
  85. package/dist/harness/types.d.ts.map +1 -1
  86. package/dist/index.cjs +2 -2
  87. package/dist/index.js +1 -1
  88. package/dist/llm/index.cjs +20 -20
  89. package/dist/llm/index.js +5 -5
  90. package/dist/loop/index.cjs +14 -14
  91. package/dist/loop/index.js +1 -1
  92. package/dist/mastra/index.cjs +2 -2
  93. package/dist/mastra/index.js +1 -1
  94. package/dist/mastra-O6NVYRHB.cjs +12 -0
  95. package/dist/{mastra-VHS7LVQG.cjs.map → mastra-O6NVYRHB.cjs.map} +1 -1
  96. package/dist/mastra-RCXAXAXS.js +3 -0
  97. package/dist/{mastra-O4WWP6N5.js.map → mastra-RCXAXAXS.js.map} +1 -1
  98. package/dist/memory/index.cjs +17 -17
  99. package/dist/memory/index.js +1 -1
  100. package/dist/models-dev-65DKEQFQ.js +3 -0
  101. package/dist/{models-dev-4W7JQVWR.js.map → models-dev-65DKEQFQ.js.map} +1 -1
  102. package/dist/models-dev-LTUFE25P.cjs +12 -0
  103. package/dist/{models-dev-3IPTEPRM.cjs.map → models-dev-LTUFE25P.cjs.map} +1 -1
  104. package/dist/netlify-DS6PST2E.cjs +12 -0
  105. package/dist/{netlify-XT32D45G.cjs.map → netlify-DS6PST2E.cjs.map} +1 -1
  106. package/dist/netlify-QYOL42XI.js +3 -0
  107. package/dist/{netlify-FZBGNFDI.js.map → netlify-QYOL42XI.js.map} +1 -1
  108. package/dist/processor-provider/index.cjs +10 -10
  109. package/dist/processor-provider/index.js +1 -1
  110. package/dist/processors/index.cjs +44 -44
  111. package/dist/processors/index.js +1 -1
  112. package/dist/provider-registry-74RFCTCO.cjs +40 -0
  113. package/dist/{provider-registry-X5PBSJ2G.cjs.map → provider-registry-74RFCTCO.cjs.map} +1 -1
  114. package/dist/provider-registry-EOQ3AJZW.js +3 -0
  115. package/dist/{provider-registry-AWL2JDVF.js.map → provider-registry-EOQ3AJZW.js.map} +1 -1
  116. package/dist/relevance/index.cjs +3 -3
  117. package/dist/relevance/index.js +1 -1
  118. package/dist/storage/constants.cjs +56 -56
  119. package/dist/storage/constants.js +1 -1
  120. package/dist/storage/index.cjs +160 -160
  121. package/dist/storage/index.js +2 -2
  122. package/dist/stream/index.cjs +8 -8
  123. package/dist/stream/index.js +1 -1
  124. package/dist/test-utils/llm-mock.cjs +4 -4
  125. package/dist/test-utils/llm-mock.js +1 -1
  126. package/dist/tool-loop-agent/index.cjs +4 -4
  127. package/dist/tool-loop-agent/index.js +1 -1
  128. package/dist/utils.cjs +25 -25
  129. package/dist/utils.js +1 -1
  130. package/dist/vector/index.cjs +7 -7
  131. package/dist/vector/index.js +1 -1
  132. package/dist/workflows/evented/index.cjs +10 -10
  133. package/dist/workflows/evented/index.js +1 -1
  134. package/dist/workflows/index.cjs +24 -24
  135. package/dist/workflows/index.js +1 -1
  136. package/package.json +3 -3
  137. package/dist/chunk-DO4JBKMT.cjs.map +0 -1
  138. package/dist/chunk-QYQSXRFZ.js.map +0 -1
  139. package/dist/mastra-O4WWP6N5.js +0 -3
  140. package/dist/mastra-VHS7LVQG.cjs +0 -12
  141. package/dist/models-dev-3IPTEPRM.cjs +0 -12
  142. package/dist/models-dev-4W7JQVWR.js +0 -3
  143. package/dist/netlify-FZBGNFDI.js +0 -3
  144. package/dist/netlify-XT32D45G.cjs +0 -12
  145. package/dist/provider-registry-AWL2JDVF.js +0 -3
  146. package/dist/provider-registry-X5PBSJ2G.cjs +0 -40
@@ -1 +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;;;ACGO,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,iBAAsE,EAAC;AAG7E,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;;;AC1TO,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-JJFGNYVY.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 { 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<unknown>, '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"]}
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":"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","file":"chunk-C75GFXKY.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 { 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<unknown>, '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"]}
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
+ var chunkZCBG4ZQT_cjs = require('./chunk-ZCBG4ZQT.cjs');
3
4
  var chunkX6CDTXAM_cjs = require('./chunk-X6CDTXAM.cjs');
4
5
  var chunkRAD2NM47_cjs = require('./chunk-RAD2NM47.cjs');
5
- var chunkZCBG4ZQT_cjs = require('./chunk-ZCBG4ZQT.cjs');
6
- var chunkFSHOQBGF_cjs = require('./chunk-FSHOQBGF.cjs');
6
+ var chunkZIHHYCR6_cjs = require('./chunk-ZIHHYCR6.cjs');
7
7
  var chunkWAPY5X7M_cjs = require('./chunk-WAPY5X7M.cjs');
8
8
  var chunkY3APFUXZ_cjs = require('./chunk-Y3APFUXZ.cjs');
9
9
  var chunkCFMZZDO2_cjs = require('./chunk-CFMZZDO2.cjs');
10
10
  var chunkDAQ4JZQA_cjs = require('./chunk-DAQ4JZQA.cjs');
11
11
  var chunkOQDRPRKM_cjs = require('./chunk-OQDRPRKM.cjs');
12
12
  var chunkMR7ZWBL6_cjs = require('./chunk-MR7ZWBL6.cjs');
13
- var chunkZUN5CMDY_cjs = require('./chunk-ZUN5CMDY.cjs');
14
- var chunk4W26D7S6_cjs = require('./chunk-4W26D7S6.cjs');
15
- var chunk7DONY7OL_cjs = require('./chunk-7DONY7OL.cjs');
13
+ var chunkYDKLT4WV_cjs = require('./chunk-YDKLT4WV.cjs');
14
+ var chunkMVWQJXZI_cjs = require('./chunk-MVWQJXZI.cjs');
15
+ var chunkUXGGDVFP_cjs = require('./chunk-UXGGDVFP.cjs');
16
+ var chunkB4OOPFD3_cjs = require('./chunk-B4OOPFD3.cjs');
17
+ var chunk47RKHZIP_cjs = require('./chunk-47RKHZIP.cjs');
16
18
  var chunkKJBMTK5B_cjs = require('./chunk-KJBMTK5B.cjs');
17
19
  var chunkLDLHW3QN_cjs = require('./chunk-LDLHW3QN.cjs');
18
20
  var chunkXB4FLS7A_cjs = require('./chunk-XB4FLS7A.cjs');
19
- var chunkB4OOPFD3_cjs = require('./chunk-B4OOPFD3.cjs');
20
- var chunk47RKHZIP_cjs = require('./chunk-47RKHZIP.cjs');
21
21
  var chunk5WBEMKE2_cjs = require('./chunk-5WBEMKE2.cjs');
22
22
  var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
23
23
  var chunkFCQNDFEW_cjs = require('./chunk-FCQNDFEW.cjs');
@@ -2078,7 +2078,7 @@ var ProcessorRunner = class _ProcessorRunner {
2078
2078
  }
2079
2079
  const { model: _model, ...rest } = result;
2080
2080
  if (result.model) {
2081
- const resolvedModel = await chunkZUN5CMDY_cjs.resolveModelConfig(result.model);
2081
+ const resolvedModel = await chunkYDKLT4WV_cjs.resolveModelConfig(result.model);
2082
2082
  const isSupported = isSupportedLanguageModel(resolvedModel);
2083
2083
  if (!isSupported) {
2084
2084
  throw new chunk4U7ZLI36_cjs.MastraError({
@@ -6799,7 +6799,7 @@ var createTimeTravelExecutionParams = (params) => {
6799
6799
  result = void 0;
6800
6800
  }
6801
6801
  if (result) {
6802
- const formattedResult = chunk7DONY7OL_cjs.removeUndefinedValues(result);
6802
+ const formattedResult = chunkUXGGDVFP_cjs.removeUndefinedValues(result);
6803
6803
  stepResults[stepId] = formattedResult;
6804
6804
  }
6805
6805
  });
@@ -7357,7 +7357,7 @@ async function executeLoop(engine, params) {
7357
7357
  options: {
7358
7358
  type: "workflow_conditional_eval" /* WORKFLOW_CONDITIONAL_EVAL */,
7359
7359
  name: `condition: '${entry.loopType}'`,
7360
- input: chunk7DONY7OL_cjs.selectFields(result.output, ["stepResult", "output.text", "output.object", "messages"]),
7360
+ input: chunkUXGGDVFP_cjs.selectFields(result.output, ["stepResult", "output.text", "output.object", "messages"]),
7361
7361
  attributes: {
7362
7362
  conditionIndex: iteration
7363
7363
  },
@@ -12813,7 +12813,7 @@ var MastraScorer = class _MastraScorer {
12813
12813
  }
12814
12814
  });
12815
12815
  }
12816
- const resolvedModel = await chunkZUN5CMDY_cjs.resolveModelConfig(modelConfig, void 0, this.#mastra);
12816
+ const resolvedModel = await chunkYDKLT4WV_cjs.resolveModelConfig(modelConfig, void 0, this.#mastra);
12817
12817
  const judgeModel = resolvedModel.modelId;
12818
12818
  const judge = new Agent({
12819
12819
  id: "judge",
@@ -13044,7 +13044,7 @@ async function runDefaultCompletionCheck(agent, context, streamContext, abortSig
13044
13044
  Primitives already executed: ${completedPrimitives.join(", ")}` : "";
13045
13045
  const completionPrompt = `
13046
13046
  The ${context.selectedPrimitive.type} ${context.selectedPrimitive.id} has contributed to the task.
13047
- This is the result: ${chunk7DONY7OL_cjs.safeStringify(context.primitiveResult)}
13047
+ This is the result: ${chunkUXGGDVFP_cjs.safeStringify(context.primitiveResult)}
13048
13048
 
13049
13049
  ${completedSection}
13050
13050
 
@@ -13140,7 +13140,7 @@ async function generateFinalResult(agent, context, streamContext, abortSignal, o
13140
13140
  Original task: ${context.originalTask}
13141
13141
 
13142
13142
  The ${context.selectedPrimitive.type} ${context.selectedPrimitive.id} produced this result:
13143
- ${chunk7DONY7OL_cjs.safeStringify(context.primitiveResult)}
13143
+ ${chunkUXGGDVFP_cjs.safeStringify(context.primitiveResult)}
13144
13144
 
13145
13145
  IMPORTANT: If the above result is from an AGENT PRIMITIVE and it is a suitable final result itself considering the original task, then finalResult should be an empty string or undefined.
13146
13146
  You should evaluate if the above result is comprehensive enough to accomplish the user's original task.
@@ -13198,7 +13198,7 @@ async function generateStructuredFinalResult(agent, context, structuredOutputOpt
13198
13198
  Original task: ${context.originalTask}
13199
13199
 
13200
13200
  The ${context.selectedPrimitive.type} ${context.selectedPrimitive.id} produced this result:
13201
- ${chunk7DONY7OL_cjs.safeStringify(context.primitiveResult)}
13201
+ ${chunkUXGGDVFP_cjs.safeStringify(context.primitiveResult)}
13202
13202
 
13203
13203
  Based on the task and result above, generate a structured response according to the provided schema.
13204
13204
  Use the conversation history and primitive results to craft the response.
@@ -14299,7 +14299,7 @@ function createLLMExecutionStep({
14299
14299
  const convertedTools = {};
14300
14300
  for (const [name, tool2] of Object.entries(currentStep.tools)) {
14301
14301
  if (chunkLDLHW3QN_cjs.isMastraTool(tool2)) {
14302
- convertedTools[name] = chunk7DONY7OL_cjs.makeCoreTool(
14302
+ convertedTools[name] = chunkUXGGDVFP_cjs.makeCoreTool(
14303
14303
  tool2,
14304
14304
  {
14305
14305
  name,
@@ -14521,7 +14521,7 @@ Analyse the suspended tools: ${JSON.stringify(suspendedTools)}, using the messag
14521
14521
  }
14522
14522
  });
14523
14523
  let transportResolver;
14524
- if (currentStep.model instanceof chunkZUN5CMDY_cjs.ModelRouterLanguageModel) {
14524
+ if (currentStep.model instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel) {
14525
14525
  const routerModel = currentStep.model;
14526
14526
  transportResolver = () => routerModel._getStreamTransport();
14527
14527
  }
@@ -15420,7 +15420,7 @@ function createToolCallStep({
15420
15420
  }
15421
15421
  }
15422
15422
  const rawResult = await tool2.execute(args, toolOptions);
15423
- const result = chunk7DONY7OL_cjs.ensureSerializable(rawResult);
15423
+ const result = chunkUXGGDVFP_cjs.ensureSerializable(rawResult);
15424
15424
  if (tool2 && "onOutput" in tool2 && typeof tool2.onOutput === "function") {
15425
15425
  try {
15426
15426
  await tool2.onOutput({
@@ -16280,7 +16280,7 @@ var MastraLLMVNext = class extends chunkFCQNDFEW_cjs.MastraBase {
16280
16280
  const remainingTokens = parseInt(props?.response?.headers?.["x-ratelimit-remaining-tokens"] ?? "", 10);
16281
16281
  if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2e3) {
16282
16282
  this.logger.warn("Rate limit approaching, waiting 10 seconds", { runId });
16283
- await chunk7DONY7OL_cjs.delay(10 * 1e3);
16283
+ await chunkUXGGDVFP_cjs.delay(10 * 1e3);
16284
16284
  }
16285
16285
  },
16286
16286
  onFinish: async (props) => {
@@ -20544,6 +20544,23 @@ var Agent = class extends chunkFCQNDFEW_cjs.MastraBase {
20544
20544
  get browser() {
20545
20545
  return this.#browser;
20546
20546
  }
20547
+ /**
20548
+ * Sets or updates the browser instance for this agent.
20549
+ * This allows hot-swapping browser configuration without recreating the agent.
20550
+ * Browser tools will be automatically updated on the next execution.
20551
+ *
20552
+ * @param browser - The new browser instance, or undefined to disable browser tools
20553
+ */
20554
+ setBrowser(browser) {
20555
+ this.#browser = browser;
20556
+ }
20557
+ /**
20558
+ * Returns true if this agent was configured with its own browser instance.
20559
+ * Used by Harness to avoid overwriting agent-level browser configuration.
20560
+ */
20561
+ hasOwnBrowser() {
20562
+ return Boolean(this.#browser);
20563
+ }
20547
20564
  /**
20548
20565
  * Gets the skills processors to add to input processors when workspace has skills.
20549
20566
  * @internal
@@ -21350,7 +21367,7 @@ ${errorMessages}`,
21350
21367
  */
21351
21368
  listTools({ requestContext = new chunk5WBEMKE2_cjs.RequestContext() } = {}) {
21352
21369
  if (typeof this.#tools !== "function") {
21353
- return chunk7DONY7OL_cjs.ensureToolProperties(this.#tools);
21370
+ return chunkUXGGDVFP_cjs.ensureToolProperties(this.#tools);
21354
21371
  }
21355
21372
  const result = this.#tools({
21356
21373
  requestContext,
@@ -21370,7 +21387,7 @@ ${errorMessages}`,
21370
21387
  this.logger.trackException(mastraError);
21371
21388
  throw mastraError;
21372
21389
  }
21373
- return chunk7DONY7OL_cjs.ensureToolProperties(tools);
21390
+ return chunkUXGGDVFP_cjs.ensureToolProperties(tools);
21374
21391
  });
21375
21392
  }
21376
21393
  /**
@@ -21418,7 +21435,7 @@ ${errorMessages}`,
21418
21435
  });
21419
21436
  });
21420
21437
  } else {
21421
- llm = new chunk4W26D7S6_cjs.MastraLLMV1({
21438
+ llm = new chunkMVWQJXZI_cjs.MastraLLMV1({
21422
21439
  model: modelInfo,
21423
21440
  mastra: this.#mastra,
21424
21441
  options: { tracingPolicy: this.#options?.tracingPolicy }
@@ -21444,7 +21461,7 @@ ${errorMessages}`,
21444
21461
  */
21445
21462
  async resolveModelConfig(modelConfig, requestContext) {
21446
21463
  try {
21447
- return await chunkZUN5CMDY_cjs.resolveModelConfig(modelConfig, requestContext, this.#mastra);
21464
+ return await chunkYDKLT4WV_cjs.resolveModelConfig(modelConfig, requestContext, this.#mastra);
21448
21465
  } catch (error) {
21449
21466
  const mastraError = new chunk4U7ZLI36_cjs.MastraError({
21450
21467
  id: "AGENT_GET_MODEL_MISSING_MODEL_INSTANCE",
@@ -21916,7 +21933,7 @@ ${errorMessages}`,
21916
21933
  tracingPolicy: this.#options?.tracingPolicy,
21917
21934
  requireApproval: toolObj.requireApproval
21918
21935
  };
21919
- const convertedToCoreTool = chunk7DONY7OL_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
21936
+ const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
21920
21937
  convertedMemoryTools[toolName] = convertedToCoreTool;
21921
21938
  }
21922
21939
  }
@@ -21969,7 +21986,7 @@ ${errorMessages}`,
21969
21986
  requireApproval: toolObj.requireApproval,
21970
21987
  workspace
21971
21988
  };
21972
- const convertedToCoreTool = chunk7DONY7OL_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
21989
+ const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
21973
21990
  convertedWorkspaceTools[toolName] = convertedToCoreTool;
21974
21991
  }
21975
21992
  }
@@ -22010,7 +22027,7 @@ ${errorMessages}`,
22010
22027
  ...observabilityContext,
22011
22028
  tracingPolicy: this.#options?.tracingPolicy
22012
22029
  };
22013
- convertedChannelTools[toolName] = chunk7DONY7OL_cjs.makeCoreTool(
22030
+ convertedChannelTools[toolName] = chunkUXGGDVFP_cjs.makeCoreTool(
22014
22031
  tool2,
22015
22032
  options,
22016
22033
  void 0,
@@ -22067,7 +22084,7 @@ ${errorMessages}`,
22067
22084
  // Skill tools never require approval
22068
22085
  workspace
22069
22086
  };
22070
- const convertedToCoreTool = chunk7DONY7OL_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
22087
+ const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
22071
22088
  convertedSkillTools[toolName] = convertedToCoreTool;
22072
22089
  }
22073
22090
  }
@@ -22115,7 +22132,7 @@ ${errorMessages}`,
22115
22132
  tracingPolicy: this.#options?.tracingPolicy,
22116
22133
  requireApproval: toolObj.requireApproval
22117
22134
  };
22118
- const convertedToCoreTool = chunk7DONY7OL_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
22135
+ const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
22119
22136
  convertedBrowserTools[toolName] = convertedToCoreTool;
22120
22137
  }
22121
22138
  }
@@ -22348,7 +22365,7 @@ ${errorMessages}`,
22348
22365
  tracingPolicy: this.#options?.tracingPolicy,
22349
22366
  requireApproval: tool2.requireApproval
22350
22367
  };
22351
- return [k, chunk7DONY7OL_cjs.makeCoreTool(tool2, options, void 0, autoResumeSuspendedTools)];
22368
+ return [k, chunkUXGGDVFP_cjs.makeCoreTool(tool2, options, void 0, autoResumeSuspendedTools)];
22352
22369
  })
22353
22370
  );
22354
22371
  const assignedToolEntriesConverted = Object.fromEntries(
@@ -22402,7 +22419,7 @@ ${errorMessages}`,
22402
22419
  tracingPolicy: this.#options?.tracingPolicy,
22403
22420
  requireApproval: toolObj.requireApproval
22404
22421
  };
22405
- const convertedToCoreTool = chunk7DONY7OL_cjs.makeCoreTool(toolObj, options, "toolset", autoResumeSuspendedTools);
22422
+ const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, "toolset", autoResumeSuspendedTools);
22406
22423
  toolsForRequest[toolName] = convertedToCoreTool;
22407
22424
  }
22408
22425
  }
@@ -22447,7 +22464,7 @@ ${errorMessages}`,
22447
22464
  tracingPolicy: this.#options?.tracingPolicy,
22448
22465
  requireApproval: tool2.requireApproval
22449
22466
  };
22450
- const convertedToCoreTool = chunk7DONY7OL_cjs.makeCoreTool(toolRest, options, "client-tool", autoResumeSuspendedTools);
22467
+ const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolRest, options, "client-tool", autoResumeSuspendedTools);
22451
22468
  toolsForRequest[toolName] = convertedToCoreTool;
22452
22469
  }
22453
22470
  }
@@ -23167,7 +23184,7 @@ ${effectiveInstructions}`;
23167
23184
  ...observabilityContext,
23168
23185
  tracingPolicy: this.#options?.tracingPolicy
23169
23186
  };
23170
- convertedAgentTools[`agent-${agentName}`] = chunk7DONY7OL_cjs.makeCoreTool(
23187
+ convertedAgentTools[`agent-${agentName}`] = chunkUXGGDVFP_cjs.makeCoreTool(
23171
23188
  toolObj,
23172
23189
  options,
23173
23190
  void 0,
@@ -23388,7 +23405,7 @@ ${effectiveInstructions}`;
23388
23405
  ...observabilityContext,
23389
23406
  tracingPolicy: this.#options?.tracingPolicy
23390
23407
  };
23391
- convertedWorkflowTools[`workflow-${workflowName}`] = chunk7DONY7OL_cjs.makeCoreTool(
23408
+ convertedWorkflowTools[`workflow-${workflowName}`] = chunkUXGGDVFP_cjs.makeCoreTool(
23392
23409
  toolObj,
23393
23410
  options,
23394
23411
  void 0,
@@ -23420,7 +23437,7 @@ ${effectiveInstructions}`;
23420
23437
  let mastraProxy = void 0;
23421
23438
  const logger = this.logger;
23422
23439
  if (this.#mastra) {
23423
- mastraProxy = chunk7DONY7OL_cjs.createMastraProxy({ mastra: this.#mastra, logger });
23440
+ mastraProxy = chunkUXGGDVFP_cjs.createMastraProxy({ mastra: this.#mastra, logger });
23424
23441
  }
23425
23442
  const assignedTools = await this.listAssignedTools({
23426
23443
  runId,
@@ -23691,7 +23708,7 @@ ${effectiveInstructions}`;
23691
23708
  const resolvedModel = await this.resolveModelConfig(selection, requestContext);
23692
23709
  this.assertSupportsPreparedModels(resolvedModel);
23693
23710
  let headers;
23694
- if (resolvedModel instanceof chunkZUN5CMDY_cjs.ModelRouterLanguageModel) {
23711
+ if (resolvedModel instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel) {
23695
23712
  headers = resolvedModel.config?.headers;
23696
23713
  }
23697
23714
  return [
@@ -23723,7 +23740,7 @@ ${effectiveInstructions}`;
23723
23740
  throw mastraError;
23724
23741
  }
23725
23742
  let headers;
23726
- if (model instanceof chunkZUN5CMDY_cjs.ModelRouterLanguageModel) {
23743
+ if (model instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel) {
23727
23744
  headers = model.config?.headers;
23728
23745
  }
23729
23746
  return {
@@ -23784,7 +23801,7 @@ ${effectiveInstructions}`;
23784
23801
  model: options.model
23785
23802
  });
23786
23803
  const resolvedModel = llm.getModel();
23787
- const isGatewayModel = resolvedModel instanceof chunkZUN5CMDY_cjs.ModelRouterLanguageModel && resolvedModel.gatewayId === "mastra";
23804
+ const isGatewayModel = resolvedModel instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel && resolvedModel.gatewayId === "mastra";
23788
23805
  if (resourceId && threadFromArgs && !this.hasOwnMemory() && !isGatewayModel) {
23789
23806
  this.logger.warn("No memory is configured but resourceId and threadId were passed in args", { agent: this.name });
23790
23807
  }
@@ -24195,7 +24212,7 @@ ${effectiveInstructions}`;
24195
24212
  const defaultOptions = await this.getDefaultOptions({
24196
24213
  requestContext: options?.requestContext
24197
24214
  });
24198
- const mergedOptions = chunk7DONY7OL_cjs.deepMerge(
24215
+ const mergedOptions = chunkUXGGDVFP_cjs.deepMerge(
24199
24216
  defaultOptions,
24200
24217
  options ?? {}
24201
24218
  );
@@ -24266,7 +24283,7 @@ ${effectiveInstructions}`;
24266
24283
  const defaultOptions = await this.getDefaultOptions({
24267
24284
  requestContext: streamOptions?.requestContext
24268
24285
  });
24269
- const mergedOptions = chunk7DONY7OL_cjs.deepMerge(
24286
+ const mergedOptions = chunkUXGGDVFP_cjs.deepMerge(
24270
24287
  defaultOptions,
24271
24288
  streamOptions ?? {}
24272
24289
  );
@@ -24331,7 +24348,7 @@ ${effectiveInstructions}`;
24331
24348
  const defaultOptions = await this.getDefaultOptions({
24332
24349
  requestContext: streamOptions?.requestContext
24333
24350
  });
24334
- let mergedStreamOptions = chunk7DONY7OL_cjs.deepMerge(
24351
+ let mergedStreamOptions = chunkUXGGDVFP_cjs.deepMerge(
24335
24352
  defaultOptions,
24336
24353
  streamOptions ?? {}
24337
24354
  );
@@ -24397,7 +24414,7 @@ ${effectiveInstructions}`;
24397
24414
  const defaultOptions = await this.getDefaultOptions({
24398
24415
  requestContext: options?.requestContext
24399
24416
  });
24400
- const mergedOptions = chunk7DONY7OL_cjs.deepMerge(
24417
+ const mergedOptions = chunkUXGGDVFP_cjs.deepMerge(
24401
24418
  defaultOptions,
24402
24419
  options ?? {}
24403
24420
  );
@@ -27740,7 +27757,7 @@ var WorkingMemory = class {
27740
27757
  return messageList;
27741
27758
  }
27742
27759
  generateEmptyFromSchemaInternal(schema) {
27743
- const result = chunk7DONY7OL_cjs.generateEmptyFromSchema(schema);
27760
+ const result = chunkUXGGDVFP_cjs.generateEmptyFromSchema(schema);
27744
27761
  return Object.keys(result).length > 0 ? result : null;
27745
27762
  }
27746
27763
  getWorkingMemoryToolInstruction({
@@ -28385,7 +28402,7 @@ https://mastra.ai/en/docs/memory/semantic-recall`
28385
28402
  );
28386
28403
  }
28387
28404
  if (typeof config.embedder === "string") {
28388
- this.embedder = new chunkZUN5CMDY_cjs.ModelRouterEmbeddingModel(config.embedder);
28405
+ this.embedder = new chunkYDKLT4WV_cjs.ModelRouterEmbeddingModel(config.embedder);
28389
28406
  } else {
28390
28407
  this.embedder = config.embedder;
28391
28408
  }
@@ -28398,7 +28415,7 @@ https://mastra.ai/en/docs/memory/semantic-recall`
28398
28415
  }
28399
28416
  if (config.embedder) {
28400
28417
  if (typeof config.embedder === "string") {
28401
- this.embedder = new chunkZUN5CMDY_cjs.ModelRouterEmbeddingModel(config.embedder);
28418
+ this.embedder = new chunkYDKLT4WV_cjs.ModelRouterEmbeddingModel(config.embedder);
28402
28419
  } else {
28403
28420
  this.embedder = config.embedder;
28404
28421
  }
@@ -28438,7 +28455,7 @@ https://mastra.ai/en/docs/memory/overview`
28438
28455
  }
28439
28456
  setEmbedder(embedder, embedderOptions) {
28440
28457
  if (typeof embedder === "string") {
28441
- this.embedder = new chunkZUN5CMDY_cjs.ModelRouterEmbeddingModel(embedder);
28458
+ this.embedder = new chunkYDKLT4WV_cjs.ModelRouterEmbeddingModel(embedder);
28442
28459
  } else {
28443
28460
  this.embedder = embedder;
28444
28461
  }
@@ -28535,7 +28552,7 @@ https://mastra.ai/en/docs/memory/overview`
28535
28552
  "The threads.generateTitle option has been moved. Use the top-level generateTitle option instead."
28536
28553
  );
28537
28554
  }
28538
- const mergedConfig = chunk7DONY7OL_cjs.deepMerge(this.threadConfig, config || {});
28555
+ const mergedConfig = chunkUXGGDVFP_cjs.deepMerge(this.threadConfig, config || {});
28539
28556
  if (typeof config?.workingMemory === "object" && config.workingMemory?.schema && typeof mergedConfig.workingMemory === "object") {
28540
28557
  mergedConfig.workingMemory.schema = config.workingMemory.schema;
28541
28558
  }
@@ -28887,7 +28904,7 @@ var MockMemory = class extends MastraMemory {
28887
28904
  } = {}) {
28888
28905
  super({
28889
28906
  name: "mock",
28890
- storage: storage || new chunkFSHOQBGF_cjs.InMemoryStore(),
28907
+ storage: storage || new chunkZIHHYCR6_cjs.InMemoryStore(),
28891
28908
  options: {
28892
28909
  ...options,
28893
28910
  workingMemory: enableWorkingMemory ? { enabled: true, template: workingMemoryTemplate } : options?.workingMemory,
@@ -29204,5 +29221,5 @@ exports.validateStepRequestContext = validateStepRequestContext;
29204
29221
  exports.validateStepResumeData = validateStepResumeData;
29205
29222
  exports.validateStepStateData = validateStepStateData;
29206
29223
  exports.validateStepSuspendData = validateStepSuspendData;
29207
- //# sourceMappingURL=chunk-DO4JBKMT.cjs.map
29208
- //# sourceMappingURL=chunk-DO4JBKMT.cjs.map
29224
+ //# sourceMappingURL=chunk-CC3MFLBU.cjs.map
29225
+ //# sourceMappingURL=chunk-CC3MFLBU.cjs.map