UNPKG

@mastra/core

Version:

Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.

70 lines 2.99 kB
import type { LanguageModelV2, LanguageModelV2CallOptions } from '@ai-sdk/provider-v5'; import type { MastraLanguageModelV2 } from '../../shared.types.js'; type StreamResult = Awaited<ReturnType<LanguageModelV2['doStream']>>; /** * Wrapper class for AI SDK V5 (LanguageModelV2) that converts doGenerate to return * a stream format for consistency with Mastra's streaming architecture. */ export declare class AISDKV5LanguageModel implements MastraLanguageModelV2 { #private; /** * The language model must specify which language model interface version it implements. */ readonly specificationVersion: 'v2'; /** * Name of the provider for logging purposes. */ readonly provider: string; /** * Provider-specific model ID for logging purposes. */ readonly modelId: string; readonly gatewayId?: string; /** * Supported URL patterns by media type for the provider. * * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`). * and the values are arrays of regular expressions that match the URL paths. * The matching should be against lower-case URLs. * Matched URLs are supported natively by the model and are not downloaded. * @returns A map of supported URL patterns by media type (as a promise or a plain object). */ supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>; constructor(config: LanguageModelV2); doGenerate(options: LanguageModelV2CallOptions): Promise<{ request: { body?: unknown; }; response: StreamResult["response"]; stream: ReadableStream<any>; content: Array<import("@ai-sdk/provider-v5").LanguageModelV2Content>; finishReason: import("@ai-sdk/provider-v5").LanguageModelV2FinishReason; usage: import("@ai-sdk/provider-v5").LanguageModelV2Usage; providerMetadata?: import("@ai-sdk/provider-v5").SharedV2ProviderMetadata; warnings: Array<import("@ai-sdk/provider-v5").LanguageModelV2CallWarning>; }>; doStream(options: LanguageModelV2CallOptions): Promise<{ stream: ReadableStream<import("@ai-sdk/provider-v5").LanguageModelV2StreamPart>; request?: { body?: unknown; }; response?: { headers?: import("@ai-sdk/provider-v5").SharedV2Headers; }; }>; /** * Custom serialization for tracing/observability spans. * `#model` is already a true JS private field and not enumerable, so * the wrapped provider SDK client can't leak. This method makes the * safe shape explicit and avoids walking `supportedUrls` (a * PromiseLike / regex map that isn't useful in spans). */ serializeForSpan(): { specificationVersion: 'v2'; modelId: string; provider: string; gatewayId?: string; }; } export {}; //# sourceMappingURL=model.d.ts.map