@mastra/core 1.26.0-alpha.11 → 1.26.0-alpha.12

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 (140) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/index.cjs +8 -8
  4. package/dist/agent/index.js +1 -1
  5. package/dist/agent/types.d.ts +7 -1
  6. package/dist/agent/types.d.ts.map +1 -1
  7. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  8. package/dist/agent/workflows/prepare-stream/schema.d.ts +1 -0
  9. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  10. package/dist/browser/index.cjs +2 -2
  11. package/dist/browser/index.js +1 -1
  12. package/dist/channels/index.cjs +4 -4
  13. package/dist/channels/index.js +1 -1
  14. package/dist/{chunk-BJCPVJJV.js → chunk-2E6D5DQ5.js} +3 -3
  15. package/dist/{chunk-BJCPVJJV.js.map → chunk-2E6D5DQ5.js.map} +1 -1
  16. package/dist/{chunk-BQN6OA5U.js → chunk-4M66KVRT.js} +6 -6
  17. package/dist/{chunk-BQN6OA5U.js.map → chunk-4M66KVRT.js.map} +1 -1
  18. package/dist/{chunk-TJ4FSWVQ.js → chunk-7K6DJUAN.js} +4 -4
  19. package/dist/{chunk-TJ4FSWVQ.js.map → chunk-7K6DJUAN.js.map} +1 -1
  20. package/dist/{chunk-WBPTY4Y7.cjs → chunk-BE3VZ4TY.cjs} +57 -57
  21. package/dist/{chunk-WBPTY4Y7.cjs.map → chunk-BE3VZ4TY.cjs.map} +1 -1
  22. package/dist/{chunk-MT2NFL3T.js → chunk-E7XQRCBI.js} +38 -10
  23. package/dist/chunk-E7XQRCBI.js.map +1 -0
  24. package/dist/{chunk-DELWJ5NK.js → chunk-GP7MJGMS.js} +3 -3
  25. package/dist/{chunk-DELWJ5NK.js.map → chunk-GP7MJGMS.js.map} +1 -1
  26. package/dist/{chunk-ECT5553H.cjs → chunk-IPSDBZHB.cjs} +292 -292
  27. package/dist/{chunk-ECT5553H.cjs.map → chunk-IPSDBZHB.cjs.map} +1 -1
  28. package/dist/{chunk-5IIRXFH2.cjs → chunk-J4G423VO.cjs} +5 -5
  29. package/dist/{chunk-5IIRXFH2.cjs.map → chunk-J4G423VO.cjs.map} +1 -1
  30. package/dist/{chunk-HTSHN5E4.js → chunk-JD7WSJTA.js} +8 -7
  31. package/dist/chunk-JD7WSJTA.js.map +1 -0
  32. package/dist/{chunk-HGZ5C3XG.cjs → chunk-LUBVBTV4.cjs} +17 -17
  33. package/dist/{chunk-HGZ5C3XG.cjs.map → chunk-LUBVBTV4.cjs.map} +1 -1
  34. package/dist/{chunk-IFMX323P.cjs → chunk-N63HAAVB.cjs} +7 -7
  35. package/dist/{chunk-IFMX323P.cjs.map → chunk-N63HAAVB.cjs.map} +1 -1
  36. package/dist/{chunk-72TFCXLB.js → chunk-NTLWGWDT.js} +381 -308
  37. package/dist/chunk-NTLWGWDT.js.map +1 -0
  38. package/dist/{chunk-2QPYXXQP.js → chunk-PB3JPQ7B.js} +3 -3
  39. package/dist/{chunk-2QPYXXQP.js.map → chunk-PB3JPQ7B.js.map} +1 -1
  40. package/dist/{chunk-M7NIAKE6.cjs → chunk-QKGC723H.cjs} +3 -3
  41. package/dist/{chunk-M7NIAKE6.cjs.map → chunk-QKGC723H.cjs.map} +1 -1
  42. package/dist/{chunk-CXIQCUHL.js → chunk-QRGHKCIG.js} +3 -3
  43. package/dist/{chunk-CXIQCUHL.js.map → chunk-QRGHKCIG.js.map} +1 -1
  44. package/dist/{chunk-KSTYF5BD.js → chunk-SMOA623A.js} +3 -3
  45. package/dist/{chunk-KSTYF5BD.js.map → chunk-SMOA623A.js.map} +1 -1
  46. package/dist/{chunk-6SZ4HY7N.cjs → chunk-SUQSRI7N.cjs} +10 -9
  47. package/dist/chunk-SUQSRI7N.cjs.map +1 -0
  48. package/dist/{chunk-B3A3OLBO.cjs → chunk-V2EI5DBA.cjs} +224 -224
  49. package/dist/{chunk-B3A3OLBO.cjs.map → chunk-V2EI5DBA.cjs.map} +1 -1
  50. package/dist/{chunk-RSFZN7OV.cjs → chunk-W7KMJBO2.cjs} +389 -316
  51. package/dist/chunk-W7KMJBO2.cjs.map +1 -0
  52. package/dist/{chunk-TER3JXU5.cjs → chunk-WUWY4NUR.cjs} +50 -22
  53. package/dist/chunk-WUWY4NUR.cjs.map +1 -0
  54. package/dist/{chunk-5EU2N7AI.js → chunk-X22POPDU.js} +9 -9
  55. package/dist/{chunk-5EU2N7AI.js.map → chunk-X22POPDU.js.map} +1 -1
  56. package/dist/{chunk-SLO7BNJL.cjs → chunk-YXGUPFLQ.cjs} +9 -9
  57. package/dist/{chunk-SLO7BNJL.cjs.map → chunk-YXGUPFLQ.cjs.map} +1 -1
  58. package/dist/datasets/experiment/index.d.ts.map +1 -1
  59. package/dist/datasets/index.cjs +11 -11
  60. package/dist/datasets/index.js +1 -1
  61. package/dist/docs/SKILL.md +3 -1
  62. package/dist/docs/assets/SOURCE_MAP.json +191 -191
  63. package/dist/docs/references/docs-agents-structured-output.md +22 -0
  64. package/dist/docs/references/docs-memory-storage.md +1 -0
  65. package/dist/docs/references/reference-storage-redis.md +266 -0
  66. package/dist/docs/references/reference-tools-tavily.md +307 -0
  67. package/dist/docs/references/reference.md +2 -0
  68. package/dist/evals/index.cjs +5 -5
  69. package/dist/evals/index.js +2 -2
  70. package/dist/evals/scoreTraces/index.cjs +3 -3
  71. package/dist/evals/scoreTraces/index.js +1 -1
  72. package/dist/harness/index.cjs +7 -7
  73. package/dist/harness/index.js +5 -5
  74. package/dist/index.cjs +2 -2
  75. package/dist/index.js +1 -1
  76. package/dist/llm/index.cjs +20 -20
  77. package/dist/llm/index.js +5 -5
  78. package/dist/llm/model/provider-types.generated.d.ts +14 -0
  79. package/dist/loop/index.cjs +14 -14
  80. package/dist/loop/index.js +1 -1
  81. package/dist/loop/workflows/agentic-execution/build-messages-from-chunks.d.ts +32 -0
  82. package/dist/loop/workflows/agentic-execution/build-messages-from-chunks.d.ts.map +1 -0
  83. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  84. package/dist/loop/workflows/run-state.d.ts +0 -9
  85. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  86. package/dist/mastra/index.cjs +2 -2
  87. package/dist/mastra/index.js +1 -1
  88. package/dist/mastra-GAT6GCQK.cjs +12 -0
  89. package/dist/{mastra-UBXRRSVL.cjs.map → mastra-GAT6GCQK.cjs.map} +1 -1
  90. package/dist/mastra-MYONAFWU.js +3 -0
  91. package/dist/{mastra-YR56DXR7.js.map → mastra-MYONAFWU.js.map} +1 -1
  92. package/dist/memory/index.cjs +19 -19
  93. package/dist/memory/index.js +1 -1
  94. package/dist/models-dev-D7X3KQB6.js +3 -0
  95. package/dist/{models-dev-B24Y4NYV.js.map → models-dev-D7X3KQB6.js.map} +1 -1
  96. package/dist/models-dev-E4OIS4CB.cjs +12 -0
  97. package/dist/{models-dev-EMLWCDMI.cjs.map → models-dev-E4OIS4CB.cjs.map} +1 -1
  98. package/dist/netlify-KZCZ3W3P.cjs +12 -0
  99. package/dist/{netlify-BFZBVACL.cjs.map → netlify-KZCZ3W3P.cjs.map} +1 -1
  100. package/dist/netlify-PIYWGUPG.js +3 -0
  101. package/dist/{netlify-W7DGKAGR.js.map → netlify-PIYWGUPG.js.map} +1 -1
  102. package/dist/processor-provider/index.cjs +10 -10
  103. package/dist/processor-provider/index.js +1 -1
  104. package/dist/processors/index.cjs +45 -45
  105. package/dist/processors/index.js +1 -1
  106. package/dist/processors/processors/structured-output.d.ts +13 -12
  107. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  108. package/dist/provider-registry-4PDBM3Q4.js +3 -0
  109. package/dist/{provider-registry-LGHC4U7P.js.map → provider-registry-4PDBM3Q4.js.map} +1 -1
  110. package/dist/provider-registry-7DRCW3PP.cjs +44 -0
  111. package/dist/{provider-registry-OLA6QVLP.cjs.map → provider-registry-7DRCW3PP.cjs.map} +1 -1
  112. package/dist/provider-registry.json +30 -2
  113. package/dist/relevance/index.cjs +3 -3
  114. package/dist/relevance/index.js +1 -1
  115. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  116. package/dist/stream/base/output.d.ts.map +1 -1
  117. package/dist/stream/index.cjs +8 -8
  118. package/dist/stream/index.js +1 -1
  119. package/dist/tool-loop-agent/index.cjs +4 -4
  120. package/dist/tool-loop-agent/index.js +1 -1
  121. package/dist/workflows/evented/index.cjs +10 -10
  122. package/dist/workflows/evented/index.js +1 -1
  123. package/dist/workflows/index.cjs +24 -24
  124. package/dist/workflows/index.js +1 -1
  125. package/package.json +3 -3
  126. package/src/llm/model/provider-types.generated.d.ts +14 -0
  127. package/dist/chunk-6SZ4HY7N.cjs.map +0 -1
  128. package/dist/chunk-72TFCXLB.js.map +0 -1
  129. package/dist/chunk-HTSHN5E4.js.map +0 -1
  130. package/dist/chunk-MT2NFL3T.js.map +0 -1
  131. package/dist/chunk-RSFZN7OV.cjs.map +0 -1
  132. package/dist/chunk-TER3JXU5.cjs.map +0 -1
  133. package/dist/mastra-UBXRRSVL.cjs +0 -12
  134. package/dist/mastra-YR56DXR7.js +0 -3
  135. package/dist/models-dev-B24Y4NYV.js +0 -3
  136. package/dist/models-dev-EMLWCDMI.cjs +0 -12
  137. package/dist/netlify-BFZBVACL.cjs +0 -12
  138. package/dist/netlify-W7DGKAGR.js +0 -3
  139. package/dist/provider-registry-LGHC4U7P.js +0 -3
  140. package/dist/provider-registry-OLA6QVLP.cjs +0 -44
