@mastra/core 0.15.3-alpha.2 → 0.15.3-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent.types.d.ts +9 -4
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +11 -11
- package/dist/agent/index.d.ts +33 -5
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +6 -6
- package/dist/agent/input-processor/index.js +1 -1
- package/dist/agent/message-list/index.d.ts +5 -1
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/convert-file.d.ts +7 -0
- package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -0
- package/dist/agent/message-list/prompt/download-assets.d.ts +15 -0
- package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -0
- package/dist/agent/types.d.ts +11 -6
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/ai-tracing/context.d.ts.map +1 -1
- package/dist/ai-tracing/default.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +43 -31
- package/dist/ai-tracing/index.js +1 -1
- package/dist/ai-tracing/no-op.d.ts +0 -1
- package/dist/ai-tracing/no-op.d.ts.map +1 -1
- package/dist/ai-tracing/types.d.ts +0 -2
- package/dist/ai-tracing/types.d.ts.map +1 -1
- package/dist/ai-tracing/utils.d.ts +44 -8
- package/dist/ai-tracing/utils.d.ts.map +1 -1
- package/dist/{chunk-QA2TWVUS.cjs → chunk-5CJDO3UO.cjs} +292 -9
- package/dist/chunk-5CJDO3UO.cjs.map +1 -0
- package/dist/chunk-ABRPHTOG.cjs +108 -0
- package/dist/chunk-ABRPHTOG.cjs.map +1 -0
- package/dist/chunk-BJGHUKKM.js +103 -0
- package/dist/chunk-BJGHUKKM.js.map +1 -0
- package/dist/{chunk-BRNBKCHE.js → chunk-CKM2ESZF.js} +51 -26
- package/dist/chunk-CKM2ESZF.js.map +1 -0
- package/dist/{chunk-HHLPYCQG.cjs → chunk-DZADAEAF.cjs} +68 -22
- package/dist/chunk-DZADAEAF.cjs.map +1 -0
- package/dist/{chunk-VBAWR62U.cjs → chunk-F2CAC2R2.cjs} +54 -29
- package/dist/chunk-F2CAC2R2.cjs.map +1 -0
- package/dist/{chunk-C5C4PN54.js → chunk-F4SQXAXR.js} +292 -9
- package/dist/chunk-F4SQXAXR.js.map +1 -0
- package/dist/{chunk-UG3KS3XV.cjs → chunk-F6XWBVVG.cjs} +4 -4
- package/dist/{chunk-UG3KS3XV.cjs.map → chunk-F6XWBVVG.cjs.map} +1 -1
- package/dist/{chunk-WHEH32QU.cjs → chunk-FQRDHVZC.cjs} +4 -4
- package/dist/{chunk-WHEH32QU.cjs.map → chunk-FQRDHVZC.cjs.map} +1 -1
- package/dist/{chunk-4DKPMUAC.cjs → chunk-I7OAONIW.cjs} +259 -177
- package/dist/chunk-I7OAONIW.cjs.map +1 -0
- package/dist/{chunk-XOZ737RO.js → chunk-IODUKRQP.js} +3 -3
- package/dist/{chunk-XOZ737RO.js.map → chunk-IODUKRQP.js.map} +1 -1
- package/dist/{chunk-7OSUKFNG.cjs → chunk-KUNWELBC.cjs} +692 -507
- package/dist/chunk-KUNWELBC.cjs.map +1 -0
- package/dist/{chunk-WOTBMZCN.js → chunk-LOYT3WUA.js} +255 -176
- package/dist/chunk-LOYT3WUA.js.map +1 -0
- package/dist/{chunk-6VROHRAR.cjs → chunk-LVGGMWSE.cjs} +31 -8
- package/dist/chunk-LVGGMWSE.cjs.map +1 -0
- package/dist/{chunk-T64BA34G.js → chunk-OFPVAPUH.js} +4 -4
- package/dist/{chunk-T64BA34G.js.map → chunk-OFPVAPUH.js.map} +1 -1
- package/dist/{chunk-5NGEKEU7.js → chunk-P2IJ74UW.js} +661 -476
- package/dist/chunk-P2IJ74UW.js.map +1 -0
- package/dist/{chunk-QBNRMJAN.cjs → chunk-VVTB47UG.cjs} +6 -6
- package/dist/{chunk-QBNRMJAN.cjs.map → chunk-VVTB47UG.cjs.map} +1 -1
- package/dist/{chunk-HXYE4EJA.cjs → chunk-W5CF7DLB.cjs} +9 -9
- package/dist/{chunk-HXYE4EJA.cjs.map → chunk-W5CF7DLB.cjs.map} +1 -1
- package/dist/{chunk-FLXWZUIG.js → chunk-WWQ3QRPF.js} +27 -5
- package/dist/chunk-WWQ3QRPF.js.map +1 -0
- package/dist/{chunk-E3LAPNKY.js → chunk-XPFWOBV4.js} +4 -4
- package/dist/{chunk-E3LAPNKY.js.map → chunk-XPFWOBV4.js.map} +1 -1
- package/dist/{chunk-IYCG5OVT.js → chunk-YAWYQH3N.js} +3 -3
- package/dist/{chunk-IYCG5OVT.js.map → chunk-YAWYQH3N.js.map} +1 -1
- package/dist/{chunk-UT6KEZRF.js → chunk-YVIYEC6R.js} +62 -16
- package/dist/chunk-YVIYEC6R.js.map +1 -0
- package/dist/index.cjs +47 -43
- package/dist/index.js +10 -10
- package/dist/integration/index.cjs +3 -3
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.d.ts +2 -2
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/model/base.types.d.ts +2 -2
- package/dist/llm/model/base.types.d.ts.map +1 -1
- package/dist/llm/model/model.d.ts +4 -4
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +1 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +2 -0
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts +1 -1
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/types.d.ts +4 -0
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflow/llm-execution.d.ts +1 -1
- package/dist/loop/workflow/llm-execution.d.ts.map +1 -1
- package/dist/loop/workflow/stream.d.ts +1 -1
- package/dist/loop/workflow/stream.d.ts.map +1 -1
- package/dist/mastra/hooks.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +8 -3
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/network/index.cjs +4 -4
- package/dist/network/index.js +2 -2
- package/dist/network/vNext/index.cjs +14 -14
- package/dist/network/vNext/index.js +2 -2
- package/dist/processors/index.cjs +13 -11
- package/dist/processors/index.cjs.map +1 -1
- package/dist/processors/index.d.ts +4 -0
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +7 -5
- package/dist/processors/index.js.map +1 -1
- package/dist/processors/processors/moderation.d.ts +4 -0
- package/dist/processors/processors/moderation.d.ts.map +1 -1
- package/dist/processors/processors/pii-detector.d.ts +3 -0
- package/dist/processors/processors/pii-detector.d.ts.map +1 -1
- package/dist/processors/processors/prompt-injection-detector.d.ts +2 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
- package/dist/processors/processors/system-prompt-scrubber.d.ts +2 -0
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
- package/dist/processors/runner.d.ts +5 -4
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/base.d.ts +2 -0
- package/dist/scores/base.d.ts.map +1 -1
- package/dist/scores/hooks.d.ts +3 -1
- package/dist/scores/hooks.d.ts.map +1 -1
- package/dist/scores/index.cjs +27 -18
- package/dist/scores/index.cjs.map +1 -1
- package/dist/scores/index.js +23 -14
- package/dist/scores/index.js.map +1 -1
- package/dist/scores/run-experiment/index.d.ts +2 -0
- package/dist/scores/run-experiment/index.d.ts.map +1 -1
- package/dist/scores/types.d.ts +3 -0
- package/dist/scores/types.d.ts.map +1 -1
- package/dist/storage/index.cjs +3 -3
- package/dist/storage/index.js +1 -1
- package/dist/stream/aisdk/v5/compat/consume-stream.d.ts +8 -0
- package/dist/stream/aisdk/v5/compat/consume-stream.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/content.d.ts +7 -0
- package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts +23 -0
- package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/index.d.ts +8 -0
- package/dist/stream/aisdk/v5/compat/index.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/media.d.ts +91 -0
- package/dist/stream/aisdk/v5/compat/media.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +11 -0
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/ui-message.d.ts +20 -0
- package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/compat/validation.d.ts +17 -0
- package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/output.d.ts +1 -1
- package/dist/stream/base/output.d.ts +1 -1
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tools/index.cjs +4 -4
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool.d.ts +3 -1
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/utils.cjs +20 -16
- package/dist/utils.d.ts +12 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/workflows/default.d.ts +13 -3
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/execution-engine.d.ts +2 -2
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/index.cjs +10 -10
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/dist/workflows/workflow.d.ts +8 -8
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/chunk-4DKPMUAC.cjs.map +0 -1
- package/dist/chunk-5NGEKEU7.js.map +0 -1
- package/dist/chunk-6VROHRAR.cjs.map +0 -1
- package/dist/chunk-7OSUKFNG.cjs.map +0 -1
- package/dist/chunk-BRNBKCHE.js.map +0 -1
- package/dist/chunk-C5C4PN54.js.map +0 -1
- package/dist/chunk-E4XQMNEI.cjs +0 -77
- package/dist/chunk-E4XQMNEI.cjs.map +0 -1
- package/dist/chunk-FLXWZUIG.js.map +0 -1
- package/dist/chunk-HHLPYCQG.cjs.map +0 -1
- package/dist/chunk-IVGAHFAJ.js +0 -72
- package/dist/chunk-IVGAHFAJ.js.map +0 -1
- package/dist/chunk-QA2TWVUS.cjs.map +0 -1
- package/dist/chunk-UT6KEZRF.js.map +0 -1
- package/dist/chunk-VBAWR62U.cjs.map +0 -1
- package/dist/chunk-WOTBMZCN.js.map +0 -1
- package/dist/stream/aisdk/v5/compat.d.ts +0 -73
- package/dist/stream/aisdk/v5/compat.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/model.ts"],"names":["MastraBase","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","isZodType","z","zodToJsonSchema","jsonSchema","MastraError","delay","Output","generateText","generateObject","streamText","streamObject"],"mappings":"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","file":"chunk-F2CAC2R2.cjs","sourcesContent":["import type { LanguageModelV1FinishReason } from '@ai-sdk/provider';\nimport {\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 { zodToJsonSchema } from 'zod-to-json-schema';\nimport type { MastraPrimitives } from '../../action';\nimport { AISpanType } from '../../ai-tracing';\nimport type { AnyAISpan, TracingContext } from '../../ai-tracing';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { delay, isZodType } from '../../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 } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\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 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 return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n private _startAISpan(params: {\n model: LanguageModel;\n tracingContext: TracingContext;\n name: string;\n streaming: boolean;\n options: any;\n }): AnyAISpan | undefined {\n const { model, tracingContext, name, streaming, options } = params;\n return tracingContext.currentSpan?.createChildSpan({\n name,\n type: AISpanType.LLM_GENERATION,\n input: options.prompt,\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n topP: options.topP,\n frequencyPenalty: options.frequencyPenalty,\n presencePenalty: options.presencePenalty,\n stop: options.stop,\n },\n streaming,\n },\n });\n }\n\n private _wrapModel(model: LanguageModel, tracingContext: TracingContext): LanguageModel {\n if (!tracingContext.currentSpan) {\n return model;\n }\n\n const wrappedDoGenerate = async (options: any) => {\n const llmSpan = this._startAISpan({\n model,\n tracingContext,\n name: `llm generate: '${model.modelId}'`,\n streaming: false,\n options,\n });\n\n try {\n const result = await model.doGenerate(options);\n\n llmSpan?.end({\n output: result.text,\n attributes: {\n usage: result.usage\n ? {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n }\n : undefined,\n },\n });\n return result;\n } catch (error) {\n llmSpan?.error({ error: error as Error });\n throw error;\n }\n };\n\n const wrappedDoStream = async (options: any) => {\n const llmSpan = this._startAISpan({\n model,\n tracingContext,\n name: `llm stream: '${model.modelId}'`,\n streaming: true,\n options,\n });\n\n try {\n const result = await model.doStream(options);\n\n // Create a wrapped stream that tracks the final result\n const originalStream = result.stream;\n let finishReason: LanguageModelV1FinishReason;\n let finalUsage: any = null;\n\n const wrappedStream = originalStream.pipeThrough(\n new TransformStream({\n // this gets called on each chunk output\n transform(chunk, controller) {\n // Create event spans for text chunks\n if (chunk.type === 'text-delta') {\n llmSpan?.createEventSpan({\n type: AISpanType.LLM_CHUNK,\n name: `llm chunk: ${chunk.type}`,\n output: chunk.textDelta,\n attributes: {\n chunkType: chunk.type,\n },\n });\n }\n\n //TODO: Figure out how to get the final usage\n // if (chunk.type === 'response-metadata' && chunk.usage) {\n // finalUsage = chunk.usage;\n // }\n if (chunk.type === 'finish') {\n finishReason = chunk.finishReason;\n finalUsage = chunk.usage;\n }\n controller.enqueue(chunk);\n },\n // this gets called at the end of the stream\n flush() {\n llmSpan?.end({\n attributes: {\n usage: finalUsage\n ? {\n promptTokens: finalUsage.promptTokens,\n completionTokens: finalUsage.completionTokens,\n totalTokens: finalUsage.totalTokens,\n }\n : undefined,\n },\n metadata: {\n finishReason,\n },\n });\n },\n }),\n );\n\n return {\n ...result,\n stream: wrappedStream,\n };\n } catch (error) {\n llmSpan?.error({ error: error as Error });\n throw error;\n }\n };\n\n // Create a proper proxy to preserve all model properties including getters/setters\n return new Proxy(model, {\n get(target, prop) {\n if (prop === 'doGenerate') return wrappedDoGenerate;\n if (prop === 'doStream') return wrappedDoStream;\n return target[prop as keyof typeof target];\n },\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 tracingContext,\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\n if (isZodType(experimental_output)) {\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\n let jsonSchemaToUse;\n if ('toJSONSchema' in z) {\n // Use dynamic property access to avoid import errors in Zod v3\n // @ts-ignore\n jsonSchemaToUse = (z as any)['toJSONSchema'](schema) as JSONSchema7;\n } else {\n jsonSchemaToUse = zodToJsonSchema(schema, {\n $refStrategy: 'none',\n target: 'jsonSchema7',\n }) as JSONSchema7;\n }\n\n schema = jsonSchema(jsonSchemaToUse) as Schema<inferOutput<Z>>;\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: this._wrapModel(model, tracingContext),\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] - 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 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 tracingContext,\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: this._wrapModel(model, tracingContext),\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 tracingContext,\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: this._wrapModel(model, tracingContext),\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 tracingContext,\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: this._wrapModel(model, tracingContext),\n onFinish: async props => {\n try {\n // @ts-expect-error - onFinish is not inferred 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] - Object 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 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 {\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"]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { fetchWithRetry } from './chunk-WWQ3QRPF.js';
|
|
1
2
|
import { MastraError } from './chunk-MCOVMKIS.js';
|
|
2
3
|
import { randomUUID } from 'crypto';
|
|
3
4
|
import * as AIV4 from 'ai';
|
|
4
5
|
import * as AIV5 from 'ai-v5';
|
|
5
6
|
import { convertUint8ArrayToBase64, convertBase64ToUint8Array } from '@ai-sdk/provider-utils';
|
|
7
|
+
import { isUrlSupported, convertBase64ToUint8Array as convertBase64ToUint8Array$1 } from '@ai-sdk/provider-utils-v5';
|
|
6
8
|
import { z } from 'zod';
|
|
7
9
|
|
|
8
10
|
var DefaultGeneratedFile = class {
|
|
@@ -37,6 +39,178 @@ var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
|
|
|
37
39
|
}
|
|
38
40
|
};
|
|
39
41
|
|
|
42
|
+
// src/stream/aisdk/v5/compat/content.ts
|
|
43
|
+
function splitDataUrl(dataUrl) {
|
|
44
|
+
try {
|
|
45
|
+
const [header, base64Content] = dataUrl.split(",");
|
|
46
|
+
return {
|
|
47
|
+
mediaType: header?.split(";")[0]?.split(":")[1],
|
|
48
|
+
base64Content
|
|
49
|
+
};
|
|
50
|
+
} catch {
|
|
51
|
+
return {
|
|
52
|
+
mediaType: void 0,
|
|
53
|
+
base64Content: void 0
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function convertToDataContent(content) {
|
|
58
|
+
if (content instanceof Uint8Array) {
|
|
59
|
+
return { data: content, mediaType: void 0 };
|
|
60
|
+
}
|
|
61
|
+
if (content instanceof ArrayBuffer) {
|
|
62
|
+
return { data: new Uint8Array(content), mediaType: void 0 };
|
|
63
|
+
}
|
|
64
|
+
if (typeof content === "string") {
|
|
65
|
+
try {
|
|
66
|
+
content = new URL(content);
|
|
67
|
+
} catch {
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (content instanceof URL && content.protocol === "data:") {
|
|
71
|
+
const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(content.toString());
|
|
72
|
+
if (dataUrlMediaType == null || base64Content == null) {
|
|
73
|
+
throw new MastraError({
|
|
74
|
+
id: "INVALID_DATA_URL_FORMAT",
|
|
75
|
+
text: `Invalid data URL format in content ${content.toString()}`,
|
|
76
|
+
domain: "LLM" /* LLM */,
|
|
77
|
+
category: "USER" /* USER */
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return { data: base64Content, mediaType: dataUrlMediaType };
|
|
81
|
+
}
|
|
82
|
+
return { data: content, mediaType: void 0 };
|
|
83
|
+
}
|
|
84
|
+
var imageMediaTypeSignatures = [
|
|
85
|
+
{
|
|
86
|
+
mediaType: "image/gif",
|
|
87
|
+
bytesPrefix: [71, 73, 70],
|
|
88
|
+
base64Prefix: "R0lG"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
mediaType: "image/png",
|
|
92
|
+
bytesPrefix: [137, 80, 78, 71],
|
|
93
|
+
base64Prefix: "iVBORw"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
mediaType: "image/jpeg",
|
|
97
|
+
bytesPrefix: [255, 216],
|
|
98
|
+
base64Prefix: "/9j/"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
mediaType: "image/webp",
|
|
102
|
+
bytesPrefix: [82, 73, 70, 70],
|
|
103
|
+
base64Prefix: "UklGRg"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
mediaType: "image/bmp",
|
|
107
|
+
bytesPrefix: [66, 77],
|
|
108
|
+
base64Prefix: "Qk"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
mediaType: "image/tiff",
|
|
112
|
+
bytesPrefix: [73, 73, 42, 0],
|
|
113
|
+
base64Prefix: "SUkqAA"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
mediaType: "image/tiff",
|
|
117
|
+
bytesPrefix: [77, 77, 0, 42],
|
|
118
|
+
base64Prefix: "TU0AKg"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
mediaType: "image/avif",
|
|
122
|
+
bytesPrefix: [0, 0, 0, 32, 102, 116, 121, 112, 97, 118, 105, 102],
|
|
123
|
+
base64Prefix: "AAAAIGZ0eXBhdmlm"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
mediaType: "image/heic",
|
|
127
|
+
bytesPrefix: [0, 0, 0, 32, 102, 116, 121, 112, 104, 101, 105, 99],
|
|
128
|
+
base64Prefix: "AAAAIGZ0eXBoZWlj"
|
|
129
|
+
}
|
|
130
|
+
];
|
|
131
|
+
var stripID3 = (data) => {
|
|
132
|
+
const bytes = typeof data === "string" ? convertBase64ToUint8Array$1(data) : data;
|
|
133
|
+
const id3Size = (
|
|
134
|
+
// @ts-ignore
|
|
135
|
+
(bytes[6] & 127) << 21 | // @ts-ignore
|
|
136
|
+
(bytes[7] & 127) << 14 | // @ts-ignore
|
|
137
|
+
(bytes[8] & 127) << 7 | // @ts-ignore
|
|
138
|
+
bytes[9] & 127
|
|
139
|
+
);
|
|
140
|
+
return bytes.slice(id3Size + 10);
|
|
141
|
+
};
|
|
142
|
+
function stripID3TagsIfPresent(data) {
|
|
143
|
+
const hasId3 = typeof data === "string" && data.startsWith("SUQz") || typeof data !== "string" && data.length > 10 && data[0] === 73 && // 'I'
|
|
144
|
+
data[1] === 68 && // 'D'
|
|
145
|
+
data[2] === 51;
|
|
146
|
+
return hasId3 ? stripID3(data) : data;
|
|
147
|
+
}
|
|
148
|
+
function detectMediaType({
|
|
149
|
+
data,
|
|
150
|
+
signatures
|
|
151
|
+
}) {
|
|
152
|
+
const processedData = stripID3TagsIfPresent(data);
|
|
153
|
+
for (const signature of signatures) {
|
|
154
|
+
if (typeof processedData === "string" ? processedData.startsWith(signature.base64Prefix) : processedData.length >= signature.bytesPrefix.length && signature.bytesPrefix.every((byte, index) => processedData[index] === byte)) {
|
|
155
|
+
return signature.mediaType;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return void 0;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// src/agent/message-list/prompt/convert-file.ts
|
|
162
|
+
function convertImageFilePart(part, downloadedAssets) {
|
|
163
|
+
let originalData;
|
|
164
|
+
const type = part.type;
|
|
165
|
+
switch (type) {
|
|
166
|
+
case "image":
|
|
167
|
+
originalData = part.image;
|
|
168
|
+
break;
|
|
169
|
+
case "file":
|
|
170
|
+
originalData = part.data;
|
|
171
|
+
break;
|
|
172
|
+
default:
|
|
173
|
+
throw new Error(`Unsupported part type: ${type}`);
|
|
174
|
+
}
|
|
175
|
+
const { data: convertedData, mediaType: convertedMediaType } = convertToDataContent(originalData);
|
|
176
|
+
let mediaType = convertedMediaType ?? part.mediaType;
|
|
177
|
+
let data = convertedData;
|
|
178
|
+
if (data instanceof URL) {
|
|
179
|
+
const downloadedFile = downloadedAssets[data.toString()];
|
|
180
|
+
if (downloadedFile) {
|
|
181
|
+
data = downloadedFile.data;
|
|
182
|
+
mediaType ??= downloadedFile.mediaType;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
switch (type) {
|
|
186
|
+
case "image": {
|
|
187
|
+
if (data instanceof Uint8Array || typeof data === "string") {
|
|
188
|
+
mediaType = detectMediaType({ data, signatures: imageMediaTypeSignatures }) ?? mediaType;
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
type: "file",
|
|
192
|
+
mediaType: mediaType ?? "image/*",
|
|
193
|
+
// any image
|
|
194
|
+
filename: void 0,
|
|
195
|
+
data,
|
|
196
|
+
providerOptions: part.providerOptions
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
case "file": {
|
|
200
|
+
if (mediaType == null) {
|
|
201
|
+
throw new Error(`Media type is missing for file part`);
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
type: "file",
|
|
205
|
+
mediaType,
|
|
206
|
+
filename: part.filename,
|
|
207
|
+
data,
|
|
208
|
+
providerOptions: part.providerOptions
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
40
214
|
// src/agent/message-list/prompt/attachments-to-parts.ts
|
|
41
215
|
function attachmentsToParts(attachments) {
|
|
42
216
|
const parts = [];
|
|
@@ -414,6 +588,79 @@ function convertDataContentToBase64String(content) {
|
|
|
414
588
|
}
|
|
415
589
|
return convertUint8ArrayToBase64(content);
|
|
416
590
|
}
|
|
591
|
+
var downloadFromUrl = async ({ url, downloadRetries }) => {
|
|
592
|
+
const urlText = url.toString();
|
|
593
|
+
try {
|
|
594
|
+
const response = await fetchWithRetry(
|
|
595
|
+
urlText,
|
|
596
|
+
{
|
|
597
|
+
method: "GET"
|
|
598
|
+
},
|
|
599
|
+
downloadRetries
|
|
600
|
+
);
|
|
601
|
+
if (!response.ok) {
|
|
602
|
+
throw new MastraError({
|
|
603
|
+
id: "DOWNLOAD_ASSETS_FAILED",
|
|
604
|
+
text: "Failed to download asset",
|
|
605
|
+
domain: "LLM" /* LLM */,
|
|
606
|
+
category: "USER" /* USER */
|
|
607
|
+
});
|
|
608
|
+
}
|
|
609
|
+
return {
|
|
610
|
+
data: new Uint8Array(await response.arrayBuffer()),
|
|
611
|
+
mediaType: response.headers.get("content-type") ?? void 0
|
|
612
|
+
};
|
|
613
|
+
} catch (error) {
|
|
614
|
+
throw new MastraError(
|
|
615
|
+
{
|
|
616
|
+
id: "DOWNLOAD_ASSETS_FAILED",
|
|
617
|
+
text: "Failed to download asset",
|
|
618
|
+
domain: "LLM" /* LLM */,
|
|
619
|
+
category: "USER" /* USER */
|
|
620
|
+
},
|
|
621
|
+
error
|
|
622
|
+
);
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
async function downloadAssetsFromMessages({
|
|
626
|
+
messages,
|
|
627
|
+
downloadConcurrency = 10,
|
|
628
|
+
downloadRetries = 3,
|
|
629
|
+
supportedUrls
|
|
630
|
+
}) {
|
|
631
|
+
const pMap = (await import('p-map')).default;
|
|
632
|
+
const filesToDownload = messages.filter((message) => message.role === "user").map((message) => message.content).filter((content) => Array.isArray(content)).flat().filter((part) => part.type === "image" || part.type === "file").map((part) => {
|
|
633
|
+
const mediaType = part.mediaType ?? (part.type === "image" ? "image/*" : void 0);
|
|
634
|
+
let data = part.type === "image" ? part.image : part.data;
|
|
635
|
+
if (typeof data === "string") {
|
|
636
|
+
try {
|
|
637
|
+
data = new URL(data);
|
|
638
|
+
} catch {
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
return { mediaType, data };
|
|
642
|
+
}).filter((part) => part.data instanceof URL).map((part) => ({
|
|
643
|
+
url: part.data,
|
|
644
|
+
isUrlSupportedByModel: part.mediaType != null && isUrlSupported({
|
|
645
|
+
url: part.data.toString(),
|
|
646
|
+
mediaType: part.mediaType,
|
|
647
|
+
supportedUrls: supportedUrls ?? {}
|
|
648
|
+
})
|
|
649
|
+
}));
|
|
650
|
+
const downloadedFiles = await pMap(
|
|
651
|
+
filesToDownload,
|
|
652
|
+
async (fileItem) => {
|
|
653
|
+
return downloadFromUrl({ url: fileItem.url, downloadRetries });
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
concurrency: downloadConcurrency
|
|
657
|
+
}
|
|
658
|
+
);
|
|
659
|
+
const downloadFileList = downloadedFiles.filter(
|
|
660
|
+
(downloadedFile) => downloadedFile?.data != null
|
|
661
|
+
).map(({ data, mediaType }, index) => [filesToDownload?.[index]?.url.toString(), { data, mediaType }]);
|
|
662
|
+
return Object.fromEntries(downloadFileList);
|
|
663
|
+
}
|
|
417
664
|
|
|
418
665
|
// src/agent/message-list/utils/ai-v5/tool.ts
|
|
419
666
|
function getToolName(type) {
|
|
@@ -540,25 +787,59 @@ var MessageList = class _MessageList {
|
|
|
540
787
|
if (needsDefaultUserMessage) {
|
|
541
788
|
const defaultMessage = {
|
|
542
789
|
role: "user",
|
|
543
|
-
content: "
|
|
790
|
+
content: "."
|
|
544
791
|
};
|
|
545
792
|
messages.unshift(defaultMessage);
|
|
546
793
|
}
|
|
547
794
|
return messages;
|
|
548
795
|
},
|
|
549
796
|
// Used for creating LLM prompt messages without AI SDK streamText/generateText
|
|
550
|
-
llmPrompt: (
|
|
797
|
+
llmPrompt: async (options = {
|
|
798
|
+
downloadConcurrency: 10,
|
|
799
|
+
downloadRetries: 3
|
|
800
|
+
}) => {
|
|
551
801
|
const modelMessages = this.all.aiV5.model();
|
|
552
802
|
const systemMessages = this.aiV4CoreMessagesToAIV5ModelMessages(
|
|
553
803
|
[...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat()],
|
|
554
804
|
`system`
|
|
555
805
|
);
|
|
556
|
-
const
|
|
806
|
+
const downloadedAssets = await downloadAssetsFromMessages({
|
|
807
|
+
messages: modelMessages,
|
|
808
|
+
downloadConcurrency: options?.downloadConcurrency,
|
|
809
|
+
downloadRetries: options?.downloadRetries,
|
|
810
|
+
supportedUrls: options?.supportedUrls
|
|
811
|
+
});
|
|
812
|
+
let messages = [...systemMessages, ...modelMessages];
|
|
813
|
+
if (Object.keys(downloadedAssets || {}).length > 0) {
|
|
814
|
+
messages = messages.map((message) => {
|
|
815
|
+
if (message.role === "user") {
|
|
816
|
+
if (typeof message.content === "string") {
|
|
817
|
+
return {
|
|
818
|
+
role: "user",
|
|
819
|
+
content: [{ type: "text", text: message.content }],
|
|
820
|
+
providerOptions: message.providerOptions
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
const convertedContent = message.content.map((part) => {
|
|
824
|
+
if (part.type === "image" || part.type === "file") {
|
|
825
|
+
return convertImageFilePart(part, downloadedAssets);
|
|
826
|
+
}
|
|
827
|
+
return part;
|
|
828
|
+
}).filter((part) => part.type !== "text" || part.text !== "");
|
|
829
|
+
return {
|
|
830
|
+
role: "user",
|
|
831
|
+
content: convertedContent,
|
|
832
|
+
providerOptions: message.providerOptions
|
|
833
|
+
};
|
|
834
|
+
}
|
|
835
|
+
return message;
|
|
836
|
+
});
|
|
837
|
+
}
|
|
557
838
|
const needsDefaultUserMessage = !messages.length || messages[0]?.role === "assistant";
|
|
558
839
|
if (needsDefaultUserMessage) {
|
|
559
840
|
const defaultMessage = {
|
|
560
841
|
role: "user",
|
|
561
|
-
content: "
|
|
842
|
+
content: "."
|
|
562
843
|
};
|
|
563
844
|
messages.unshift(defaultMessage);
|
|
564
845
|
}
|
|
@@ -582,7 +863,7 @@ var MessageList = class _MessageList {
|
|
|
582
863
|
if (needsDefaultUserMessage) {
|
|
583
864
|
const defaultMessage = {
|
|
584
865
|
role: "user",
|
|
585
|
-
content: "
|
|
866
|
+
content: "."
|
|
586
867
|
};
|
|
587
868
|
messages.unshift(defaultMessage);
|
|
588
869
|
}
|
|
@@ -597,7 +878,7 @@ var MessageList = class _MessageList {
|
|
|
597
878
|
if (needsDefaultUserMessage) {
|
|
598
879
|
const defaultMessage = {
|
|
599
880
|
role: "user",
|
|
600
|
-
content: "
|
|
881
|
+
content: "."
|
|
601
882
|
};
|
|
602
883
|
messages.unshift(defaultMessage);
|
|
603
884
|
}
|
|
@@ -1991,7 +2272,9 @@ var MessageList = class _MessageList {
|
|
|
1991
2272
|
return v3Msg;
|
|
1992
2273
|
}
|
|
1993
2274
|
aiV5UIMessagesToAIV5ModelMessages(messages) {
|
|
1994
|
-
|
|
2275
|
+
const preprocessed = this.addStartStepPartsForAIV5(this.sanitizeV5UIMessages(messages));
|
|
2276
|
+
const result = AIV5.convertToModelMessages(preprocessed);
|
|
2277
|
+
return result;
|
|
1995
2278
|
}
|
|
1996
2279
|
addStartStepPartsForAIV5(messages) {
|
|
1997
2280
|
for (const message of messages) {
|
|
@@ -2304,5 +2587,5 @@ function convertMessages(messages) {
|
|
|
2304
2587
|
}
|
|
2305
2588
|
|
|
2306
2589
|
export { DefaultGeneratedFile, DefaultGeneratedFileWithType, MessageList, convertMessages };
|
|
2307
|
-
//# sourceMappingURL=chunk-
|
|
2308
|
-
//# sourceMappingURL=chunk-
|
|
2590
|
+
//# sourceMappingURL=chunk-F4SQXAXR.js.map
|
|
2591
|
+
//# sourceMappingURL=chunk-F4SQXAXR.js.map
|