import type { UIMessage as UIMessageV4 } from '../../../_types/@internal_ai-sdk-v4/dist/index.js'; import type { AIV5Type, CoreMessageV4 } from '../types.js'; import type { MastraMessagePart } from './types.js'; /** * CacheKeyGenerator - Centralized cache key generation for message equality checks * * This class provides consistent cache key generation across all message formats, * which is critical for: * - Deduplication of messages * - Detecting when messages have been updated * - Comparing messages across different formats * * Cache key invariants: * - Same message content should always produce the same key * - Different content should produce different keys * - Provider metadata (e.g., OpenAI reasoning itemId) must be included for proper distinction */ export declare class CacheKeyGenerator { /** * Generate cache key from AIV4 UIMessage parts */ static fromAIV4Parts(parts: UIMessageV4['parts']): string; /** * Generate cache key from a single AIV4 UIMessage part */ static fromAIV4Part(part: UIMessageV4['parts'][number]): string; /** * Generate cache key from MastraDB message parts */ static fromDBParts(parts: MastraMessagePart[]): string; /** * Generate cache key from AIV4 CoreMessage content */ static fromAIV4CoreMessageContent(content: CoreMessageV4['content']): string; /** * Generate cache key from AIV5 UIMessage parts */ static fromAIV5Parts(parts: AIV5Type.UIMessage['parts']): string; /** * Generate cache key from AIV5 ModelMessage content */ static fromAIV5ModelMessageContent(content: AIV5Type.ModelMessage['content']): string; } //# sourceMappingURL=CacheKeyGenerator.d.ts.map