@mastra/server 1.82.0-alpha.2 → 1.82.0

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 (265) hide show
  1. package/dist/_types/@mastra_schema-compat@1.3.17/dist/_types/{@internal_ai-sdk-v5@0.0.94 → @internal_ai-sdk-v5@0.0.95}/dist/index.d.ts +1 -1
  2. package/dist/_types/@mastra_schema-compat@1.3.17/dist/_types/{@internal_ai-v6@0.0.94 → @internal_ai-v6@0.0.95}/dist/index.d.ts +3 -3
  3. package/dist/_types/@mastra_schema-compat@1.3.17/dist/provider-compats/anthropic.d.ts +1 -1
  4. package/dist/_types/@mastra_schema-compat@1.3.17/dist/provider-compats/deepseek.d.ts +1 -1
  5. package/dist/_types/@mastra_schema-compat@1.3.17/dist/provider-compats/meta.d.ts +1 -1
  6. package/dist/_types/@mastra_schema-compat@1.3.17/dist/schema.types.d.ts +3 -3
  7. package/dist/{a2a-C_2w6OWn.js → a2a-CoiG3TAj.js} +3 -3
  8. package/dist/{a2a-C_2w6OWn.js.map → a2a-CoiG3TAj.js.map} +1 -1
  9. package/dist/{a2a-CNfj0wRr.cjs → a2a-DvqRdny6.cjs} +3 -3
  10. package/dist/{a2a-CNfj0wRr.cjs.map → a2a-DvqRdny6.cjs.map} +1 -1
  11. package/dist/{agent-builder-CrFZJ1mg.js → agent-builder-C_L1i2eE.js} +43 -40
  12. package/dist/agent-builder-C_L1i2eE.js.map +1 -0
  13. package/dist/{agent-builder-B7B1DSP9.cjs → agent-builder-D0Up9Fw1.cjs} +43 -40
  14. package/dist/agent-builder-D0Up9Fw1.cjs.map +1 -0
  15. package/dist/{agents-DPvMjiDf.js → agents-CgcW6lHt.js} +5 -4
  16. package/dist/agents-CgcW6lHt.js.map +1 -0
  17. package/dist/{agents-Cp4FBxQB.cjs → agents-DOHGWXDa.cjs} +5 -4
  18. package/dist/agents-DOHGWXDa.cjs.map +1 -0
  19. package/dist/{api-schema-manifest-BTfM-0md.js → api-schema-manifest-Ci2qUYHc.js} +2 -2
  20. package/dist/{api-schema-manifest-BTfM-0md.js.map → api-schema-manifest-Ci2qUYHc.js.map} +1 -1
  21. package/dist/{api-schema-manifest-C55f0tmn.cjs → api-schema-manifest-DCHOlOuJ.cjs} +2 -2
  22. package/dist/{api-schema-manifest-C55f0tmn.cjs.map → api-schema-manifest-DCHOlOuJ.cjs.map} +1 -1
  23. package/dist/{builder-registry-CkPRx_vx.cjs → builder-registry-D1_hGKCJ.cjs} +2 -2
  24. package/dist/{builder-registry-CkPRx_vx.cjs.map → builder-registry-D1_hGKCJ.cjs.map} +1 -1
  25. package/dist/{builder-registry-6TFaV4oT.js → builder-registry-m_gHCe12.js} +2 -2
  26. package/dist/{builder-registry-6TFaV4oT.js.map → builder-registry-m_gHCe12.js.map} +1 -1
  27. package/dist/{conversations-6DxLemUg.cjs → conversations-Ch_VuVwY.cjs} +2 -2
  28. package/dist/{conversations-6DxLemUg.cjs.map → conversations-Ch_VuVwY.cjs.map} +1 -1
  29. package/dist/{conversations-DDMCe7th.js → conversations-xS7yHuG1.js} +2 -2
  30. package/dist/{conversations-DDMCe7th.js.map → conversations-xS7yHuG1.js.map} +1 -1
  31. package/dist/{dist-CzWU4AmA.cjs → dist-BKNKucT9.cjs} +422 -286
  32. package/dist/dist-BKNKucT9.cjs.map +1 -0
  33. package/dist/{dist-DDo4vt34.js → dist-CIYZuix4.js} +422 -286
  34. package/dist/dist-CIYZuix4.js.map +1 -0
  35. package/dist/{dist-CjEJaGGe.cjs → dist-DgKeISkr.cjs} +1 -1
  36. package/dist/dist-mNQb9_wX.js +1 -0
  37. package/dist/docs/SKILL.md +1 -1
  38. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  39. package/dist/{editor-builder-BO0Pebws.cjs → editor-builder-CKfy5eZY.cjs} +2 -2
  40. package/dist/{editor-builder-BO0Pebws.cjs.map → editor-builder-CKfy5eZY.cjs.map} +1 -1
  41. package/dist/{editor-builder-CuT_ltBK.js → editor-builder-Ceen28s8.js} +2 -2
  42. package/dist/{editor-builder-CuT_ltBK.js.map → editor-builder-Ceen28s8.js.map} +1 -1
  43. package/dist/{knowledge-DykIi0wH.js → knowledge-Ba74qr0v.js} +89 -2
  44. package/dist/knowledge-Ba74qr0v.js.map +1 -0
  45. package/dist/{knowledge-qu0om3W7.cjs → knowledge-urR7FFG8.cjs} +100 -1
  46. package/dist/knowledge-urR7FFG8.cjs.map +1 -0
  47. package/dist/{plans-UPUTbvxx.cjs → plans-Djcp3C0d.cjs} +2 -2
  48. package/dist/{plans-UPUTbvxx.cjs.map → plans-Djcp3C0d.cjs.map} +1 -1
  49. package/dist/{plans-k4FuteiT.js → plans-nHOnlGzr.js} +2 -2
  50. package/dist/{plans-k4FuteiT.js.map → plans-nHOnlGzr.js.map} +1 -1
  51. package/dist/{probe-image-size-BRHrC0Va.cjs → probe-image-size-BAwk1h6w.cjs} +2 -2
  52. package/dist/{probe-image-size-BRHrC0Va.cjs.map → probe-image-size-BAwk1h6w.cjs.map} +1 -1
  53. package/dist/{probe-image-size-BmIt3CH4.js → probe-image-size-DGTRKrgq.js} +2 -2
  54. package/dist/{probe-image-size-BmIt3CH4.js.map → probe-image-size-DGTRKrgq.js.map} +1 -1
  55. package/dist/{responses-opDOcZYI.cjs → responses-BdOStKtX.cjs} +2 -2
  56. package/dist/{responses-opDOcZYI.cjs.map → responses-BdOStKtX.cjs.map} +1 -1
  57. package/dist/{responses-C8HCkptA.js → responses-CEet9y8G.js} +2 -2
  58. package/dist/{responses-C8HCkptA.js.map → responses-CEet9y8G.js.map} +1 -1
  59. package/dist/{routes-BCoCimCB.js → routes-5FpkkzND.js} +15 -13
  60. package/dist/routes-5FpkkzND.js.map +1 -0
  61. package/dist/{routes-FKc6a2N0.cjs → routes-DU_FlwJP.cjs} +15 -13
  62. package/dist/routes-DU_FlwJP.cjs.map +1 -0
  63. package/dist/{scores-CrpJomkR.js → scores-BaDFGpmr.js} +2 -2
  64. package/dist/{scores-CrpJomkR.js.map → scores-BaDFGpmr.js.map} +1 -1
  65. package/dist/{scores-CNMXAquK.cjs → scores-Bw6Tuga5.cjs} +2 -2
  66. package/dist/{scores-CNMXAquK.cjs.map → scores-Bw6Tuga5.cjs.map} +1 -1
  67. package/dist/server/handlers/a2a.cjs +1 -1
  68. package/dist/server/handlers/a2a.js +1 -1
  69. package/dist/server/handlers/agent-builder.cjs +1 -1
  70. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  71. package/dist/server/handlers/agent-builder.js +1 -1
  72. package/dist/server/handlers/agent-versions.cjs +1 -1
  73. package/dist/server/handlers/agent-versions.js +1 -1
  74. package/dist/server/handlers/agents.cjs +1 -1
  75. package/dist/server/handlers/agents.d.ts.map +1 -1
  76. package/dist/server/handlers/agents.js +1 -1
  77. package/dist/server/handlers/builder-registry.cjs +1 -1
  78. package/dist/server/handlers/builder-registry.js +1 -1
  79. package/dist/server/handlers/conversations.cjs +1 -1
  80. package/dist/server/handlers/conversations.js +1 -1
  81. package/dist/server/handlers/editor-builder.cjs +1 -1
  82. package/dist/server/handlers/editor-builder.js +1 -1
  83. package/dist/server/handlers/favorites-enrichment.cjs +1 -1
  84. package/dist/server/handlers/favorites-enrichment.js +1 -1
  85. package/dist/server/handlers/knowledge.cjs +3 -1
  86. package/dist/server/handlers/knowledge.d.ts +95 -0
  87. package/dist/server/handlers/knowledge.d.ts.map +1 -1
  88. package/dist/server/handlers/knowledge.js +1 -1
  89. package/dist/server/handlers/mcp-client-versions.cjs +1 -1
  90. package/dist/server/handlers/mcp-client-versions.js +1 -1
  91. package/dist/server/handlers/plans.cjs +1 -1
  92. package/dist/server/handlers/plans.js +1 -1
  93. package/dist/server/handlers/prompt-block-versions.cjs +1 -1
  94. package/dist/server/handlers/prompt-block-versions.js +1 -1
  95. package/dist/server/handlers/responses.cjs +1 -1
  96. package/dist/server/handlers/responses.js +1 -1
  97. package/dist/server/handlers/scorer-versions.cjs +1 -1
  98. package/dist/server/handlers/scorer-versions.js +1 -1
  99. package/dist/server/handlers/scores.cjs +1 -1
  100. package/dist/server/handlers/scores.js +1 -1
  101. package/dist/server/handlers/stored-agent-favorites.cjs +2 -2
  102. package/dist/server/handlers/stored-agent-favorites.js +2 -2
  103. package/dist/server/handlers/stored-agents.cjs +2 -2
  104. package/dist/server/handlers/stored-agents.js +2 -2
  105. package/dist/server/handlers/stored-mcp-clients.cjs +1 -1
  106. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  107. package/dist/server/handlers/stored-prompt-blocks.cjs +1 -1
  108. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  109. package/dist/server/handlers/stored-scorers.cjs +1 -1
  110. package/dist/server/handlers/stored-scorers.js +1 -1
  111. package/dist/server/handlers/stored-skill-favorites.cjs +2 -2
  112. package/dist/server/handlers/stored-skill-favorites.js +2 -2
  113. package/dist/server/handlers/stored-skills.cjs +2 -2
  114. package/dist/server/handlers/stored-skills.js +2 -2
  115. package/dist/server/handlers/stored-workspaces.cjs +1 -1
  116. package/dist/server/handlers/stored-workspaces.js +1 -1
  117. package/dist/server/handlers/system.cjs +1 -1
  118. package/dist/server/handlers/system.js +1 -1
  119. package/dist/server/handlers/tools.cjs +1 -1
  120. package/dist/server/handlers/tools.js +1 -1
  121. package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
  122. package/dist/server/handlers/validate-agent-instructions.js +1 -1
  123. package/dist/server/handlers/workflows.cjs +1 -1
  124. package/dist/server/handlers/workflows.js +1 -1
  125. package/dist/server/handlers.cjs +9 -9
  126. package/dist/server/handlers.js +9 -9
  127. package/dist/server/schemas/agents.d.ts +1 -1
  128. package/dist/server/schemas/knowledge.d.ts +29 -0
  129. package/dist/server/schemas/knowledge.d.ts.map +1 -1
  130. package/dist/server/server-adapter/index.cjs +51 -3
  131. package/dist/server/server-adapter/index.cjs.map +1 -1
  132. package/dist/server/server-adapter/index.js +51 -3
  133. package/dist/server/server-adapter/index.js.map +1 -1
  134. package/dist/server/server-adapter/routes/knowledge.d.ts +93 -0
  135. package/dist/server/server-adapter/routes/knowledge.d.ts.map +1 -1
  136. package/dist/server/utils.d.ts +13 -7
  137. package/dist/server/utils.d.ts.map +1 -1
  138. package/dist/{tools-DP3yJsX7.js → tools-BAmCNGM5.js} +3 -3
  139. package/dist/{tools-DP3yJsX7.js.map → tools-BAmCNGM5.js.map} +1 -1
  140. package/dist/{tools-C6TLcPmD.cjs → tools-CI5oeJWT.cjs} +3 -3
  141. package/dist/{tools-C6TLcPmD.cjs.map → tools-CI5oeJWT.cjs.map} +1 -1
  142. package/dist/{utils-bQ6Jhog6.cjs → utils-BhBJHsqX.cjs} +45 -24
  143. package/dist/{utils-bQ6Jhog6.cjs.map → utils-BhBJHsqX.cjs.map} +1 -1
  144. package/dist/{utils-qaBKOShQ.js → utils-Dy_dQTlK.js} +45 -24
  145. package/dist/{utils-qaBKOShQ.js.map → utils-Dy_dQTlK.js.map} +1 -1
  146. package/dist/{workflows-DrDssVnE.js → workflows-BxXS5AfE.js} +3 -3
  147. package/dist/workflows-BxXS5AfE.js.map +1 -0
  148. package/dist/{workflows-CJxQkruy.cjs → workflows-Cdi6w8JW.cjs} +3 -3
  149. package/dist/workflows-Cdi6w8JW.cjs.map +1 -0
  150. package/package.json +13 -13
  151. package/dist/agent-builder-B7B1DSP9.cjs.map +0 -1
  152. package/dist/agent-builder-CrFZJ1mg.js.map +0 -1
  153. package/dist/agents-Cp4FBxQB.cjs.map +0 -1
  154. package/dist/agents-DPvMjiDf.js.map +0 -1
  155. package/dist/dist-CzWU4AmA.cjs.map +0 -1
  156. package/dist/dist-DDo4vt34.js.map +0 -1
  157. package/dist/dist-FafoYsHK.js +0 -1
  158. package/dist/knowledge-DykIi0wH.js.map +0 -1
  159. package/dist/knowledge-qu0om3W7.cjs.map +0 -1
  160. package/dist/routes-BCoCimCB.js.map +0 -1
  161. package/dist/routes-FKc6a2N0.cjs.map +0 -1
  162. package/dist/workflows-CJxQkruy.cjs.map +0 -1
  163. package/dist/workflows-DrDssVnE.js.map +0 -1
  164. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/@internal_core@0.1.4/dist/request-context/index.d.ts +0 -0
  165. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/@internal_core@0.1.4/dist/routes/index.d.ts +0 -0
  166. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/@internal_core@0.1.4/dist/types/index.d.ts +0 -0
  167. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/checks.d.ts +0 -0
  168. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/coerce.d.ts +0 -0
  169. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/compat.d.ts +0 -0
  170. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/deep-partial.d.ts +0 -0
  171. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/errors.d.ts +0 -0
  172. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/external.d.ts +0 -0
  173. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/from-json-schema.d.ts +0 -0
  174. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/in-out.d.ts +0 -0
  175. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/index.d.ts +0 -0
  176. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/iso.d.ts +0 -0
  177. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/parse.d.ts +0 -0
  178. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/classic/schemas.d.ts +0 -0
  179. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/api.d.ts +0 -0
  180. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/checks.d.ts +0 -0
  181. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/compile.d.ts +0 -0
  182. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/core.d.ts +0 -0
  183. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/doc.d.ts +0 -0
  184. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/errors.d.ts +0 -0
  185. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/index.d.ts +0 -0
  186. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/json-schema-generator.d.ts +0 -0
  187. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/json-schema-processors.d.ts +0 -0
  188. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/json-schema.d.ts +0 -0
  189. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/memoizer.d.ts +0 -0
  190. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/parse.d.ts +0 -0
  191. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/regexes.d.ts +0 -0
  192. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/registries.d.ts +0 -0
  193. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/schemas.d.ts +0 -0
  194. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/standard-schema.d.ts +0 -0
  195. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/to-json-schema.d.ts +0 -0
  196. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/util.d.ts +0 -0
  197. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/core/versions.d.ts +0 -0
  198. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/index.d.cts +0 -0
  199. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ar.d.ts +0 -0
  200. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/az.d.ts +0 -0
  201. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/be.d.ts +0 -0
  202. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/bg.d.ts +0 -0
  203. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/bn.d.ts +0 -0
  204. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ca.d.ts +0 -0
  205. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ckb.d.ts +0 -0
  206. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/cs.d.ts +0 -0
  207. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/da.d.ts +0 -0
  208. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/de.d.ts +0 -0
  209. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/el.d.ts +0 -0
  210. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/en.d.ts +0 -0
  211. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/eo.d.ts +0 -0
  212. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/es.d.ts +0 -0
  213. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/fa.d.ts +0 -0
  214. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/fi.d.ts +0 -0
  215. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/fr-CA.d.ts +0 -0
  216. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/fr.d.ts +0 -0
  217. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/gu.d.ts +0 -0
  218. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/he.d.ts +0 -0
  219. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/hi.d.ts +0 -0
  220. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/hr.d.ts +0 -0
  221. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/hu.d.ts +0 -0
  222. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/hy.d.ts +0 -0
  223. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/id.d.ts +0 -0
  224. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/index.d.ts +0 -0
  225. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/is.d.ts +0 -0
  226. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/it.d.ts +0 -0
  227. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ja.d.ts +0 -0
  228. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ka.d.ts +0 -0
  229. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/kh.d.ts +0 -0
  230. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/km.d.ts +0 -0
  231. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/kn.d.ts +0 -0
  232. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ko.d.ts +0 -0
  233. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/lt.d.ts +0 -0
  234. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/mk.d.ts +0 -0
  235. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ms.d.ts +0 -0
  236. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ne.d.ts +0 -0
  237. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/nl.d.ts +0 -0
  238. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/nn.d.ts +0 -0
  239. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/no.d.ts +0 -0
  240. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ota.d.ts +0 -0
  241. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/pl.d.ts +0 -0
  242. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ps.d.ts +0 -0
  243. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/pt-BR.d.ts +0 -0
  244. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/pt.d.ts +0 -0
  245. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ro.d.ts +0 -0
  246. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ru.d.ts +0 -0
  247. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/sk.d.ts +0 -0
  248. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/sl.d.ts +0 -0
  249. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/sv.d.ts +0 -0
  250. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ta.d.ts +0 -0
  251. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/tg.d.ts +0 -0
  252. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/th.d.ts +0 -0
  253. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/tk.d.ts +0 -0
  254. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/tr.d.ts +0 -0
  255. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ua.d.ts +0 -0
  256. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/uk.d.ts +0 -0
  257. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/ur.d.ts +0 -0
  258. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/uz.d.ts +0 -0
  259. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/vi.d.ts +0 -0
  260. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/yo.d.ts +0 -0
  261. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/zh-CN.d.ts +0 -0
  262. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/_types/zod@4.6.7/v4/locales/zh-TW.d.ts +0 -0
  263. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/dist/routes/index.d.ts +0 -0
  264. /package/dist/_types/{@internal_voice@0.0.43 → @internal_voice@0.0.44}/package.json +0 -0
  265. /package/dist/_types/@mastra_schema-compat@1.3.17/dist/_types/{@internal_ai-sdk-v4@0.0.94 → @internal_ai-sdk-v4@0.0.95}/dist/index.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { o as __toESM$1, t as __commonJSMin$1 } from "./rolldown-runtime-CQI-hT2b.js";
