@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.
- package/CHANGELOG.md +14 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/index.cjs +8 -8
- package/dist/agent/index.js +1 -1
- package/dist/agent/types.d.ts +7 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/schema.d.ts +1 -0
- package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
- package/dist/browser/index.cjs +2 -2
- package/dist/browser/index.js +1 -1
- package/dist/channels/index.cjs +4 -4
- package/dist/channels/index.js +1 -1
- package/dist/{chunk-BJCPVJJV.js → chunk-2E6D5DQ5.js} +3 -3
- package/dist/{chunk-BJCPVJJV.js.map → chunk-2E6D5DQ5.js.map} +1 -1
- package/dist/{chunk-BQN6OA5U.js → chunk-4M66KVRT.js} +6 -6
- package/dist/{chunk-BQN6OA5U.js.map → chunk-4M66KVRT.js.map} +1 -1
- package/dist/{chunk-TJ4FSWVQ.js → chunk-7K6DJUAN.js} +4 -4
- package/dist/{chunk-TJ4FSWVQ.js.map → chunk-7K6DJUAN.js.map} +1 -1
- package/dist/{chunk-WBPTY4Y7.cjs → chunk-BE3VZ4TY.cjs} +57 -57
- package/dist/{chunk-WBPTY4Y7.cjs.map → chunk-BE3VZ4TY.cjs.map} +1 -1
- package/dist/{chunk-MT2NFL3T.js → chunk-E7XQRCBI.js} +38 -10
- package/dist/chunk-E7XQRCBI.js.map +1 -0
- package/dist/{chunk-DELWJ5NK.js → chunk-GP7MJGMS.js} +3 -3
- package/dist/{chunk-DELWJ5NK.js.map → chunk-GP7MJGMS.js.map} +1 -1
- package/dist/{chunk-ECT5553H.cjs → chunk-IPSDBZHB.cjs} +292 -292
- package/dist/{chunk-ECT5553H.cjs.map → chunk-IPSDBZHB.cjs.map} +1 -1
- package/dist/{chunk-5IIRXFH2.cjs → chunk-J4G423VO.cjs} +5 -5
- package/dist/{chunk-5IIRXFH2.cjs.map → chunk-J4G423VO.cjs.map} +1 -1
- package/dist/{chunk-HTSHN5E4.js → chunk-JD7WSJTA.js} +8 -7
- package/dist/chunk-JD7WSJTA.js.map +1 -0
- package/dist/{chunk-HGZ5C3XG.cjs → chunk-LUBVBTV4.cjs} +17 -17
- package/dist/{chunk-HGZ5C3XG.cjs.map → chunk-LUBVBTV4.cjs.map} +1 -1
- package/dist/{chunk-IFMX323P.cjs → chunk-N63HAAVB.cjs} +7 -7
- package/dist/{chunk-IFMX323P.cjs.map → chunk-N63HAAVB.cjs.map} +1 -1
- package/dist/{chunk-72TFCXLB.js → chunk-NTLWGWDT.js} +381 -308
- package/dist/chunk-NTLWGWDT.js.map +1 -0
- package/dist/{chunk-2QPYXXQP.js → chunk-PB3JPQ7B.js} +3 -3
- package/dist/{chunk-2QPYXXQP.js.map → chunk-PB3JPQ7B.js.map} +1 -1
- package/dist/{chunk-M7NIAKE6.cjs → chunk-QKGC723H.cjs} +3 -3
- package/dist/{chunk-M7NIAKE6.cjs.map → chunk-QKGC723H.cjs.map} +1 -1
- package/dist/{chunk-CXIQCUHL.js → chunk-QRGHKCIG.js} +3 -3
- package/dist/{chunk-CXIQCUHL.js.map → chunk-QRGHKCIG.js.map} +1 -1
- package/dist/{chunk-KSTYF5BD.js → chunk-SMOA623A.js} +3 -3
- package/dist/{chunk-KSTYF5BD.js.map → chunk-SMOA623A.js.map} +1 -1
- package/dist/{chunk-6SZ4HY7N.cjs → chunk-SUQSRI7N.cjs} +10 -9
- package/dist/chunk-SUQSRI7N.cjs.map +1 -0
- package/dist/{chunk-B3A3OLBO.cjs → chunk-V2EI5DBA.cjs} +224 -224
- package/dist/{chunk-B3A3OLBO.cjs.map → chunk-V2EI5DBA.cjs.map} +1 -1
- package/dist/{chunk-RSFZN7OV.cjs → chunk-W7KMJBO2.cjs} +389 -316
- package/dist/chunk-W7KMJBO2.cjs.map +1 -0
- package/dist/{chunk-TER3JXU5.cjs → chunk-WUWY4NUR.cjs} +50 -22
- package/dist/chunk-WUWY4NUR.cjs.map +1 -0
- package/dist/{chunk-5EU2N7AI.js → chunk-X22POPDU.js} +9 -9
- package/dist/{chunk-5EU2N7AI.js.map → chunk-X22POPDU.js.map} +1 -1
- package/dist/{chunk-SLO7BNJL.cjs → chunk-YXGUPFLQ.cjs} +9 -9
- package/dist/{chunk-SLO7BNJL.cjs.map → chunk-YXGUPFLQ.cjs.map} +1 -1
- package/dist/datasets/experiment/index.d.ts.map +1 -1
- package/dist/datasets/index.cjs +11 -11
- package/dist/datasets/index.js +1 -1
- package/dist/docs/SKILL.md +3 -1
- package/dist/docs/assets/SOURCE_MAP.json +191 -191
- package/dist/docs/references/docs-agents-structured-output.md +22 -0
- package/dist/docs/references/docs-memory-storage.md +1 -0
- package/dist/docs/references/reference-storage-redis.md +266 -0
- package/dist/docs/references/reference-tools-tavily.md +307 -0
- package/dist/docs/references/reference.md +2 -0
- package/dist/evals/index.cjs +5 -5
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +3 -3
- package/dist/evals/scoreTraces/index.js +1 -1
- package/dist/harness/index.cjs +7 -7
- package/dist/harness/index.js +5 -5
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/llm/index.cjs +20 -20
- package/dist/llm/index.js +5 -5
- package/dist/llm/model/provider-types.generated.d.ts +14 -0
- package/dist/loop/index.cjs +14 -14
- package/dist/loop/index.js +1 -1
- package/dist/loop/workflows/agentic-execution/build-messages-from-chunks.d.ts +32 -0
- package/dist/loop/workflows/agentic-execution/build-messages-from-chunks.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/run-state.d.ts +0 -9
- package/dist/loop/workflows/run-state.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/mastra-GAT6GCQK.cjs +12 -0
- package/dist/{mastra-UBXRRSVL.cjs.map → mastra-GAT6GCQK.cjs.map} +1 -1
- package/dist/mastra-MYONAFWU.js +3 -0
- package/dist/{mastra-YR56DXR7.js.map → mastra-MYONAFWU.js.map} +1 -1
- package/dist/memory/index.cjs +19 -19
- package/dist/memory/index.js +1 -1
- package/dist/models-dev-D7X3KQB6.js +3 -0
- package/dist/{models-dev-B24Y4NYV.js.map → models-dev-D7X3KQB6.js.map} +1 -1
- package/dist/models-dev-E4OIS4CB.cjs +12 -0
- package/dist/{models-dev-EMLWCDMI.cjs.map → models-dev-E4OIS4CB.cjs.map} +1 -1
- package/dist/netlify-KZCZ3W3P.cjs +12 -0
- package/dist/{netlify-BFZBVACL.cjs.map → netlify-KZCZ3W3P.cjs.map} +1 -1
- package/dist/netlify-PIYWGUPG.js +3 -0
- package/dist/{netlify-W7DGKAGR.js.map → netlify-PIYWGUPG.js.map} +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +45 -45
- package/dist/processors/index.js +1 -1
- package/dist/processors/processors/structured-output.d.ts +13 -12
- package/dist/processors/processors/structured-output.d.ts.map +1 -1
- package/dist/provider-registry-4PDBM3Q4.js +3 -0
- package/dist/{provider-registry-LGHC4U7P.js.map → provider-registry-4PDBM3Q4.js.map} +1 -1
- package/dist/provider-registry-7DRCW3PP.cjs +44 -0
- package/dist/{provider-registry-OLA6QVLP.cjs.map → provider-registry-7DRCW3PP.cjs.map} +1 -1
- package/dist/provider-registry.json +30 -2
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +24 -24
- package/dist/workflows/index.js +1 -1
- package/package.json +3 -3
- package/src/llm/model/provider-types.generated.d.ts +14 -0
- package/dist/chunk-6SZ4HY7N.cjs.map +0 -1
- package/dist/chunk-72TFCXLB.js.map +0 -1
- package/dist/chunk-HTSHN5E4.js.map +0 -1
- package/dist/chunk-MT2NFL3T.js.map +0 -1
- package/dist/chunk-RSFZN7OV.cjs.map +0 -1
- package/dist/chunk-TER3JXU5.cjs.map +0 -1
- package/dist/mastra-UBXRRSVL.cjs +0 -12
- package/dist/mastra-YR56DXR7.js +0 -3
- package/dist/models-dev-B24Y4NYV.js +0 -3
- package/dist/models-dev-EMLWCDMI.cjs +0 -12
- package/dist/netlify-BFZBVACL.cjs +0 -12
- package/dist/netlify-W7DGKAGR.js +0 -3
- package/dist/provider-registry-LGHC4U7P.js +0 -3
- package/dist/provider-registry-OLA6QVLP.cjs +0 -44
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Agent, isSupportedLanguageModel } from './chunk-
|
|
1
|
+
import { Agent, isSupportedLanguageModel } from './chunk-NTLWGWDT.js';
|
|
2
2
|
import { generateId } from './chunk-6PALJNKG.js';
|
|
3
|
-
import { resolveModelConfig } from './chunk-
|
|
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-
|
|
259
|
-
//# sourceMappingURL=chunk-
|
|
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
|
|
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
|
|
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
|
-
|
|
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:
|
|
113
|
+
getStepResult: chunkW7KMJBO2_cjs.getStepResult.bind(this, stepResults),
|
|
114
114
|
suspend: async (suspendPayload, suspendOptions) => {
|
|
115
|
-
const { suspendData, validationError: validationError2 } = await
|
|
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:
|
|
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
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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(
|
|
3364
|
-
outputSchema: chunkXB4FLS7A_cjs.toStandardSchema(
|
|
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
|
|
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 =
|
|
3424
|
-
const summarizedTools =
|
|
3425
|
-
const summarizedToolChoice =
|
|
3426
|
-
const summarizedActiveTools =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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] =
|
|
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-
|
|
4764
|
-
//# sourceMappingURL=chunk-
|
|
4763
|
+
//# sourceMappingURL=chunk-BE3VZ4TY.cjs.map
|
|
4764
|
+
//# sourceMappingURL=chunk-BE3VZ4TY.cjs.map
|