@mastra/core 1.55.0-alpha.2 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/durable/index.cjs +1 -1
  4. package/dist/agent/durable/index.js +1 -1
  5. package/dist/agent/index.cjs +2 -2
  6. package/dist/agent/index.js +2 -2
  7. package/dist/{agent-BvRfRKIt.js → agent-0y2cApTZ.js} +57 -82
  8. package/dist/agent-0y2cApTZ.js.map +1 -0
  9. package/dist/agent-builder/ee/index.cjs +1 -1
  10. package/dist/agent-builder/ee/index.js +1 -1
  11. package/dist/agent-controller/index.cjs +1 -1
  12. package/dist/agent-controller/index.js +1 -1
  13. package/dist/{agent-controller-CM6tQSMj.js → agent-controller-ByW51eCC.js} +5 -5
  14. package/dist/{agent-controller-CM6tQSMj.js.map → agent-controller-ByW51eCC.js.map} +1 -1
  15. package/dist/{agent-controller-C75dc544.cjs → agent-controller-DahKlMET.cjs} +5 -5
  16. package/dist/{agent-controller-C75dc544.cjs.map → agent-controller-DahKlMET.cjs.map} +1 -1
  17. package/dist/{agent-CwUYflGG.cjs → agent-um2LJs-0.cjs} +57 -82
  18. package/dist/agent-um2LJs-0.cjs.map +1 -0
  19. package/dist/background-tasks/index.cjs +1 -1
  20. package/dist/background-tasks/index.js +1 -1
  21. package/dist/{background-tasks-AKlv5tIo.js → background-tasks-CM94BIj8.js} +2 -2
  22. package/dist/{background-tasks-AKlv5tIo.js.map → background-tasks-CM94BIj8.js.map} +1 -1
  23. package/dist/{background-tasks-Chpan7PB.cjs → background-tasks-CobPW4Z3.cjs} +2 -2
  24. package/dist/{background-tasks-Chpan7PB.cjs.map → background-tasks-CobPW4Z3.cjs.map} +1 -1
  25. package/dist/browser/index.cjs +1 -1
  26. package/dist/browser/index.js +1 -1
  27. package/dist/channels/index.cjs +2 -2
  28. package/dist/channels/index.js +2 -2
  29. package/dist/{channels-BW52ccH_.cjs → channels-BgbloDjB.cjs} +2 -2
  30. package/dist/{channels-BW52ccH_.cjs.map → channels-BgbloDjB.cjs.map} +1 -1
  31. package/dist/{channels-Da9lEAi1.js → channels-MegO_4KL.js} +2 -2
  32. package/dist/{channels-Da9lEAi1.js.map → channels-MegO_4KL.js.map} +1 -1
  33. package/dist/coding-agent/index.cjs +1 -1
  34. package/dist/coding-agent/index.js +1 -1
  35. package/dist/{create-durable-agent-DmTTvoGi.cjs → create-durable-agent-ChmjQwzE.cjs} +8 -8
  36. package/dist/{create-durable-agent-DmTTvoGi.cjs.map → create-durable-agent-ChmjQwzE.cjs.map} +1 -1
  37. package/dist/{create-durable-agent-Bd4Bm5FV.js → create-durable-agent-DH_dWTMR.js} +8 -8
  38. package/dist/{create-durable-agent-Bd4Bm5FV.js.map → create-durable-agent-DH_dWTMR.js.map} +1 -1
  39. package/dist/datasets/index.cjs +1 -1
  40. package/dist/datasets/index.js +1 -1
  41. package/dist/{dist-C077BlAN.js → dist-BZBxELZo.js} +2 -2
  42. package/dist/{dist-C077BlAN.js.map → dist-BZBxELZo.js.map} +1 -1
  43. package/dist/{dist-CsR_D1uk.cjs → dist-ftJxyNRx.cjs} +2 -2
  44. package/dist/{dist-CsR_D1uk.cjs.map → dist-ftJxyNRx.cjs.map} +1 -1
  45. package/dist/docs/SKILL.md +1 -1
  46. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  47. package/dist/evals/index.cjs +1 -1
  48. package/dist/evals/index.js +1 -1
  49. package/dist/evals/scoreTraces/index.cjs +1 -1
  50. package/dist/evals/scoreTraces/index.js +1 -1
  51. package/dist/harness/index.cjs +1 -1
  52. package/dist/harness/index.js +1 -1
  53. package/dist/index.cjs +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/llm/index.cjs +5 -5
  56. package/dist/llm/index.js +5 -5
  57. package/dist/{llm-DlVyw1cX.js → llm-DGuYy_Nx.js} +5 -5
  58. package/dist/{llm-DlVyw1cX.js.map → llm-DGuYy_Nx.js.map} +1 -1
  59. package/dist/{llm-Bjt2hZ3f.cjs → llm-DmAhSSgh.cjs} +5 -5
  60. package/dist/{llm-Bjt2hZ3f.cjs.map → llm-DmAhSSgh.cjs.map} +1 -1
  61. package/dist/loop/index.cjs +1 -1
  62. package/dist/loop/index.js +1 -1
  63. package/dist/{manager-CYGpXJfK.js → manager-DDRcONBK.js} +3 -3
  64. package/dist/{manager-CYGpXJfK.js.map → manager-DDRcONBK.js.map} +1 -1
  65. package/dist/{manager-BjrFnt_A.cjs → manager-DqHiikx1.cjs} +3 -3
  66. package/dist/{manager-BjrFnt_A.cjs.map → manager-DqHiikx1.cjs.map} +1 -1
  67. package/dist/mastra/index.cjs +1 -1
  68. package/dist/mastra/index.js +1 -1
  69. package/dist/{mastra-CVLF1dWt.js → mastra-B6CffFOC.js} +9 -9
  70. package/dist/{mastra-CVLF1dWt.js.map → mastra-B6CffFOC.js.map} +1 -1
  71. package/dist/{mastra-Bxx9WPf6.cjs → mastra-BlT9srQJ.cjs} +9 -9
  72. package/dist/{mastra-Bxx9WPf6.cjs.map → mastra-BlT9srQJ.cjs.map} +1 -1
  73. package/dist/memory/index.cjs +1 -1
  74. package/dist/memory/index.js +1 -1
  75. package/dist/{model-CA0WLISt.js → model-DQzxkQqM.js} +2 -2
  76. package/dist/{model-CA0WLISt.js.map → model-DQzxkQqM.js.map} +1 -1
  77. package/dist/{model-DMVq6nAS.cjs → model-Iow-mV9i.cjs} +2 -2
  78. package/dist/{model-DMVq6nAS.cjs.map → model-Iow-mV9i.cjs.map} +1 -1
  79. package/dist/{models-dev-Cbus1Uh2.js → models-dev-BFOUCgyS.js} +2 -2
  80. package/dist/{models-dev-Cbus1Uh2.js.map → models-dev-BFOUCgyS.js.map} +1 -1
  81. package/dist/{models-dev-D_X4VMSu.cjs → models-dev-BUEaCBxL.cjs} +2 -2
  82. package/dist/{models-dev-D_X4VMSu.cjs.map → models-dev-BUEaCBxL.cjs.map} +1 -1
  83. package/dist/{netlify-C-nnPVSj.js → netlify-7eHXUkln.js} +2 -2
  84. package/dist/{netlify-C-nnPVSj.js.map → netlify-7eHXUkln.js.map} +1 -1
  85. package/dist/{netlify-CUuCnmtd.cjs → netlify-Db5icdAJ.cjs} +2 -2
  86. package/dist/{netlify-CUuCnmtd.cjs.map → netlify-Db5icdAJ.cjs.map} +1 -1
  87. package/dist/processor-provider/index.cjs +1 -1
  88. package/dist/processor-provider/index.js +1 -1
  89. package/dist/processors/index.cjs +2 -2
  90. package/dist/processors/index.js +2 -2
  91. package/dist/processors/processors/index.d.ts +1 -1
  92. package/dist/processors/processors/index.d.ts.map +1 -1
  93. package/dist/processors/tool-result-reminder.d.ts +23 -0
  94. package/dist/processors/tool-result-reminder.d.ts.map +1 -1
  95. package/dist/{provider-registry-BFknh6Fu.cjs → provider-registry-DRJihW5_.cjs} +6 -6
  96. package/dist/{provider-registry-BFknh6Fu.cjs.map → provider-registry-DRJihW5_.cjs.map} +1 -1
  97. package/dist/{provider-registry-DIbls44Z.js → provider-registry-DzSSAz1R.js} +6 -6
  98. package/dist/{provider-registry-DIbls44Z.js.map → provider-registry-DzSSAz1R.js.map} +1 -1
  99. package/dist/relevance/index.cjs +2 -2
  100. package/dist/relevance/index.js +2 -2
  101. package/dist/stream/index.cjs +3 -3
  102. package/dist/stream/index.js +3 -3
  103. package/dist/{stream-tlVjYkAO.cjs → stream-D-cHV05r.cjs} +3 -3
  104. package/dist/{stream-tlVjYkAO.cjs.map → stream-D-cHV05r.cjs.map} +1 -1
  105. package/dist/{stream-Cd_isEZJ.js → stream-DJaosaeO.js} +3 -3
  106. package/dist/{stream-Cd_isEZJ.js.map → stream-DJaosaeO.js.map} +1 -1
  107. package/dist/test-utils/llm-mock.cjs +1 -1
  108. package/dist/test-utils/llm-mock.js +1 -1
  109. package/dist/tool-loop-agent/index.cjs +1 -1
  110. package/dist/tool-loop-agent/index.js +1 -1
  111. package/dist/{tool-loop-agent-th9L-ls9.cjs → tool-loop-agent-ByrutV2Q.cjs} +4 -4
  112. package/dist/{tool-loop-agent-th9L-ls9.cjs.map → tool-loop-agent-ByrutV2Q.cjs.map} +1 -1
  113. package/dist/{tool-loop-agent-CcT-TTcT.js → tool-loop-agent-BzHXZDL3.js} +4 -4
  114. package/dist/{tool-loop-agent-CcT-TTcT.js.map → tool-loop-agent-BzHXZDL3.js.map} +1 -1
  115. package/dist/{trip-wire-Cj0cJivR.js → trip-wire-DxpTS3jV.js} +2 -2
  116. package/dist/{trip-wire-Cj0cJivR.js.map → trip-wire-DxpTS3jV.js.map} +1 -1
  117. package/dist/{trip-wire-BNzxirr0.cjs → trip-wire-utCESgMt.cjs} +2 -2
  118. package/dist/{trip-wire-BNzxirr0.cjs.map → trip-wire-utCESgMt.cjs.map} +1 -1
  119. package/dist/{utils-BoQofieM.cjs → utils-CPUQn5dX.cjs} +2 -2
  120. package/dist/{utils-BoQofieM.cjs.map → utils-CPUQn5dX.cjs.map} +1 -1
  121. package/dist/{utils-DUfAZ4gr.js → utils-CrKEOVUo.js} +2 -2
  122. package/dist/{utils-DUfAZ4gr.js.map → utils-CrKEOVUo.js.map} +1 -1
  123. package/dist/utils.cjs +1 -1
  124. package/dist/utils.js +1 -1
  125. package/dist/worker/index.cjs +1 -1
  126. package/dist/worker/index.js +1 -1
  127. package/dist/{worker-DwlyX5l8.js → worker-Ciya6mfo.js} +3 -3
  128. package/dist/{worker-DwlyX5l8.js.map → worker-Ciya6mfo.js.map} +1 -1
  129. package/dist/{worker-CsbZPhWb.cjs → worker-YT_pMttZ.cjs} +3 -3
  130. package/dist/{worker-CsbZPhWb.cjs.map → worker-YT_pMttZ.cjs.map} +1 -1
  131. package/dist/{workflow-BR5D6ij_.cjs → workflow-DcS_0R0Z.cjs} +3 -3
  132. package/dist/{workflow-BR5D6ij_.cjs.map → workflow-DcS_0R0Z.cjs.map} +1 -1
  133. package/dist/{workflow-OjZRiiCG.js → workflow-k6s0ESOR.js} +3 -3
  134. package/dist/{workflow-OjZRiiCG.js.map → workflow-k6s0ESOR.js.map} +1 -1
  135. package/dist/workflows/evented/index.cjs +1 -1
  136. package/dist/workflows/evented/index.js +1 -1
  137. package/dist/workflows/index.cjs +1 -1
  138. package/dist/workflows/index.js +1 -1
  139. package/package.json +12 -12
  140. package/dist/agent-BvRfRKIt.js.map +0 -1
  141. package/dist/agent-CwUYflGG.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_agent = require("../agent-CwUYflGG.cjs");