2
2
  import { n as standardSchemaToJSONSchema, r as toStandardSchema$5, t as isStandardSchemaWithJSON$1 } from "./schema-Bf12g7KC-DBc4NSds.js";
3
- import "./utils-qaBKOShQ.js";
3
+ import "./utils-Dy_dQTlK.js";
4
4
  import { _ as InvalidPromptError, a as createEventSourceResponseHandler$3, b as TooManyEmbeddingValuesForCallError, c as generateId, d as parseProviderOptions$1, f as postFormDataToApi, g as APICallError$4, h as withoutTrailingSlash$3, i as createBinaryResponseHandler, l as isParsableJson, n as convertBase64ToUint8Array$1, o as createJsonErrorResponseHandler$3, p as postJsonToApi$3, r as convertUint8ArrayToBase64$2, s as createJsonResponseHandler$3, t as combineHeaders$3, u as loadApiKey, v as InvalidResponseDataError$1, x as UnsupportedFunctionalityError$1 } from "./dist-CNjm6d2Q.js";
5
5
  import { createRequire } from "module";
6
6
  import * as z4 from "zod/v4";
@@ -8654,7 +8654,7 @@ function splitLines(text) {
8654
8654
  else result.push(result.pop().slice(0, -1));
8655
8655
  return result;
8656
8656
  }
8657
- // ../memory/dist/src-Det56QOD.js
8657
+ // ../memory/dist/src-BncFunCW.js
8658
8658
  var __defProp$3 = Object.defineProperty;
