@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
42 lines • 2.58 kB
TypeScript
import type { CoreMessage as CoreMessageV4, UIMessage as UIMessageV4 } from '../../../_types/@internal_ai-sdk-v4/dist/index.js';
import type { AdapterContext } from '../adapters/index.js';
import type { MastraDBMessage, MessageSource } from '../state/types.js';
import type { AIV5Type, AIV6Type } from '../types.js';
/**
* Sanitizes AIV4 UI messages by filtering out incomplete tool calls.
* Removes messages with empty parts arrays after sanitization.
*/
export declare function sanitizeAIV4UIMessages(messages: UIMessageV4[]): UIMessageV4[];
/**
* Sanitizes AIV5 UI messages by filtering out streaming states, data-* parts, empty text parts, and optionally incomplete tool calls.
* Handles legacy data by filtering empty text parts that may exist in pre-existing DB records.
*/
export declare function sanitizeV5UIMessages(messages: AIV5Type.UIMessage[], filterIncompleteToolCalls?: boolean): AIV5Type.UIMessage[];
/**
* Adds step-start parts between tool parts and non-tool parts for proper AIV5 message conversion.
* This ensures AIV5.convertToModelMessages produces the correct message order.
*/
export declare function addStartStepPartsForAIV5(messages: AIV5Type.UIMessage[]): AIV5Type.UIMessage[];
/**
* Converts AIV4 UI messages to AIV4 Core messages.
*/
export declare function aiV4UIMessagesToAIV4CoreMessages(messages: UIMessageV4[]): CoreMessageV4[];
/**
* Converts AIV5 UI messages to AIV5 Model messages.
* Handles sanitization, step-start insertion, provider options restoration, and Anthropic compatibility.
*
* @param messages - AIV5 UI messages to convert
* @param dbMessages - MastraDB messages used to look up tool call args for Anthropic compatibility
* @param filterIncompleteToolCalls - Whether to filter out incomplete tool calls
*/
export declare function aiV5UIMessagesToAIV5ModelMessages(messages: AIV5Type.UIMessage[], dbMessages: MastraDBMessage[], filterIncompleteToolCalls?: boolean): AIV5Type.ModelMessage[];
/**
* Converts AIV4 Core messages to AIV5 Model messages.
*/
export declare function aiV4CoreMessagesToAIV5ModelMessages(messages: CoreMessageV4[], source: MessageSource, adapterContext: AdapterContext, dbMessages: MastraDBMessage[]): AIV5Type.ModelMessage[];
/**
* Converts various message formats to AIV4 CoreMessage format for system messages.
* Supports string, MastraDBMessage, or AI SDK message types.
*/
export declare function systemMessageToAIV4Core(message: CoreMessageV4 | AIV5Type.ModelMessage | AIV6Type.ModelMessage | MastraDBMessage | string): CoreMessageV4;
//# sourceMappingURL=output-converter.d.ts.map