2
+ const require_agent = require("../agent-um2LJs-0.cjs");
3
3
  const require_types = require("../types-CkUC9wkJ.cjs");
4
4
  exports.MastraMemory = require_agent.MastraMemory;
5
5
  exports.MemoryProcessor = require_agent.MemoryProcessor;
@@ -1,3 +1,3 @@
1
- import { $ as removeSystemReminderTags, G as SYSTEM_REMINDER_START_TAG, J as WORKING_MEMORY_START_TAG, K as UPDATE_WORKING_MEMORY_TOOL_NAME, Q as isWorkingMemoryToolName, U as SET_WORKING_MEMORY_TOOL_NAME, W as SYSTEM_REMINDER_END_TAG, X as extractWorkingMemoryContent, Y as WORKING_MEMORY_TOOL_NAMES, Z as extractWorkingMemoryTags, at as filterSystemReminderMessages, et as removeWorkingMemoryTags, it as memoryDefaultOptions, nt as MastraMemory, ot as isSystemReminderMessage, q as WORKING_MEMORY_END_TAG, rt as MemoryProcessor, tt as MockMemory } from "../agent-BvRfRKIt.js";
1
+ import { $ as removeSystemReminderTags, G as SYSTEM_REMINDER_START_TAG, J as WORKING_MEMORY_START_TAG, K as UPDATE_WORKING_MEMORY_TOOL_NAME, Q as isWorkingMemoryToolName, U as SET_WORKING_MEMORY_TOOL_NAME, W as SYSTEM_REMINDER_END_TAG, X as extractWorkingMemoryContent, Y as WORKING_MEMORY_TOOL_NAMES, Z as extractWorkingMemoryTags, at as filterSystemReminderMessages, et as removeWorkingMemoryTags, it as memoryDefaultOptions, nt as MastraMemory, ot as isSystemReminderMessage, q as WORKING_MEMORY_END_TAG, rt as MemoryProcessor, tt as MockMemory } from "../agent-0y2cApTZ.js";
2
2
  import { i as setThreadOMMetadata, n as isObservationalMemoryEnabled, r as parseMemoryRequestContext, t as getThreadOMMetadata } from "../types-C3n49g1N.js";
