import type * as models from '../models/index.js'; import type { ClaudeMessageParam } from '../models/claude-message.js'; import { convertToClaudeMessage } from './stream-transformers.js'; /** * Convert Anthropic Claude-style messages to OpenResponses input format. * * This function transforms ClaudeMessageParam[] (Anthropic SDK format) to * OpenResponsesInput format that can be passed directly to callModel(). * * Note: Some Claude features are lost in conversion as OpenRouter doesn't support them: * - cache_control on content blocks * - is_error flag on tool_result blocks * * @example * ```typescript * import { fromClaudeMessages } from '@openrouter/sdk'; * * const claudeMessages = [ * { role: "user", content: "Hello!" }, * { role: "assistant", content: "Hi there!" }, * ]; * * const response = openrouter.callModel({ * model: "anthropic/claude-3-sonnet", * input: fromClaudeMessages(claudeMessages), * }); * ``` */ export declare function fromClaudeMessages(messages: ClaudeMessageParam[]): models.InputsUnion; /** * Convert an OpenResponses response to Anthropic Claude message format. * * This function transforms OpenResponsesResult to ClaudeMessage * (Anthropic SDK format) for compatibility with code expecting Claude responses. * * @example * ```typescript * import { toClaudeMessage } from '@openrouter/sdk'; * * const response = await openrouter.callModel({ * model: "anthropic/claude-3-sonnet", * input: "Hello!", * }); * * const openResponsesResult = await response.getResponse(); * const claudeMessage = toClaudeMessage(openResponsesResult); * // claudeMessage is now compatible with Anthropic SDK types * ``` */ export declare const toClaudeMessage: typeof convertToClaudeMessage; //# sourceMappingURL=anthropic-compat.d.ts.map