8659
8659
  var __exportAll = (all, no_symbols) => {
8660
8660
  let target = {};
@@ -8666,7 +8666,7 @@ var __exportAll = (all, no_symbols) => {
8666
8666
  return target;
8667
8667
  };
8668
8668
  var marker$21 = "vercel.ai.error";
8669
- var symbol$12 = Symbol.for(marker$21);
8669
+ var symbol$25 = Symbol.for(marker$21);
8670
8670
  var _a$7;
8671
8671
  var _AISDKError = class _AISDKError extends Error {
8672
8672
  /**
@@ -8696,7 +8696,7 @@ var _AISDKError = class _AISDKError extends Error {
8696
8696
  return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
8697
8697
  }
8698
8698
  };
8699
- _a$7 = symbol$12;
8699
+ _a$7 = symbol$25;
8700
8700
  var AISDKError$3 = _AISDKError;
8701
8701
  var name$22 = "AI_APICallError";
8702
8702
  var marker2$7 = `vercel.ai.error.${name$22}`;
@@ -11406,14 +11406,14 @@ var UnsupportedModelVersionError$3 = class extends AISDKError$3 {
11406
11406
  });
11407
11407
  }
11408
11408
  };
11409
- var name$15 = "AI_InvalidArgumentError";
11410
- var marker$10 = `vercel.ai.error.${name$15}`;
11411
- var symbol$25 = Symbol.for(marker$10);
11409
+ var name$21 = "AI_InvalidArgumentError";
11410
+ var marker$10 = `vercel.ai.error.${name$21}`;
11411
+ var symbol$12 = Symbol.for(marker$10);
11412
11412
  var _a$6;
11413
11413
  var InvalidArgumentError$6 = class extends AISDKError$3 {
11414
11414
  constructor({ parameter, value, message }) {
11415
11415
  super({
11416
- name: name$15,
11416
+ name: name$21,
11417
11417
  message: `Invalid argument for parameter ${parameter}: ${message}`
11418
11418
  });
11419
11419
  this[_a$6] = true;
@@ -11424,7 +11424,7 @@ var InvalidArgumentError$6 = class extends AISDKError$3 {
11424
11424
  return AISDKError$3.hasMarker(error, marker$10);
11425
11425
  }
11426
11426
  };
11427
- _a$6 = symbol$25;
11427
+ _a$6 = symbol$12;
11428
11428
  var name2$6 = "AI_RetryError";
11429
11429
  var marker2$6 = `vercel.ai.error.${name2$6}`;
11430
11430
  var symbol2$6 = Symbol.for(marker2$6);
@@ -12314,8 +12314,8 @@ function trimStartOfStream() {
12314
12314
  return text2;
12315
12315
  };
12316
12316
  }
12317
- var marker$1$17 = "vercel.ai.error";
12318
- var symbol$1$17 = Symbol.for(marker$1$17);
12317
+ var marker$1$16 = "vercel.ai.error";
12318
+ var symbol$1$17 = Symbol.for(marker$1$16);
12319
12319
  var _a$1$2;
12320
12320
  var _b$1$4;
12321
12321
  var AISDKError$2 = class _AISDKError extends (_b$1$4 = Error, _a$1$2 = symbol$1$17, _b$1$4) {
@@ -12339,22 +12339,22 @@ var AISDKError$2 = class _AISDKError extends (_b$1$4 = Error, _a$1$2 = symbol$1$
12339
12339
  * @returns {boolean} True if the error is an AI SDK Error, false otherwise.
12340
12340
  */
12341
12341
  static isInstance(error) {
12342
- return _AISDKError.hasMarker(error, marker$1$17);
12342
+ return _AISDKError.hasMarker(error, marker$1$16);
12343
12343
  }
12344
12344
  static hasMarker(error, marker15) {
12345
12345
  const markerSymbol = Symbol.for(marker15);
12346
12346
  return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
12347
12347
  }
12348
12348
  };
12349
- var name$1$16 = "AI_APICallError";
12350
- var marker2$5 = `vercel.ai.error.${name$1$16}`;
12349
+ var name$1$15 = "AI_APICallError";
12350
+ var marker2$5 = `vercel.ai.error.${name$1$15}`;
12351
12351
  var symbol2$5 = Symbol.for(marker2$5);
12352
12352
  var _a2$5;
12353
12353
  var _b2$3;
12354
12354
  var APICallError$2 = class extends (_b2$3 = AISDKError$2, _a2$5 = symbol2$5, _b2$3) {
12355
12355
  constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
12356
12356
  super({
12357
- name: name$1$16,
12357
+ name: name$1$15,
12358
12358
  message,
12359
12359
  cause
12360
12360
  });
@@ -12693,15 +12693,15 @@ function createAbortError$2() {
12693
12693
  function extractResponseHeaders$2(response) {
12694
12694
  return Object.fromEntries([...response.headers]);
12695
12695
  }
12696
- var name$21 = "AI_DownloadError";
12697
- var marker$15 = `vercel.ai.error.${name$21}`;
12698
- var symbol$24 = Symbol.for(marker$15);
12696
+ var name$15 = "AI_DownloadError";
12697
+ var marker$20 = `vercel.ai.error.${name$15}`;
12698
+ var symbol$24 = Symbol.for(marker$20);
12699
12699
  var _a$5;
12700
12700
  var _b$5;
12701
12701
  var DownloadError$2 = class extends (_b$5 = AISDKError$2, _a$5 = symbol$24, _b$5) {
12702
12702
  constructor({ url, statusCode, statusText, cause, message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}` }) {
12703
12703
  super({
12704
- name: name$21,
12704
+ name: name$15,
12705
12705
  message,
12706
12706
  cause
12707
12707
  });
@@ -12711,7 +12711,7 @@ var DownloadError$2 = class extends (_b$5 = AISDKError$2, _a$5 = symbol$24, _b$5
12711
12711
  this.statusText = statusText;
12712
12712
  }
12713
12713
  static isInstance(error) {
12714
- return AISDKError$2.hasMarker(error, marker$15);
12714
+ return AISDKError$2.hasMarker(error, marker$20);
12715
12715
  }
12716
12716
  };
12717
12717
  var EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL$2 = /* @__PURE__ */ Symbol.for("vercel.ai.embeddingModel.maxInputBytesPerCall");
@@ -12874,7 +12874,7 @@ function withUserAgentSuffix$2(headers, ...userAgentSuffixParts) {
12874
12874
  normalizedHeaders.set("user-agent", [currentUserAgentHeader, ...userAgentSuffixParts].filter(Boolean).join(" "));
12875
12875
  return Object.fromEntries(normalizedHeaders.entries());
12876
12876
  }
12877
- var VERSION$8 = "3.0.42";
12877
+ var VERSION$8 = "3.0.43";
12878
12878
  var getOriginalFetch$3 = () => globalThis.fetch;
12879
12879
  var getFromApi$2 = async ({ url, headers = {}, successfulResponseHandler, failedResponseHandler, abortSignal, fetch = getOriginalFetch$3() }) => {
12880
12880
  try {
@@ -14308,10 +14308,10 @@ async function getVercelOidcToken$2() {
14308
14308
  if (process.env.VERCEL_OIDC_TOKEN) return process.env.VERCEL_OIDC_TOKEN ?? "";
14309
14309
  throw new Error("@vercel/oidc is not available in the vendored @internal AI packages. Provide an API key instead.");
14310
14310
  }
14311
- var symbol$22 = Symbol.for("vercel.ai.gateway.error");
14311
+ var symbol$15 = Symbol.for("vercel.ai.gateway.error");
14312
14312
  var _a$4;
14313
14313
  var _b$3;
14314
- var GatewayError$2 = class _GatewayError extends (_b$3 = Error, _a$4 = symbol$22, _b$3) {
14314
+ var GatewayError$2 = class _GatewayError extends (_b$3 = Error, _a$4 = symbol$15, _b$3) {
14315
14315
  constructor({ message, statusCode = 500, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500) }) {
14316
14316
  super(message);
14317
14317
  this[_a$4] = true;
@@ -14328,7 +14328,7 @@ var GatewayError$2 = class _GatewayError extends (_b$3 = Error, _a$4 = symbol$22
14328
14328
  return _GatewayError.hasMarker(error);
14329
14329
  }
14330
14330
  static hasMarker(error) {
14331
- return typeof error === "object" && error !== null && symbol$22 in error && error[symbol$22] === true;
14331
+ return typeof error === "object" && error !== null && symbol$15 in error && error[symbol$15] === true;
14332
14332
  }
14333
14333
  };
14334
14334
  var name$10 = "GatewayAuthenticationError";
@@ -15279,7 +15279,7 @@ async function getVercelRequestId$2() {
15279
15279
  var _a10;
15280
15280
  return (_a10 = getContext$2().headers) == null ? void 0 : _a10["x-vercel-id"];
15281
15281
  }
15282
- var VERSION$7 = "2.0.173";
15282
+ var VERSION$7 = "2.0.174";
15283
15283
  var AI_GATEWAY_PROTOCOL_VERSION$2 = "0.0.1";
15284
15284
  function createGatewayProvider$1(options = {}) {
15285
15285
  var _a10, _b10;
@@ -16313,7 +16313,7 @@ function getGlobalProvider$2() {
16313
16313
  var _a17;
16314
16314
  return (_a17 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a17 : gateway$2;
16315
16315
  }
16316
- var VERSION$6 = "5.0.282";
16316
+ var VERSION$6 = "5.0.283";
16317
16317
  var dataContentSchema$1 = z.union([
16318
16318
  z.string(),
16319
16319
  z.instanceof(Uint8Array),
@@ -17219,11 +17219,11 @@ var object$2 = ({ schema: inputSchema }) => {
17219
17219
  }
17220
17220
  };
17221
17221
  };
17222
- var marker$1$15 = "vercel.ai.error";
17223
- var symbol$1$16 = Symbol.for(marker$1$15);
17222
+ var marker$1$14 = "vercel.ai.error";
17223
+ var symbol$1$15 = Symbol.for(marker$1$14);
17224
17224
  var _a$1$1;
17225
17225
  var _b$1$1;
17226
- var AISDKError$1 = class _AISDKError extends (_b$1$1 = Error, _a$1$1 = symbol$1$16, _b$1$1) {
17226
+ var AISDKError$1 = class _AISDKError extends (_b$1$1 = Error, _a$1$1 = symbol$1$15, _b$1$1) {
17227
17227
  /**
17228
17228
  * Creates an AI SDK Error.
17229
17229
  *
@@ -17244,22 +17244,22 @@ var AISDKError$1 = class _AISDKError extends (_b$1$1 = Error, _a$1$1 = symbol$1$
17244
17244
  * @returns {boolean} True if the error is an AI SDK Error, false otherwise.
17245
17245
  */
17246
17246
  static isInstance(error) {
17247
- return _AISDKError.hasMarker(error, marker$1$15);
17247
+ return _AISDKError.hasMarker(error, marker$1$14);
17248
17248
  }
17249
17249
  static hasMarker(error, marker15) {
17250
17250
  const markerSymbol = Symbol.for(marker15);
17251
17251
  return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
17252
17252
  }
17253
17253
  };
17254
- var name$1$15 = "AI_APICallError";
17255
- var marker2$2 = `vercel.ai.error.${name$1$15}`;
17254
+ var name$1$14 = "AI_APICallError";
17255
+ var marker2$2 = `vercel.ai.error.${name$1$14}`;
17256
17256
  var symbol2$2 = Symbol.for(marker2$2);
17257
17257
  var _a2$2;
17258
17258
  var _b2$1;
17259
17259
  var APICallError$1 = class extends (_b2$1 = AISDKError$1, _a2$2 = symbol2$2, _b2$1) {
17260
17260
  constructor({ message, url, requestBodyValues, statusCode, responseHeaders, responseBody, cause, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500), data }) {
17261
17261
  super({
17262
- name: name$1$15,
17262
+ name: name$1$14,
17263
17263
  message,
17264
17264
  cause
17265
17265
  });
@@ -17615,6 +17615,8 @@ function extractResponseHeaders$1(response) {
17615
17615
  }
17616
17616
  var { btoa: btoa$2, atob: atob$4 } = globalThis;
17617
17617
  function convertUint8ArrayToBase64$1(array) {
17618
+ var _a2;
17619
+ if (typeof ((_a2 = globalThis.Buffer) == null ? void 0 : _a2.from) === "function") return globalThis.Buffer.from(array.buffer, array.byteOffset, array.byteLength).toString("base64");
17618
17620
  const chunks = [];
17619
17621
  const chunkSize = 4096;
17620
17622
  for (let i = 0; i < array.length; i += chunkSize) chunks.push(String.fromCodePoint(...array.subarray(i, i + chunkSize)));
@@ -17627,11 +17629,11 @@ async function cancelResponseBody$1(response) {
17627
17629
  } catch (e) {}
17628
17630
  }
17629
17631
  var name$19 = "AI_DownloadError";
17630
- var marker$12 = `vercel.ai.error.${name$19}`;
17631
- var symbol$20 = Symbol.for(marker$12);
17632
+ var marker$15 = `vercel.ai.error.${name$19}`;
17633
+ var symbol$21 = Symbol.for(marker$15);
17632
17634
  var _a$2;
17633
17635
  var _b$2;
17634
- var DownloadError$1 = class extends (_b$2 = AISDKError$1, _a$2 = symbol$20, _b$2) {
17636
+ var DownloadError$1 = class extends (_b$2 = AISDKError$1, _a$2 = symbol$21, _b$2) {
17635
17637
  constructor({ url, statusCode, statusText, cause, message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}` }) {
17636
17638
  super({
17637
17639
  name: name$19,
@@ -17644,7 +17646,7 @@ var DownloadError$1 = class extends (_b$2 = AISDKError$1, _a$2 = symbol$20, _b$2
17644
17646
  this.statusText = statusText;
17645
17647
  }
17646
17648
  static isInstance(error) {
17647
- return AISDKError$1.hasMarker(error, marker$12);
17649
+ return AISDKError$1.hasMarker(error, marker$15);
17648
17650
  }
17649
17651
  };
17650
17652
  function isBrowserRuntime$1(globalThisAny = globalThis) {
@@ -18074,7 +18076,7 @@ function withUserAgentSuffix$1(headers, ...userAgentSuffixParts) {
18074
18076
  normalizedHeaders.set("user-agent", [currentUserAgentHeader, ...userAgentSuffixParts].filter(Boolean).join(" "));
18075
18077
  return Object.fromEntries(normalizedHeaders.entries());
18076
18078
  }
18077
- var VERSION$5 = "4.0.62";
18079
+ var VERSION$5 = "4.0.63";
18078
18080
  var getOriginalFetch$1 = () => globalThis.fetch;
18079
18081
  var getFromApi$1 = async ({ url, headers = {}, successfulResponseHandler, failedResponseHandler, abortSignal, fetch, validateUrl, credentialedOrigin, trustedOrigin }) => {
18080
18082
  try {
@@ -19557,10 +19559,10 @@ async function getVercelOidcToken$1() {
19557
19559
  if (process.env.VERCEL_OIDC_TOKEN) return process.env.VERCEL_OIDC_TOKEN ?? "";
19558
19560
  throw new Error("@vercel/oidc is not available in the vendored @internal AI packages. Provide an API key instead.");
19559
19561
  }
19560
- var symbol$15 = Symbol.for("vercel.ai.gateway.error");
19562
+ var symbol$20 = Symbol.for("vercel.ai.gateway.error");
19561
19563
  var _a$1$3;
19562
19564
  var _b;
19563
- var GatewayError$1 = class _GatewayError extends (_b = Error, _a$1$3 = symbol$15, _b) {
19565
+ var GatewayError$1 = class _GatewayError extends (_b = Error, _a$1$3 = symbol$20, _b) {
19564
19566
  constructor({ message, statusCode = 500, cause, generationId, isRetryable = statusCode != null && (statusCode === 408 || statusCode === 409 || statusCode === 429 || statusCode >= 500) }) {
19565
19567
  super(generationId ? `${message} [${generationId}]` : message);
19566
19568
  this[_a$1$3] = true;
@@ -19578,7 +19580,7 @@ var GatewayError$1 = class _GatewayError extends (_b = Error, _a$1$3 = symbol$15
19578
19580
  return _GatewayError.hasMarker(error);
19579
19581
  }
19580
19582
  static hasMarker(error) {
19581
- return typeof error === "object" && error !== null && symbol$15 in error && error[symbol$15] === true;
19583
+ return typeof error === "object" && error !== null && symbol$20 in error && error[symbol$20] === true;
19582
19584
  }
19583
19585
  };
19584
19586
  var name$18 = "GatewayAuthenticationError";
@@ -21469,7 +21471,7 @@ async function getVercelRequestId$1() {
21469
21471
  var _a11;
21470
21472
  return (_a11 = getContext$1().headers) == null ? void 0 : _a11["x-vercel-id"];
21471
21473
  }
21472
- var VERSION$4 = "3.0.223";
21474
+ var VERSION$4 = "3.0.226";
21473
21475
  var AI_GATEWAY_PROTOCOL_VERSION$1 = "0.0.1";
21474
21476
  function createGatewayProvider(options = {}) {
21475
21477
  var _a11, _b11;
@@ -22491,8 +22493,8 @@ var __export$3 = (target, all) => {
22491
22493
  });
22492
22494
  };
22493
22495
  var name$12 = "AI_InvalidArgumentError";
22494
- var marker$19 = `vercel.ai.error.${name$12}`;
22495
- var symbol$19 = Symbol.for(marker$19);
22496
+ var marker$12 = `vercel.ai.error.${name$12}`;
22497
+ var symbol$19 = Symbol.for(marker$12);
22496
22498
  var _a;
22497
22499
  var InvalidArgumentError$2 = class extends AISDKError$1 {
22498
22500
  constructor({ parameter, value, message }) {
@@ -22505,7 +22507,7 @@ var InvalidArgumentError$2 = class extends AISDKError$1 {
22505
22507
  this.value = value;
22506
22508
  }
22507
22509
  static isInstance(error) {
22508
- return AISDKError$1.hasMarker(error, marker$19);
22510
+ return AISDKError$1.hasMarker(error, marker$12);
22509
22511
  }
22510
22512
  };
22511
22513
  _a = symbol$19;
@@ -22644,7 +22646,7 @@ function getTotalTimeoutMs(timeout) {
22644
22646
  if (typeof timeout === "number") return timeout;
22645
22647
  return timeout.totalMs;
22646
22648
  }
22647
- var VERSION$3 = "6.0.317";
22649
+ var VERSION$3 = "6.0.320";
22648
22650
  var dataContentSchema$3 = z.union([
22649
22651
  z.string(),
22650
22652
  z.instanceof(Uint8Array),
@@ -23979,6 +23981,21 @@ var JSONParseError$4 = class extends AISDKError$4 {
23979
23981
  return AISDKError$4.hasMarker(error, marker$8$1);
23980
23982
  }
23981
23983
  };
23984
+ const name$7$1 = "AI_LoadAPIKeyError";
23985
+ const marker$7$1 = `vercel.ai.error.${name$7$1}`;
23986
+ const symbol$7$1 = Symbol.for(marker$7$1);
23987
+ var LoadAPIKeyError = class extends AISDKError$4 {
23988
+ constructor({ message }) {
23989
+ super({
23990
+ name: name$7$1,
23991
+ message
23992
+ });
23993
+ this[symbol$7$1] = true;
23994
+ }
23995
+ static isInstance(error) {
23996
+ return AISDKError$4.hasMarker(error, marker$7$1);
23997
+ }
23998
+ };
23982
23999
  const name$1$1$1 = "AI_TypeValidationError";
23983
24000
  const marker$1$1$1 = `vercel.ai.error.${name$1$1$1}`;
23984
24001
  const symbol$1$1$1 = Symbol.for(marker$1$1$1);
@@ -24509,7 +24526,7 @@ function handleFetchError({ error, url, requestBodyValues }) {
24509
24526
  }
24510
24527
  return error;
24511
24528
  }
24512
- const VERSION$2 = "5.0.70";
24529
+ const VERSION$2 = "5.0.72";
24513
24530
  /**
24514
24531
  * Normalizes different header inputs into a plain record with lower-case keys.
24515
24532
  * Entries with `undefined` or `null` values are removed.
@@ -27553,6 +27570,7 @@ function isTimeoutError(error) {
27553
27570
  return false;
27554
27571
  }
27555
27572
  async function asGatewayError(error, authMethod) {
27573
+ if ((error instanceof Error || typeof DOMException === "function" && error instanceof DOMException) && (error.name === "AbortError" || error.name === "TimeoutError")) throw error;
27556
27574
  if (GatewayError.isInstance(error)) return error;
27557
27575
  if (isTimeoutError(error)) return GatewayTimeoutError.createTimeoutError({
27558
27576
  originalMessage: error instanceof Error ? error.message : "Unknown error",
@@ -29002,7 +29020,7 @@ const gatewayRerankingResponseSchema = lazySchema(() => zodSchema$4(z$3.object({
29002
29020
  * synchronous, hence this helper.
29003
29021
  */
29004
29022
  async function errorControllerWithGatewayError(controller, error, authMethod) {
29005
- controller.error(await asGatewayError(error, authMethod));
29023
+ controller.error(await asGatewayError(error, authMethod).catch((error) => error));
29006
29024
  }
29007
29025
  /**
29008
29026
  * Extract a human-readable message from an `error` stream part's payload for
@@ -30175,7 +30193,7 @@ const gatewayTools = {
30175
30193
  async function getVercelRequestId() {
30176
30194
  return getContext().headers?.["x-vercel-id"];
30177
30195
  }
30178
- const VERSION$1$3 = "4.0.128";
30196
+ const VERSION$1$3 = "4.0.132";
30179
30197
  const AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
30180
30198
  /** Response shape of `POST /v1/realtime/client-secrets`. `expiresAt` is epoch seconds. */
30181
30199
  const gatewayClientSecretResponseSchema = lazySchema(() => zodSchema$4(z$3.object({
@@ -30198,9 +30216,11 @@ function createGateway(options = {}) {
30198
30216
  ...options.teamIdOrSlug != null ? { [VERCEL_AI_GATEWAY_TEAM_HEADER]: options.teamIdOrSlug } : {},
30199
30217
  ...options.headers
30200
30218
  }, `ai-sdk-gateway/${VERSION$1$3}`);
30201
- const getHeaders = async () => {
30219
+ const getHeaders = async (onResolved) => {
30202
30220
  try {
30203
- return createAuthHeaders(await getGatewayAuthToken(options));
30221
+ const headers = createAuthHeaders(await getGatewayAuthToken(options));
30222
+ onResolved?.(headers);
30223
+ return headers;
30204
30224
  } catch (error) {
30205
30225
  throw GatewayAuthenticationError.createContextualError({
30206
30226
  apiKeyProvided: false,
@@ -30300,44 +30320,56 @@ function createGateway(options = {}) {
30300
30320
  const now = options._internal?.currentDate?.().getTime() ?? Date.now();
30301
30321
  if (!pendingMetadata || now - lastFetchTime > cacheRefreshMillis) {
30302
30322
  lastFetchTime = now;
30323
+ let resolvedHeaders;
30303
30324
  pendingMetadata = new GatewayFetchMetadata({
30304
30325
  baseURL,
30305
- headers: getHeaders,
30326
+ headers: () => getHeaders((headers) => {
30327
+ resolvedHeaders = headers;
30328
+ }),
30306
30329
  fetch: options.fetch
30307
30330
  }).getAvailableModels().then((metadata) => {
30308
30331
  metadataCache = metadata;
30309
30332
  return metadata;
30310
30333
  }).catch(async (error) => {
30311
- throw await asGatewayError(error, await parseAuthMethod(await getHeaders()));
30334
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders ?? {}));
30312
30335
  });
30313
30336
  }
30314
30337
  return metadataCache ? Promise.resolve(metadataCache) : pendingMetadata;
30315
30338
  };
30316
30339
  const getCredits = async () => {
30340
+ let resolvedHeaders;
30317
30341
  return new GatewayFetchMetadata({
30318
30342
  baseURL,
30319
- headers: getHeaders,
30343
+ headers: () => getHeaders((headers) => {
30344
+ resolvedHeaders = headers;
30345
+ }),
30320
30346
  fetch: options.fetch
30321
30347
  }).getCredits().catch(async (error) => {
30322
- throw await asGatewayError(error, await parseAuthMethod(await getHeaders()));
30348
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders ?? {}));
30323
30349
  });
30324
30350
  };
30325
30351
  const getSpendReport = async (params) => {
30352
+ let resolvedHeaders;
30326
30353
  return new GatewaySpendReport({
30327
30354
  baseURL,
30328
- headers: getHeaders,
30355
+ headers: () => getHeaders((headers) => {
30356
+ resolvedHeaders = headers;
30357
+ }),
30329
30358
  fetch: options.fetch
30330
30359
  }).getSpendReport(params).catch(async (error) => {
30331
- throw await asGatewayError(error, await parseAuthMethod(await getHeaders()));
30360
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders ?? {}));
30332
30361
  });
30333
30362
  };
30334
30363
  const getGenerationInfo = async (params) => {
30364
+ let resolvedHeaders;
30335
30365
  return new GatewayGenerationInfoFetcher({
30336
30366
  baseURL,
30337
- headers: getHeaders,
30367
+ headers: () => getHeaders((headers) => {
30368
+ resolvedHeaders = headers;
30369
+ }),
30338
30370
  fetch: options.fetch
30339
30371
  }).getGenerationInfo(params).catch(async (error) => {
30340
- throw await asGatewayError(error, await parseAuthMethod(await getHeaders()));
30372
+ throw await asGatewayError(error, await parseAuthMethod(resolvedHeaders ?? {}));
30341
30373
  });
30342
30374
  };
30343
30375
  const provider = function(modelId) {
@@ -30476,8 +30508,10 @@ function createGateway(options = {}) {
30476
30508
  }
30477
30509
  const gateway = createGateway();
30478
30510
  async function getGatewayAuthToken(options) {
30511
+ const resolvedApiKey = typeof options.apiKey === "string" || options.apiKey == null ? options.apiKey : await resolve$3(options.apiKey);
30512
+ if (options.apiKey != null && typeof options.apiKey !== "string" && (typeof resolvedApiKey !== "string" || !resolvedApiKey.trim())) throw new LoadAPIKeyError({ message: "AI Gateway API key must be a non-empty string." });
30479
30513
  const apiKey = loadOptionalSetting({
30480
- settingValue: options.apiKey,
30514
+ settingValue: resolvedApiKey,
30481
30515
  environmentVariableName: "AI_GATEWAY_API_KEY"
30482
30516
  });
30483
30517
  if (apiKey) return {
@@ -30966,7 +31000,7 @@ function resolveEmbeddingModel(model) {
30966
31000
  function getGlobalProvider() {
30967
31001
  return asProviderV4(globalThis.AI_SDK_DEFAULT_PROVIDER ?? gateway);
30968
31002
  }
30969
- const VERSION = "7.0.155";
31003
+ const VERSION = "7.0.159";
30970
31004
  /**
30971
31005
  * Reads a property by an untrusted key, ignoring inherited prototype members.
30972
31006
  *
@@ -31097,7 +31131,7 @@ function mergeCallbacks(...callbacks) {
31097
31131
  }
31098
31132
  const AI_SDK_TELEMETRY_TRACING_CHANNEL = "ai:telemetry";
31099
31133
  function isNodeRuntime() {
31100
- return typeof process !== "undefined" && process.release?.name === "node";
31134
+ return globalThis.process?.release?.name === "node";
31101
31135
  }
31102
31136
  let diagnosticsChannelPromise;
31103
31137
  /**
@@ -36689,7 +36723,7 @@ async function resolveImageDimensionsAsync(part) {
36689
36723
  const url = resolveHttpAssetUrl(getObjectValue(part, "image") ?? getObjectValue(part, "data"));
36690
36724
  if (!url) return existing;
36691
36725
  try {
36692
- const probeImageSize = (await import("./probe-image-size-BmIt3CH4.js").then((m) => /* @__PURE__ */ __toESM$1(m.default, 1))).default;
36726
+ const probeImageSize = (await import("./probe-image-size-DGTRKrgq.js").then((m) => /* @__PURE__ */ __toESM$1(m.default, 1))).default;
36693
36727
  const probed = await probeImageSize(url, {
36694
36728
  open_timeout: REMOTE_IMAGE_PROBE_TIMEOUT_MS,
36695
36729
  response_timeout: REMOTE_IMAGE_PROBE_TIMEOUT_MS,
@@ -38950,12 +38984,34 @@ function getMessageParts(msg) {
38950
38984
  const parts = msg.content?.parts;
38951
38985
  return Array.isArray(parts) ? parts : [];
38952
38986
  }
38953
- /** Returns true if a message has at least one non-data part with visible content. */
38987
+ /**
38988
+ * Returns true if recall can render at least one visible part of a message.
38989
+ * Mirrors the skip rules in `formatMessageParts` without formatting tool results.
38990
+ */
38954
38991
  function hasVisibleParts(msg) {
38955
- if (typeof msg.content === "string") return msg.content.length > 0;
38992
+ if (typeof msg.content === "string") return true;
38956
38993
  const parts = getMessageParts(msg);
38957
38994
  if (parts.length === 0) return Boolean(msg.content?.content);
38958
- return parts.some((p) => !p.type?.startsWith("data-"));
38995
+ return parts.some(isVisiblePart);
38996
+ }
38997
+ function isVisiblePart(part) {
38998
+ const partType = part?.type;
38999
+ switch (partType) {
39000
+ case void 0:
39001
+ case "":
39002
+ case "reasoning":
39003
+ case "redacted-reasoning":
39004
+ case "step-start": return false;
39005
+ case "text": return Boolean(part.text);
39006
+ case "tool-invocation": {
39007
+ const inv = part.toolInvocation;
39008
+ if (!inv?.toolName) return false;
39009
+ return inv.state !== "partial-call" && inv.args != null || inv.state === "result";
39010
+ }
39011
+ case "tool-call":
39012
+ case "tool-result": return Boolean(part.toolName);
39013
+ default: return !partType.startsWith("data-");
39014
+ }
38959
39015
  }
38960
39016
  function parseRangeFormat(cursor) {
38961
39017
  if (cursor.includes(",")) {
@@ -39069,7 +39125,7 @@ async function listThreadsForResource({ memory, resourceId, currentThreadId, pag
39069
39125
  hasMore
39070
39126
  };
39071
39127
  }
39072
- const SEARCH_NOT_CONFIGURED_MESSAGE = "Search is not configured. Enable it with `retrieval: { vector: true }` and configure a vector store and embedder on your Memory instance.";
39128
+ const SEARCH_NOT_CONFIGURED_MESSAGE = "Search is not configured. Enable it with `retrieval: { vector: true }` and configure a vector store and an embedder, or a vector store that generates embeddings itself, on your Memory instance.";
39073
39129
  async function searchMessagesForResource({ memory, om, resourceId, currentThreadId, query, topK = 10, maxTokens = DEFAULT_MAX_RESULT_TOKENS, before, after, threadScope, includeThreadId = true, currentMessages = [] }) {
39074
39130
  if (!memory.searchMessages) return {
39075
39131
  results: SEARCH_NOT_CONFIGURED_MESSAGE,
@@ -39587,11 +39643,8 @@ function formatMessageParts(msg, detail) {
39587
39643
  const fullText = `[Tool Result: ${toolName}]\n${formatToolResultForObserver(omitInlineMediaPayloads(part.output ?? part.result), { maxTokens: HIGH_DETAIL_TOOL_RESULT_TOKENS })}`;
39588
39644
  parts.push(makePart(msg, i, "tool-result", fullText, detail, toolName));
39589
39645
  }
39590
- } else if (partType === "reasoning") {
39591
- const reasoning = part.reasoning ?? part.text;
39592
- if (reasoning) parts.push(makePart(msg, i, "reasoning", reasoning, detail));
39593
- } else if (partType === "image" || partType === "file") parts.push(makePart(msg, i, partType, formatAttachmentPart(partType, part), detail));
39594
- else if (partType?.startsWith("data-")) {} else if (partType) {
39646
+ } else if (partType === "reasoning" || partType === "redacted-reasoning") {} else if (partType === "image" || partType === "file") parts.push(makePart(msg, i, partType, formatAttachmentPart(partType, part), detail));
39647
+ else if (partType === "step-start" || partType?.startsWith("data-")) {} else if (partType) {
39595
39648
  const fullText = `[${partType}]`;
39596
39649
  parts.push({
39597
39650
  messageId: msg.id,
@@ -39622,12 +39675,29 @@ function buildRenderedText(parts, timestamps) {
39622
39675
  }
39623
39676
  return lines.join("\n");
39624
39677
  }
39678
+ /**
39679
+ * Reads messages until `needed` of them are visible or storage is exhausted, growing the
39680
+ * request each round. Hidden messages (reasoning-only, step boundaries, OM markers) don't
39681
+ * count toward `needed`, so a run of them can't end paging early.
39682
+ */
39683
+ async function recallVisibleMessages(memory, args, needed, perPage = needed) {
39684
+ let previousCount = -1;
39685
+ while (true) {
39686
+ const result = await memory.recall({
39687
+ ...args,
39688
+ page: 0,
39689
+ perPage
39690
+ });
39691
+ const visible = result.messages.filter(hasVisibleParts);
39692
+ if (visible.length >= needed || !result.hasMore || result.messages.length <= previousCount) return visible;
39693
+ previousCount = result.messages.length;
39694
+ perPage *= 2;
39695
+ }
39696
+ }
39625
39697
  async function getNextVisibleMessage({ memory, threadId, resourceId, after }) {
39626
- return (await memory.recall({
39698
+ return (await recallVisibleMessages(memory, {
39627
39699
  threadId,
39628
39700
  resourceId,
39629
- page: 0,
39630
- perPage: 50,
39631
39701
  orderBy: {
39632
39702
  field: "createdAt",
39633
39703
  direction: "ASC"
@@ -39636,7 +39706,7 @@ async function getNextVisibleMessage({ memory, threadId, resourceId, after }) {
39636
39706
  start: after,
39637
39707
  startExclusive: true
39638
39708
  } }
39639
- })).messages.find(hasVisibleParts) ?? null;
39709
+ }, 1, 50))[0] ?? null;
39640
39710
  }
39641
39711
  const MAX_EXPAND_USER_TEXT_TOKENS = 200;
39642
39712
  const MAX_EXPAND_OTHER_TOKENS = 50;
@@ -39646,7 +39716,7 @@ function expandLimit(part) {
39646
39716
  }
39647
39717
  function expandPriority(part) {
39648
39718
  if (part.role === "user" && part.type === "text") return 0;
39649
- if (part.type === "text" || part.type === "reasoning") return 1;
39719
+ if (part.type === "text") return 1;
39650
39720
  if (part.type === "tool-result") return 2;
39651
39721
  if (part.type === "tool-call") return 3;
39652
39722
  return 4;
@@ -39832,11 +39902,9 @@ async function recallMessages({ memory, threadId, resourceId, cursor, page = 1,
39832
39902
  const pageIndex = Math.max(Math.abs(normalizedPage), 1) - 1;
39833
39903
  const skip = pageIndex * normalizedLimit;
39834
39904
  const fetchCount = skip + normalizedLimit + 1;
39835
- const visibleMessages = (await memory.recall({
39905
+ const visibleMessages = await recallVisibleMessages(memory, {
39836
39906
  threadId: resolvedThreadId,
39837
39907
  resourceId,
39838
- page: 0,
39839
- perPage: fetchCount,
39840
39908
  orderBy: {
39841
39909
  field: "createdAt",
39842
39910
  direction: isForward ? "ASC" : "DESC"
@@ -39848,7 +39916,7 @@ async function recallMessages({ memory, threadId, resourceId, cursor, page = 1,
39848
39916
  end: anchor.createdAt,
39849
39917
  endExclusive: true
39850
39918
  } }
39851
- })).messages.filter(hasVisibleParts);
39919
+ }, fetchCount);
39852
39920
  const total = visibleMessages.length;
39853
39921
  const hasMore = total > skip + normalizedLimit;
39854
39922
  let messages;
@@ -39931,17 +39999,15 @@ async function recallThreadFromStart({ memory, threadId, resourceId, page = 1, l
39931
39999
  const normalizedLimit = Math.min(Math.max(limit, 1), MAX_LIMIT);
39932
40000
  const pageIndex = normalizedPage - 1;
39933
40001
  const fetchCount = pageIndex * normalizedLimit + normalizedLimit + 1;
39934
- const result = await memory.recall({
40002
+ const fetched = await recallVisibleMessages(memory, {
39935
40003
  threadId,
39936
40004
  resourceId,
39937
- page: 0,
39938
- perPage: fetchCount,
39939
40005
  orderBy: {
39940
40006
  field: "createdAt",
39941
40007
  direction: anchor === "end" ? "DESC" : "ASC"
39942
40008
  }
39943
- });
39944
- const visibleMessages = anchor === "end" ? result.messages.slice(0, fetchCount).filter(hasVisibleParts).reverse() : result.messages.slice(0, fetchCount).filter(hasVisibleParts);
40009
+ }, fetchCount);
40010
+ const visibleMessages = anchor === "end" ? fetched.reverse() : fetched;
39945
40011
  const skip = pageIndex * normalizedLimit;
39946
40012
  const messages = visibleMessages.slice(skip, skip + normalizedLimit);
39947
40013
  const hasExtraMessage = visibleMessages.length > skip + messages.length;
@@ -40076,7 +40142,6 @@ const recallTool = (_memoryConfig, options) => {
40076
40142
  "text",
40077
40143
  "tool-call",
40078
40144
  "tool-result",
40079
- "reasoning",
40080
40145
  "image",
40081
40146
  "file"
40082
40147
  ],
@@ -48683,7 +48748,7 @@ var Memory = class Memory extends MastraMemory {
48683
48748
  const omConfig = normalizeObservationalMemoryConfig(mergedConfig.observationalMemory);
48684
48749
  if (omConfig?.retrieval && typeof omConfig.retrieval === "object" && omConfig.retrieval.vector) {
48685
48750
  if (!this.vector) throw new Error("`retrieval: { vector: true }` requires a vector store. Pass a `vector` option to your Memory instance.");
48686
- if (!this.embedder) throw new Error("`retrieval: { vector: true }` requires an embedder. Pass an `embedder` option to your Memory instance.");
48751
+ if (!this.embedder && !this.isSelfEmbedding) throw new Error("`retrieval: { vector: true }` requires an embedder, or a vector store that generates embeddings itself. Pass an `embedder` option to your Memory instance.");
48687
48752
  }
48688
48753
  }
48689
48754
  /**
@@ -49865,8 +49930,9 @@ Notes:
49865
49930
  if (config?.workingMemory?.useStateSignals === true && this.isVNextWorkingMemoryConfig(config)) throw new Error("workingMemory.useStateSignals is not supported with workingMemory.version: 'vnext'. Use stable template working memory or disable useStateSignals.");
49866
49931
  }
49867
49932
  getObservationEmbeddingIndexName(dimensions) {
49868
- const usedDimensions = dimensions ?? 384;
49869
49933
  const separator = this.vector?.indexSeparator ?? "_";
49934
+ if (this.isSelfEmbedding) return `${this.observationIndexPrefix}${separator}selfembed`;
49935
+ const usedDimensions = dimensions ?? 384;
49870
49936
  return `${this.observationIndexPrefix}${separator}${usedDimensions}`;
49871
49937
  }
49872
49938
  async createObservationEmbeddingIndex(dimensions) {
@@ -49875,7 +49941,7 @@ Notes:
49875
49941
  if (typeof this.vector === `undefined`) throw new Error(`Tried to create observation embedding index but no vector db is attached to this Memory instance.`);
49876
49942
  await this.vector.createIndex({
49877
49943
  indexName,
49878
- dimension: usedDimensions,
49944
+ ...this.isSelfEmbedding ? {} : { dimension: usedDimensions },
49879
49945
  metadataIndexes: ["resource_id", "thread_id"]
49880
49946
  });
49881
49947
  return { indexName };
@@ -49886,7 +49952,14 @@ Notes:
49886
49952
  */
49887
49953
  async searchMessages({ query, resourceId, topK = 10, filter }) {
49888
49954
  if (!this.vector) throw new Error("searchMessages requires a vector store. Configure vector and embedder on your Memory instance.");
49889
- const { embeddings, dimension } = await this.embedMessageContent(query);
49955
+ const queries = [];
49956
+ let dimension;
49957
+ if (this.isSelfEmbedding) queries.push({ queryText: query });
49958
+ else {
49959
+ const embedResult = await this.embedMessageContent(query);
49960
+ dimension = embedResult.dimension;
49961
+ queries.push(...embedResult.embeddings.map((queryVector) => ({ queryVector })));
49962
+ }
49890
49963
  const { indexName } = await this.createObservationEmbeddingIndex(dimension);
49891
49964
  const vectorFilter = { resource_id: resourceId };
49892
49965
  if (filter?.threadId) vectorFilter.thread_id = filter.threadId;
@@ -49895,10 +49968,10 @@ Notes:
49895
49968
  ...filter.observedBefore ? { $lt: filter.observedBefore.toISOString() } : {}
49896
49969
  };
49897
49970
  const queryResults = [];
49898
- await Promise.all(embeddings.map(async (embedding) => {
49971
+ await Promise.all(queries.map(async (params) => {
49899
49972
  const results = await this.vector.query({
49900
49973
  indexName,
49901
- queryVector: embedding,
49974
+ ...params,
49902
49975
  topK,
49903
49976
  filter: vectorFilter
49904
49977
  });
@@ -49929,12 +50002,21 @@ Notes:
49929
50002
  * Index a single observation group into the observation vector store.
49930
50003
  */
49931
50004
  async indexObservation({ text, groupId, range, threadId, resourceId, observedAt, recordId }) {
49932
- if (!this.vector || !this.embedder) return;
49933
- const embedResult = await this.embedMessageContent(text);
49934
- if (embedResult.embeddings.length === 0 || embedResult.dimension === void 0) return;
49935
- const { indexName } = await this.createObservationEmbeddingIndex(embedResult.dimension);
50005
+ if (!this.vector || !this.embedder && !this.isSelfEmbedding) return;
50006
+ let chunks;
50007
+ let embeddings = [];
50008
+ let dimension;
50009
+ if (this.isSelfEmbedding) {
50010
+ chunks = this.chunkText(text);
50011
+ if (chunks.length === 0) return;
50012
+ } else {
50013
+ const embedResult = await this.embedMessageContent(text);
50014
+ ({chunks, embeddings, dimension} = embedResult);
50015
+ if (embeddings.length === 0 || dimension === void 0) return;
50016
+ }
50017
+ const { indexName } = await this.createObservationEmbeddingIndex(dimension);
49936
50018
  const ids = [];
49937
- for (const [chunkIndex] of embedResult.chunks.entries()) {
50019
+ for (const [chunkIndex] of chunks.entries()) {
49938
50020
  const hash = Buffer.from(await globalThis.crypto.subtle.digest("SHA-256", new TextEncoder().encode(JSON.stringify([
49939
50021
  resourceId,
49940
50022
  threadId,
@@ -49946,19 +50028,26 @@ Notes:
49946
50028
  const hex = hash.toString("hex", 0, 16);
49947
50029
  ids.push(`${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`);
49948
50030
  }
49949
- await this.vector.upsert({
50031
+ const metadata = chunks.map((chunk) => ({
50032
+ group_id: groupId,
50033
+ range,
50034
+ thread_id: threadId,
50035
+ resource_id: resourceId,
50036
+ observed_at: observedAt?.toISOString(),
50037
+ ...recordId ? { record_id: recordId } : {},
50038
+ text: chunk
50039
+ }));
50040
+ if (this.isSelfEmbedding) await this.vector.upsert({
49950
50041
  indexName,
49951
50042
  ids,
49952
- vectors: embedResult.embeddings,
49953
- metadata: embedResult.chunks.map((chunk) => ({
49954
- group_id: groupId,
49955
- range,
49956
- thread_id: threadId,
49957
- resource_id: resourceId,
49958
- observed_at: observedAt?.toISOString(),
49959
- ...recordId ? { record_id: recordId } : {},
49960
- text: chunk
49961
- }))
50043
+ documents: chunks,
50044
+ metadata
50045
+ });
50046
+ else await this.vector.upsert({
50047
+ indexName,
50048
+ ids,
50049
+ vectors: embeddings,
50050
+ metadata
49962
50051
  });
49963
50052
  }
49964
50053
  /**
@@ -50115,11 +50204,12 @@ Notes:
50115
50204
  }
50116
50205
  /**
50117
50206
  * Check whether retrieval search (vector-based) is enabled.
50118
- * Returns true when `retrieval: { vector: true }` and Memory has vector + embedder configured.
50207
+ * Returns true when `retrieval: { vector: true }` and Memory has a vector store plus either an
50208
+ * embedder or a store that generates embeddings itself.
50119
50209
  */
50120
50210
  hasRetrievalSearch(retrieval) {
50121
50211
  if (!retrieval || retrieval === true) return false;
50122
- return !!retrieval.vector && !!this.vector && !!this.embedder;
50212
+ return !!retrieval.vector && !!this.vector && (!!this.embedder || this.isSelfEmbedding);
50123
50213
  }
50124
50214
  listTools(config) {
50125
50215
  const mergedConfig = this.getMergedThreadConfig(config);
@@ -50600,15 +50690,22 @@ Notes:
50600
50690
  const vector = this.vector;
50601
50691
  const indexes = await this.getMemoryVectorIndexes([this.observationIndexPrefix]);
50602
50692
  for (const indexName of indexes) {
50603
- const { dimension } = await vector.describeIndex({ indexName });
50604
- const queryVector = Array.from({ length: dimension }, (_, i) => i === 0 ? 1 : 0);
50693
+ const selfEmbedded = this.isSelfEmbedding && indexName === this.getObservationEmbeddingIndexName();
50694
+ let readParams;
50695
+ if (selfEmbedded) readParams = { queryText: "observations" };
50696
+ else {
50697
+ const { dimension } = await vector.describeIndex({ indexName });
50698
+ readParams = {
50699
+ queryVector: Array.from({ length: dimension }, (_, i) => i === 0 ? 1 : 0),
50700
+ includeVector: true
50701
+ };
50702
+ }
50605
50703
  const moved = /* @__PURE__ */ new Set();
50606
50704
  for (;;) {
50607
50705
  const pending = (await vector.query({
50608
50706
  indexName,
50609
- queryVector,
50707
+ ...readParams,
50610
50708
  topK: 20,
50611
- includeVector: true,
50612
50709
  filter: {
50613
50710
  thread_id: threadId,
50614
50711
  resource_id: { $ne: resourceId }
@@ -52061,7 +52158,7 @@ const createModelInstance = async (provider, modelId, version = "v2") => {
52061
52158
  try {
52062
52159
  const providerFn = version === `v1` ? { v1: {
52063
52160
  openai: async () => {
52064
- const { openai } = await import("./dist-FafoYsHK.js");
52161
+ const { openai } = await import("./dist-mNQb9_wX.js");
52065
52162
  return openai(modelId);
52066
52163
  },
52067
52164
  anthropic: async () => {
@@ -55867,150 +55964,157 @@ Previous iterations may have fixed some issues, so start by re-running validateC
55867
55964
  }
55868
55965
  }
55869
55966
  });
55870
- const agentBuilderTemplateWorkflow = createWorkflow({
55871
- id: "agent-builder-template",
55872
- description: "Merges a Mastra template repository into the current project using intelligent AgentBuilder-powered merging",
55873
- inputSchema: AgentBuilderInputSchema,
55874
- outputSchema: ApplyResultSchema,
55875
- steps: [
55876
- cloneTemplateStep,
55877
- analyzePackageStep,
55878
- discoverUnitsStep,
55879
- orderUnitsStep,
55880
- packageMergeStep,
55881
- installStep,
55882
- programmaticFileCopyStep,
55883
- intelligentMergeStep,
55884
- validationAndFixStep
55885
- ]
55886
- }).then(cloneTemplateStep).map(async ({ getStepResult }) => {
55887
- const cloneResult = getStepResult(cloneTemplateStep);
55888
- if (shouldAbortWorkflow(cloneResult)) throw new Error(`Critical failure in clone step: ${cloneResult.error}`);
55889
- return cloneResult;
55890
- }).parallel([analyzePackageStep, discoverUnitsStep]).map(async ({ getStepResult }) => {
55891
- const analyzeResult = getStepResult(analyzePackageStep);
55892
- const discoverResult = getStepResult(discoverUnitsStep);
55893
- if (shouldAbortWorkflow(analyzeResult)) throw new Error(`Failure in analyze package step: ${analyzeResult.error || "Package analysis failed"}`);
55894
- if (shouldAbortWorkflow(discoverResult)) throw new Error(`Failure in discover units step: ${discoverResult.error || "Unit discovery failed"}`);
55895
- return discoverResult;
55896
- }).then(orderUnitsStep).map(async ({ getStepResult, getInitData }) => {
55897
- const cloneResult = getStepResult(cloneTemplateStep);
55898
- const initData = getInitData();
55899
- return {
55900
- commitSha: cloneResult.commitSha,
55901
- slug: cloneResult.slug,
55902
- targetPath: initData.targetPath
55903
- };
55904
- }).then(prepareBranchStep).map(async ({ getStepResult, getInitData }) => {
55905
- const cloneResult = getStepResult(cloneTemplateStep);
55906
- const packageResult = getStepResult(analyzePackageStep);
55907
- const initData = getInitData();
55908
- return {
55909
- commitSha: cloneResult.commitSha,
55910
- slug: cloneResult.slug,
55911
- targetPath: initData.targetPath,
55912
- packageInfo: packageResult
55913
- };
55914
- }).then(packageMergeStep).map(async ({ getInitData }) => {
55915
- return { targetPath: getInitData().targetPath };
55916
- }).then(installStep).map(async ({ getStepResult, getInitData }) => {
55917
- const cloneResult = getStepResult(cloneTemplateStep);
55918
- const orderResult = getStepResult(orderUnitsStep);
55919
- const installResult = getStepResult(installStep);
55920
- const initData = getInitData();
55921
- if (shouldAbortWorkflow(installResult)) throw new Error(`Failure in install step: ${installResult.error || "Install failed"}`);
55922
- return {
55923
- orderedUnits: orderResult.orderedUnits,
55924
- templateDir: cloneResult.templateDir,
55925
- commitSha: cloneResult.commitSha,
55926
- slug: cloneResult.slug,
55927
- targetPath: initData.targetPath,
55928
- variables: initData.variables
55929
- };
55930
- }).then(programmaticFileCopyStep).map(async ({ getStepResult, getInitData }) => {
55931
- const copyResult = getStepResult(programmaticFileCopyStep);
55932
- const cloneResult = getStepResult(cloneTemplateStep);
55933
- const initData = getInitData();
55934
- return {
55935
- conflicts: copyResult.conflicts,
55936
- copiedFiles: copyResult.copiedFiles,
55937
- commitSha: cloneResult.commitSha,
55938
- slug: cloneResult.slug,
55939
- targetPath: initData.targetPath,
55940
- templateDir: cloneResult.templateDir
55941
- };
55942
- }).then(intelligentMergeStep).map(async ({ getStepResult, getInitData }) => {
55943
- const cloneResult = getStepResult(cloneTemplateStep);
55944
- const orderResult = getStepResult(orderUnitsStep);
55945
- const copyResult = getStepResult(programmaticFileCopyStep);
55946
- const mergeResult = getStepResult(intelligentMergeStep);
55947
- const initData = getInitData();
55948
- return {
55949
- commitSha: cloneResult.commitSha,
55950
- slug: cloneResult.slug,
55951
- targetPath: initData.targetPath,
55952
- templateDir: cloneResult.templateDir,
55953
- orderedUnits: orderResult.orderedUnits,
55954
- copiedFiles: copyResult.copiedFiles,
55955
- conflictsResolved: mergeResult.conflictsResolved
55956
- };
55957
- }).then(validationAndFixStep).map(async ({ getStepResult }) => {
55958
- const cloneResult = getStepResult(cloneTemplateStep);
55959
- const analyzeResult = getStepResult(analyzePackageStep);
55960
- const discoverResult = getStepResult(discoverUnitsStep);
55961
- const orderResult = getStepResult(orderUnitsStep);
55962
- const prepareBranchResult = getStepResult(prepareBranchStep);
55963
- const packageMergeResult = getStepResult(packageMergeStep);
55964
- const installResult = getStepResult(installStep);
55965
- const copyResult = getStepResult(programmaticFileCopyStep);
55966
- const intelligentMergeResult = getStepResult(intelligentMergeStep);
55967
- const validationResult = getStepResult(validationAndFixStep);
55968
- const branchName = prepareBranchResult.branchName;
55969
- const allErrors = [
55970
- cloneResult.error,
55971
- analyzeResult.error,
55972
- discoverResult.error,
55973
- orderResult.error,
55974
- prepareBranchResult.error,
55975
- packageMergeResult.error,
55976
- installResult.error,
55977
- copyResult.error,
55978
- intelligentMergeResult.error,
55979
- validationResult.error
55980
- ].filter(Boolean);
55981
- const overallSuccess = cloneResult.success !== false && analyzeResult.success !== false && discoverResult.success !== false && orderResult.success !== false && prepareBranchResult.success !== false && packageMergeResult.success !== false && installResult.success !== false && copyResult.success !== false && intelligentMergeResult.success !== false && validationResult.success !== false;
55982
- const messages = [];
55983
- if (copyResult.copiedFiles?.length > 0) messages.push(`${copyResult.copiedFiles.length} files copied`);
55984
- if (copyResult.conflicts?.length > 0) messages.push(`${copyResult.conflicts.length} conflicts skipped`);
55985
- if (intelligentMergeResult.conflictsResolved?.length > 0) messages.push(`${intelligentMergeResult.conflictsResolved.length} conflicts resolved`);
55986
- if (validationResult.validationResults?.errorsFixed > 0) messages.push(`${validationResult.validationResults.errorsFixed} validation errors fixed`);
55987
- if (validationResult.validationResults?.remainingErrors > 0) messages.push(`${validationResult.validationResults.remainingErrors} validation issues remain`);
55988
- const comprehensiveMessage = messages.length > 0 ? `Template merge completed: ${messages.join(", ")}` : validationResult.message || "Template merge completed";
55989
- return {
55990
- success: overallSuccess,
55991
- applied: validationResult.applied || copyResult.copiedFiles?.length > 0 || false,
55992
- message: comprehensiveMessage,
55993
- validationResults: validationResult.validationResults,
55994
- error: allErrors.length > 0 ? allErrors.join("; ") : void 0,
55995
- errors: allErrors.length > 0 ? allErrors : void 0,
55996
- branchName,
55997
- stepResults: {
55998
- cloneSuccess: cloneResult.success,
55999
- analyzeSuccess: analyzeResult.success,
56000
- discoverSuccess: discoverResult.success,
56001
- orderSuccess: orderResult.success,
56002
- prepareBranchSuccess: prepareBranchResult.success,
56003
- packageMergeSuccess: packageMergeResult.success,
56004
- installSuccess: installResult.success,
56005
- copySuccess: copyResult.success,
56006
- mergeSuccess: intelligentMergeResult.success,
56007
- validationSuccess: validationResult.success,
56008
- filesCopied: copyResult.copiedFiles?.length || 0,
56009
- conflictsSkipped: copyResult.conflicts?.length || 0,
56010
- conflictsResolved: intelligentMergeResult.conflictsResolved?.length || 0
56011
- }
56012
- };
56013
- }).commit();
55967
+ /**
55968
+ * Builds a new template-merge workflow on every call. See `createAgentBuilderWorkflows` for when to use a factory
55969
+ * instead of the shared `agentBuilderTemplateWorkflow`.
55970
+ */
55971
+ function createAgentBuilderTemplateWorkflow() {
55972
+ return createWorkflow({
55973
+ id: "agent-builder-template",
55974
+ description: "Merges a Mastra template repository into the current project using intelligent AgentBuilder-powered merging",
55975
+ inputSchema: AgentBuilderInputSchema,
55976
+ outputSchema: ApplyResultSchema,
55977
+ steps: [
55978
+ cloneTemplateStep,
55979
+ analyzePackageStep,
55980
+ discoverUnitsStep,
55981
+ orderUnitsStep,
55982
+ packageMergeStep,
55983
+ installStep,
55984
+ programmaticFileCopyStep,
55985
+ intelligentMergeStep,
55986
+ validationAndFixStep
55987
+ ]
55988
+ }).then(cloneTemplateStep).map(async ({ getStepResult }) => {
55989
+ const cloneResult = getStepResult(cloneTemplateStep);
55990
+ if (shouldAbortWorkflow(cloneResult)) throw new Error(`Critical failure in clone step: ${cloneResult.error}`);
55991
+ return cloneResult;
55992
+ }).parallel([analyzePackageStep, discoverUnitsStep]).map(async ({ getStepResult }) => {
55993
+ const analyzeResult = getStepResult(analyzePackageStep);
55994
+ const discoverResult = getStepResult(discoverUnitsStep);
55995
+ if (shouldAbortWorkflow(analyzeResult)) throw new Error(`Failure in analyze package step: ${analyzeResult.error || "Package analysis failed"}`);
55996
+ if (shouldAbortWorkflow(discoverResult)) throw new Error(`Failure in discover units step: ${discoverResult.error || "Unit discovery failed"}`);
55997
+ return discoverResult;
55998
+ }).then(orderUnitsStep).map(async ({ getStepResult, getInitData }) => {
55999
+ const cloneResult = getStepResult(cloneTemplateStep);
56000
+ const initData = getInitData();
56001
+ return {
56002
+ commitSha: cloneResult.commitSha,
56003
+ slug: cloneResult.slug,
56004
+ targetPath: initData.targetPath
56005
+ };
56006
+ }).then(prepareBranchStep).map(async ({ getStepResult, getInitData }) => {
56007
+ const cloneResult = getStepResult(cloneTemplateStep);
56008
+ const packageResult = getStepResult(analyzePackageStep);
56009
+ const initData = getInitData();
56010
+ return {
56011
+ commitSha: cloneResult.commitSha,
56012
+ slug: cloneResult.slug,
56013
+ targetPath: initData.targetPath,
56014
+ packageInfo: packageResult
56015
+ };
56016
+ }).then(packageMergeStep).map(async ({ getInitData }) => {
56017
+ return { targetPath: getInitData().targetPath };
56018
+ }).then(installStep).map(async ({ getStepResult, getInitData }) => {
56019
+ const cloneResult = getStepResult(cloneTemplateStep);
56020
+ const orderResult = getStepResult(orderUnitsStep);
56021
+ const installResult = getStepResult(installStep);
56022
+ const initData = getInitData();
56023
+ if (shouldAbortWorkflow(installResult)) throw new Error(`Failure in install step: ${installResult.error || "Install failed"}`);
56024
+ return {
56025
+ orderedUnits: orderResult.orderedUnits,
56026
+ templateDir: cloneResult.templateDir,
56027
+ commitSha: cloneResult.commitSha,
56028
+ slug: cloneResult.slug,
56029
+ targetPath: initData.targetPath,
56030
+ variables: initData.variables
56031
+ };
56032
+ }).then(programmaticFileCopyStep).map(async ({ getStepResult, getInitData }) => {
56033
+ const copyResult = getStepResult(programmaticFileCopyStep);
56034
+ const cloneResult = getStepResult(cloneTemplateStep);
56035
+ const initData = getInitData();
56036
+ return {
56037
+ conflicts: copyResult.conflicts,
56038
+ copiedFiles: copyResult.copiedFiles,
56039
+ commitSha: cloneResult.commitSha,
56040
+ slug: cloneResult.slug,
56041
+ targetPath: initData.targetPath,
56042
+ templateDir: cloneResult.templateDir
56043
+ };
56044
+ }).then(intelligentMergeStep).map(async ({ getStepResult, getInitData }) => {
56045
+ const cloneResult = getStepResult(cloneTemplateStep);
56046
+ const orderResult = getStepResult(orderUnitsStep);
56047
+ const copyResult = getStepResult(programmaticFileCopyStep);
56048
+ const mergeResult = getStepResult(intelligentMergeStep);
56049
+ const initData = getInitData();
56050
+ return {
56051
+ commitSha: cloneResult.commitSha,
56052
+ slug: cloneResult.slug,
56053
+ targetPath: initData.targetPath,
56054
+ templateDir: cloneResult.templateDir,
56055
+ orderedUnits: orderResult.orderedUnits,
56056
+ copiedFiles: copyResult.copiedFiles,
56057
+ conflictsResolved: mergeResult.conflictsResolved
56058
+ };
56059
+ }).then(validationAndFixStep).map(async ({ getStepResult }) => {
56060
+ const cloneResult = getStepResult(cloneTemplateStep);
56061
+ const analyzeResult = getStepResult(analyzePackageStep);
56062
+ const discoverResult = getStepResult(discoverUnitsStep);
56063
+ const orderResult = getStepResult(orderUnitsStep);
56064
+ const prepareBranchResult = getStepResult(prepareBranchStep);
56065
+ const packageMergeResult = getStepResult(packageMergeStep);
56066
+ const installResult = getStepResult(installStep);
56067
+ const copyResult = getStepResult(programmaticFileCopyStep);
56068
+ const intelligentMergeResult = getStepResult(intelligentMergeStep);
56069
+ const validationResult = getStepResult(validationAndFixStep);
56070
+ const branchName = prepareBranchResult.branchName;
56071
+ const allErrors = [
56072
+ cloneResult.error,
56073
+ analyzeResult.error,
56074
+ discoverResult.error,
56075
+ orderResult.error,
56076
+ prepareBranchResult.error,
56077
+ packageMergeResult.error,
56078
+ installResult.error,
56079
+ copyResult.error,
56080
+ intelligentMergeResult.error,
56081
+ validationResult.error
56082
+ ].filter(Boolean);
56083
+ const overallSuccess = cloneResult.success !== false && analyzeResult.success !== false && discoverResult.success !== false && orderResult.success !== false && prepareBranchResult.success !== false && packageMergeResult.success !== false && installResult.success !== false && copyResult.success !== false && intelligentMergeResult.success !== false && validationResult.success !== false;
56084
+ const messages = [];
56085
+ if (copyResult.copiedFiles?.length > 0) messages.push(`${copyResult.copiedFiles.length} files copied`);
56086
+ if (copyResult.conflicts?.length > 0) messages.push(`${copyResult.conflicts.length} conflicts skipped`);
56087
+ if (intelligentMergeResult.conflictsResolved?.length > 0) messages.push(`${intelligentMergeResult.conflictsResolved.length} conflicts resolved`);
56088
+ if (validationResult.validationResults?.errorsFixed > 0) messages.push(`${validationResult.validationResults.errorsFixed} validation errors fixed`);
56089
+ if (validationResult.validationResults?.remainingErrors > 0) messages.push(`${validationResult.validationResults.remainingErrors} validation issues remain`);
56090
+ const comprehensiveMessage = messages.length > 0 ? `Template merge completed: ${messages.join(", ")}` : validationResult.message || "Template merge completed";
56091
+ return {
56092
+ success: overallSuccess,
56093
+ applied: validationResult.applied || copyResult.copiedFiles?.length > 0 || false,
56094
+ message: comprehensiveMessage,
56095
+ validationResults: validationResult.validationResults,
56096
+ error: allErrors.length > 0 ? allErrors.join("; ") : void 0,
56097
+ errors: allErrors.length > 0 ? allErrors : void 0,
56098
+ branchName,
56099
+ stepResults: {
56100
+ cloneSuccess: cloneResult.success,
56101
+ analyzeSuccess: analyzeResult.success,
56102
+ discoverSuccess: discoverResult.success,
56103
+ orderSuccess: orderResult.success,
56104
+ prepareBranchSuccess: prepareBranchResult.success,
56105
+ packageMergeSuccess: packageMergeResult.success,
56106
+ installSuccess: installResult.success,
56107
+ copySuccess: copyResult.success,
56108
+ mergeSuccess: intelligentMergeResult.success,
56109
+ validationSuccess: validationResult.success,
56110
+ filesCopied: copyResult.copiedFiles?.length || 0,
56111
+ conflictsSkipped: copyResult.conflicts?.length || 0,
56112
+ conflictsResolved: intelligentMergeResult.conflictsResolved?.length || 0
56113
+ }
56114
+ };
56115
+ }).commit();
56116
+ }
56117
+ createAgentBuilderTemplateWorkflow();
56014
56118
  const determineConflictStrategy = (_unit, _targetFile) => {
56015
56119
  return "skip";
56016
56120
  };
@@ -58906,25 +59010,32 @@ ${tasks.map((task, i) => `${i + 1}. [${task.priority.toUpperCase()}] ${task.cont
58906
59010
  };
58907
59011
  }
58908
59012
  });
58909
- const planningAndApprovalWorkflow = createWorkflow({
58910
- id: "planning-and-approval",
58911
- description: "Handle iterative planning with questions and task list approval",
58912
- inputSchema: PlanningIterationInputSchema,
58913
- outputSchema: TaskApprovalOutputSchema,
58914
- steps: [planningIterationStep, taskApprovalStep]
58915
- }).dountil(planningIterationStep, async ({ inputData }) => {
58916
- console.info(`Sub-workflow planning check: planComplete=${inputData.planComplete}`);
58917
- return inputData.planComplete === true;
58918
- }).map(async ({ inputData }) => {
58919
- return {
58920
- tasks: inputData.tasks || [],
58921
- success: inputData.success || false,
58922
- questions: inputData.questions || [],
58923
- reasoning: inputData.reasoning || "",
58924
- planComplete: inputData.planComplete || false,
58925
- message: inputData.message || ""
58926
- };
58927
- }).then(taskApprovalStep).commit();
59013
+ /**
59014
+ * Builds a new planning-and-approval sub-workflow on every call. See `createAgentBuilderWorkflows` for when to use
59015
+ * a factory instead of the shared `planningAndApprovalWorkflow`.
59016
+ */
59017
+ function createPlanningAndApprovalWorkflow() {
59018
+ return createWorkflow({
59019
+ id: "planning-and-approval",
59020
+ description: "Handle iterative planning with questions and task list approval",
59021
+ inputSchema: PlanningIterationInputSchema,
59022
+ outputSchema: TaskApprovalOutputSchema,
59023
+ steps: [planningIterationStep, taskApprovalStep]
59024
+ }).dountil(planningIterationStep, async ({ inputData }) => {
59025
+ console.info(`Sub-workflow planning check: planComplete=${inputData.planComplete}`);
59026
+ return inputData.planComplete === true;
59027
+ }).map(async ({ inputData }) => {
59028
+ return {
59029
+ tasks: inputData.tasks || [],
59030
+ success: inputData.success || false,
59031
+ questions: inputData.questions || [],
59032
+ reasoning: inputData.reasoning || "",
59033
+ planComplete: inputData.planComplete || false,
59034
+ message: inputData.message || ""
59035
+ };
59036
+ }).then(taskApprovalStep).commit();
59037
+ }
59038
+ createPlanningAndApprovalWorkflow();
58928
59039
  const workflowResearch = `
58929
59040
  ## 🔍 **COMPREHENSIVE MASTRA WORKFLOW RESEARCH SUMMARY**
58930
59041
 
@@ -59713,9 +59824,13 @@ ${workflowBuilderPrompts.validation.instructions}`;
59713
59824
  }
59714
59825
  }
59715
59826
  });
59716
- const agentBuilderWorkflows = {
59717
- "merge-template": agentBuilderTemplateWorkflow,
59718
- "workflow-builder": createWorkflow({
59827
+ /**
59828
+ * Builds a new workflow-builder workflow, with its own planning-and-approval sub-workflow, on every call. See
59829
+ * `createAgentBuilderWorkflows` for when to use a factory instead of the shared `workflowBuilderWorkflow`.
59830
+ */
59831
+ function createWorkflowBuilderWorkflow() {
59832
+ const planningAndApprovalWorkflow = createPlanningAndApprovalWorkflow();
59833
+ return createWorkflow({
59719
59834
  id: "workflow-builder",
59720
59835
  description: "Create or edit Mastra workflows using AI-powered assistance with iterative planning",
59721
59836
  inputSchema: WorkflowBuilderInputSchema,
@@ -59760,8 +59875,29 @@ const agentBuilderWorkflows = {
59760
59875
  research: workflowResearch,
59761
59876
  projectPath: initData.projectPath || process.cwd()
59762
59877
  };
59763
- }).then(taskExecutionStep).commit()
59764
- };
59765
- export { require_tiff as a, agentBuilderWorkflows, require_png as c, require_gif as d, require_bmp as f, require_webp as i, require_jpeg as l, require_utils as m, openai as n, require_svg as o, require_avif as p, require_sync as r, require_psd as s, createOpenAI as t, require_ico as u };
59878
+ }).then(taskExecutionStep).commit();
59879
+ }
59880
+ createWorkflowBuilderWorkflow();
59881
+ /**
59882
+ * Builds a new set of agent-builder workflows on every call, with the same keys as `agentBuilderWorkflows`.
59883
+ *
59884
+ * Registering a workflow with a Mastra instance binds it to that instance's storage, logger and agents, and the
59885
+ * workflow keeps every run it has not finished. A workflow object registered with a second instance moves to it,
59886
+ * including runs that are still executing for the first one. Use this factory when one process runs several Mastra
59887
+ * instances, such as one per tenant or one per test, so each instance gets its own workflows and can be garbage
59888
+ * collected after `mastra.shutdown()`.
59889
+ *
59890
+ * @example
59891
+ * ```ts
59892
+ * const mastra = new Mastra({ workflows: createAgentBuilderWorkflows() });
59893
+ * ```
59894
+ */
59895
+ function createAgentBuilderWorkflows() {
59896
+ return {
59897
+ "merge-template": createAgentBuilderTemplateWorkflow(),
59898
+ "workflow-builder": createWorkflowBuilderWorkflow()
59899
+ };
59900
+ }
59901
+ export { require_tiff as a, require_png as c, createAgentBuilderWorkflows, require_gif as d, require_bmp as f, require_webp as i, require_jpeg as l, require_utils as m, openai as n, require_svg as o, require_avif as p, require_sync as r, require_psd as s, createOpenAI as t, require_ico as u };
59766
59902
 
59767
- //# sourceMappingURL=dist-DDo4vt34.js.map
59903
+ //# sourceMappingURL=dist-CIYZuix4.js.map