3
3
  export { MastraMemory, MemoryProcessor, MockMemory, SET_WORKING_MEMORY_TOOL_NAME, SYSTEM_REMINDER_END_TAG, SYSTEM_REMINDER_START_TAG, UPDATE_WORKING_MEMORY_TOOL_NAME, WORKING_MEMORY_END_TAG, WORKING_MEMORY_START_TAG, WORKING_MEMORY_TOOL_NAMES, extractWorkingMemoryContent, extractWorkingMemoryTags, filterSystemReminderMessages, getThreadOMMetadata, isObservationalMemoryEnabled, isSystemReminderMessage, isWorkingMemoryToolName, memoryDefaultOptions, parseMemoryRequestContext, removeSystemReminderTags, removeWorkingMemoryTags, setThreadOMMetadata };
@@ -5,7 +5,7 @@ import { n as executeWithContextSync, t as executeWithContext } from "./utils-dw
5
5
  import "./tracing-NiBfLy3R.js";
6
6
  import { isStandardSchemaWithJSON, standardSchemaToJSONSchema, toStandardSchema } from "./schema/index.js";
7
7
  import { i as isZodArray, t as getZodDef } from "./zod-utils-DTkc-hhd.js";
8
- import { i as delay, u as isZodType$1 } from "./utils-DUfAZ4gr.js";
8
+ import { i as delay, u as isZodType$1 } from "./utils-CrKEOVUo.js";
9
9
  import { a as output_exports, c as streamText, i as generateText, r as generateObject, s as streamObject } from "./dist-CguJeKKv.js";
10
10
  import { AnthropicSchemaCompatLayer, DeepSeekSchemaCompatLayer, GoogleSchemaCompatLayer, MetaSchemaCompatLayer, OpenAIReasoningSchemaCompatLayer, OpenAISchemaCompatLayer, applyCompatLayer, jsonSchema } from "@mastra/schema-compat";
11
11
  //#region src/stream/aisdk/v4/usage.ts
