{"version":3,"sources":["../src/llm/model/base.ts","../src/llm/model/model.ts"],"names":["MastraBase","RegisteredLogger","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","z","jsonSchema","MastraError","delay","Output","generateText","generateObject","streamText","streamObject"],"mappings":"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","file":"chunk-53NB2WDT.cjs","sourcesContent":["import type { CoreMessage } from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { z, ZodSchema } from 'zod';\n\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { RegisteredLogger } from '../../logger';\nimport type { Mastra } from '../../mastra';\nimport type {\n  GenerateTextWithMessagesArgs,\n  GenerateTextResult,\n  ToolSet,\n  GenerateReturn,\n  GenerateObjectResult,\n  GenerateObjectWithMessagesArgs,\n  StreamReturn,\n  StreamTextWithMessagesArgs,\n  StreamTextResult,\n  StreamObjectResult,\n  StreamObjectWithMessagesArgs,\n} from './base.types';\n\nexport abstract class MastraLLMBase extends MastraBase {\n  constructor({ name }: { name: string }) {\n    super({\n      component: RegisteredLogger.LLM,\n      name,\n    });\n  }\n\n  abstract getProvider(): string;\n  abstract getModelId(): string;\n\n  abstract __registerMastra(p: Mastra): void;\n\n  abstract __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>(\n    input: GenerateTextWithMessagesArgs<Tools, Z>,\n  ): Promise<GenerateTextResult<Tools, Z extends ZodSchema ? z.infer<Z> : unknown>>;\n\n  abstract __textObject<Z extends ZodSchema | JSONSchema7>(\n    input: GenerateObjectWithMessagesArgs<Z>,\n  ): Promise<GenerateObjectResult<Z>>;\n\n  abstract 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    options: Omit<\n      Output extends undefined\n        ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n        : GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n      'messages'\n    >,\n  ): Promise<GenerateReturn<Tools, Output, StructuredOutput>>;\n\n  abstract __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>(\n    input: StreamTextWithMessagesArgs<Tools, Z>,\n  ): StreamTextResult<Tools, Z extends ZodSchema ? z.infer<Z> : unknown>;\n\n  abstract __streamObject<Z extends ZodSchema | JSONSchema7>(\n    input: StreamObjectWithMessagesArgs<Z>,\n  ): StreamObjectResult<Z>;\n\n  abstract 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    options: Omit<\n      Output extends undefined\n        ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n        : StreamObjectWithMessagesArgs<NonNullable<Output>> & { maxSteps?: never },\n      'messages'\n    >,\n  ): StreamReturn<Tools, Output, StructuredOutput>;\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  __registerPrimitives(p: MastraPrimitives) {\n    if (p.telemetry) {\n      this.__setTelemetry(p.telemetry);\n    }\n\n    if (p.logger) {\n      this.__setLogger(p.logger);\n    }\n  }\n}\n","import {\n  AnthropicSchemaCompatLayer,\n  applyCompatLayer,\n  DeepSeekSchemaCompatLayer,\n  GoogleSchemaCompatLayer,\n  MetaSchemaCompatLayer,\n  OpenAIReasoningSchemaCompatLayer,\n  OpenAISchemaCompatLayer,\n} from '@mastra/schema-compat';\nimport type { CoreMessage, LanguageModel, Schema, StreamObjectOnFinishCallback, StreamTextOnFinishCallback } from 'ai';\nimport { generateObject, generateText, jsonSchema, Output, streamObject, streamText } from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { ZodSchema } from 'zod';\nimport { z } from 'zod';\n\nimport type { MastraPrimitives } from '../../action';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { delay } from '../../utils';\n\nimport { MastraLLMBase } from './base';\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  inferOutput,\n  StreamObjectWithMessagesArgs,\n  OriginalStreamObjectOptions,\n  StreamObjectResult,\n  StreamReturn,\n} from './base.types';\n\nexport class MastraLLM extends MastraLLMBase {\n  #model: LanguageModel;\n  #mastra?: Mastra;\n\n  constructor({ model, mastra }: { model: LanguageModel; mastra?: Mastra }) {\n    super({ name: 'aisdk' });\n\n    this.#model = model;\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.telemetry) {\n      this.__setTelemetry(p.telemetry);\n    }\n\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      schemaCompatLayers.push(\n        new OpenAIReasoningSchemaCompatLayer(model),\n        new OpenAISchemaCompatLayer(model),\n        new GoogleSchemaCompatLayer(model),\n        new AnthropicSchemaCompatLayer(model),\n        new DeepSeekSchemaCompatLayer(model),\n        new MetaSchemaCompatLayer(model),\n      );\n    }\n\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    telemetry,\n    threadId,\n    resourceId,\n    runtimeContext,\n    ...rest\n  }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n    const model = this.#model;\n\n    this.logger.debug(`[LLM] - 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('[LLM] - Using experimental output', {\n        runId,\n      });\n      if (typeof (experimental_output as any).parse === 'function') {\n        schema = experimental_output as z.ZodType<inferOutput<Z>>;\n        if (schema instanceof z.ZodArray) {\n          schema = schema._def.type as z.ZodType<inferOutput<Z>>;\n        }\n      } else {\n        schema = jsonSchema(experimental_output as JSONSchema7) as Schema<inferOutput<Z>>;\n      }\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('[LLM] - 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        if (\n          props?.response?.headers?.['x-ratelimit-remaining-tokens'] &&\n          parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'], 10) < 2000\n        ) {\n          this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n          await delay(10 * 1000);\n        }\n      },\n      experimental_telemetry: {\n        ...this.experimental_telemetry,\n        ...telemetry,\n      },\n      experimental_output: schema\n        ? Output.object({\n            schema,\n          })\n        : undefined,\n    };\n\n    try {\n      const result: GenerateTextResult<Tools, Z> = await generateText(argsForExecute);\n\n      if (schema && result.finishReason === 'stop') {\n        result.object = (result as any).experimental_output;\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      throw mastraError;\n    }\n  }\n\n  async __textObject<Z extends ZodSchema | JSONSchema7>({\n    messages,\n    structuredOutput,\n    runId,\n    telemetry,\n    threadId,\n    resourceId,\n    runtimeContext,\n    ...rest\n  }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n    const model = this.#model;\n\n    this.logger.debug(`[LLM] - Generating a text object`, { runId });\n\n    try {\n      let output: 'object' | 'array' = 'object';\n      if (structuredOutput instanceof z.ZodArray) {\n        output = 'array';\n        structuredOutput = structuredOutput._def.type;\n      }\n\n      const processedSchema = this._applySchemaCompat(structuredOutput!);\n\n      const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n        ...rest,\n        messages,\n        model,\n        // @ts-expect-error - output in our implementation can only be object or array\n        output,\n        schema: processedSchema as Schema<Z>,\n        experimental_telemetry: {\n          ...this.experimental_telemetry,\n          ...telemetry,\n        },\n      };\n\n      try {\n        // @ts-expect-error - output in our implementation can only be object or array\n        return await generateObject(argsForExecute);\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        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      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    telemetry,\n    threadId,\n    resourceId,\n    runtimeContext,\n    ...rest\n  }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n    const model = this.#model;\n    this.logger.debug(`[LLM] - Streaming text`, {\n      runId,\n      threadId,\n      resourceId,\n      messages,\n      maxSteps,\n      tools: Object.keys(tools || {}),\n    });\n\n    let schema: z.ZodType<Z> | Schema<Z> | undefined;\n    if (experimental_output) {\n      this.logger.debug('[LLM] - Using experimental output', {\n        runId,\n      });\n      if (typeof (experimental_output as any).parse === 'function') {\n        schema = experimental_output as z.ZodType<Z>;\n        if (schema instanceof z.ZodArray) {\n          schema = schema._def.type as z.ZodType<Z>;\n        }\n      } else {\n        schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\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          throw mastraError;\n        }\n\n        this.logger.debug('[LLM] - 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        if (\n          props?.response?.headers?.['x-ratelimit-remaining-tokens'] &&\n          parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'], 10) < 2000\n        ) {\n          this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n          await delay(10 * 1000);\n        }\n      },\n      onFinish: async props => {\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          this.logger.trackException(mastraError);\n          throw mastraError;\n        }\n\n        this.logger.debug('[LLM] - 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      ...rest,\n      messages,\n      experimental_telemetry: {\n        ...this.experimental_telemetry,\n        ...telemetry,\n      },\n      experimental_output: schema\n        ? (Output.object({\n            schema,\n          }) as any)\n        : undefined,\n    };\n\n    try {\n      return 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      throw mastraError;\n    }\n  }\n\n  __streamObject<T extends ZodSchema | JSONSchema7>({\n    messages,\n    runId,\n    runtimeContext,\n    threadId,\n    resourceId,\n    onFinish,\n    structuredOutput,\n    telemetry,\n    ...rest\n  }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n    const model = this.#model;\n    this.logger.debug(`[LLM] - Streaming structured output`, {\n      runId,\n      messages,\n    });\n\n    try {\n      let output: 'object' | 'array' = 'object';\n      if (structuredOutput instanceof z.ZodArray) {\n        output = 'array';\n        structuredOutput = structuredOutput._def.type;\n      }\n\n      const processedSchema = this._applySchemaCompat(structuredOutput!);\n\n      const argsForExecute: OriginalStreamObjectOptions<T> = {\n        ...rest,\n        model,\n        onFinish: async props => {\n          try {\n            // @ts-expect-error - onFinish is not infered correctly\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            throw mastraError;\n          }\n\n          this.logger.debug('[LLM] - Stream Finished:', {\n            usage: props?.usage,\n            runId,\n            threadId,\n            resourceId,\n          });\n        },\n        messages,\n        // @ts-expect-error - output in our implementation can only be object or array\n        output,\n        experimental_telemetry: {\n          ...this.experimental_telemetry,\n          ...telemetry,\n        },\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        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_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      throw mastraError;\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    {\n      output,\n      ...rest\n    }: 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\n    if (!output) {\n      const { maxSteps, onStepFinish, ...textOptions } = rest as Omit<\n        GenerateTextWithMessagesArgs<Tools, StructuredOutput>,\n        'messages'\n      >;\n      return (await this.__text<Tools, StructuredOutput>({\n        messages: msgs,\n        maxSteps,\n        onStepFinish,\n        ...textOptions,\n      })) as unknown as GenerateReturn<Tools, Output, StructuredOutput>;\n    }\n\n    return (await this.__textObject({\n      messages: msgs,\n      structuredOutput: output as NonNullable<Output>,\n      ...rest,\n    })) as unknown 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    {\n      maxSteps = 5,\n      output,\n      onFinish,\n      ...rest\n    }: 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\n    if (!output) {\n      return this.__stream({\n        messages: msgs,\n        maxSteps,\n        onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n        ...rest,\n      }) as unknown as StreamReturn<Tools, Output, StructuredOutput>;\n    }\n\n    return this.__streamObject({\n      messages: msgs,\n      structuredOutput: output as NonNullable<Output>,\n      onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n      ...rest,\n    }) as unknown as StreamReturn<Tools, Output, StructuredOutput>;\n  }\n}\n"]}