@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
90 lines • 3.69 kB
TypeScript
import type { LanguageModelV1, LanguageModelV1CallOptions } from '../../../../_types/@internal_ai-sdk-v4/dist/index.js';
/**
* Wrapper class for AI SDK v4 (LanguageModelV1) legacy models.
*
* The wrapped `#model` is held in a true JS private field so the
* underlying SDK client (and any enumerable config it exposes) cannot
* leak into observability spans. `serializeForSpan()` makes the safe
* shape explicit.
*
* This wrapper is applied by `resolveModelConfig` when a raw v4 model
* is passed to Mastra, so callers do not need to construct it directly.
*/
export declare class AISDKV4LegacyLanguageModel implements LanguageModelV1 {
#private;
readonly specificationVersion: 'v1';
readonly provider: LanguageModelV1['provider'];
readonly modelId: LanguageModelV1['modelId'];
readonly defaultObjectGenerationMode: LanguageModelV1['defaultObjectGenerationMode'];
readonly supportsImageUrls?: LanguageModelV1['supportsImageUrls'];
readonly supportsStructuredOutputs?: LanguageModelV1['supportsStructuredOutputs'];
constructor(config: LanguageModelV1);
supportsUrl(url: URL): boolean;
doGenerate(options: LanguageModelV1CallOptions): PromiseLike<{
text?: string;
reasoning?: string | Array<{
type: "text";
text: string;
signature?: string;
} | {
type: "redacted";
data: string;
}>;
files?: Array<{
data: string | Uint8Array;
mimeType: string;
}>;
toolCalls?: Array<import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1FunctionToolCall>;
finishReason: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1FinishReason;
usage: {
promptTokens: number;
completionTokens: number;
};
rawCall: {
rawPrompt: unknown;
rawSettings: Record<string, unknown>;
};
rawResponse?: {
headers?: Record<string, string>;
body?: unknown;
};
request?: {
body?: string;
};
response?: {
id?: string;
timestamp?: Date;
modelId?: string;
};
warnings?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1CallWarning[];
providerMetadata?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1ProviderMetadata;
sources?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1Source[];
logprobs?: import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1LogProbs;
}>;
doStream(options: LanguageModelV1CallOptions): PromiseLike<{
stream: ReadableStream<import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1StreamPart>;
rawCall: {
rawPrompt: unknown;
rawSettings: Record<string, unknown>;
};
rawResponse?: {
headers?: Record<string, string>;
};
request?: {
body?: string;
};
warnings?: Array<import("../../../../_types/@internal_ai-sdk-v4/dist/index.js").LanguageModelV1CallWarning>;
}>;
/**
* 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.
*/
serializeForSpan(): {
specificationVersion: 'v1';
modelId: string;
provider: string;
};
}
//# sourceMappingURL=model.d.ts.map