@@ -787,4 +787,4 @@ var MastraLLMV1 = class extends MastraBase {
787
787
  //#endregion
788
788
  export { MastraLLMV1 as t };
789
789
 
790
- //# sourceMappingURL=model-CA0WLISt.js.map
790
+ //# sourceMappingURL=model-DQzxkQqM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-CA0WLISt.js","names":["#model","#options","#mastra","isZodType","Output"],"sources":["../src/stream/aisdk/v4/usage.ts","../src/llm/model/model.ts"],"sourcesContent":["import type { UsageStats } from '../../../observability';\n\n/**\n * AI SDK v4 LanguageModelUsage type definition\n * (matches the ai package's LanguageModelUsage)\n */\ninterface LanguageModelUsageV4 {\n promptTokens: number;\n completionTokens: number;\n totalTokens?: number;\n}\n\n/**\n * Converts AI SDK v4 LanguageModelUsage to our UsageStats format.\n *\n * @param usage - The LanguageModelUsage from AI SDK v4\n * @returns Normalized UsageStats\n */\nexport function convertV4Usage(usage: LanguageModelUsageV4 | undefined): UsageStats {\n if (!usage) {\n return {};\n }\n\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n };\n}\n","import { generateObject, generateText, Output, streamObject, streamText } from '@internal/ai-sdk-v4';\nimport type {\n CoreMessage,\n LanguageModelV1 as LanguageModel,\n StreamObjectOnFinishCallback,\n StreamTextOnFinishCallback,\n} from '@internal/ai-sdk-v4';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n jsonSchema,\n} from '@mastra/schema-compat';\nimport type { JSONSchema7, Schema } from '@mastra/schema-compat';\nimport type { z } from 'zod/v4';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { SpanType, resolveObservabilityContext } from '../../observability';\nimport { executeWithContext, executeWithContextSync } from '../../observability/utils';\nimport { toStandardSchema, standardSchemaToJSONSchema, isStandardSchemaWithJSON } from '../../schema';\nimport type { ZodSchema } from '../../schema';\nimport { convertV4Usage } from '../../stream/aisdk/v4/usage';\nimport { delay, isZodType } from '../../utils';\nimport { isZodArray, getZodDef } from '../../utils/zod-utils';\n\nimport type {\n GenerateObjectWithMessagesArgs,\n GenerateTextResult,\n GenerateObjectResult,\n GenerateTextWithMessagesArgs,\n OriginalGenerateTextOptions,\n ToolSet,\n GenerateReturn,\n OriginalGenerateObjectOptions,\n StreamTextWithMessagesArgs,\n StreamTextResult,\n OriginalStreamTextOptions,\n StreamObjectWithMessagesArgs,\n OriginalStreamObjectOptions,\n StreamObjectResult,\n StreamReturn,\n} from './base.types';\nimport type { inferOutput, MastraModelOptions } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n #options?: MastraModelOptions;\n\n constructor({ model, mastra, options }: { model: LanguageModel; mastra?: Mastra; options?: MastraModelOptions }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n this.#options = options;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(this.#mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n private _applySchemaCompat(schema: ZodSchema | JSONSchema7): Schema {\n const model = this.#model;\n\n const schemaCompatLayers = [];\n\n if (model) {\n const modelInfo = {\n modelId: model.modelId,\n supportsStructuredOutputs: model.supportsStructuredOutputs ?? false,\n provider: model.provider,\n };\n schemaCompatLayers.push(\n new OpenAIReasoningSchemaCompatLayer(modelInfo),\n new OpenAISchemaCompatLayer(modelInfo),\n new GoogleSchemaCompatLayer(modelInfo),\n new AnthropicSchemaCompatLayer(modelInfo),\n new DeepSeekSchemaCompatLayer(modelInfo),\n new MetaSchemaCompatLayer(modelInfo),\n );\n }\n\n // \"Type instantiation is excessively deep\" error from complex ZodSchema generic inference\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n async __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps = 5,\n tools = {},\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text', {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools),\n });\n\n let schema: z.ZodType<inferOutput<Z>> | Schema<inferOutput<Z>> | undefined = undefined;\n\n if (experimental_output) {\n this.logger.debug('Using experimental output', {\n runId,\n });\n\n if (isZodType(experimental_output)) {\n schema = experimental_output as z.ZodType<inferOutput<Z>>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<inferOutput<Z>>;\n }\n\n // Convert Zod schema to JSON Schema via standard schema interface\n const standardSchema = toStandardSchema(schema as any);\n const jsonSchemaToUse = standardSchemaToJSONSchema(standardSchema);\n\n schema = jsonSchema<inferOutput<Z>>(jsonSchemaToUse);\n } else {\n schema = jsonSchema<inferOutput<Z>>(experimental_output);\n }\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n schema,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n toolChoice,\n maxSteps,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n throw mastraError;\n }\n\n this.logger.debug('Text step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await executeWithContext({\n span: llmSpan,\n fn: () => generateText(argsForExecute),\n });\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n llmSpan?.end({\n output: {\n text: result.text,\n object: result.object,\n reasoning: result.reasoningDetails,\n reasoningText: result.reasoning,\n files: result.files,\n sources: result.sources,\n toolCalls: result.toolCalls,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text object', { runId });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n const zodDef = getZodDef(structuredOutput);\n if ('element' in zodDef) {\n structuredOutput = zodDef.element;\n } else {\n structuredOutput = zodDef.type;\n }\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model,\n output,\n schema: processedSchema as Schema<Z>,\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n const result = await generateObject(argsForExecute);\n\n llmSpan?.end({\n output: {\n object: result.object,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n // @ts-expect-error - output in our implementation can only be object or array\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>({\n messages,\n onStepFinish,\n onFinish,\n maxSteps = 5,\n tools = {},\n runId,\n temperature,\n toolChoice = 'auto',\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n let schema: z.ZodType<Z> | Schema<Z> | undefined;\n if (experimental_output) {\n if (typeof (experimental_output as any).parse === 'function') {\n schema = experimental_output as z.ZodType<Z>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n if (llmSpan) {\n executeWithContextSync({\n span: llmSpan,\n fn: () =>\n this.logger.debug('Streaming text', {\n runId,\n threadId,\n resourceId,\n messages,\n maxSteps,\n tools: Object.keys(tools || {}),\n }),\n });\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n maxSteps,\n toolChoice,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Stream step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n onFinish: async props => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n toolCalls: props?.toolCalls,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: convertV4Usage(props?.usage),\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n llmSpan?.error({ error: mastraError });\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('Stream finished', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream text error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n ...rest,\n messages,\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return executeWithContextSync({ span: llmSpan, fn: () => streamText(argsForExecute) });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n requestContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Streaming structured output', {\n runId,\n messages,\n });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n structuredOutput = getZodDef(structuredOutput).type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model,\n onFinish: async (props: any) => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n object: props?.object,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: props?.usage,\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n toolCalls: '',\n toolResults: '',\n finishReason: '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Object stream finished', {\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream object error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n messages,\n output,\n schema: processedSchema as Schema<inferOutput<T>>,\n };\n\n try {\n return streamObject(argsForExecute as any);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n llmSpan?.error({ error: e });\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n async generate<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<GenerateObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'>,\n 'messages'\n > & { output?: Output },\n ): Promise<GenerateReturn<Tools, Output, StructuredOutput>> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n ...(rest as unknown as Omit<GenerateTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...(rest as unknown as Omit<\n GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n stream<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<StreamObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'> & { maxSteps?: never },\n 'messages'\n > & { output?: Output },\n ): StreamReturn<Tools, Output, StructuredOutput> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n const {\n maxSteps = 5,\n onFinish,\n ...streamRest\n } = rest as unknown as Omit<StreamTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>;\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...streamRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n const { onFinish, ...objectRest } = rest as unknown as Omit<\n StreamObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >;\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...objectRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"model-DQzxkQqM.js","names":["#model","#options","#mastra","isZodType","Output"],"sources":["../src/stream/aisdk/v4/usage.ts","../src/llm/model/model.ts"],"sourcesContent":["import type { UsageStats } from '../../../observability';\n\n/**\n * AI SDK v4 LanguageModelUsage type definition\n * (matches the ai package's LanguageModelUsage)\n */\ninterface LanguageModelUsageV4 {\n promptTokens: number;\n completionTokens: number;\n totalTokens?: number;\n}\n\n/**\n * Converts AI SDK v4 LanguageModelUsage to our UsageStats format.\n *\n * @param usage - The LanguageModelUsage from AI SDK v4\n * @returns Normalized UsageStats\n */\nexport function convertV4Usage(usage: LanguageModelUsageV4 | undefined): UsageStats {\n if (!usage) {\n return {};\n }\n\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n };\n}\n","import { generateObject, generateText, Output, streamObject, streamText } from '@internal/ai-sdk-v4';\nimport type {\n CoreMessage,\n LanguageModelV1 as LanguageModel,\n StreamObjectOnFinishCallback,\n StreamTextOnFinishCallback,\n} from '@internal/ai-sdk-v4';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n jsonSchema,\n} from '@mastra/schema-compat';\nimport type { JSONSchema7, Schema } from '@mastra/schema-compat';\nimport type { z } from 'zod/v4';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { SpanType, resolveObservabilityContext } from '../../observability';\nimport { executeWithContext, executeWithContextSync } from '../../observability/utils';\nimport { toStandardSchema, standardSchemaToJSONSchema, isStandardSchemaWithJSON } from '../../schema';\nimport type { ZodSchema } from '../../schema';\nimport { convertV4Usage } from '../../stream/aisdk/v4/usage';\nimport { delay, isZodType } from '../../utils';\nimport { isZodArray, getZodDef } from '../../utils/zod-utils';\n\nimport type {\n GenerateObjectWithMessagesArgs,\n GenerateTextResult,\n GenerateObjectResult,\n GenerateTextWithMessagesArgs,\n OriginalGenerateTextOptions,\n ToolSet,\n GenerateReturn,\n OriginalGenerateObjectOptions,\n StreamTextWithMessagesArgs,\n StreamTextResult,\n OriginalStreamTextOptions,\n StreamObjectWithMessagesArgs,\n OriginalStreamObjectOptions,\n StreamObjectResult,\n StreamReturn,\n} from './base.types';\nimport type { inferOutput, MastraModelOptions } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n #options?: MastraModelOptions;\n\n constructor({ model, mastra, options }: { model: LanguageModel; mastra?: Mastra; options?: MastraModelOptions }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n this.#options = options;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(this.#mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n private _applySchemaCompat(schema: ZodSchema | JSONSchema7): Schema {\n const model = this.#model;\n\n const schemaCompatLayers = [];\n\n if (model) {\n const modelInfo = {\n modelId: model.modelId,\n supportsStructuredOutputs: model.supportsStructuredOutputs ?? false,\n provider: model.provider,\n };\n schemaCompatLayers.push(\n new OpenAIReasoningSchemaCompatLayer(modelInfo),\n new OpenAISchemaCompatLayer(modelInfo),\n new GoogleSchemaCompatLayer(modelInfo),\n new AnthropicSchemaCompatLayer(modelInfo),\n new DeepSeekSchemaCompatLayer(modelInfo),\n new MetaSchemaCompatLayer(modelInfo),\n );\n }\n\n // \"Type instantiation is excessively deep\" error from complex ZodSchema generic inference\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n async __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps = 5,\n tools = {},\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text', {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools),\n });\n\n let schema: z.ZodType<inferOutput<Z>> | Schema<inferOutput<Z>> | undefined = undefined;\n\n if (experimental_output) {\n this.logger.debug('Using experimental output', {\n runId,\n });\n\n if (isZodType(experimental_output)) {\n schema = experimental_output as z.ZodType<inferOutput<Z>>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<inferOutput<Z>>;\n }\n\n // Convert Zod schema to JSON Schema via standard schema interface\n const standardSchema = toStandardSchema(schema as any);\n const jsonSchemaToUse = standardSchemaToJSONSchema(standardSchema);\n\n schema = jsonSchema<inferOutput<Z>>(jsonSchemaToUse);\n } else {\n schema = jsonSchema<inferOutput<Z>>(experimental_output);\n }\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n schema,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n toolChoice,\n maxSteps,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n throw mastraError;\n }\n\n this.logger.debug('Text step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await executeWithContext({\n span: llmSpan,\n fn: () => generateText(argsForExecute),\n });\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n llmSpan?.end({\n output: {\n text: result.text,\n object: result.object,\n reasoning: result.reasoningDetails,\n reasoningText: result.reasoning,\n files: result.files,\n sources: result.sources,\n toolCalls: result.toolCalls,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text object', { runId });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n const zodDef = getZodDef(structuredOutput);\n if ('element' in zodDef) {\n structuredOutput = zodDef.element;\n } else {\n structuredOutput = zodDef.type;\n }\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model,\n output,\n schema: processedSchema as Schema<Z>,\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n const result = await generateObject(argsForExecute);\n\n llmSpan?.end({\n output: {\n object: result.object,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n // @ts-expect-error - output in our implementation can only be object or array\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>({\n messages,\n onStepFinish,\n onFinish,\n maxSteps = 5,\n tools = {},\n runId,\n temperature,\n toolChoice = 'auto',\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n let schema: z.ZodType<Z> | Schema<Z> | undefined;\n if (experimental_output) {\n if (typeof (experimental_output as any).parse === 'function') {\n schema = experimental_output as z.ZodType<Z>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n if (llmSpan) {\n executeWithContextSync({\n span: llmSpan,\n fn: () =>\n this.logger.debug('Streaming text', {\n runId,\n threadId,\n resourceId,\n messages,\n maxSteps,\n tools: Object.keys(tools || {}),\n }),\n });\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n maxSteps,\n toolChoice,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Stream step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n onFinish: async props => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n toolCalls: props?.toolCalls,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: convertV4Usage(props?.usage),\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n llmSpan?.error({ error: mastraError });\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('Stream finished', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream text error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n ...rest,\n messages,\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return executeWithContextSync({ span: llmSpan, fn: () => streamText(argsForExecute) });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n requestContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Streaming structured output', {\n runId,\n messages,\n });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n structuredOutput = getZodDef(structuredOutput).type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model,\n onFinish: async (props: any) => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n object: props?.object,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: props?.usage,\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n toolCalls: '',\n toolResults: '',\n finishReason: '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Object stream finished', {\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream object error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n messages,\n output,\n schema: processedSchema as Schema<inferOutput<T>>,\n };\n\n try {\n return streamObject(argsForExecute as any);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n llmSpan?.error({ error: e });\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n async generate<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<GenerateObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'>,\n 'messages'\n > & { output?: Output },\n ): Promise<GenerateReturn<Tools, Output, StructuredOutput>> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n ...(rest as unknown as Omit<GenerateTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...(rest as unknown as Omit<\n GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n stream<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<StreamObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'> & { maxSteps?: never },\n 'messages'\n > & { output?: Output },\n ): StreamReturn<Tools, Output, StructuredOutput> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n const {\n maxSteps = 5,\n onFinish,\n ...streamRest\n } = rest as unknown as Omit<StreamTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>;\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...streamRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n const { onFinish, ...objectRest } = rest as unknown as Omit<\n StreamObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >;\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...objectRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ const require_observability = require("./observability-Dc_G1cXD.cjs");
4
4
  const require_utils = require("./utils-tMAiLKfb.cjs");
5
5
  require("./tracing-lPEd0a_y.cjs");
6
6
  const require_zod_utils = require("./zod-utils-BAGXGqPm.cjs");
7
- const require_utils$1 = require("./utils-BoQofieM.cjs");
7
+ const require_utils$1 = require("./utils-CPUQn5dX.cjs");
8
8
  const require_dist = require("./dist-WHfFgO3W.cjs");
9
9
  let _mastra_schema_compat = require("@mastra/schema-compat");
10
10
  let _mastra_schema_compat_schema = require("@mastra/schema-compat/schema");
@@ -792,4 +792,4 @@ Object.defineProperty(exports, "MastraLLMV1", {
792
792
  }
793
793
  });