@@ -1,6 +1,6 @@
1
- import { Agent, isSupportedLanguageModel } from './chunk-72TFCXLB.js';
1
+ import { Agent, isSupportedLanguageModel } from './chunk-NTLWGWDT.js';
2
2
  import { generateId } from './chunk-6PALJNKG.js';
3
- import { resolveModelConfig } from './chunk-BQN6OA5U.js';
3
+ import { resolveModelConfig } from './chunk-4M66KVRT.js';
4
4
  import { ToolLoopAgent } from './chunk-Q6PTFJUZ.js';
5
5
 
6
6
  // src/tool-loop-agent/utils.ts
@@ -255,5 +255,5 @@ function toolLoopAgentToMastraAgent(agent, options) {
255
255
  }
256
256
 
257
257
  export { getSettings, isToolLoopAgentLike, toolLoopAgentToMastraAgent };
258
- //# sourceMappingURL=chunk-TJ4FSWVQ.js.map
259
- //# sourceMappingURL=chunk-TJ4FSWVQ.js.map
258
+ //# sourceMappingURL=chunk-7K6DJUAN.js.map
259
+ //# sourceMappingURL=chunk-7K6DJUAN.js.map
@@ -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":[],"mappings":"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","file":"chunk-TJ4FSWVQ.js","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":[],"mappings":"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","file":"chunk-7K6DJUAN.js","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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRSFZN7OV_cjs = require('./chunk-RSFZN7OV.cjs');
3
+ var chunkW7KMJBO2_cjs = require('./chunk-W7KMJBO2.cjs');
4
4
  var chunkZCBG4ZQT_cjs = require('./chunk-ZCBG4ZQT.cjs');
