import type { ProviderMessage } from "./types"; interface InspectorAttachment { type: "image" | "file"; data: string; mimeType: string; } interface InspectorMessagePart { type: "text" | "tool-invocation"; text?: string; toolInvocation?: { toolName: string; args: Record; result?: unknown; }; } interface InspectorMessageLike { role: "user" | "assistant"; content: unknown; attachments?: InspectorAttachment[]; parts?: InspectorMessagePart[]; } /** * Convert inspector chat `Message[]` to provider-neutral `ProviderMessage[]`. * * Assistant messages with completed tool invocations are expanded into an * assistant message (bearing `toolCalls`) followed by one `tool` message per * invocation carrying the serialized result. This mirrors what the inspector * previously built using LangChain's AIMessage + ToolMessage pair. */ export declare function convertMessagesToProvider(messages: InspectorMessageLike[]): ProviderMessage[]; /** * Extract the top-level `system` instruction (if any) from a ProviderMessage * list and return both the system text and the messages without it. * * Anthropic and Google do not accept a `system` role inside their `messages` * array; they take it as a top-level field instead. */ export declare function extractSystem(messages: ProviderMessage[]): { system?: string; rest: ProviderMessage[]; }; /** Parse a `data:...;base64,...` URL. */ export declare function parseDataUrl(url: string): { mimeType: string; data: string; } | null; export {}; //# sourceMappingURL=messageFormat.d.ts.map