794
794
 
795
- //# sourceMappingURL=model-DMVq6nAS.cjs.map
795
+ //# sourceMappingURL=model-Iow-mV9i.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-DMVq6nAS.cjs","names":["MastraBase","#model","#options","#mastra","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","resolveObservabilityContext","isZodType","isZodArray","getZodDef","MastraError","ErrorDomain","ErrorCategory","delay","Output","executeWithContext","generateText","generateObject","executeWithContextSync","streamText","streamObject"],"sources":["../src/stream/aisdk/v4/usage.ts","../src/llm/model/model.ts"],"sourcesContent":["import type { UsageStats } from '../../../observability';\n\n/**\n * AI SDK v4 LanguageModelUsage type definition\n * (matches the ai package's LanguageModelUsage)\n */\ninterface LanguageModelUsageV4 {\n promptTokens: number;\n completionTokens: number;\n totalTokens?: number;\n}\n\n/**\n * Converts AI SDK v4 LanguageModelUsage to our UsageStats format.\n *\n * @param usage - The LanguageModelUsage from AI SDK v4\n * @returns Normalized UsageStats\n */\nexport function convertV4Usage(usage: LanguageModelUsageV4 | undefined): UsageStats {\n if (!usage) {\n return {};\n }\n\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n };\n}\n","import { generateObject, generateText, Output, streamObject, streamText } from '@internal/ai-sdk-v4';\nimport type {\n CoreMessage,\n LanguageModelV1 as LanguageModel,\n StreamObjectOnFinishCallback,\n StreamTextOnFinishCallback,\n} from '@internal/ai-sdk-v4';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n jsonSchema,\n} from '@mastra/schema-compat';\nimport type { JSONSchema7, Schema } from '@mastra/schema-compat';\nimport type { z } from 'zod/v4';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { SpanType, resolveObservabilityContext } from '../../observability';\nimport { executeWithContext, executeWithContextSync } from '../../observability/utils';\nimport { toStandardSchema, standardSchemaToJSONSchema, isStandardSchemaWithJSON } from '../../schema';\nimport type { ZodSchema } from '../../schema';\nimport { convertV4Usage } from '../../stream/aisdk/v4/usage';\nimport { delay, isZodType } from '../../utils';\nimport { isZodArray, getZodDef } from '../../utils/zod-utils';\n\nimport type {\n GenerateObjectWithMessagesArgs,\n GenerateTextResult,\n GenerateObjectResult,\n GenerateTextWithMessagesArgs,\n OriginalGenerateTextOptions,\n ToolSet,\n GenerateReturn,\n OriginalGenerateObjectOptions,\n StreamTextWithMessagesArgs,\n StreamTextResult,\n OriginalStreamTextOptions,\n StreamObjectWithMessagesArgs,\n OriginalStreamObjectOptions,\n StreamObjectResult,\n StreamReturn,\n} from './base.types';\nimport type { inferOutput, MastraModelOptions } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n #options?: MastraModelOptions;\n\n constructor({ model, mastra, options }: { model: LanguageModel; mastra?: Mastra; options?: MastraModelOptions }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n this.#options = options;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(this.#mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n private _applySchemaCompat(schema: ZodSchema | JSONSchema7): Schema {\n const model = this.#model;\n\n const schemaCompatLayers = [];\n\n if (model) {\n const modelInfo = {\n modelId: model.modelId,\n supportsStructuredOutputs: model.supportsStructuredOutputs ?? false,\n provider: model.provider,\n };\n schemaCompatLayers.push(\n new OpenAIReasoningSchemaCompatLayer(modelInfo),\n new OpenAISchemaCompatLayer(modelInfo),\n new GoogleSchemaCompatLayer(modelInfo),\n new AnthropicSchemaCompatLayer(modelInfo),\n new DeepSeekSchemaCompatLayer(modelInfo),\n new MetaSchemaCompatLayer(modelInfo),\n );\n }\n\n // \"Type instantiation is excessively deep\" error from complex ZodSchema generic inference\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n async __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps = 5,\n tools = {},\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text', {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools),\n });\n\n let schema: z.ZodType<inferOutput<Z>> | Schema<inferOutput<Z>> | undefined = undefined;\n\n if (experimental_output) {\n this.logger.debug('Using experimental output', {\n runId,\n });\n\n if (isZodType(experimental_output)) {\n schema = experimental_output as z.ZodType<inferOutput<Z>>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<inferOutput<Z>>;\n }\n\n // Convert Zod schema to JSON Schema via standard schema interface\n const standardSchema = toStandardSchema(schema as any);\n const jsonSchemaToUse = standardSchemaToJSONSchema(standardSchema);\n\n schema = jsonSchema<inferOutput<Z>>(jsonSchemaToUse);\n } else {\n schema = jsonSchema<inferOutput<Z>>(experimental_output);\n }\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n schema,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n toolChoice,\n maxSteps,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n throw mastraError;\n }\n\n this.logger.debug('Text step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await executeWithContext({\n span: llmSpan,\n fn: () => generateText(argsForExecute),\n });\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n llmSpan?.end({\n output: {\n text: result.text,\n object: result.object,\n reasoning: result.reasoningDetails,\n reasoningText: result.reasoning,\n files: result.files,\n sources: result.sources,\n toolCalls: result.toolCalls,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text object', { runId });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n const zodDef = getZodDef(structuredOutput);\n if ('element' in zodDef) {\n structuredOutput = zodDef.element;\n } else {\n structuredOutput = zodDef.type;\n }\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model,\n output,\n schema: processedSchema as Schema<Z>,\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n const result = await generateObject(argsForExecute);\n\n llmSpan?.end({\n output: {\n object: result.object,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n // @ts-expect-error - output in our implementation can only be object or array\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>({\n messages,\n onStepFinish,\n onFinish,\n maxSteps = 5,\n tools = {},\n runId,\n temperature,\n toolChoice = 'auto',\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n let schema: z.ZodType<Z> | Schema<Z> | undefined;\n if (experimental_output) {\n if (typeof (experimental_output as any).parse === 'function') {\n schema = experimental_output as z.ZodType<Z>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n if (llmSpan) {\n executeWithContextSync({\n span: llmSpan,\n fn: () =>\n this.logger.debug('Streaming text', {\n runId,\n threadId,\n resourceId,\n messages,\n maxSteps,\n tools: Object.keys(tools || {}),\n }),\n });\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n maxSteps,\n toolChoice,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Stream step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n onFinish: async props => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n toolCalls: props?.toolCalls,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: convertV4Usage(props?.usage),\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n llmSpan?.error({ error: mastraError });\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('Stream finished', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream text error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n ...rest,\n messages,\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return executeWithContextSync({ span: llmSpan, fn: () => streamText(argsForExecute) });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n requestContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Streaming structured output', {\n runId,\n messages,\n });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n structuredOutput = getZodDef(structuredOutput).type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model,\n onFinish: async (props: any) => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n object: props?.object,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: props?.usage,\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n toolCalls: '',\n toolResults: '',\n finishReason: '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Object stream finished', {\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream object error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n messages,\n output,\n schema: processedSchema as Schema<inferOutput<T>>,\n };\n\n try {\n return streamObject(argsForExecute as any);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n llmSpan?.error({ error: e });\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n async generate<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<GenerateObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'>,\n 'messages'\n > & { output?: Output },\n ): Promise<GenerateReturn<Tools, Output, StructuredOutput>> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n ...(rest as unknown as Omit<GenerateTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...(rest as unknown as Omit<\n GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n stream<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<StreamObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'> & { maxSteps?: never },\n 'messages'\n > & { output?: Output },\n ): StreamReturn<Tools, Output, StructuredOutput> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n const {\n maxSteps = 5,\n onFinish,\n ...streamRest\n } = rest as unknown as Omit<StreamTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>;\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...streamRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n const { onFinish, ...objectRest } = rest as unknown as Omit<\n StreamObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >;\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...objectRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"model-Iow-mV9i.cjs","names":["MastraBase","#model","#options","#mastra","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","resolveObservabilityContext","isZodType","isZodArray","getZodDef","MastraError","ErrorDomain","ErrorCategory","delay","Output","executeWithContext","generateText","generateObject","executeWithContextSync","streamText","streamObject"],"sources":["../src/stream/aisdk/v4/usage.ts","../src/llm/model/model.ts"],"sourcesContent":["import type { UsageStats } from '../../../observability';\n\n/**\n * AI SDK v4 LanguageModelUsage type definition\n * (matches the ai package's LanguageModelUsage)\n */\ninterface LanguageModelUsageV4 {\n promptTokens: number;\n completionTokens: number;\n totalTokens?: number;\n}\n\n/**\n * Converts AI SDK v4 LanguageModelUsage to our UsageStats format.\n *\n * @param usage - The LanguageModelUsage from AI SDK v4\n * @returns Normalized UsageStats\n */\nexport function convertV4Usage(usage: LanguageModelUsageV4 | undefined): UsageStats {\n if (!usage) {\n return {};\n }\n\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n };\n}\n","import { generateObject, generateText, Output, streamObject, streamText } from '@internal/ai-sdk-v4';\nimport type {\n CoreMessage,\n LanguageModelV1 as LanguageModel,\n StreamObjectOnFinishCallback,\n StreamTextOnFinishCallback,\n} from '@internal/ai-sdk-v4';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n jsonSchema,\n} from '@mastra/schema-compat';\nimport type { JSONSchema7, Schema } from '@mastra/schema-compat';\nimport type { z } from 'zod/v4';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { SpanType, resolveObservabilityContext } from '../../observability';\nimport { executeWithContext, executeWithContextSync } from '../../observability/utils';\nimport { toStandardSchema, standardSchemaToJSONSchema, isStandardSchemaWithJSON } from '../../schema';\nimport type { ZodSchema } from '../../schema';\nimport { convertV4Usage } from '../../stream/aisdk/v4/usage';\nimport { delay, isZodType } from '../../utils';\nimport { isZodArray, getZodDef } from '../../utils/zod-utils';\n\nimport type {\n GenerateObjectWithMessagesArgs,\n GenerateTextResult,\n GenerateObjectResult,\n GenerateTextWithMessagesArgs,\n OriginalGenerateTextOptions,\n ToolSet,\n GenerateReturn,\n OriginalGenerateObjectOptions,\n StreamTextWithMessagesArgs,\n StreamTextResult,\n OriginalStreamTextOptions,\n StreamObjectWithMessagesArgs,\n OriginalStreamObjectOptions,\n StreamObjectResult,\n StreamReturn,\n} from './base.types';\nimport type { inferOutput, MastraModelOptions } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n #options?: MastraModelOptions;\n\n constructor({ model, mastra, options }: { model: LanguageModel; mastra?: Mastra; options?: MastraModelOptions }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n this.#options = options;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(this.#mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n private _applySchemaCompat(schema: ZodSchema | JSONSchema7): Schema {\n const model = this.#model;\n\n const schemaCompatLayers = [];\n\n if (model) {\n const modelInfo = {\n modelId: model.modelId,\n supportsStructuredOutputs: model.supportsStructuredOutputs ?? false,\n provider: model.provider,\n };\n schemaCompatLayers.push(\n new OpenAIReasoningSchemaCompatLayer(modelInfo),\n new OpenAISchemaCompatLayer(modelInfo),\n new GoogleSchemaCompatLayer(modelInfo),\n new AnthropicSchemaCompatLayer(modelInfo),\n new DeepSeekSchemaCompatLayer(modelInfo),\n new MetaSchemaCompatLayer(modelInfo),\n );\n }\n\n // \"Type instantiation is excessively deep\" error from complex ZodSchema generic inference\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n async __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps = 5,\n tools = {},\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text', {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools),\n });\n\n let schema: z.ZodType<inferOutput<Z>> | Schema<inferOutput<Z>> | undefined = undefined;\n\n if (experimental_output) {\n this.logger.debug('Using experimental output', {\n runId,\n });\n\n if (isZodType(experimental_output)) {\n schema = experimental_output as z.ZodType<inferOutput<Z>>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<inferOutput<Z>>;\n }\n\n // Convert Zod schema to JSON Schema via standard schema interface\n const standardSchema = toStandardSchema(schema as any);\n const jsonSchemaToUse = standardSchemaToJSONSchema(standardSchema);\n\n schema = jsonSchema<inferOutput<Z>>(jsonSchemaToUse);\n } else {\n schema = jsonSchema<inferOutput<Z>>(experimental_output);\n }\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n schema,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n toolChoice,\n maxSteps,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n throw mastraError;\n }\n\n this.logger.debug('Text step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await executeWithContext({\n span: llmSpan,\n fn: () => generateText(argsForExecute),\n });\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n llmSpan?.end({\n output: {\n text: result.text,\n object: result.object,\n reasoning: result.reasoningDetails,\n reasoningText: result.reasoning,\n files: result.files,\n sources: result.sources,\n toolCalls: result.toolCalls,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Generating text object', { runId });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n const zodDef = getZodDef(structuredOutput);\n if ('element' in zodDef) {\n structuredOutput = zodDef.element;\n } else {\n structuredOutput = zodDef.type;\n }\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model,\n output,\n schema: processedSchema as Schema<Z>,\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n const result = await generateObject(argsForExecute);\n\n llmSpan?.end({\n output: {\n object: result.object,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n // @ts-expect-error - output in our implementation can only be object or array\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Generate object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>({\n messages,\n onStepFinish,\n onFinish,\n maxSteps = 5,\n tools = {},\n runId,\n temperature,\n toolChoice = 'auto',\n experimental_output,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n let schema: z.ZodType<Z> | Schema<Z> | undefined;\n if (experimental_output) {\n if (typeof (experimental_output as any).parse === 'function') {\n schema = experimental_output as z.ZodType<Z>;\n if (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n if (llmSpan) {\n executeWithContextSync({\n span: llmSpan,\n fn: () =>\n this.logger.debug('Streaming text', {\n runId,\n threadId,\n resourceId,\n messages,\n maxSteps,\n tools: Object.keys(tools || {}),\n }),\n });\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model,\n temperature,\n tools: {\n ...(tools as Tools),\n },\n maxSteps,\n toolChoice,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Stream step change', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId, remainingTokens });\n const rateLimitSpan = llmSpan?.createChildSpan({\n name: 'rate-limit-sleep',\n type: SpanType.GENERIC,\n metadata: { remainingTokens, delayMs: 10_000 },\n });\n await delay(10 * 1000);\n rateLimitSpan?.end();\n }\n },\n onFinish: async props => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n toolCalls: props?.toolCalls,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: convertV4Usage(props?.usage),\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n llmSpan?.error({ error: mastraError });\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('Stream finished', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream text error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n ...rest,\n messages,\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return executeWithContextSync({ span: llmSpan, fn: () => streamText(argsForExecute) });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n requestContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug('Streaming structured output', {\n runId,\n messages,\n });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n structuredOutput = getZodDef(structuredOutput).type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model,\n onFinish: async (props: any) => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n object: props?.object,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: props?.usage,\n },\n });\n\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n toolCalls: '',\n toolResults: '',\n finishReason: '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n\n this.logger.debug('Object stream finished', {\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_STREAMING_ERROR',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n error,\n );\n this.logger.error('Stream object error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n messages,\n output,\n schema: processedSchema as Schema<inferOutput<T>>,\n };\n\n try {\n return streamObject(argsForExecute as any);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n llmSpan?.error({ error: e });\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n this.logger.error('Stream object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n async generate<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<GenerateObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'>,\n 'messages'\n > & { output?: Output },\n ): Promise<GenerateReturn<Tools, Output, StructuredOutput>> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n ...(rest as unknown as Omit<GenerateTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...(rest as unknown as Omit<\n GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n stream<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n args?: Omit<\n Output extends undefined\n ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<StreamObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'> & { maxSteps?: never },\n 'messages'\n > & { output?: Output },\n ): StreamReturn<Tools, Output, StructuredOutput> {\n const msgs = this.convertToMessages(messages);\n const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n const {\n maxSteps = 5,\n onFinish,\n ...streamRest\n } = rest as unknown as Omit<StreamTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>;\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...streamRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n const { onFinish, ...objectRest } = rest as unknown as Omit<\n StreamObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >;\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...objectRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { n as __exportAll } from "./rolldown-runtime-DP3BCW9_.js";
2
2
  import { r as createGatewayProvider } from "./dist-iiYCn57Q-DhklLswZ.js";