5
5
  var chunkKXD2SHMK_cjs = require('./chunk-KXD2SHMK.cjs');
6
6
  var chunkUFKCK75F_cjs = require('./chunk-UFKCK75F.cjs');
@@ -62,7 +62,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
62
62
  let suspended;
63
63
  let bailed;
64
64
  const startedAt = Date.now();
65
- const { inputData, validationError } = await chunkRSFZN7OV_cjs.validateStepInput({
65
+ const { inputData, validationError } = await chunkW7KMJBO2_cjs.validateStepInput({
66
66
  prevOutput: typeof params.foreachIdx === "number" ? params.input?.[params.foreachIdx] : params.input,
67
67
  step,
68
68
  validateInputs: params.validateInputs ?? true
@@ -95,7 +95,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
95
95
  const stepOutput = await chunk2NAHFM32_cjs.executeWithContext({
96
96
  span: params.tracingContext?.currentSpan,
97
97
  fn: () => step.execute(
98
- chunkRSFZN7OV_cjs.createDeprecationProxy(
98
+ chunkW7KMJBO2_cjs.createDeprecationProxy(
99
99
  {
100
100
  workflowId: params.workflowId,
101
101
  runId,
@@ -110,9 +110,9 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
110
110
  resumeData: params.resumeData,
111
111
  suspendData: suspendDataToUse,
112
112
  getInitData: () => stepResults?.input,
113
- getStepResult: chunkRSFZN7OV_cjs.getStepResult.bind(this, stepResults),
113
+ getStepResult: chunkW7KMJBO2_cjs.getStepResult.bind(this, stepResults),
114
114
  suspend: async (suspendPayload, suspendOptions) => {
115
- const { suspendData, validationError: validationError2 } = await chunkRSFZN7OV_cjs.validateStepSuspendData({
115
+ const { suspendData, validationError: validationError2 } = await chunkW7KMJBO2_cjs.validateStepSuspendData({
116
116
  suspendData: suspendPayload,
117
117
  step,
118
118
  validateInputs: params.validateInputs ?? true
@@ -165,7 +165,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
165
165
  },
166
166
  {
167
167
  paramName: "runCount",
168
- deprecationMessage: chunkRSFZN7OV_cjs.runCountDeprecationMessage,
168
+ deprecationMessage: chunkW7KMJBO2_cjs.runCountDeprecationMessage,
169
169
  logger: this.logger
170
170
  }
171
171
  )
@@ -238,7 +238,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
238
238
  // Preserve TripWire data as plain object for proper serialization
239
239
  // Important: Check `error` not `errorInstance` because getErrorFromUnknown
240
240
  // converts the error and loses the prototype chain
241
- tripwire: error instanceof chunkRSFZN7OV_cjs.TripWire ? {
241
+ tripwire: error instanceof chunkW7KMJBO2_cjs.TripWire ? {
242
242
  reason: error.message,
243
243
  retry: error.options?.retry,
244
244
  metadata: error.options?.metadata,
@@ -296,7 +296,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
296
296
  const callId = crypto.randomUUID();
297
297
  const outputWriter = this.createOutputWriter(runId);
298
298
  return condition(
299
- chunkRSFZN7OV_cjs.createDeprecationProxy(
299
+ chunkW7KMJBO2_cjs.createDeprecationProxy(
300
300
  {
301
301
  workflowId,
302
302
  runId,
@@ -307,7 +307,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
307
307
  retryCount,
308
308
  resumeData,
309
309
  getInitData: () => stepResults?.input,
310
- getStepResult: chunkRSFZN7OV_cjs.getStepResult.bind(this, stepResults),
310
+ getStepResult: chunkW7KMJBO2_cjs.getStepResult.bind(this, stepResults),
311
311
  bail: (_result) => {
312
312
  throw new Error("Not implemented");
313
313
  },
@@ -334,7 +334,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
334
334
  },
335
335
  {
336
336
  paramName: "runCount",
337
- deprecationMessage: chunkRSFZN7OV_cjs.runCountDeprecationMessage,
337
+ deprecationMessage: chunkW7KMJBO2_cjs.runCountDeprecationMessage,
338
338
  logger: this.logger
339
339
  }
340
340
  )
@@ -354,7 +354,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
354
354
  const callId = crypto.randomUUID();
355
355
  const outputWriter = this.createOutputWriter(runId);
356
356
  return await step.fn(
357
- chunkRSFZN7OV_cjs.createDeprecationProxy(
357
+ chunkW7KMJBO2_cjs.createDeprecationProxy(
358
358
  {
359
359
  workflowId: params.workflowId,
360
360
  runId,
@@ -368,7 +368,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
368
368
  retryCount,
369
369
  resumeData: params.resumeData,
370
370
  getInitData: () => stepResults?.input,
371
- getStepResult: chunkRSFZN7OV_cjs.getStepResult.bind(this, stepResults),
371
+ getStepResult: chunkW7KMJBO2_cjs.getStepResult.bind(this, stepResults),
372
372
  suspend: async (_suspendPayload) => {
373
373
  throw new Error("Not implemented");
374
374
  },
@@ -397,7 +397,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
397
397
  },
398
398
  {
399
399
  paramName: "runCount",
400
- deprecationMessage: chunkRSFZN7OV_cjs.runCountDeprecationMessage,
400
+ deprecationMessage: chunkW7KMJBO2_cjs.runCountDeprecationMessage,
401
401
  logger: this.logger
402
402
  }
403
403
  )
@@ -421,7 +421,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
421
421
  const callId = crypto.randomUUID();
422
422
  const outputWriter = this.createOutputWriter(runId);
423
423
  const result = await step.fn(
424
- chunkRSFZN7OV_cjs.createDeprecationProxy(
424
+ chunkW7KMJBO2_cjs.createDeprecationProxy(
425
425
  {
426
426
  workflowId: params.workflowId,
427
427
  runId,
@@ -435,7 +435,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
435
435
  retryCount,
436
436
  resumeData: params.resumeData,
437
437
  getInitData: () => stepResults?.input,
438
- getStepResult: chunkRSFZN7OV_cjs.getStepResult.bind(this, stepResults),
438
+ getStepResult: chunkW7KMJBO2_cjs.getStepResult.bind(this, stepResults),
439
439
  suspend: async (_suspendPayload) => {
440
440
  throw new Error("Not implemented");
441
441
  },
@@ -464,7 +464,7 @@ var StepExecutor = class extends chunkFCQNDFEW_cjs.MastraBase {
464
464
  },
465
465
  {
466
466
  paramName: "runCount",
467
- deprecationMessage: chunkRSFZN7OV_cjs.runCountDeprecationMessage,
467
+ deprecationMessage: chunkW7KMJBO2_cjs.runCountDeprecationMessage,
468
468
  logger: this.logger
469
469
  }
470
470
  )
@@ -483,7 +483,7 @@ function isTripwireChunk(chunk) {
483
483
  }
484
484
  function createTripWireFromChunk(chunk) {
485
485
  const { payload } = chunk;
486
- return new chunkRSFZN7OV_cjs.TripWire(
486
+ return new chunkW7KMJBO2_cjs.TripWire(
487
487
  payload.reason || "Agent tripwire triggered",
488
488
  {
489
489
  retry: payload.retry,
@@ -2102,7 +2102,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
2102
2102
  runId
2103
2103
  }) ?? { context: {} };
2104
2104
  const nestedWorkflow = step.step;
2105
- const timeTravelParams = chunkRSFZN7OV_cjs.createTimeTravelExecutionParams({
2105
+ const timeTravelParams = chunkW7KMJBO2_cjs.createTimeTravelExecutionParams({
2106
2106
  steps: timeTravel.steps.slice(1),
2107
2107
  inputData: timeTravel.inputData,
2108
2108
  resumeData: timeTravel.resumeData,
@@ -2202,7 +2202,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
2202
2202
  for (const [key, value] of Object.entries(requestContext)) {
2203
2203
  rc.set(key, value);
2204
2204
  }
2205
- const { resumeData: timeTravelResumeData, validationError: timeTravelResumeValidationError } = await chunkRSFZN7OV_cjs.validateStepResumeData({
2205
+ const { resumeData: timeTravelResumeData, validationError: timeTravelResumeValidationError } = await chunkW7KMJBO2_cjs.validateStepResumeData({
2206
2206
  resumeData: timeTravel?.stepResults[step.step.id]?.status === "suspended" ? timeTravel?.resumeData : void 0,
2207
2207
  step: step.step
2208
2208
  });
@@ -3023,7 +3023,7 @@ var WorkflowEventProcessor = class extends EventProcessor {
3023
3023
 
3024
3024
  // src/workflows/evented/workflow.ts
3025
3025
  function cloneWorkflow(workflow, opts) {
3026
- const wf = new chunkRSFZN7OV_cjs.Workflow({
3026
+ const wf = new chunkW7KMJBO2_cjs.Workflow({
3027
3027
  id: opts.id,
3028
3028
  inputSchema: workflow.inputSchema,
3029
3029
  outputSchema: workflow.outputSchema,
@@ -3052,16 +3052,16 @@ function cloneStep(step, opts) {
3052
3052
  };
3053
3053
  }
3054
3054
  function isAgent(input) {
3055
- return input instanceof chunkRSFZN7OV_cjs.Agent;
3055
+ return input instanceof chunkW7KMJBO2_cjs.Agent;
3056
3056
  }
3057
3057
  function isToolStep(input) {
3058
3058
  return input instanceof chunkU7Z7GCXY_cjs.Tool;
3059
3059
  }
3060
3060
  function isStepParams(input) {
3061
- return input !== null && typeof input === "object" && "id" in input && "execute" in input && !(input instanceof chunkRSFZN7OV_cjs.Agent) && !(input instanceof chunkU7Z7GCXY_cjs.Tool);
3061
+ return input !== null && typeof input === "object" && "id" in input && "execute" in input && !(input instanceof chunkW7KMJBO2_cjs.Agent) && !(input instanceof chunkU7Z7GCXY_cjs.Tool);
3062
3062
  }
3063
3063
  function isProcessor(obj) {
3064
- return obj !== null && typeof obj === "object" && "id" in obj && typeof obj.id === "string" && !(obj instanceof chunkRSFZN7OV_cjs.Agent) && !(obj instanceof chunkU7Z7GCXY_cjs.Tool) && (typeof obj.processInput === "function" || typeof obj.processInputStep === "function" || typeof obj.processOutputStream === "function" || typeof obj.processOutputResult === "function" || typeof obj.processOutputStep === "function");
3064
+ return obj !== null && typeof obj === "object" && "id" in obj && typeof obj.id === "string" && !(obj instanceof chunkW7KMJBO2_cjs.Agent) && !(obj instanceof chunkU7Z7GCXY_cjs.Tool) && (typeof obj.processInput === "function" || typeof obj.processInputStep === "function" || typeof obj.processOutputStream === "function" || typeof obj.processOutputResult === "function" || typeof obj.processOutputStep === "function");
3065
3065
  }
3066
3066
  function areProcessorMessageArraysEqual(before, after) {
3067
3067
  if (before === after) {
@@ -3135,7 +3135,7 @@ async function processAgentStream(params) {
3135
3135
  }
3136
3136
  }
3137
3137
  if (streamFormat !== "legacy") {
3138
- await chunkRSFZN7OV_cjs.forwardAgentStreamChunk({ writer, chunk });
3138
+ await chunkW7KMJBO2_cjs.forwardAgentStreamChunk({ writer, chunk });
3139
3139
  }
3140
3140
  }
3141
3141
  try {
@@ -3193,7 +3193,7 @@ function createStepFromAgent(params, agentOrToolOptions) {
3193
3193
  };
3194
3194
  const llm = await params.getLLM({ requestContext });
3195
3195
  const modelInfo = llm.getModel();
3196
- const isV2Model = chunkRSFZN7OV_cjs.isSupportedLanguageModel(modelInfo);
3196
+ const isV2Model = chunkW7KMJBO2_cjs.isSupportedLanguageModel(modelInfo);
3197
3197
  let structuredResult = null;
3198
3198
  const handleFinish = (result) => {
3199
3199
  const resultWithObject = result;
@@ -3360,8 +3360,8 @@ function createStepFromProcessor(processor) {
3360
3360
  return {
3361
3361
  id: `processor:${processor.id}`,
3362
3362
  description: processor.name ?? `Processor ${processor.id}`,
3363
- inputSchema: chunkXB4FLS7A_cjs.toStandardSchema(chunkRSFZN7OV_cjs.ProcessorStepSchema),
3364
- outputSchema: chunkXB4FLS7A_cjs.toStandardSchema(chunkRSFZN7OV_cjs.ProcessorStepOutputSchema),
3363
+ inputSchema: chunkXB4FLS7A_cjs.toStandardSchema(chunkW7KMJBO2_cjs.ProcessorStepSchema),
3364
+ outputSchema: chunkXB4FLS7A_cjs.toStandardSchema(chunkW7KMJBO2_cjs.ProcessorStepOutputSchema),
3365
3365
  execute: async ({ inputData, requestContext, ...obsFields }) => {
3366
3366
  const observabilityContext = chunkELRUKENZ_cjs.resolveObservabilityContext(obsFields);
3367
3367
  const input = inputData;
@@ -3397,7 +3397,7 @@ function createStepFromProcessor(processor) {
3397
3397
  abortSignal
3398
3398
  } = input;
3399
3399
  const abort = (reason, options) => {
3400
- throw new chunkRSFZN7OV_cjs.TripWire(reason || `Tripwire triggered by ${processor.id}`, options, processor.id);
3400
+ throw new chunkW7KMJBO2_cjs.TripWire(reason || `Tripwire triggered by ${processor.id}`, options, processor.id);
3401
3401
  };
3402
3402
  const initialMessageId = messageId;
3403
3403
  let currentMessageId = messageId;
@@ -3420,10 +3420,10 @@ function createStepFromProcessor(processor) {
3420
3420
  ...retryCount !== void 0 ? { retryCount } : {}
3421
3421
  };
3422
3422
  case "inputStep": {
3423
- const summarizedModel = chunkRSFZN7OV_cjs.summarizeProcessorModelForSpan(model);
3424
- const summarizedTools = chunkRSFZN7OV_cjs.summarizeProcessorToolsForSpan(tools);
3425
- const summarizedToolChoice = chunkRSFZN7OV_cjs.summarizeToolChoiceForSpan(toolChoice, tools);
3426
- const summarizedActiveTools = chunkRSFZN7OV_cjs.summarizeActiveToolsForSpan(activeTools, tools);
3423
+ const summarizedModel = chunkW7KMJBO2_cjs.summarizeProcessorModelForSpan(model);
3424
+ const summarizedTools = chunkW7KMJBO2_cjs.summarizeProcessorToolsForSpan(tools);
3425
+ const summarizedToolChoice = chunkW7KMJBO2_cjs.summarizeToolChoiceForSpan(toolChoice, tools);
3426
+ const summarizedActiveTools = chunkW7KMJBO2_cjs.summarizeActiveToolsForSpan(activeTools, tools);
3427
3427
  return {
3428
3428
  messages: messages ?? [],
3429
3429
  ...systemMessages ? { systemMessages } : {},
@@ -3437,7 +3437,7 @@ function createStepFromProcessor(processor) {
3437
3437
  };
3438
3438
  }
3439
3439
  case "outputResult": {
3440
- const summarizedResult = chunkRSFZN7OV_cjs.summarizeProcessorResultForSpan(outputResult ?? defaultOutputResult);
3440
+ const summarizedResult = chunkW7KMJBO2_cjs.summarizeProcessorResultForSpan(outputResult ?? defaultOutputResult);
3441
3441
  return {
3442
3442
  messages: messages ?? [],
3443
3443
  ...summarizedResult ? { result: summarizedResult } : {},
@@ -3481,25 +3481,25 @@ function createStepFromProcessor(processor) {
3481
3481
  output.messageId = payload.messageId;
3482
3482
  }
3483
3483
  if (payload.model !== void 0 && payload.model !== model) {
3484
- const summarizedModel = chunkRSFZN7OV_cjs.summarizeProcessorModelForSpan(payload.model);
3484
+ const summarizedModel = chunkW7KMJBO2_cjs.summarizeProcessorModelForSpan(payload.model);
3485
3485
  if (summarizedModel) {
3486
3486
  output.model = summarizedModel;
3487
3487
  }
3488
3488
  }
3489
3489
  if (payload.tools !== void 0 && payload.tools !== tools) {
3490
- const summarizedTools = chunkRSFZN7OV_cjs.summarizeProcessorToolsForSpan(payload.tools);
3490
+ const summarizedTools = chunkW7KMJBO2_cjs.summarizeProcessorToolsForSpan(payload.tools);
3491
3491
  if (summarizedTools) {
3492
3492
  output.tools = summarizedTools;
3493
3493
  }
3494
3494
  }
3495
3495
  if (payload.toolChoice !== void 0 && payload.toolChoice !== toolChoice) {
3496
- const summarizedToolChoice = chunkRSFZN7OV_cjs.summarizeToolChoiceForSpan(payload.toolChoice, payload.tools ?? tools);
3496
+ const summarizedToolChoice = chunkW7KMJBO2_cjs.summarizeToolChoiceForSpan(payload.toolChoice, payload.tools ?? tools);
3497
3497
  if (summarizedToolChoice) {
3498
3498
  output.toolChoice = summarizedToolChoice;
3499
3499
  }
3500
3500
  }
3501
3501
  if (payload.activeTools !== void 0 && payload.activeTools !== activeTools) {
3502
- const summarizedActiveTools = chunkRSFZN7OV_cjs.summarizeActiveToolsForSpan(payload.activeTools, payload.tools ?? tools);
3502
+ const summarizedActiveTools = chunkW7KMJBO2_cjs.summarizeActiveToolsForSpan(payload.activeTools, payload.tools ?? tools);
3503
3503
  if (summarizedActiveTools) {
3504
3504
  output.activeTools = summarizedActiveTools;
3505
3505
  }
@@ -3544,7 +3544,7 @@ function createStepFromProcessor(processor) {
3544
3544
  if (processorStates) {
3545
3545
  let ps = processorStates.get(processor.id);
3546
3546
  if (!ps) {
3547
- ps = new chunkRSFZN7OV_cjs.ProcessorState();
3547
+ ps = new chunkW7KMJBO2_cjs.ProcessorState();
3548
3548
  processorStates.set(processor.id, ps);
3549
3549
  }
3550
3550
  processorState = ps.customState;
@@ -3595,7 +3595,7 @@ function createStepFromProcessor(processor) {
3595
3595
  processorSpan?.end({ output: buildProcessorSpanOutput(result) });
3596
3596
  return result;
3597
3597
  } catch (error) {
3598
- if (error instanceof chunkRSFZN7OV_cjs.TripWire) {
3598
+ if (error instanceof chunkW7KMJBO2_cjs.TripWire) {
3599
3599
  processorSpan?.end({ output: { tripwire: error.message } });
3600
3600
  } else {
3601
3601
  processorSpan?.error({ error, endSpan: true });
@@ -3638,7 +3638,7 @@ function createStepFromProcessor(processor) {
3638
3638
  systemMessages: result.getAllSystemMessages()
3639
3639
  };
3640
3640
  } else if (Array.isArray(result)) {
3641
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3641
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3642
3642
  result,
3643
3643
  passThrough.messageList,
3644
3644
  idsBeforeProcessing,
@@ -3648,7 +3648,7 @@ function createStepFromProcessor(processor) {
3648
3648
  return { ...passThrough, messages: result };
3649
3649
  } else if (result && "messages" in result && "systemMessages" in result) {
3650
3650
  const typedResult = result;
3651
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3651
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3652
3652
  typedResult.messages,
3653
3653
  passThrough.messageList,
3654
3654
  idsBeforeProcessing,
@@ -3696,13 +3696,13 @@ function createStepFromProcessor(processor) {
3696
3696
  messageId: currentMessageId,
3697
3697
  rotateResponseMessageId: rotateCurrentResponseMessageId
3698
3698
  });
3699
- const validatedResult = await chunkRSFZN7OV_cjs.ProcessorRunner.validateAndFormatProcessInputStepResult(result, {
3699
+ const validatedResult = await chunkW7KMJBO2_cjs.ProcessorRunner.validateAndFormatProcessInputStepResult(result, {
3700
3700
  messageList: passThrough.messageList,
3701
3701
  processor,
3702
3702
  stepNumber: stepNumber ?? 0
3703
3703
  });
3704
3704
  if (validatedResult.messages) {
3705
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3705
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3706
3706
  validatedResult.messages,
3707
3707
  passThrough.messageList,
3708
3708
  idsBeforeProcessing,
@@ -3759,7 +3759,7 @@ function createStepFromProcessor(processor) {
3759
3759
  delete mutableState[spanKey];
3760
3760
  }
3761
3761
  } catch (error) {
3762
- if (error instanceof chunkRSFZN7OV_cjs.TripWire) {
3762
+ if (error instanceof chunkW7KMJBO2_cjs.TripWire) {
3763
3763
  processorSpan2?.end({ output: { tripwire: error.message } });
3764
3764
  } else {
3765
3765
  processorSpan2?.error({ error, endSpan: true });
@@ -3810,7 +3810,7 @@ function createStepFromProcessor(processor) {
3810
3810
  systemMessages: result.getAllSystemMessages()
3811
3811
  };
3812
3812
  } else if (Array.isArray(result)) {
3813
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3813
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3814
3814
  result,
3815
3815
  passThrough.messageList,
3816
3816
  idsBeforeProcessing,
@@ -3820,7 +3820,7 @@ function createStepFromProcessor(processor) {
3820
3820
  return { ...passThrough, messages: result };
3821
3821
  } else if (result && "messages" in result && "systemMessages" in result) {
3822
3822
  const typedResult = result;
3823
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3823
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3824
3824
  typedResult.messages,
3825
3825
  passThrough.messageList,
3826
3826
  idsBeforeProcessing,
@@ -3882,7 +3882,7 @@ function createStepFromProcessor(processor) {
3882
3882
  systemMessages: result.getAllSystemMessages()
3883
3883
  };
3884
3884
  } else if (Array.isArray(result)) {
3885
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3885
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3886
3886
  result,
3887
3887
  passThrough.messageList,
3888
3888
  idsBeforeProcessing,
@@ -3892,7 +3892,7 @@ function createStepFromProcessor(processor) {
3892
3892
  return { ...passThrough, messages: result };
3893
3893
  } else if (result && "messages" in result && "systemMessages" in result) {
3894
3894
  const typedResult = result;
3895
- chunkRSFZN7OV_cjs.ProcessorRunner.applyMessagesToMessageList(
3895
+ chunkW7KMJBO2_cjs.ProcessorRunner.applyMessagesToMessageList(
3896
3896
  typedResult.messages,
3897
3897
  passThrough.messageList,
3898
3898
  idsBeforeProcessing,
@@ -3936,7 +3936,7 @@ function createWorkflow(params) {
3936
3936
  executionEngine
3937
3937
  });
3938
3938
  }
3939
- var EventedWorkflow = class extends chunkRSFZN7OV_cjs.Workflow {
3939
+ var EventedWorkflow = class extends chunkW7KMJBO2_cjs.Workflow {
3940
3940
  constructor(params) {
3941
3941
  super(params);
3942
3942
  this.engineType = "evented";
@@ -4010,7 +4010,7 @@ var EventedWorkflow = class extends chunkRSFZN7OV_cjs.Workflow {
4010
4010
  return run;
4011
4011
  }
4012
4012
  };
4013
- var EventedRun = class extends chunkRSFZN7OV_cjs.Run {
4013
+ var EventedRun = class extends chunkW7KMJBO2_cjs.Run {
4014
4014
  constructor(params) {
4015
4015
  super(params);
4016
4016
  this.serializedStepGraph = params.serializedStepGraph;
@@ -4222,7 +4222,7 @@ var EventedRun = class extends chunkRSFZN7OV_cjs.Run {
4222
4222
  }
4223
4223
  }
4224
4224
  });
4225
- this.streamOutput = new chunkRSFZN7OV_cjs.WorkflowRunOutput({
4225
+ this.streamOutput = new chunkW7KMJBO2_cjs.WorkflowRunOutput({
4226
4226
  runId: this.runId,
4227
4227
  workflowId: this.workflowId,
4228
4228
  stream
@@ -4288,7 +4288,7 @@ var EventedRun = class extends chunkRSFZN7OV_cjs.Run {
4288
4288
  }
4289
4289
  }
4290
4290
  });
4291
- this.streamOutput = new chunkRSFZN7OV_cjs.WorkflowRunOutput({
4291
+ this.streamOutput = new chunkW7KMJBO2_cjs.WorkflowRunOutput({
4292
4292
  runId: this.runId,
4293
4293
  workflowId: this.workflowId,
4294
4294
  stream
@@ -4521,7 +4521,7 @@ function isExecutableStep(step) {
4521
4521
  }
4522
4522
 
4523
4523
  // src/workflows/evented/execution-engine.ts
4524
- var EventedExecutionEngine = class extends chunkRSFZN7OV_cjs.ExecutionEngine {
4524
+ var EventedExecutionEngine = class extends chunkW7KMJBO2_cjs.ExecutionEngine {
4525
4525
  eventProcessor;
4526
4526
  constructor({
4527
4527
  mastra,
@@ -4561,7 +4561,7 @@ var EventedExecutionEngine = class extends chunkRSFZN7OV_cjs.ExecutionEngine {
4561
4561
  await ack?.();
4562
4562
  await pubsub.unsubscribe("workflows-finish", finishCb);
4563
4563
  if (event.type === "workflow.fail" && event.data.stepResults) {
4564
- event.data.stepResults = chunkRSFZN7OV_cjs.hydrateSerializedStepErrors(event.data.stepResults);
4564
+ event.data.stepResults = chunkW7KMJBO2_cjs.hydrateSerializedStepErrors(event.data.stepResults);
4565
4565
  }
4566
4566
  resolveResult(event.data);
4567
4567
  return;
@@ -4643,7 +4643,7 @@ var EventedExecutionEngine = class extends chunkRSFZN7OV_cjs.ExecutionEngine {
4643
4643
  const { __state: _removedState, ...stepResultsWithoutTopLevelState } = resultData.stepResults ?? {};
4644
4644
  const cleanStepResults = {};
4645
4645
  for (const [stepId, stepResult] of Object.entries(stepResultsWithoutTopLevelState)) {
4646
- cleanStepResults[stepId] = chunkRSFZN7OV_cjs.cleanStepResult(stepResult);
4646
+ cleanStepResults[stepId] = chunkW7KMJBO2_cjs.cleanStepResult(stepResult);
4647
4647
  }
4648
4648
  let callbackArg;
4649
4649
  if (resultData.prevResult.status === "failed") {
@@ -4760,5 +4760,5 @@ exports.cloneStep = cloneStep;
4760
4760
  exports.cloneWorkflow = cloneWorkflow;
4761
4761
  exports.createStep = createStep;
4762
4762
  exports.createWorkflow = createWorkflow;
4763
- //# sourceMappingURL=chunk-WBPTY4Y7.cjs.map
4764
- //# sourceMappingURL=chunk-WBPTY4Y7.cjs.map
4763
+ //# sourceMappingURL=chunk-BE3VZ4TY.cjs.map
4764
+ //# sourceMappingURL=chunk-BE3VZ4TY.cjs.map