@mastra/core 1.23.0-alpha.5 → 1.23.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/agent/agent.d.ts +13 -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/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-XFLQVMNH.cjs → chunk-2U4U6VZ5.cjs} +17 -17
- package/dist/{chunk-XFLQVMNH.cjs.map → chunk-2U4U6VZ5.cjs.map} +1 -1
- package/dist/{chunk-EXORPYDN.js → chunk-3632PTZF.js} +3 -3
- package/dist/{chunk-EXORPYDN.js.map → chunk-3632PTZF.js.map} +1 -1
- package/dist/{chunk-Z34TVGNZ.js → chunk-4HFYPLDG.js} +4 -4
- package/dist/{chunk-Z34TVGNZ.js.map → chunk-4HFYPLDG.js.map} +1 -1
- package/dist/{chunk-YR7XRMDN.cjs → chunk-4YNVWIVU.cjs} +6 -6
- package/dist/{chunk-YR7XRMDN.cjs.map → chunk-4YNVWIVU.cjs.map} +1 -1
- package/dist/{chunk-ZHYPWNWS.js → chunk-5A75YCEU.js} +4 -4
- package/dist/{chunk-ZHYPWNWS.js.map → chunk-5A75YCEU.js.map} +1 -1
- package/dist/{chunk-JNXWDPCZ.js → chunk-5HWO7HAZ.js} +5 -5
- package/dist/{chunk-JNXWDPCZ.js.map → chunk-5HWO7HAZ.js.map} +1 -1
- package/dist/{chunk-7STIIXEL.cjs → chunk-5QANZ2BK.cjs} +3 -3
- package/dist/{chunk-7STIIXEL.cjs.map → chunk-5QANZ2BK.cjs.map} +1 -1
- package/dist/{chunk-UENWRQLR.cjs → chunk-7IX2HSPM.cjs} +10 -10
- package/dist/{chunk-UENWRQLR.cjs.map → chunk-7IX2HSPM.cjs.map} +1 -1
- package/dist/{chunk-Z67JQNEH.cjs → chunk-ANQFQAQH.cjs} +9 -9
- package/dist/{chunk-Z67JQNEH.cjs.map → chunk-ANQFQAQH.cjs.map} +1 -1
- package/dist/{chunk-JJFGNYVY.cjs → chunk-C75GFXKY.cjs} +7 -7
- package/dist/{chunk-JJFGNYVY.cjs.map → chunk-C75GFXKY.cjs.map} +1 -1
- package/dist/{chunk-DO4JBKMT.cjs → chunk-CC3MFLBU.cjs} +65 -48
- package/dist/chunk-CC3MFLBU.cjs.map +1 -0
- package/dist/{chunk-6UQKQBIB.js → chunk-DROHSODZ.js} +3 -3
- package/dist/{chunk-6UQKQBIB.js.map → chunk-DROHSODZ.js.map} +1 -1
- package/dist/{chunk-XZCYFQ4N.cjs → chunk-GL4YWMFL.cjs} +52 -52
- package/dist/{chunk-XZCYFQ4N.cjs.map → chunk-GL4YWMFL.cjs.map} +1 -1
- package/dist/{chunk-Z63F3XHK.js → chunk-HMPIJVKP.js} +4 -4
- package/dist/{chunk-Z63F3XHK.js.map → chunk-HMPIJVKP.js.map} +1 -1
- package/dist/{chunk-QYQSXRFZ.js → chunk-IEGARNJA.js} +26 -9
- package/dist/chunk-IEGARNJA.js.map +1 -0
- package/dist/{chunk-QIJFD7ZC.js → chunk-JCQOYXXQ.js} +4 -4
- package/dist/{chunk-QIJFD7ZC.js.map → chunk-JCQOYXXQ.js.map} +1 -1
- package/dist/{chunk-QRK2HWHI.js → chunk-KTG3LQ53.js} +7 -7
- package/dist/{chunk-QRK2HWHI.js.map → chunk-KTG3LQ53.js.map} +1 -1
- package/dist/{chunk-HWAEQSOO.js → chunk-LWKTIOOF.js} +9 -9
- package/dist/{chunk-HWAEQSOO.js.map → chunk-LWKTIOOF.js.map} +1 -1
- package/dist/{chunk-4W26D7S6.cjs → chunk-MVWQJXZI.cjs} +8 -8
- package/dist/{chunk-4W26D7S6.cjs.map → chunk-MVWQJXZI.cjs.map} +1 -1
- package/dist/{chunk-L2MCWEEX.js → chunk-R6IUYM6F.js} +4 -4
- package/dist/{chunk-L2MCWEEX.js.map → chunk-R6IUYM6F.js.map} +1 -1
- package/dist/{chunk-VO6R5RZT.js → chunk-RPW62X3B.js} +6 -6
- package/dist/{chunk-VO6R5RZT.js.map → chunk-RPW62X3B.js.map} +1 -1
- package/dist/{chunk-ZCBMZ24O.js → chunk-S7ZNHYXD.js} +3 -3
- package/dist/{chunk-ZCBMZ24O.js.map → chunk-S7ZNHYXD.js.map} +1 -1
- package/dist/{chunk-JF3WPB75.cjs → chunk-SRYSJ6JO.cjs} +3 -3
- package/dist/{chunk-JF3WPB75.cjs.map → chunk-SRYSJ6JO.cjs.map} +1 -1
- package/dist/{chunk-TKH2A57J.cjs → chunk-TCQYQJ2J.cjs} +185 -185
- package/dist/{chunk-TKH2A57J.cjs.map → chunk-TCQYQJ2J.cjs.map} +1 -1
- package/dist/{chunk-TG46FM6X.js → chunk-TL3J2VET.js} +3 -3
- package/dist/{chunk-TG46FM6X.js.map → chunk-TL3J2VET.js.map} +1 -1
- package/dist/{chunk-7DONY7OL.cjs → chunk-UXGGDVFP.cjs} +4 -4
- package/dist/{chunk-7DONY7OL.cjs.map → chunk-UXGGDVFP.cjs.map} +1 -1
- package/dist/{chunk-V7AX2MSJ.cjs → chunk-XKFWMB6C.cjs} +20 -20
- package/dist/{chunk-V7AX2MSJ.cjs.map → chunk-XKFWMB6C.cjs.map} +1 -1
- package/dist/{chunk-ZUN5CMDY.cjs → chunk-YDKLT4WV.cjs} +84 -84
- package/dist/{chunk-ZUN5CMDY.cjs.map → chunk-YDKLT4WV.cjs.map} +1 -1
- package/dist/{chunk-I6XSSR4Z.js → chunk-YK65ICFP.js} +8 -8
- package/dist/{chunk-I6XSSR4Z.js.map → chunk-YK65ICFP.js.map} +1 -1
- package/dist/{chunk-FSHOQBGF.cjs → chunk-ZIHHYCR6.cjs} +16 -16
- package/dist/{chunk-FSHOQBGF.cjs.map → chunk-ZIHHYCR6.cjs.map} +1 -1
- package/dist/datasets/index.cjs +17 -17
- package/dist/datasets/index.js +2 -2
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +328 -328
- package/dist/evals/index.cjs +23 -23
- package/dist/evals/index.js +3 -3
- package/dist/evals/scoreTraces/index.cjs +5 -5
- package/dist/evals/scoreTraces/index.js +2 -2
- package/dist/harness/harness.d.ts +2 -0
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +20 -9
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.js +17 -6
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/types.d.ts +8 -0
- package/dist/harness/types.d.ts.map +1 -1
- 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/loop/index.cjs +14 -14
- package/dist/loop/index.js +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/mastra-O6NVYRHB.cjs +12 -0
- package/dist/{mastra-VHS7LVQG.cjs.map → mastra-O6NVYRHB.cjs.map} +1 -1
- package/dist/mastra-RCXAXAXS.js +3 -0
- package/dist/{mastra-O4WWP6N5.js.map → mastra-RCXAXAXS.js.map} +1 -1
- package/dist/memory/index.cjs +17 -17
- package/dist/memory/index.js +1 -1
- package/dist/models-dev-65DKEQFQ.js +3 -0
- package/dist/{models-dev-4W7JQVWR.js.map → models-dev-65DKEQFQ.js.map} +1 -1
- package/dist/models-dev-LTUFE25P.cjs +12 -0
- package/dist/{models-dev-3IPTEPRM.cjs.map → models-dev-LTUFE25P.cjs.map} +1 -1
- package/dist/netlify-DS6PST2E.cjs +12 -0
- package/dist/{netlify-XT32D45G.cjs.map → netlify-DS6PST2E.cjs.map} +1 -1
- package/dist/netlify-QYOL42XI.js +3 -0
- package/dist/{netlify-FZBGNFDI.js.map → netlify-QYOL42XI.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 +44 -44
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry-74RFCTCO.cjs +40 -0
- package/dist/{provider-registry-X5PBSJ2G.cjs.map → provider-registry-74RFCTCO.cjs.map} +1 -1
- package/dist/provider-registry-EOQ3AJZW.js +3 -0
- package/dist/{provider-registry-AWL2JDVF.js.map → provider-registry-EOQ3AJZW.js.map} +1 -1
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/constants.cjs +56 -56
- package/dist/storage/constants.js +1 -1
- package/dist/storage/index.cjs +160 -160
- package/dist/storage/index.js +2 -2
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/test-utils/llm-mock.cjs +4 -4
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/utils.cjs +25 -25
- package/dist/utils.js +1 -1
- package/dist/vector/index.cjs +7 -7
- package/dist/vector/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/dist/chunk-DO4JBKMT.cjs.map +0 -1
- package/dist/chunk-QYQSXRFZ.js.map +0 -1
- package/dist/mastra-O4WWP6N5.js +0 -3
- package/dist/mastra-VHS7LVQG.cjs +0 -12
- package/dist/models-dev-3IPTEPRM.cjs +0 -12
- package/dist/models-dev-4W7JQVWR.js +0 -3
- package/dist/netlify-FZBGNFDI.js +0 -3
- package/dist/netlify-XT32D45G.cjs +0 -12
- package/dist/provider-registry-AWL2JDVF.js +0 -3
- package/dist/provider-registry-X5PBSJ2G.cjs +0 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tool-loop-agent/utils.ts","../src/tool-loop-agent/tool-loop-processor.ts","../src/tool-loop-agent/index.ts"],"names":["ToolLoopAgent","resolveModelConfig","isSupportedLanguageModel","generateId","Agent"],"mappings":"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","file":"chunk-JJFGNYVY.cjs","sourcesContent":["import { ToolLoopAgent } from '@internal/ai-v6';\nimport type { ToolLoopAgentSettings } from '@internal/ai-v6';\n\n/**\n * Shape of a ToolLoopAgent-like object for runtime extraction.\n * We use this looser type because TypeScript's structural typing doesn't work\n * well with private properties across different package declarations.\n */\nexport interface ToolLoopAgentLike {\n readonly id?: string;\n readonly version?: string;\n // The settings property is private in ToolLoopAgent but accessible at runtime\n // We don't declare it here since we access it via type casting\n}\n\nexport function isToolLoopAgentLike(obj: any): obj is ToolLoopAgentLike {\n if (!obj) return false;\n if (obj instanceof ToolLoopAgent) return true;\n return (\n 'version' in obj &&\n typeof obj.version === 'string' &&\n (obj.version === 'agent-v1' || obj.version.startsWith('agent-v'))\n );\n}\n\n/**\n * Extracts the settings from a ToolLoopAgent instance.\n * ToolLoopAgent.settings is private in TypeScript but accessible at runtime.\n */\nexport function getSettings(agent: ToolLoopAgentLike): ToolLoopAgentSettings<any, any, any> {\n const settings = (agent as unknown as { settings: ToolLoopAgentSettings<any, any, any> }).settings;\n if (!settings) {\n throw new Error('Could not extract settings from ToolLoopAgent. The agent may be from an incompatible version.');\n }\n return settings;\n}\n","import type {\n ToolLoopAgent,\n AgentCallParameters,\n ModelMessage,\n StepResult,\n ToolLoopAgentSettings,\n} from '@internal/ai-v6';\nimport { isSupportedLanguageModel } from '../agent';\nimport type { AgentExecutionOptions, AgentInstructions } from '../agent';\nimport { resolveModelConfig } from '../llm/model/resolve-model';\nimport type { MastraLanguageModel } from '../llm/model/shared.types';\nimport type { ProcessInputStepArgs, ProcessInputStepResult, Processor } from '../processors';\nimport { getSettings as getToolLoopAgentSettings } from './utils';\nimport type { ToolLoopAgentLike } from './utils';\n\ntype PrepareCallInput = AgentCallParameters<never> &\n Pick<\n ToolLoopAgentSettings<never, any, any>,\n | 'model'\n | 'tools'\n | 'maxOutputTokens'\n | 'temperature'\n | 'topP'\n | 'topK'\n | 'presencePenalty'\n | 'frequencyPenalty'\n | 'stopSequences'\n | 'seed'\n | 'headers'\n | 'instructions'\n | 'stopWhen'\n | 'experimental_telemetry'\n | 'activeTools'\n | 'providerOptions'\n | 'experimental_context'\n | 'experimental_download'\n >;\n\nexport class ToolLoopAgentProcessor implements Processor<'tool-loop-agent-processor'> {\n readonly id = 'tool-loop-agent-processor';\n readonly name = 'ToolLoop to Mastra Agent Processor';\n\n private agent: ToolLoopAgentLike;\n private settings: ToolLoopAgentSettings<any, any, any>;\n private prepareCallResult?: Awaited<ReturnType<NonNullable<ToolLoopAgentSettings<any, any, any>['prepareCall']>>>;\n\n constructor(agent: ToolLoopAgentLike) {\n this.agent = agent;\n this.settings = getToolLoopAgentSettings(agent);\n }\n\n public getAgentConfig() {\n const tools = 'tools' in this.agent ? (this.agent as ToolLoopAgent).tools : undefined;\n\n // Build default options from ToolLoopAgent config params\n const defaultOptions: Omit<AgentExecutionOptions<unknown>, 'abortSignal'> = {};\n\n // AgentExecutionOptions\n if (this.settings.toolChoice) {\n defaultOptions.toolChoice = this.settings.toolChoice;\n }\n if (this.settings.providerOptions) {\n defaultOptions.providerOptions = this.settings.providerOptions;\n }\n // AgentExecutionOptions[\"modelSettings\"]\n if (this.settings.temperature !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n temperature: this.settings.temperature,\n };\n }\n if (this.settings.topP !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), topP: this.settings.topP };\n }\n if (this.settings.topK !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), topK: this.settings.topK };\n }\n if (this.settings.seed !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), seed: this.settings.seed };\n }\n if (this.settings.maxOutputTokens !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n maxOutputTokens: this.settings.maxOutputTokens,\n };\n }\n if (this.settings.presencePenalty !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n presencePenalty: this.settings.presencePenalty,\n };\n }\n if (this.settings.frequencyPenalty !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n frequencyPenalty: this.settings.frequencyPenalty,\n };\n }\n if (this.settings.stopSequences !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n stopSequences: this.settings.stopSequences,\n };\n }\n if (this.settings.stopWhen) {\n // TODO: The callback signatures differ (Types of parameters stepResult and event are incompatible)\n defaultOptions.stopWhen = this.settings.stopWhen as any;\n }\n if (this.settings.onStepFinish) {\n // TODO: The callback signatures differ (Types of parameters stepResult and event are incompatible)\n defaultOptions.onStepFinish = this.settings.onStepFinish as any;\n }\n if (this.settings.onFinish) {\n // TODO: The callback signatures differ (Types of parameters 'event' and 'event' are incompatible)\n defaultOptions.onFinish = this.settings.onFinish as any;\n }\n\n return {\n id: this.settings.id,\n name: this.settings.id,\n instructions: (this.settings.instructions as AgentInstructions) ?? '',\n model: this.settings.model,\n tools,\n maxRetries: this.settings.maxRetries,\n defaultOptions: Object.keys(defaultOptions).length > 0 ? defaultOptions : undefined,\n };\n }\n\n /**\n * Maps prepareCall or prepareStep result to ProcessInputStepResult.\n * Both hooks return similar structures that can override model, tools, activeTools, etc.\n */\n private mapToProcessInputStepResult(\n result: Awaited<ReturnType<NonNullable<ToolLoopAgentSettings<any, any, any>['prepareCall']>>> | undefined,\n ): ProcessInputStepResult {\n if (!result) {\n return {};\n }\n\n const stepResult: ProcessInputStepResult = {};\n\n // Map model (both prepareCall and prepareStep can return this)\n if (result.model) {\n stepResult.model = result.model;\n }\n\n // Map tools (prepareCall can return this)\n if ('tools' in result && result.tools) {\n stepResult.tools = result.tools as Record<string, unknown>;\n }\n\n // Map toolChoice (prepareStep can return this)\n if ('toolChoice' in result && result.toolChoice !== undefined) {\n stepResult.toolChoice = result.toolChoice as ProcessInputStepResult['toolChoice'];\n }\n\n // Map activeTools (both can return this)\n if (result.activeTools) {\n stepResult.activeTools = result.activeTools as string[];\n }\n\n // Map providerOptions (prepareCall can return this)\n if ('providerOptions' in result && result.providerOptions) {\n stepResult.providerOptions = result.providerOptions;\n }\n\n // Map model settings (prepareCall can return individual settings)\n const modelSettings: ProcessInputStepResult['modelSettings'] = {};\n if ('temperature' in result && result.temperature !== undefined) {\n modelSettings.temperature = result.temperature;\n }\n if ('topP' in result && result.topP !== undefined) {\n modelSettings.topP = result.topP;\n }\n if ('topK' in result && result.topK !== undefined) {\n modelSettings.topK = result.topK;\n }\n if ('maxOutputTokens' in result && result.maxOutputTokens !== undefined) {\n modelSettings.maxOutputTokens = result.maxOutputTokens;\n }\n if ('presencePenalty' in result && result.presencePenalty !== undefined) {\n modelSettings.presencePenalty = result.presencePenalty;\n }\n if ('frequencyPenalty' in result && result.frequencyPenalty !== undefined) {\n modelSettings.frequencyPenalty = result.frequencyPenalty;\n }\n if ('stopSequences' in result && result.stopSequences !== undefined) {\n modelSettings.stopSequences = result.stopSequences;\n }\n if ('seed' in result && result.seed !== undefined) {\n modelSettings.seed = result.seed;\n }\n\n if (Object.keys(modelSettings).length > 0) {\n stepResult.modelSettings = modelSettings;\n }\n\n // Map system/instructions to systemMessages\n // prepareCall returns 'instructions', prepareStep returns 'system'\n const systemContent =\n 'instructions' in result ? result.instructions : 'system' in result ? result.system : undefined;\n if (systemContent) {\n // Convert to CoreMessageV4 format\n if (typeof systemContent === 'string') {\n stepResult.systemMessages = [{ role: 'system', content: systemContent }];\n } else if (Array.isArray(systemContent)) {\n stepResult.systemMessages = systemContent.map(msg =>\n typeof msg === 'string' ? { role: 'system' as const, content: msg } : msg,\n );\n } else if (typeof systemContent === 'object' && 'role' in systemContent && 'content' in systemContent) {\n stepResult.systemMessages = [systemContent as { role: 'system'; content: string }];\n }\n }\n\n // Map messages if prepareStep returns them\n // Convert AI SDK ModelMessage[] to MastraDBMessage[]\n if ('messages' in result && result.messages && Array.isArray(result.messages)) {\n // AI SDK v6 ModelMessage is compatible with MessageListInput at runtime\n // stepResult.messages = convertMessages(result.messages as any).to('Mastra.V2');\n stepResult.messages = result.messages as any;\n }\n\n return stepResult;\n }\n\n private async handlePrepareCall(args: ProcessInputStepArgs) {\n if (this.settings.prepareCall) {\n const { model, messages, activeTools, providerOptions, modelSettings, tools } = args;\n // TODO: This should probably happen in processInput, currently calling in processInputStep if stepNumber === 0\n\n // Build the prepareCall input object\n // AI SDK prepareCall expects: AgentCallParameters & Pick<ToolLoopAgentSettings, ...settings>\n const prepareCallInput: PrepareCallInput = {\n // TODO: prepareCall expects messages in AI SDK format, we have them in Mastra format\n messages: messages as unknown as any,\n model,\n tools,\n instructions: this.settings.instructions,\n stopWhen: this.settings.stopWhen,\n activeTools,\n providerOptions,\n\n // Model settings\n temperature: modelSettings?.temperature,\n topP: modelSettings?.topP,\n topK: modelSettings?.topK,\n maxOutputTokens: modelSettings?.maxOutputTokens,\n presencePenalty: modelSettings?.presencePenalty,\n frequencyPenalty: modelSettings?.frequencyPenalty,\n stopSequences: modelSettings?.stopSequences,\n seed: modelSettings?.seed,\n\n // Experimental options\n // experimental_telemetry: this.settings.experimental_telemetry,\n // experimental_context: this.settings.experimental_context,\n // experimental_download: this.settings.experimental_download,\n };\n\n // Call prepareCall and apply any returned overrides\n const prepareCallResult = await this.settings.prepareCall(prepareCallInput as any); // TODO: types\n this.prepareCallResult = prepareCallResult;\n }\n }\n\n private async handlePrepareStep(args: ProcessInputStepArgs, currentResult: ProcessInputStepResult) {\n if (this.settings.prepareStep) {\n const { messages, steps, stepNumber } = args;\n\n let model = args.model;\n if (currentResult.model) {\n const resolvedModel = await resolveModelConfig(currentResult.model);\n if (!isSupportedLanguageModel(resolvedModel)) {\n throw new Error('prepareStep returned an unsupported model version');\n }\n model = resolvedModel;\n }\n\n // Use the model from currentResult if prepareCall overrode it, otherwise use args.model\n\n // Note: We pass messages and steps in Mastra format rather than converting to AI SDK format.\n // This is intentional - most prepareStep callbacks only return overrides and don't inspect\n // the message content. The type casts handle the format difference at runtime.\n const prepareStepInputArgs: {\n /**\n * The steps that have been executed so far.\n */\n steps: Array<StepResult<NoInfer<any>>>;\n /**\n * The number of the step that is being executed.\n */\n stepNumber: number;\n /**\n * The model instance that is being used for this step.\n */\n model: MastraLanguageModel;\n /**\n * The messages that will be sent to the model for the current step.\n * Note: These are in Mastra format (MastraDBMessage[]), not AI SDK ModelMessage format.\n */\n messages: Array<ModelMessage>;\n /**\n * The context passed via the experimental_context setting (experimental).\n */\n experimental_context: unknown;\n } = {\n model,\n // Messages are in Mastra format (MastraDBMessage[])\n messages: messages as any,\n // Steps may have minor type differences in usage properties (inputTokenDetails/outputTokenDetails)\n steps: steps as any,\n stepNumber,\n experimental_context: undefined,\n };\n\n const prepareStepResult = await this.settings.prepareStep(prepareStepInputArgs);\n return prepareStepResult;\n }\n }\n\n async processInputStep(args: ProcessInputStepArgs): Promise<ProcessInputStepResult | undefined | void> {\n const { stepNumber } = args;\n\n if (stepNumber === 0 && this.settings.prepareCall) {\n await this.handlePrepareCall(args);\n }\n\n let result: ProcessInputStepResult = {};\n\n // Apply prepareCall result (only on step 0, already called above)\n if (this.prepareCallResult) {\n const mappedResult = this.mapToProcessInputStepResult(this.prepareCallResult);\n if (Object.keys(mappedResult).length > 0) {\n result = { ...result, ...mappedResult };\n }\n }\n\n // Apply prepareStep result (called on every step)\n // Pass the current result so prepareStep sees any overrides from prepareCall\n if (this.settings.prepareStep) {\n const prepareStepResult = await this.handlePrepareStep(args, result);\n if (prepareStepResult) {\n const mappedResult = this.mapToProcessInputStepResult(prepareStepResult as any);\n // prepareStep overrides prepareCall for this step\n result = { ...result, ...mappedResult };\n }\n }\n\n return result;\n }\n}\n","import { generateId } from '@internal/ai-sdk-v5';\nimport { Agent } from '../agent';\nimport { ToolLoopAgentProcessor } from './tool-loop-processor';\nimport type { ToolLoopAgentLike } from './utils';\nexport { type ToolLoopAgentLike, isToolLoopAgentLike, getSettings } from './utils';\n\n/**\n * Converts an AI SDK v6 ToolLoopAgent instance into a Mastra Agent.\n *\n * This enables users to create a ToolLoopAgent using AI SDK's API\n * while gaining access to Mastra features like memory, processors, scorers, and observability.\n *\n * @example\n * ```typescript\n * import { ToolLoopAgent, tool } from 'ai';\n * import { openai } from '@ai-sdk/openai';\n * import { toolLoopAgentToMastraAgent } from '@mastra/core/tool-loop-agent';\n *\n * const toolLoopAgent = new ToolLoopAgent({\n * id: 'weather-agent',\n * model: openai('gpt-4o'),\n * instructions: 'You are a helpful weather assistant.',\n * tools: { weather: weatherTool },\n * temperature: 0.7,\n * });\n *\n * const mastraAgent = toolLoopAgentToMastraAgent(toolLoopAgent);\n *\n * const result = await mastraAgent.generate({ prompt: 'What is the weather in NYC?' });\n * ```\n *\n * @param agent - The ToolLoopAgent instance\n * @param options - Optional name fallback since Mastra Agent requires id/name but ToolLoopAgent doesn't\n * @returns A Mastra Agent instance\n */\nexport function toolLoopAgentToMastraAgent(agent: ToolLoopAgentLike, options?: { fallbackName?: string }) {\n const processor = new ToolLoopAgentProcessor(agent);\n const agentConfig = processor.getAgentConfig();\n const id = agentConfig.id || options?.fallbackName || `tool-loop-agent-${generateId()}`;\n\n return new Agent({\n ...agentConfig,\n id,\n name: agentConfig.name || id,\n inputProcessors: [processor],\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/tool-loop-agent/utils.ts","../src/tool-loop-agent/tool-loop-processor.ts","../src/tool-loop-agent/index.ts"],"names":["ToolLoopAgent","resolveModelConfig","isSupportedLanguageModel","generateId","Agent"],"mappings":";;;;;;;;AAeO,SAAS,oBAAoB,GAAA,EAAoC;AACtE,EAAA,IAAI,CAAC,KAAK,OAAO,KAAA;AACjB,EAAA,IAAI,GAAA,YAAeA,iCAAe,OAAO,IAAA;AACzC,EAAA,OACE,SAAA,IAAa,GAAA,IACb,OAAO,GAAA,CAAI,OAAA,KAAY,QAAA,KACtB,GAAA,CAAI,OAAA,KAAY,UAAA,IAAc,GAAA,CAAI,OAAA,CAAQ,UAAA,CAAW,SAAS,CAAA,CAAA;AAEnE;AAMO,SAAS,YAAY,KAAA,EAAgE;AAC1F,EAAA,MAAM,WAAY,KAAA,CAAwE,QAAA;AAC1F,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,MAAM,IAAI,MAAM,+FAA+F,CAAA;AAAA,EACjH;AACA,EAAA,OAAO,QAAA;AACT;;;ACGO,IAAM,yBAAN,MAA+E;AAAA,EAC3E,EAAA,GAAK,2BAAA;AAAA,EACL,IAAA,GAAO,oCAAA;AAAA,EAER,KAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA;AAAA,EAER,YAAY,KAAA,EAA0B;AACpC,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,IAAA,CAAK,QAAA,GAAW,YAAyB,KAAK,CAAA;AAAA,EAChD;AAAA,EAEO,cAAA,GAAiB;AACtB,IAAA,MAAM,QAAQ,OAAA,IAAW,IAAA,CAAK,KAAA,GAAS,IAAA,CAAK,MAAwB,KAAA,GAAQ,MAAA;AAG5E,IAAA,MAAM,iBAAsE,EAAC;AAG7E,IAAA,IAAI,IAAA,CAAK,SAAS,UAAA,EAAY;AAC5B,MAAA,cAAA,CAAe,UAAA,GAAa,KAAK,QAAA,CAAS,UAAA;AAAA,IAC5C;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,eAAA,EAAiB;AACjC,MAAA,cAAA,CAAe,eAAA,GAAkB,KAAK,QAAA,CAAS,eAAA;AAAA,IACjD;AAEA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,WAAA,KAAgB,MAAA,EAAW;AAC3C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,WAAA,EAAa,KAAK,QAAA,CAAS;AAAA,OAC7B;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAA,KAAS,MAAA,EAAW;AACpC,MAAA,cAAA,CAAe,aAAA,GAAgB,EAAE,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC,EAAI,IAAA,EAAM,IAAA,CAAK,QAAA,CAAS,IAAA,EAAK;AAAA,IACrG;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAA,KAAS,MAAA,EAAW;AACpC,MAAA,cAAA,CAAe,aAAA,GAAgB,EAAE,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC,EAAI,IAAA,EAAM,IAAA,CAAK,QAAA,CAAS,IAAA,EAAK;AAAA,IACrG;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,IAAA,KAAS,MAAA,EAAW;AACpC,MAAA,cAAA,CAAe,aAAA,GAAgB,EAAE,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC,EAAI,IAAA,EAAM,IAAA,CAAK,QAAA,CAAS,IAAA,EAAK;AAAA,IACrG;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,eAAA,KAAoB,MAAA,EAAW;AAC/C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,eAAA,EAAiB,KAAK,QAAA,CAAS;AAAA,OACjC;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,eAAA,KAAoB,MAAA,EAAW;AAC/C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,eAAA,EAAiB,KAAK,QAAA,CAAS;AAAA,OACjC;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,gBAAA,KAAqB,MAAA,EAAW;AAChD,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,gBAAA,EAAkB,KAAK,QAAA,CAAS;AAAA,OAClC;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,aAAA,KAAkB,MAAA,EAAW;AAC7C,MAAA,cAAA,CAAe,aAAA,GAAgB;AAAA,QAC7B,GAAI,cAAA,CAAe,aAAA,IAAiB,EAAC;AAAA,QACrC,aAAA,EAAe,KAAK,QAAA,CAAS;AAAA,OAC/B;AAAA,IACF;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,QAAA,EAAU;AAE1B,MAAA,cAAA,CAAe,QAAA,GAAW,KAAK,QAAA,CAAS,QAAA;AAAA,IAC1C;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,YAAA,EAAc;AAE9B,MAAA,cAAA,CAAe,YAAA,GAAe,KAAK,QAAA,CAAS,YAAA;AAAA,IAC9C;AACA,IAAA,IAAI,IAAA,CAAK,SAAS,QAAA,EAAU;AAE1B,MAAA,cAAA,CAAe,QAAA,GAAW,KAAK,QAAA,CAAS,QAAA;AAAA,IAC1C;AAEA,IAAA,OAAO;AAAA,MACL,EAAA,EAAI,KAAK,QAAA,CAAS,EAAA;AAAA,MAClB,IAAA,EAAM,KAAK,QAAA,CAAS,EAAA;AAAA,MACpB,YAAA,EAAe,IAAA,CAAK,QAAA,CAAS,YAAA,IAAsC,EAAA;AAAA,MACnE,KAAA,EAAO,KAAK,QAAA,CAAS,KAAA;AAAA,MACrB,KAAA;AAAA,MACA,UAAA,EAAY,KAAK,QAAA,CAAS,UAAA;AAAA,MAC1B,gBAAgB,MAAA,CAAO,IAAA,CAAK,cAAc,CAAA,CAAE,MAAA,GAAS,IAAI,cAAA,GAAiB;AAAA,KAC5E;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,4BACN,MAAA,EACwB;AACxB,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAO,EAAC;AAAA,IACV;AAEA,IAAA,MAAM,aAAqC,EAAC;AAG5C,IAAA,IAAI,OAAO,KAAA,EAAO;AAChB,MAAA,UAAA,CAAW,QAAQ,MAAA,CAAO,KAAA;AAAA,IAC5B;AAGA,IAAA,IAAI,OAAA,IAAW,MAAA,IAAU,MAAA,CAAO,KAAA,EAAO;AACrC,MAAA,UAAA,CAAW,QAAQ,MAAA,CAAO,KAAA;AAAA,IAC5B;AAGA,IAAA,IAAI,YAAA,IAAgB,MAAA,IAAU,MAAA,CAAO,UAAA,KAAe,MAAA,EAAW;AAC7D,MAAA,UAAA,CAAW,aAAa,MAAA,CAAO,UAAA;AAAA,IACjC;AAGA,IAAA,IAAI,OAAO,WAAA,EAAa;AACtB,MAAA,UAAA,CAAW,cAAc,MAAA,CAAO,WAAA;AAAA,IAClC;AAGA,IAAA,IAAI,iBAAA,IAAqB,MAAA,IAAU,MAAA,CAAO,eAAA,EAAiB;AACzD,MAAA,UAAA,CAAW,kBAAkB,MAAA,CAAO,eAAA;AAAA,IACtC;AAGA,IAAA,MAAM,gBAAyD,EAAC;AAChE,IAAA,IAAI,aAAA,IAAiB,MAAA,IAAU,MAAA,CAAO,WAAA,KAAgB,MAAA,EAAW;AAC/D,MAAA,aAAA,CAAc,cAAc,MAAA,CAAO,WAAA;AAAA,IACrC;AACA,IAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,KAAS,MAAA,EAAW;AACjD,MAAA,aAAA,CAAc,OAAO,MAAA,CAAO,IAAA;AAAA,IAC9B;AACA,IAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,KAAS,MAAA,EAAW;AACjD,MAAA,aAAA,CAAc,OAAO,MAAA,CAAO,IAAA;AAAA,IAC9B;AACA,IAAA,IAAI,iBAAA,IAAqB,MAAA,IAAU,MAAA,CAAO,eAAA,KAAoB,MAAA,EAAW;AACvE,MAAA,aAAA,CAAc,kBAAkB,MAAA,CAAO,eAAA;AAAA,IACzC;AACA,IAAA,IAAI,iBAAA,IAAqB,MAAA,IAAU,MAAA,CAAO,eAAA,KAAoB,MAAA,EAAW;AACvE,MAAA,aAAA,CAAc,kBAAkB,MAAA,CAAO,eAAA;AAAA,IACzC;AACA,IAAA,IAAI,kBAAA,IAAsB,MAAA,IAAU,MAAA,CAAO,gBAAA,KAAqB,MAAA,EAAW;AACzE,MAAA,aAAA,CAAc,mBAAmB,MAAA,CAAO,gBAAA;AAAA,IAC1C;AACA,IAAA,IAAI,eAAA,IAAmB,MAAA,IAAU,MAAA,CAAO,aAAA,KAAkB,MAAA,EAAW;AACnE,MAAA,aAAA,CAAc,gBAAgB,MAAA,CAAO,aAAA;AAAA,IACvC;AACA,IAAA,IAAI,MAAA,IAAU,MAAA,IAAU,MAAA,CAAO,IAAA,KAAS,MAAA,EAAW;AACjD,MAAA,aAAA,CAAc,OAAO,MAAA,CAAO,IAAA;AAAA,IAC9B;AAEA,IAAA,IAAI,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA,CAAE,SAAS,CAAA,EAAG;AACzC,MAAA,UAAA,CAAW,aAAA,GAAgB,aAAA;AAAA,IAC7B;AAIA,IAAA,MAAM,aAAA,GACJ,kBAAkB,MAAA,GAAS,MAAA,CAAO,eAAe,QAAA,IAAY,MAAA,GAAS,OAAO,MAAA,GAAS,MAAA;AACxF,IAAA,IAAI,aAAA,EAAe;AAEjB,MAAA,IAAI,OAAO,kBAAkB,QAAA,EAAU;AACrC,QAAA,UAAA,CAAW,iBAAiB,CAAC,EAAE,MAAM,QAAA,EAAU,OAAA,EAAS,eAAe,CAAA;AAAA,MACzE,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAG;AACvC,QAAA,UAAA,CAAW,iBAAiB,aAAA,CAAc,GAAA;AAAA,UAAI,CAAA,GAAA,KAC5C,OAAO,GAAA,KAAQ,QAAA,GAAW,EAAE,IAAA,EAAM,QAAA,EAAmB,OAAA,EAAS,GAAA,EAAI,GAAI;AAAA,SACxE;AAAA,MACF,WAAW,OAAO,aAAA,KAAkB,YAAY,MAAA,IAAU,aAAA,IAAiB,aAAa,aAAA,EAAe;AACrG,QAAA,UAAA,CAAW,cAAA,GAAiB,CAAC,aAAoD,CAAA;AAAA,MACnF;AAAA,IACF;AAIA,IAAA,IAAI,UAAA,IAAc,UAAU,MAAA,CAAO,QAAA,IAAY,MAAM,OAAA,CAAQ,MAAA,CAAO,QAAQ,CAAA,EAAG;AAG7E,MAAA,UAAA,CAAW,WAAW,MAAA,CAAO,QAAA;AAAA,IAC/B;AAEA,IAAA,OAAO,UAAA;AAAA,EACT;AAAA,EAEA,MAAc,kBAAkB,IAAA,EAA4B;AAC1D,IAAA,IAAI,IAAA,CAAK,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAU,aAAa,eAAA,EAAiB,aAAA,EAAe,OAAM,GAAI,IAAA;AAKhF,MAAA,MAAM,gBAAA,GAAqC;AAAA;AAAA,QAEzC,QAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA,YAAA,EAAc,KAAK,QAAA,CAAS,YAAA;AAAA,QAC5B,QAAA,EAAU,KAAK,QAAA,CAAS,QAAA;AAAA,QACxB,WAAA;AAAA,QACA,eAAA;AAAA;AAAA,QAGA,aAAa,aAAA,EAAe,WAAA;AAAA,QAC5B,MAAM,aAAA,EAAe,IAAA;AAAA,QACrB,MAAM,aAAA,EAAe,IAAA;AAAA,QACrB,iBAAiB,aAAA,EAAe,eAAA;AAAA,QAChC,iBAAiB,aAAA,EAAe,eAAA;AAAA,QAChC,kBAAkB,aAAA,EAAe,gBAAA;AAAA,QACjC,eAAe,aAAA,EAAe,aAAA;AAAA,QAC9B,MAAM,aAAA,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA,OAMvB;AAGA,MAAA,MAAM,iBAAA,GAAoB,MAAM,IAAA,CAAK,QAAA,CAAS,YAAY,gBAAuB,CAAA;AACjF,MAAA,IAAA,CAAK,iBAAA,GAAoB,iBAAA;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,MAAc,iBAAA,CAAkB,IAAA,EAA4B,aAAA,EAAuC;AACjG,IAAA,IAAI,IAAA,CAAK,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,UAAA,EAAW,GAAI,IAAA;AAExC,MAAA,IAAI,QAAQ,IAAA,CAAK,KAAA;AACjB,MAAA,IAAI,cAAc,KAAA,EAAO;AACvB,QAAA,MAAM,aAAA,GAAgB,MAAMC,oCAAA,CAAmB,aAAA,CAAc,KAAK,CAAA;AAClE,QAAA,IAAI,CAACC,0CAAA,CAAyB,aAAa,CAAA,EAAG;AAC5C,UAAA,MAAM,IAAI,MAAM,mDAAmD,CAAA;AAAA,QACrE;AACA,QAAA,KAAA,GAAQ,aAAA;AAAA,MACV;AAOA,MAAA,MAAM,oBAAA,GAsBF;AAAA,QACF,KAAA;AAAA;AAAA,QAEA,QAAA;AAAA;AAAA,QAEA,KAAA;AAAA,QACA,UAAA;AAAA,QACA,oBAAA,EAAsB;AAAA,OACxB;AAEA,MAAA,MAAM,iBAAA,GAAoB,MAAM,IAAA,CAAK,QAAA,CAAS,YAAY,oBAAoB,CAAA;AAC9E,MAAA,OAAO,iBAAA;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,iBAAiB,IAAA,EAAgF;AACrG,IAAA,MAAM,EAAE,YAAW,GAAI,IAAA;AAEvB,IAAA,IAAI,UAAA,KAAe,CAAA,IAAK,IAAA,CAAK,QAAA,CAAS,WAAA,EAAa;AACjD,MAAA,MAAM,IAAA,CAAK,kBAAkB,IAAI,CAAA;AAAA,IACnC;AAEA,IAAA,IAAI,SAAiC,EAAC;AAGtC,IAAA,IAAI,KAAK,iBAAA,EAAmB;AAC1B,MAAA,MAAM,YAAA,GAAe,IAAA,CAAK,2BAAA,CAA4B,IAAA,CAAK,iBAAiB,CAAA;AAC5E,MAAA,IAAI,MAAA,CAAO,IAAA,CAAK,YAAY,CAAA,CAAE,SAAS,CAAA,EAAG;AACxC,QAAA,MAAA,GAAS,EAAE,GAAG,MAAA,EAAQ,GAAG,YAAA,EAAa;AAAA,MACxC;AAAA,IACF;AAIA,IAAA,IAAI,IAAA,CAAK,SAAS,WAAA,EAAa;AAC7B,MAAA,MAAM,iBAAA,GAAoB,MAAM,IAAA,CAAK,iBAAA,CAAkB,MAAM,MAAM,CAAA;AACnE,MAAA,IAAI,iBAAA,EAAmB;AACrB,QAAA,MAAM,YAAA,GAAe,IAAA,CAAK,2BAAA,CAA4B,iBAAwB,CAAA;AAE9E,QAAA,MAAA,GAAS,EAAE,GAAG,MAAA,EAAQ,GAAG,YAAA,EAAa;AAAA,MACxC;AAAA,IACF;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF,CAAA;;;AC1TO,SAAS,0BAAA,CAA2B,OAA0B,OAAA,EAAqC;AACxG,EAAA,MAAM,SAAA,GAAY,IAAI,sBAAA,CAAuB,KAAK,CAAA;AAClD,EAAA,MAAM,WAAA,GAAc,UAAU,cAAA,EAAe;AAC7C,EAAA,MAAM,KAAK,WAAA,CAAY,EAAA,IAAM,SAAS,YAAA,IAAgB,CAAA,gBAAA,EAAmBC,8BAAY,CAAA,CAAA;AAErF,EAAA,OAAO,IAAIC,uBAAA,CAAM;AAAA,IACf,GAAG,WAAA;AAAA,IACH,EAAA;AAAA,IACA,IAAA,EAAM,YAAY,IAAA,IAAQ,EAAA;AAAA,IAC1B,eAAA,EAAiB,CAAC,SAAS;AAAA,GAC5B,CAAA;AACH","file":"chunk-C75GFXKY.cjs","sourcesContent":["import { ToolLoopAgent } from '@internal/ai-v6';\nimport type { ToolLoopAgentSettings } from '@internal/ai-v6';\n\n/**\n * Shape of a ToolLoopAgent-like object for runtime extraction.\n * We use this looser type because TypeScript's structural typing doesn't work\n * well with private properties across different package declarations.\n */\nexport interface ToolLoopAgentLike {\n readonly id?: string;\n readonly version?: string;\n // The settings property is private in ToolLoopAgent but accessible at runtime\n // We don't declare it here since we access it via type casting\n}\n\nexport function isToolLoopAgentLike(obj: any): obj is ToolLoopAgentLike {\n if (!obj) return false;\n if (obj instanceof ToolLoopAgent) return true;\n return (\n 'version' in obj &&\n typeof obj.version === 'string' &&\n (obj.version === 'agent-v1' || obj.version.startsWith('agent-v'))\n );\n}\n\n/**\n * Extracts the settings from a ToolLoopAgent instance.\n * ToolLoopAgent.settings is private in TypeScript but accessible at runtime.\n */\nexport function getSettings(agent: ToolLoopAgentLike): ToolLoopAgentSettings<any, any, any> {\n const settings = (agent as unknown as { settings: ToolLoopAgentSettings<any, any, any> }).settings;\n if (!settings) {\n throw new Error('Could not extract settings from ToolLoopAgent. The agent may be from an incompatible version.');\n }\n return settings;\n}\n","import type {\n ToolLoopAgent,\n AgentCallParameters,\n ModelMessage,\n StepResult,\n ToolLoopAgentSettings,\n} from '@internal/ai-v6';\nimport { isSupportedLanguageModel } from '../agent';\nimport type { AgentExecutionOptions, AgentInstructions } from '../agent';\nimport { resolveModelConfig } from '../llm/model/resolve-model';\nimport type { MastraLanguageModel } from '../llm/model/shared.types';\nimport type { ProcessInputStepArgs, ProcessInputStepResult, Processor } from '../processors';\nimport { getSettings as getToolLoopAgentSettings } from './utils';\nimport type { ToolLoopAgentLike } from './utils';\n\ntype PrepareCallInput = AgentCallParameters<never> &\n Pick<\n ToolLoopAgentSettings<never, any, any>,\n | 'model'\n | 'tools'\n | 'maxOutputTokens'\n | 'temperature'\n | 'topP'\n | 'topK'\n | 'presencePenalty'\n | 'frequencyPenalty'\n | 'stopSequences'\n | 'seed'\n | 'headers'\n | 'instructions'\n | 'stopWhen'\n | 'experimental_telemetry'\n | 'activeTools'\n | 'providerOptions'\n | 'experimental_context'\n | 'experimental_download'\n >;\n\nexport class ToolLoopAgentProcessor implements Processor<'tool-loop-agent-processor'> {\n readonly id = 'tool-loop-agent-processor';\n readonly name = 'ToolLoop to Mastra Agent Processor';\n\n private agent: ToolLoopAgentLike;\n private settings: ToolLoopAgentSettings<any, any, any>;\n private prepareCallResult?: Awaited<ReturnType<NonNullable<ToolLoopAgentSettings<any, any, any>['prepareCall']>>>;\n\n constructor(agent: ToolLoopAgentLike) {\n this.agent = agent;\n this.settings = getToolLoopAgentSettings(agent);\n }\n\n public getAgentConfig() {\n const tools = 'tools' in this.agent ? (this.agent as ToolLoopAgent).tools : undefined;\n\n // Build default options from ToolLoopAgent config params\n const defaultOptions: Omit<AgentExecutionOptions<unknown>, 'abortSignal'> = {};\n\n // AgentExecutionOptions\n if (this.settings.toolChoice) {\n defaultOptions.toolChoice = this.settings.toolChoice;\n }\n if (this.settings.providerOptions) {\n defaultOptions.providerOptions = this.settings.providerOptions;\n }\n // AgentExecutionOptions[\"modelSettings\"]\n if (this.settings.temperature !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n temperature: this.settings.temperature,\n };\n }\n if (this.settings.topP !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), topP: this.settings.topP };\n }\n if (this.settings.topK !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), topK: this.settings.topK };\n }\n if (this.settings.seed !== undefined) {\n defaultOptions.modelSettings = { ...(defaultOptions.modelSettings ?? {}), seed: this.settings.seed };\n }\n if (this.settings.maxOutputTokens !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n maxOutputTokens: this.settings.maxOutputTokens,\n };\n }\n if (this.settings.presencePenalty !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n presencePenalty: this.settings.presencePenalty,\n };\n }\n if (this.settings.frequencyPenalty !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n frequencyPenalty: this.settings.frequencyPenalty,\n };\n }\n if (this.settings.stopSequences !== undefined) {\n defaultOptions.modelSettings = {\n ...(defaultOptions.modelSettings ?? {}),\n stopSequences: this.settings.stopSequences,\n };\n }\n if (this.settings.stopWhen) {\n // TODO: The callback signatures differ (Types of parameters stepResult and event are incompatible)\n defaultOptions.stopWhen = this.settings.stopWhen as any;\n }\n if (this.settings.onStepFinish) {\n // TODO: The callback signatures differ (Types of parameters stepResult and event are incompatible)\n defaultOptions.onStepFinish = this.settings.onStepFinish as any;\n }\n if (this.settings.onFinish) {\n // TODO: The callback signatures differ (Types of parameters 'event' and 'event' are incompatible)\n defaultOptions.onFinish = this.settings.onFinish as any;\n }\n\n return {\n id: this.settings.id,\n name: this.settings.id,\n instructions: (this.settings.instructions as AgentInstructions) ?? '',\n model: this.settings.model,\n tools,\n maxRetries: this.settings.maxRetries,\n defaultOptions: Object.keys(defaultOptions).length > 0 ? defaultOptions : undefined,\n };\n }\n\n /**\n * Maps prepareCall or prepareStep result to ProcessInputStepResult.\n * Both hooks return similar structures that can override model, tools, activeTools, etc.\n */\n private mapToProcessInputStepResult(\n result: Awaited<ReturnType<NonNullable<ToolLoopAgentSettings<any, any, any>['prepareCall']>>> | undefined,\n ): ProcessInputStepResult {\n if (!result) {\n return {};\n }\n\n const stepResult: ProcessInputStepResult = {};\n\n // Map model (both prepareCall and prepareStep can return this)\n if (result.model) {\n stepResult.model = result.model;\n }\n\n // Map tools (prepareCall can return this)\n if ('tools' in result && result.tools) {\n stepResult.tools = result.tools as Record<string, unknown>;\n }\n\n // Map toolChoice (prepareStep can return this)\n if ('toolChoice' in result && result.toolChoice !== undefined) {\n stepResult.toolChoice = result.toolChoice as ProcessInputStepResult['toolChoice'];\n }\n\n // Map activeTools (both can return this)\n if (result.activeTools) {\n stepResult.activeTools = result.activeTools as string[];\n }\n\n // Map providerOptions (prepareCall can return this)\n if ('providerOptions' in result && result.providerOptions) {\n stepResult.providerOptions = result.providerOptions;\n }\n\n // Map model settings (prepareCall can return individual settings)\n const modelSettings: ProcessInputStepResult['modelSettings'] = {};\n if ('temperature' in result && result.temperature !== undefined) {\n modelSettings.temperature = result.temperature;\n }\n if ('topP' in result && result.topP !== undefined) {\n modelSettings.topP = result.topP;\n }\n if ('topK' in result && result.topK !== undefined) {\n modelSettings.topK = result.topK;\n }\n if ('maxOutputTokens' in result && result.maxOutputTokens !== undefined) {\n modelSettings.maxOutputTokens = result.maxOutputTokens;\n }\n if ('presencePenalty' in result && result.presencePenalty !== undefined) {\n modelSettings.presencePenalty = result.presencePenalty;\n }\n if ('frequencyPenalty' in result && result.frequencyPenalty !== undefined) {\n modelSettings.frequencyPenalty = result.frequencyPenalty;\n }\n if ('stopSequences' in result && result.stopSequences !== undefined) {\n modelSettings.stopSequences = result.stopSequences;\n }\n if ('seed' in result && result.seed !== undefined) {\n modelSettings.seed = result.seed;\n }\n\n if (Object.keys(modelSettings).length > 0) {\n stepResult.modelSettings = modelSettings;\n }\n\n // Map system/instructions to systemMessages\n // prepareCall returns 'instructions', prepareStep returns 'system'\n const systemContent =\n 'instructions' in result ? result.instructions : 'system' in result ? result.system : undefined;\n if (systemContent) {\n // Convert to CoreMessageV4 format\n if (typeof systemContent === 'string') {\n stepResult.systemMessages = [{ role: 'system', content: systemContent }];\n } else if (Array.isArray(systemContent)) {\n stepResult.systemMessages = systemContent.map(msg =>\n typeof msg === 'string' ? { role: 'system' as const, content: msg } : msg,\n );\n } else if (typeof systemContent === 'object' && 'role' in systemContent && 'content' in systemContent) {\n stepResult.systemMessages = [systemContent as { role: 'system'; content: string }];\n }\n }\n\n // Map messages if prepareStep returns them\n // Convert AI SDK ModelMessage[] to MastraDBMessage[]\n if ('messages' in result && result.messages && Array.isArray(result.messages)) {\n // AI SDK v6 ModelMessage is compatible with MessageListInput at runtime\n // stepResult.messages = convertMessages(result.messages as any).to('Mastra.V2');\n stepResult.messages = result.messages as any;\n }\n\n return stepResult;\n }\n\n private async handlePrepareCall(args: ProcessInputStepArgs) {\n if (this.settings.prepareCall) {\n const { model, messages, activeTools, providerOptions, modelSettings, tools } = args;\n // TODO: This should probably happen in processInput, currently calling in processInputStep if stepNumber === 0\n\n // Build the prepareCall input object\n // AI SDK prepareCall expects: AgentCallParameters & Pick<ToolLoopAgentSettings, ...settings>\n const prepareCallInput: PrepareCallInput = {\n // TODO: prepareCall expects messages in AI SDK format, we have them in Mastra format\n messages: messages as unknown as any,\n model,\n tools,\n instructions: this.settings.instructions,\n stopWhen: this.settings.stopWhen,\n activeTools,\n providerOptions,\n\n // Model settings\n temperature: modelSettings?.temperature,\n topP: modelSettings?.topP,\n topK: modelSettings?.topK,\n maxOutputTokens: modelSettings?.maxOutputTokens,\n presencePenalty: modelSettings?.presencePenalty,\n frequencyPenalty: modelSettings?.frequencyPenalty,\n stopSequences: modelSettings?.stopSequences,\n seed: modelSettings?.seed,\n\n // Experimental options\n // experimental_telemetry: this.settings.experimental_telemetry,\n // experimental_context: this.settings.experimental_context,\n // experimental_download: this.settings.experimental_download,\n };\n\n // Call prepareCall and apply any returned overrides\n const prepareCallResult = await this.settings.prepareCall(prepareCallInput as any); // TODO: types\n this.prepareCallResult = prepareCallResult;\n }\n }\n\n private async handlePrepareStep(args: ProcessInputStepArgs, currentResult: ProcessInputStepResult) {\n if (this.settings.prepareStep) {\n const { messages, steps, stepNumber } = args;\n\n let model = args.model;\n if (currentResult.model) {\n const resolvedModel = await resolveModelConfig(currentResult.model);\n if (!isSupportedLanguageModel(resolvedModel)) {\n throw new Error('prepareStep returned an unsupported model version');\n }\n model = resolvedModel;\n }\n\n // Use the model from currentResult if prepareCall overrode it, otherwise use args.model\n\n // Note: We pass messages and steps in Mastra format rather than converting to AI SDK format.\n // This is intentional - most prepareStep callbacks only return overrides and don't inspect\n // the message content. The type casts handle the format difference at runtime.\n const prepareStepInputArgs: {\n /**\n * The steps that have been executed so far.\n */\n steps: Array<StepResult<NoInfer<any>>>;\n /**\n * The number of the step that is being executed.\n */\n stepNumber: number;\n /**\n * The model instance that is being used for this step.\n */\n model: MastraLanguageModel;\n /**\n * The messages that will be sent to the model for the current step.\n * Note: These are in Mastra format (MastraDBMessage[]), not AI SDK ModelMessage format.\n */\n messages: Array<ModelMessage>;\n /**\n * The context passed via the experimental_context setting (experimental).\n */\n experimental_context: unknown;\n } = {\n model,\n // Messages are in Mastra format (MastraDBMessage[])\n messages: messages as any,\n // Steps may have minor type differences in usage properties (inputTokenDetails/outputTokenDetails)\n steps: steps as any,\n stepNumber,\n experimental_context: undefined,\n };\n\n const prepareStepResult = await this.settings.prepareStep(prepareStepInputArgs);\n return prepareStepResult;\n }\n }\n\n async processInputStep(args: ProcessInputStepArgs): Promise<ProcessInputStepResult | undefined | void> {\n const { stepNumber } = args;\n\n if (stepNumber === 0 && this.settings.prepareCall) {\n await this.handlePrepareCall(args);\n }\n\n let result: ProcessInputStepResult = {};\n\n // Apply prepareCall result (only on step 0, already called above)\n if (this.prepareCallResult) {\n const mappedResult = this.mapToProcessInputStepResult(this.prepareCallResult);\n if (Object.keys(mappedResult).length > 0) {\n result = { ...result, ...mappedResult };\n }\n }\n\n // Apply prepareStep result (called on every step)\n // Pass the current result so prepareStep sees any overrides from prepareCall\n if (this.settings.prepareStep) {\n const prepareStepResult = await this.handlePrepareStep(args, result);\n if (prepareStepResult) {\n const mappedResult = this.mapToProcessInputStepResult(prepareStepResult as any);\n // prepareStep overrides prepareCall for this step\n result = { ...result, ...mappedResult };\n }\n }\n\n return result;\n }\n}\n","import { generateId } from '@internal/ai-sdk-v5';\nimport { Agent } from '../agent';\nimport { ToolLoopAgentProcessor } from './tool-loop-processor';\nimport type { ToolLoopAgentLike } from './utils';\nexport { type ToolLoopAgentLike, isToolLoopAgentLike, getSettings } from './utils';\n\n/**\n * Converts an AI SDK v6 ToolLoopAgent instance into a Mastra Agent.\n *\n * This enables users to create a ToolLoopAgent using AI SDK's API\n * while gaining access to Mastra features like memory, processors, scorers, and observability.\n *\n * @example\n * ```typescript\n * import { ToolLoopAgent, tool } from 'ai';\n * import { openai } from '@ai-sdk/openai';\n * import { toolLoopAgentToMastraAgent } from '@mastra/core/tool-loop-agent';\n *\n * const toolLoopAgent = new ToolLoopAgent({\n * id: 'weather-agent',\n * model: openai('gpt-4o'),\n * instructions: 'You are a helpful weather assistant.',\n * tools: { weather: weatherTool },\n * temperature: 0.7,\n * });\n *\n * const mastraAgent = toolLoopAgentToMastraAgent(toolLoopAgent);\n *\n * const result = await mastraAgent.generate({ prompt: 'What is the weather in NYC?' });\n * ```\n *\n * @param agent - The ToolLoopAgent instance\n * @param options - Optional name fallback since Mastra Agent requires id/name but ToolLoopAgent doesn't\n * @returns A Mastra Agent instance\n */\nexport function toolLoopAgentToMastraAgent(agent: ToolLoopAgentLike, options?: { fallbackName?: string }) {\n const processor = new ToolLoopAgentProcessor(agent);\n const agentConfig = processor.getAgentConfig();\n const id = agentConfig.id || options?.fallbackName || `tool-loop-agent-${generateId()}`;\n\n return new Agent({\n ...agentConfig,\n id,\n name: agentConfig.name || id,\n inputProcessors: [processor],\n });\n}\n"]}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkZCBG4ZQT_cjs = require('./chunk-ZCBG4ZQT.cjs');
|
|
3
4
|
var chunkX6CDTXAM_cjs = require('./chunk-X6CDTXAM.cjs');
|
|
4
5
|
var chunkRAD2NM47_cjs = require('./chunk-RAD2NM47.cjs');
|
|
5
|
-
var
|
|
6
|
-
var chunkFSHOQBGF_cjs = require('./chunk-FSHOQBGF.cjs');
|
|
6
|
+
var chunkZIHHYCR6_cjs = require('./chunk-ZIHHYCR6.cjs');
|
|
7
7
|
var chunkWAPY5X7M_cjs = require('./chunk-WAPY5X7M.cjs');
|
|
8
8
|
var chunkY3APFUXZ_cjs = require('./chunk-Y3APFUXZ.cjs');
|
|
9
9
|
var chunkCFMZZDO2_cjs = require('./chunk-CFMZZDO2.cjs');
|
|
10
10
|
var chunkDAQ4JZQA_cjs = require('./chunk-DAQ4JZQA.cjs');
|
|
11
11
|
var chunkOQDRPRKM_cjs = require('./chunk-OQDRPRKM.cjs');
|
|
12
12
|
var chunkMR7ZWBL6_cjs = require('./chunk-MR7ZWBL6.cjs');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
13
|
+
var chunkYDKLT4WV_cjs = require('./chunk-YDKLT4WV.cjs');
|
|
14
|
+
var chunkMVWQJXZI_cjs = require('./chunk-MVWQJXZI.cjs');
|
|
15
|
+
var chunkUXGGDVFP_cjs = require('./chunk-UXGGDVFP.cjs');
|
|
16
|
+
var chunkB4OOPFD3_cjs = require('./chunk-B4OOPFD3.cjs');
|
|
17
|
+
var chunk47RKHZIP_cjs = require('./chunk-47RKHZIP.cjs');
|
|
16
18
|
var chunkKJBMTK5B_cjs = require('./chunk-KJBMTK5B.cjs');
|
|
17
19
|
var chunkLDLHW3QN_cjs = require('./chunk-LDLHW3QN.cjs');
|
|
18
20
|
var chunkXB4FLS7A_cjs = require('./chunk-XB4FLS7A.cjs');
|
|
19
|
-
var chunkB4OOPFD3_cjs = require('./chunk-B4OOPFD3.cjs');
|
|
20
|
-
var chunk47RKHZIP_cjs = require('./chunk-47RKHZIP.cjs');
|
|
21
21
|
var chunk5WBEMKE2_cjs = require('./chunk-5WBEMKE2.cjs');
|
|
22
22
|
var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
|
|
23
23
|
var chunkFCQNDFEW_cjs = require('./chunk-FCQNDFEW.cjs');
|
|
@@ -2078,7 +2078,7 @@ var ProcessorRunner = class _ProcessorRunner {
|
|
|
2078
2078
|
}
|
|
2079
2079
|
const { model: _model, ...rest } = result;
|
|
2080
2080
|
if (result.model) {
|
|
2081
|
-
const resolvedModel = await
|
|
2081
|
+
const resolvedModel = await chunkYDKLT4WV_cjs.resolveModelConfig(result.model);
|
|
2082
2082
|
const isSupported = isSupportedLanguageModel(resolvedModel);
|
|
2083
2083
|
if (!isSupported) {
|
|
2084
2084
|
throw new chunk4U7ZLI36_cjs.MastraError({
|
|
@@ -6799,7 +6799,7 @@ var createTimeTravelExecutionParams = (params) => {
|
|
|
6799
6799
|
result = void 0;
|
|
6800
6800
|
}
|
|
6801
6801
|
if (result) {
|
|
6802
|
-
const formattedResult =
|
|
6802
|
+
const formattedResult = chunkUXGGDVFP_cjs.removeUndefinedValues(result);
|
|
6803
6803
|
stepResults[stepId] = formattedResult;
|
|
6804
6804
|
}
|
|
6805
6805
|
});
|
|
@@ -7357,7 +7357,7 @@ async function executeLoop(engine, params) {
|
|
|
7357
7357
|
options: {
|
|
7358
7358
|
type: "workflow_conditional_eval" /* WORKFLOW_CONDITIONAL_EVAL */,
|
|
7359
7359
|
name: `condition: '${entry.loopType}'`,
|
|
7360
|
-
input:
|
|
7360
|
+
input: chunkUXGGDVFP_cjs.selectFields(result.output, ["stepResult", "output.text", "output.object", "messages"]),
|
|
7361
7361
|
attributes: {
|
|
7362
7362
|
conditionIndex: iteration
|
|
7363
7363
|
},
|
|
@@ -12813,7 +12813,7 @@ var MastraScorer = class _MastraScorer {
|
|
|
12813
12813
|
}
|
|
12814
12814
|
});
|
|
12815
12815
|
}
|
|
12816
|
-
const resolvedModel = await
|
|
12816
|
+
const resolvedModel = await chunkYDKLT4WV_cjs.resolveModelConfig(modelConfig, void 0, this.#mastra);
|
|
12817
12817
|
const judgeModel = resolvedModel.modelId;
|
|
12818
12818
|
const judge = new Agent({
|
|
12819
12819
|
id: "judge",
|
|
@@ -13044,7 +13044,7 @@ async function runDefaultCompletionCheck(agent, context, streamContext, abortSig
|
|
|
13044
13044
|
Primitives already executed: ${completedPrimitives.join(", ")}` : "";
|
|
13045
13045
|
const completionPrompt = `
|
|
13046
13046
|
The ${context.selectedPrimitive.type} ${context.selectedPrimitive.id} has contributed to the task.
|
|
13047
|
-
This is the result: ${
|
|
13047
|
+
This is the result: ${chunkUXGGDVFP_cjs.safeStringify(context.primitiveResult)}
|
|
13048
13048
|
|
|
13049
13049
|
${completedSection}
|
|
13050
13050
|
|
|
@@ -13140,7 +13140,7 @@ async function generateFinalResult(agent, context, streamContext, abortSignal, o
|
|
|
13140
13140
|
Original task: ${context.originalTask}
|
|
13141
13141
|
|
|
13142
13142
|
The ${context.selectedPrimitive.type} ${context.selectedPrimitive.id} produced this result:
|
|
13143
|
-
${
|
|
13143
|
+
${chunkUXGGDVFP_cjs.safeStringify(context.primitiveResult)}
|
|
13144
13144
|
|
|
13145
13145
|
IMPORTANT: If the above result is from an AGENT PRIMITIVE and it is a suitable final result itself considering the original task, then finalResult should be an empty string or undefined.
|
|
13146
13146
|
You should evaluate if the above result is comprehensive enough to accomplish the user's original task.
|
|
@@ -13198,7 +13198,7 @@ async function generateStructuredFinalResult(agent, context, structuredOutputOpt
|
|
|
13198
13198
|
Original task: ${context.originalTask}
|
|
13199
13199
|
|
|
13200
13200
|
The ${context.selectedPrimitive.type} ${context.selectedPrimitive.id} produced this result:
|
|
13201
|
-
${
|
|
13201
|
+
${chunkUXGGDVFP_cjs.safeStringify(context.primitiveResult)}
|
|
13202
13202
|
|
|
13203
13203
|
Based on the task and result above, generate a structured response according to the provided schema.
|
|
13204
13204
|
Use the conversation history and primitive results to craft the response.
|
|
@@ -14299,7 +14299,7 @@ function createLLMExecutionStep({
|
|
|
14299
14299
|
const convertedTools = {};
|
|
14300
14300
|
for (const [name, tool2] of Object.entries(currentStep.tools)) {
|
|
14301
14301
|
if (chunkLDLHW3QN_cjs.isMastraTool(tool2)) {
|
|
14302
|
-
convertedTools[name] =
|
|
14302
|
+
convertedTools[name] = chunkUXGGDVFP_cjs.makeCoreTool(
|
|
14303
14303
|
tool2,
|
|
14304
14304
|
{
|
|
14305
14305
|
name,
|
|
@@ -14521,7 +14521,7 @@ Analyse the suspended tools: ${JSON.stringify(suspendedTools)}, using the messag
|
|
|
14521
14521
|
}
|
|
14522
14522
|
});
|
|
14523
14523
|
let transportResolver;
|
|
14524
|
-
if (currentStep.model instanceof
|
|
14524
|
+
if (currentStep.model instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel) {
|
|
14525
14525
|
const routerModel = currentStep.model;
|
|
14526
14526
|
transportResolver = () => routerModel._getStreamTransport();
|
|
14527
14527
|
}
|
|
@@ -15420,7 +15420,7 @@ function createToolCallStep({
|
|
|
15420
15420
|
}
|
|
15421
15421
|
}
|
|
15422
15422
|
const rawResult = await tool2.execute(args, toolOptions);
|
|
15423
|
-
const result =
|
|
15423
|
+
const result = chunkUXGGDVFP_cjs.ensureSerializable(rawResult);
|
|
15424
15424
|
if (tool2 && "onOutput" in tool2 && typeof tool2.onOutput === "function") {
|
|
15425
15425
|
try {
|
|
15426
15426
|
await tool2.onOutput({
|
|
@@ -16280,7 +16280,7 @@ var MastraLLMVNext = class extends chunkFCQNDFEW_cjs.MastraBase {
|
|
|
16280
16280
|
const remainingTokens = parseInt(props?.response?.headers?.["x-ratelimit-remaining-tokens"] ?? "", 10);
|
|
16281
16281
|
if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2e3) {
|
|
16282
16282
|
this.logger.warn("Rate limit approaching, waiting 10 seconds", { runId });
|
|
16283
|
-
await
|
|
16283
|
+
await chunkUXGGDVFP_cjs.delay(10 * 1e3);
|
|
16284
16284
|
}
|
|
16285
16285
|
},
|
|
16286
16286
|
onFinish: async (props) => {
|
|
@@ -20544,6 +20544,23 @@ var Agent = class extends chunkFCQNDFEW_cjs.MastraBase {
|
|
|
20544
20544
|
get browser() {
|
|
20545
20545
|
return this.#browser;
|
|
20546
20546
|
}
|
|
20547
|
+
/**
|
|
20548
|
+
* Sets or updates the browser instance for this agent.
|
|
20549
|
+
* This allows hot-swapping browser configuration without recreating the agent.
|
|
20550
|
+
* Browser tools will be automatically updated on the next execution.
|
|
20551
|
+
*
|
|
20552
|
+
* @param browser - The new browser instance, or undefined to disable browser tools
|
|
20553
|
+
*/
|
|
20554
|
+
setBrowser(browser) {
|
|
20555
|
+
this.#browser = browser;
|
|
20556
|
+
}
|
|
20557
|
+
/**
|
|
20558
|
+
* Returns true if this agent was configured with its own browser instance.
|
|
20559
|
+
* Used by Harness to avoid overwriting agent-level browser configuration.
|
|
20560
|
+
*/
|
|
20561
|
+
hasOwnBrowser() {
|
|
20562
|
+
return Boolean(this.#browser);
|
|
20563
|
+
}
|
|
20547
20564
|
/**
|
|
20548
20565
|
* Gets the skills processors to add to input processors when workspace has skills.
|
|
20549
20566
|
* @internal
|
|
@@ -21350,7 +21367,7 @@ ${errorMessages}`,
|
|
|
21350
21367
|
*/
|
|
21351
21368
|
listTools({ requestContext = new chunk5WBEMKE2_cjs.RequestContext() } = {}) {
|
|
21352
21369
|
if (typeof this.#tools !== "function") {
|
|
21353
|
-
return
|
|
21370
|
+
return chunkUXGGDVFP_cjs.ensureToolProperties(this.#tools);
|
|
21354
21371
|
}
|
|
21355
21372
|
const result = this.#tools({
|
|
21356
21373
|
requestContext,
|
|
@@ -21370,7 +21387,7 @@ ${errorMessages}`,
|
|
|
21370
21387
|
this.logger.trackException(mastraError);
|
|
21371
21388
|
throw mastraError;
|
|
21372
21389
|
}
|
|
21373
|
-
return
|
|
21390
|
+
return chunkUXGGDVFP_cjs.ensureToolProperties(tools);
|
|
21374
21391
|
});
|
|
21375
21392
|
}
|
|
21376
21393
|
/**
|
|
@@ -21418,7 +21435,7 @@ ${errorMessages}`,
|
|
|
21418
21435
|
});
|
|
21419
21436
|
});
|
|
21420
21437
|
} else {
|
|
21421
|
-
llm = new
|
|
21438
|
+
llm = new chunkMVWQJXZI_cjs.MastraLLMV1({
|
|
21422
21439
|
model: modelInfo,
|
|
21423
21440
|
mastra: this.#mastra,
|
|
21424
21441
|
options: { tracingPolicy: this.#options?.tracingPolicy }
|
|
@@ -21444,7 +21461,7 @@ ${errorMessages}`,
|
|
|
21444
21461
|
*/
|
|
21445
21462
|
async resolveModelConfig(modelConfig, requestContext) {
|
|
21446
21463
|
try {
|
|
21447
|
-
return await
|
|
21464
|
+
return await chunkYDKLT4WV_cjs.resolveModelConfig(modelConfig, requestContext, this.#mastra);
|
|
21448
21465
|
} catch (error) {
|
|
21449
21466
|
const mastraError = new chunk4U7ZLI36_cjs.MastraError({
|
|
21450
21467
|
id: "AGENT_GET_MODEL_MISSING_MODEL_INSTANCE",
|
|
@@ -21916,7 +21933,7 @@ ${errorMessages}`,
|
|
|
21916
21933
|
tracingPolicy: this.#options?.tracingPolicy,
|
|
21917
21934
|
requireApproval: toolObj.requireApproval
|
|
21918
21935
|
};
|
|
21919
|
-
const convertedToCoreTool =
|
|
21936
|
+
const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
|
|
21920
21937
|
convertedMemoryTools[toolName] = convertedToCoreTool;
|
|
21921
21938
|
}
|
|
21922
21939
|
}
|
|
@@ -21969,7 +21986,7 @@ ${errorMessages}`,
|
|
|
21969
21986
|
requireApproval: toolObj.requireApproval,
|
|
21970
21987
|
workspace
|
|
21971
21988
|
};
|
|
21972
|
-
const convertedToCoreTool =
|
|
21989
|
+
const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
|
|
21973
21990
|
convertedWorkspaceTools[toolName] = convertedToCoreTool;
|
|
21974
21991
|
}
|
|
21975
21992
|
}
|
|
@@ -22010,7 +22027,7 @@ ${errorMessages}`,
|
|
|
22010
22027
|
...observabilityContext,
|
|
22011
22028
|
tracingPolicy: this.#options?.tracingPolicy
|
|
22012
22029
|
};
|
|
22013
|
-
convertedChannelTools[toolName] =
|
|
22030
|
+
convertedChannelTools[toolName] = chunkUXGGDVFP_cjs.makeCoreTool(
|
|
22014
22031
|
tool2,
|
|
22015
22032
|
options,
|
|
22016
22033
|
void 0,
|
|
@@ -22067,7 +22084,7 @@ ${errorMessages}`,
|
|
|
22067
22084
|
// Skill tools never require approval
|
|
22068
22085
|
workspace
|
|
22069
22086
|
};
|
|
22070
|
-
const convertedToCoreTool =
|
|
22087
|
+
const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
|
|
22071
22088
|
convertedSkillTools[toolName] = convertedToCoreTool;
|
|
22072
22089
|
}
|
|
22073
22090
|
}
|
|
@@ -22115,7 +22132,7 @@ ${errorMessages}`,
|
|
|
22115
22132
|
tracingPolicy: this.#options?.tracingPolicy,
|
|
22116
22133
|
requireApproval: toolObj.requireApproval
|
|
22117
22134
|
};
|
|
22118
|
-
const convertedToCoreTool =
|
|
22135
|
+
const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, void 0, autoResumeSuspendedTools);
|
|
22119
22136
|
convertedBrowserTools[toolName] = convertedToCoreTool;
|
|
22120
22137
|
}
|
|
22121
22138
|
}
|
|
@@ -22348,7 +22365,7 @@ ${errorMessages}`,
|
|
|
22348
22365
|
tracingPolicy: this.#options?.tracingPolicy,
|
|
22349
22366
|
requireApproval: tool2.requireApproval
|
|
22350
22367
|
};
|
|
22351
|
-
return [k,
|
|
22368
|
+
return [k, chunkUXGGDVFP_cjs.makeCoreTool(tool2, options, void 0, autoResumeSuspendedTools)];
|
|
22352
22369
|
})
|
|
22353
22370
|
);
|
|
22354
22371
|
const assignedToolEntriesConverted = Object.fromEntries(
|
|
@@ -22402,7 +22419,7 @@ ${errorMessages}`,
|
|
|
22402
22419
|
tracingPolicy: this.#options?.tracingPolicy,
|
|
22403
22420
|
requireApproval: toolObj.requireApproval
|
|
22404
22421
|
};
|
|
22405
|
-
const convertedToCoreTool =
|
|
22422
|
+
const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolObj, options, "toolset", autoResumeSuspendedTools);
|
|
22406
22423
|
toolsForRequest[toolName] = convertedToCoreTool;
|
|
22407
22424
|
}
|
|
22408
22425
|
}
|
|
@@ -22447,7 +22464,7 @@ ${errorMessages}`,
|
|
|
22447
22464
|
tracingPolicy: this.#options?.tracingPolicy,
|
|
22448
22465
|
requireApproval: tool2.requireApproval
|
|
22449
22466
|
};
|
|
22450
|
-
const convertedToCoreTool =
|
|
22467
|
+
const convertedToCoreTool = chunkUXGGDVFP_cjs.makeCoreTool(toolRest, options, "client-tool", autoResumeSuspendedTools);
|
|
22451
22468
|
toolsForRequest[toolName] = convertedToCoreTool;
|
|
22452
22469
|
}
|
|
22453
22470
|
}
|
|
@@ -23167,7 +23184,7 @@ ${effectiveInstructions}`;
|
|
|
23167
23184
|
...observabilityContext,
|
|
23168
23185
|
tracingPolicy: this.#options?.tracingPolicy
|
|
23169
23186
|
};
|
|
23170
|
-
convertedAgentTools[`agent-${agentName}`] =
|
|
23187
|
+
convertedAgentTools[`agent-${agentName}`] = chunkUXGGDVFP_cjs.makeCoreTool(
|
|
23171
23188
|
toolObj,
|
|
23172
23189
|
options,
|
|
23173
23190
|
void 0,
|
|
@@ -23388,7 +23405,7 @@ ${effectiveInstructions}`;
|
|
|
23388
23405
|
...observabilityContext,
|
|
23389
23406
|
tracingPolicy: this.#options?.tracingPolicy
|
|
23390
23407
|
};
|
|
23391
|
-
convertedWorkflowTools[`workflow-${workflowName}`] =
|
|
23408
|
+
convertedWorkflowTools[`workflow-${workflowName}`] = chunkUXGGDVFP_cjs.makeCoreTool(
|
|
23392
23409
|
toolObj,
|
|
23393
23410
|
options,
|
|
23394
23411
|
void 0,
|
|
@@ -23420,7 +23437,7 @@ ${effectiveInstructions}`;
|
|
|
23420
23437
|
let mastraProxy = void 0;
|
|
23421
23438
|
const logger = this.logger;
|
|
23422
23439
|
if (this.#mastra) {
|
|
23423
|
-
mastraProxy =
|
|
23440
|
+
mastraProxy = chunkUXGGDVFP_cjs.createMastraProxy({ mastra: this.#mastra, logger });
|
|
23424
23441
|
}
|
|
23425
23442
|
const assignedTools = await this.listAssignedTools({
|
|
23426
23443
|
runId,
|
|
@@ -23691,7 +23708,7 @@ ${effectiveInstructions}`;
|
|
|
23691
23708
|
const resolvedModel = await this.resolveModelConfig(selection, requestContext);
|
|
23692
23709
|
this.assertSupportsPreparedModels(resolvedModel);
|
|
23693
23710
|
let headers;
|
|
23694
|
-
if (resolvedModel instanceof
|
|
23711
|
+
if (resolvedModel instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel) {
|
|
23695
23712
|
headers = resolvedModel.config?.headers;
|
|
23696
23713
|
}
|
|
23697
23714
|
return [
|
|
@@ -23723,7 +23740,7 @@ ${effectiveInstructions}`;
|
|
|
23723
23740
|
throw mastraError;
|
|
23724
23741
|
}
|
|
23725
23742
|
let headers;
|
|
23726
|
-
if (model instanceof
|
|
23743
|
+
if (model instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel) {
|
|
23727
23744
|
headers = model.config?.headers;
|
|
23728
23745
|
}
|
|
23729
23746
|
return {
|
|
@@ -23784,7 +23801,7 @@ ${effectiveInstructions}`;
|
|
|
23784
23801
|
model: options.model
|
|
23785
23802
|
});
|
|
23786
23803
|
const resolvedModel = llm.getModel();
|
|
23787
|
-
const isGatewayModel = resolvedModel instanceof
|
|
23804
|
+
const isGatewayModel = resolvedModel instanceof chunkYDKLT4WV_cjs.ModelRouterLanguageModel && resolvedModel.gatewayId === "mastra";
|
|
23788
23805
|
if (resourceId && threadFromArgs && !this.hasOwnMemory() && !isGatewayModel) {
|
|
23789
23806
|
this.logger.warn("No memory is configured but resourceId and threadId were passed in args", { agent: this.name });
|
|
23790
23807
|
}
|
|
@@ -24195,7 +24212,7 @@ ${effectiveInstructions}`;
|
|
|
24195
24212
|
const defaultOptions = await this.getDefaultOptions({
|
|
24196
24213
|
requestContext: options?.requestContext
|
|
24197
24214
|
});
|
|
24198
|
-
const mergedOptions =
|
|
24215
|
+
const mergedOptions = chunkUXGGDVFP_cjs.deepMerge(
|
|
24199
24216
|
defaultOptions,
|
|
24200
24217
|
options ?? {}
|
|
24201
24218
|
);
|
|
@@ -24266,7 +24283,7 @@ ${effectiveInstructions}`;
|
|
|
24266
24283
|
const defaultOptions = await this.getDefaultOptions({
|
|
24267
24284
|
requestContext: streamOptions?.requestContext
|
|
24268
24285
|
});
|
|
24269
|
-
const mergedOptions =
|
|
24286
|
+
const mergedOptions = chunkUXGGDVFP_cjs.deepMerge(
|
|
24270
24287
|
defaultOptions,
|
|
24271
24288
|
streamOptions ?? {}
|
|
24272
24289
|
);
|
|
@@ -24331,7 +24348,7 @@ ${effectiveInstructions}`;
|
|
|
24331
24348
|
const defaultOptions = await this.getDefaultOptions({
|
|
24332
24349
|
requestContext: streamOptions?.requestContext
|
|
24333
24350
|
});
|
|
24334
|
-
let mergedStreamOptions =
|
|
24351
|
+
let mergedStreamOptions = chunkUXGGDVFP_cjs.deepMerge(
|
|
24335
24352
|
defaultOptions,
|
|
24336
24353
|
streamOptions ?? {}
|
|
24337
24354
|
);
|
|
@@ -24397,7 +24414,7 @@ ${effectiveInstructions}`;
|
|
|
24397
24414
|
const defaultOptions = await this.getDefaultOptions({
|
|
24398
24415
|
requestContext: options?.requestContext
|
|
24399
24416
|
});
|
|
24400
|
-
const mergedOptions =
|
|
24417
|
+
const mergedOptions = chunkUXGGDVFP_cjs.deepMerge(
|
|
24401
24418
|
defaultOptions,
|
|
24402
24419
|
options ?? {}
|
|
24403
24420
|
);
|
|
@@ -27740,7 +27757,7 @@ var WorkingMemory = class {
|
|
|
27740
27757
|
return messageList;
|
|
27741
27758
|
}
|
|
27742
27759
|
generateEmptyFromSchemaInternal(schema) {
|
|
27743
|
-
const result =
|
|
27760
|
+
const result = chunkUXGGDVFP_cjs.generateEmptyFromSchema(schema);
|
|
27744
27761
|
return Object.keys(result).length > 0 ? result : null;
|
|
27745
27762
|
}
|
|
27746
27763
|
getWorkingMemoryToolInstruction({
|
|
@@ -28385,7 +28402,7 @@ https://mastra.ai/en/docs/memory/semantic-recall`
|
|
|
28385
28402
|
);
|
|
28386
28403
|
}
|
|
28387
28404
|
if (typeof config.embedder === "string") {
|
|
28388
|
-
this.embedder = new
|
|
28405
|
+
this.embedder = new chunkYDKLT4WV_cjs.ModelRouterEmbeddingModel(config.embedder);
|
|
28389
28406
|
} else {
|
|
28390
28407
|
this.embedder = config.embedder;
|
|
28391
28408
|
}
|
|
@@ -28398,7 +28415,7 @@ https://mastra.ai/en/docs/memory/semantic-recall`
|
|
|
28398
28415
|
}
|
|
28399
28416
|
if (config.embedder) {
|
|
28400
28417
|
if (typeof config.embedder === "string") {
|
|
28401
|
-
this.embedder = new
|
|
28418
|
+
this.embedder = new chunkYDKLT4WV_cjs.ModelRouterEmbeddingModel(config.embedder);
|
|
28402
28419
|
} else {
|
|
28403
28420
|
this.embedder = config.embedder;
|
|
28404
28421
|
}
|
|
@@ -28438,7 +28455,7 @@ https://mastra.ai/en/docs/memory/overview`
|
|
|
28438
28455
|
}
|
|
28439
28456
|
setEmbedder(embedder, embedderOptions) {
|
|
28440
28457
|
if (typeof embedder === "string") {
|
|
28441
|
-
this.embedder = new
|
|
28458
|
+
this.embedder = new chunkYDKLT4WV_cjs.ModelRouterEmbeddingModel(embedder);
|
|
28442
28459
|
} else {
|
|
28443
28460
|
this.embedder = embedder;
|
|
28444
28461
|
}
|
|
@@ -28535,7 +28552,7 @@ https://mastra.ai/en/docs/memory/overview`
|
|
|
28535
28552
|
"The threads.generateTitle option has been moved. Use the top-level generateTitle option instead."
|
|
28536
28553
|
);
|
|
28537
28554
|
}
|
|
28538
|
-
const mergedConfig =
|
|
28555
|
+
const mergedConfig = chunkUXGGDVFP_cjs.deepMerge(this.threadConfig, config || {});
|
|
28539
28556
|
if (typeof config?.workingMemory === "object" && config.workingMemory?.schema && typeof mergedConfig.workingMemory === "object") {
|
|
28540
28557
|
mergedConfig.workingMemory.schema = config.workingMemory.schema;
|
|
28541
28558
|
}
|
|
@@ -28887,7 +28904,7 @@ var MockMemory = class extends MastraMemory {
|
|
|
28887
28904
|
} = {}) {
|
|
28888
28905
|
super({
|
|
28889
28906
|
name: "mock",
|
|
28890
|
-
storage: storage || new
|
|
28907
|
+
storage: storage || new chunkZIHHYCR6_cjs.InMemoryStore(),
|
|
28891
28908
|
options: {
|
|
28892
28909
|
...options,
|
|
28893
28910
|
workingMemory: enableWorkingMemory ? { enabled: true, template: workingMemoryTemplate } : options?.workingMemory,
|
|
@@ -29204,5 +29221,5 @@ exports.validateStepRequestContext = validateStepRequestContext;
|
|
|
29204
29221
|
exports.validateStepResumeData = validateStepResumeData;
|
|
29205
29222
|
exports.validateStepStateData = validateStepStateData;
|
|
29206
29223
|
exports.validateStepSuspendData = validateStepSuspendData;
|
|
29207
|
-
//# sourceMappingURL=chunk-
|
|
29208
|
-
//# sourceMappingURL=chunk-
|
|
29224
|
+
//# sourceMappingURL=chunk-CC3MFLBU.cjs.map
|
|
29225
|
+
//# sourceMappingURL=chunk-CC3MFLBU.cjs.map
|