3
- import { $ as UnsupportedFunctionalityError$1, A as extractResponseHeaders$1, B as postToApi$1, C as createJsonErrorResponseHandler$1, D as createStatusCodeErrorResponseHandler, E as createProviderToolFactoryWithOutputSchema, F as loadApiKey$1, G as withoutTrailingSlash$1, H as safeParseJSON$1, I as mediaTypeToExtension, J as AISDKError$1, K as zodSchema$1, L as parseProviderOptions, M as getFromApi$1, N as injectJsonInstructionIntoMessages, O as delay$1, P as lazySchema, Q as TooManyEmbeddingValuesForCallError, R as postFormDataToApi, S as createEventSourceResponseHandler$1, T as createProviderToolFactory$1, U as validateTypes$1, V as resolve, W as withUserAgentSuffix$1, X as InvalidResponseDataError$1, Y as APICallError$1, Z as NoSuchModelError, _ as convertImageModelFileToDataUri, a as PROVIDERS_WITH_INSTALLED_PACKAGES, b as convertUint8ArrayToBase64$1, c as MastraModelGateway, d as OpenAICompatibleCompletionLanguageModel, f as OpenAICompatibleEmbeddingModel, g as convertBase64ToUint8Array, h as combineHeaders$1, i as MASTRA_USER_AGENT, j as generateId$1, k as downloadBlob, l as createOpenAI, m as cancelResponseBody, n as EXCLUDED_PROVIDERS, o as createAnthropic, p as createOpenAICompatible, t as createGoogleGenerativeAI, u as OpenAICompatibleChatLanguageModel, v as convertToBase64, w as createJsonResponseHandler$1, x as createBinaryResponseHandler, y as convertToFormData, z as postJsonToApi$1 } from "./dist-C077BlAN.js";
3
+ import { $ as UnsupportedFunctionalityError$1, A as extractResponseHeaders$1, B as postToApi$1, C as createJsonErrorResponseHandler$1, D as createStatusCodeErrorResponseHandler, E as createProviderToolFactoryWithOutputSchema, F as loadApiKey$1, G as withoutTrailingSlash$1, H as safeParseJSON$1, I as mediaTypeToExtension, J as AISDKError$1, K as zodSchema$1, L as parseProviderOptions, M as getFromApi$1, N as injectJsonInstructionIntoMessages, O as delay$1, P as lazySchema, Q as TooManyEmbeddingValuesForCallError, R as postFormDataToApi, S as createEventSourceResponseHandler$1, T as createProviderToolFactory$1, U as validateTypes$1, V as resolve, W as withUserAgentSuffix$1, X as InvalidResponseDataError$1, Y as APICallError$1, Z as NoSuchModelError, _ as convertImageModelFileToDataUri, a as PROVIDERS_WITH_INSTALLED_PACKAGES, b as convertUint8ArrayToBase64$1, c as MastraModelGateway, d as OpenAICompatibleCompletionLanguageModel, f as OpenAICompatibleEmbeddingModel, g as convertBase64ToUint8Array, h as combineHeaders$1, i as MASTRA_USER_AGENT, j as generateId$1, k as downloadBlob, l as createOpenAI, m as cancelResponseBody, n as EXCLUDED_PROVIDERS, o as createAnthropic, p as createOpenAICompatible, t as createGoogleGenerativeAI, u as OpenAICompatibleChatLanguageModel, v as convertToBase64, w as createJsonResponseHandler$1, x as createBinaryResponseHandler, y as convertToFormData, z as postJsonToApi$1 } from "./dist-BZBxELZo.js";
4
4
  import * as z4 from "zod/v4";
5
5
  import { z } from "zod/v4";
6
6
  import { ZodFirstPartyTypeKind } from "zod/v3";
@@ -11616,4 +11616,4 @@ var ModelsDevGateway = class extends MastraModelGateway {
11616
11616
  //#endregion
11617
11617
  export { createOpenRouter as i, models_dev_exports as n, parseModelRouterId as r, ModelsDevGateway as t };
11618
11618
 
11619
- //# sourceMappingURL=models-dev-Cbus1Uh2.js.map
11619
+ //# sourceMappingURL=models-dev-BFOUCgyS.js.map