{"version":3,"sources":["../src/adapter.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { UniversalMessage, UserMessage, AssistantMessage, SystemMessage, ToolMessage } from '@robota-sdk/core';\n\n/**\n * Anthropic message format for Messages API\n */\ninterface AnthropicAPIMessage {\n    role: 'user' | 'assistant';\n    content: string;\n}\n\n/**\n * Anthropic message format (legacy)\n */\ninterface AnthropicMessage {\n    role: string;\n    content: string;\n}\n\n/**\n * Anthropic ConversationHistory adapter\n * \n * Converts UniversalMessage to Anthropic prompt format and Messages API format\n */\nexport class AnthropicConversationAdapter {\n    /**\n     * Convert UniversalMessage array to Anthropic Messages API format\n     * \n     * @param messages - Array of universal messages\n     * @returns Array of messages in Anthropic Messages API format\n     */\n    static toAnthropicMessages(messages: UniversalMessage[]): AnthropicAPIMessage[] {\n        const anthropicMessages: AnthropicAPIMessage[] = [];\n\n        for (const message of messages) {\n            const messageRole = message.role;\n\n            if (messageRole === 'system') {\n                continue; // System messages are handled separately in the system parameter\n            }\n\n            if (messageRole === 'user') {\n                const userMsg = message as UserMessage;\n                anthropicMessages.push({\n                    role: 'user',\n                    content: userMsg.content\n                });\n            } else if (messageRole === 'assistant') {\n                const assistantMsg = message as AssistantMessage;\n                let content = assistantMsg.content || '';\n\n                // Include tool calls in content if present\n                if ((assistantMsg as any).toolCalls) {\n                    const toolCalls = (assistantMsg as any).toolCalls;\n                    for (const tc of toolCalls) {\n                        content += `\\n\\nTool Call: ${tc.function.name}(${tc.function.arguments})`;\n                    }\n                }\n\n                anthropicMessages.push({\n                    role: 'assistant',\n                    content\n                });\n            } else if (messageRole === 'tool') {\n                const toolMsg = message as ToolMessage;\n                // Convert tool results to user message\n                anthropicMessages.push({\n                    role: 'user',\n                    content: `[Tool Result from ${toolMsg.name}]: ${toolMsg.content}`\n                });\n            }\n        }\n\n        return anthropicMessages;\n    }\n\n    /**\n     * Convert UniversalMessage array to Anthropic prompt format (legacy)\n     */\n    static toAnthropicPrompt(messages: UniversalMessage[], systemPrompt?: string): string {\n        let prompt = '';\n\n        // Add system prompt if present\n        const finalSystemPrompt = this.extractSystemPrompt(messages, systemPrompt);\n        if (finalSystemPrompt) {\n            prompt += finalSystemPrompt + '\\n\\n';\n        }\n\n        // Convert messages to Human/Assistant format\n        for (const message of messages) {\n            const messageRole = message.role;\n\n            if (messageRole === 'system') {\n                continue; // System messages are already processed\n            }\n\n            if (messageRole === 'user') {\n                const userMsg = message as UserMessage;\n                prompt += `\\n\\nHuman: ${userMsg.content}`;\n            } else if (messageRole === 'assistant') {\n                const assistantMsg = message as AssistantMessage;\n                let content = assistantMsg.content || '';\n\n                // Include tool calls in content if present\n                if ((assistantMsg as any).toolCalls) {\n                    const toolCalls = (assistantMsg as any).toolCalls;\n                    for (const tc of toolCalls) {\n                        content += `\\n\\nTool Call: ${tc.function.name}(${tc.function.arguments})`;\n                    }\n                }\n\n                prompt += `\\n\\nAssistant: ${content}`;\n            } else if (messageRole === 'tool') {\n                const toolMsg = message as ToolMessage;\n                // Convert tool results to Human message\n                prompt += `\\n\\nHuman: [Tool Result from ${toolMsg.name}]: ${toolMsg.content}`;\n            }\n        }\n\n        // Add Assistant prompt if last message is from Human\n        if (messages.length > 0) {\n            const lastMessage = messages[messages.length - 1];\n            if (lastMessage.role === 'user') {\n                prompt += '\\n\\nAssistant:';\n            }\n        }\n\n        return prompt;\n    }\n\n    /**\n     * Extract system messages and combine them as system prompt\n     */\n    static extractSystemPrompt(messages: UniversalMessage[], fallbackSystemPrompt?: string): string | undefined {\n        const systemMessages = messages.filter(msg => msg.role === 'system') as SystemMessage[];\n\n        if (systemMessages.length > 0) {\n            return systemMessages.map(msg => msg.content).join('\\n\\n');\n        }\n\n        return fallbackSystemPrompt;\n    }\n\n    /**\n     * Helper for message conversion testing (converts each message individually)\n     */\n    static convertMessage(msg: UniversalMessage): AnthropicMessage {\n        const messageRole = msg.role;\n\n        if (messageRole === 'user') {\n            const userMsg = msg as UserMessage;\n            return {\n                role: 'human',\n                content: userMsg.content\n            };\n        }\n\n        if (messageRole === 'assistant') {\n            const assistantMsg = msg as AssistantMessage;\n            let content = assistantMsg.content || '';\n            if ((assistantMsg as any).toolCalls) {\n                const toolCalls = (assistantMsg as any).toolCalls;\n                for (const tc of toolCalls) {\n                    content += `\\n\\nTool Call: ${tc.function.name}(${tc.function.arguments})`;\n                }\n            }\n            return {\n                role: 'assistant',\n                content\n            };\n        }\n\n        if (messageRole === 'tool') {\n            const toolMsg = msg as ToolMessage;\n            return {\n                role: 'human',\n                content: `[Tool Result from ${toolMsg.name}]: ${toolMsg.content}`\n            };\n        }\n\n        if (messageRole === 'system') {\n            const systemMsg = msg as SystemMessage;\n            return {\n                role: 'system',\n                content: systemMsg.content\n            };\n        }\n\n        // This should never happen but TypeScript requires exhaustive checking\n        const _exhaustiveCheck: never = msg;\n        return _exhaustiveCheck;\n    }\n} ","import type { ProviderOptions } from '@robota-sdk/core';\n\n/**\n * Anthropic provider options\n */\nexport interface AnthropicProviderOptions extends ProviderOptions {\n    apiKey: string;\n}\n\n/**\n * Anthropic provider class\n */\nexport class AnthropicProvider {\n    constructor(_options: AnthropicProviderOptions) {\n        // Initialization logic\n    }\n\n    // To be implemented\n}\n\n/**\n * @robota-sdk/anthropic package\n * \n * Provides Provider implementation for using Anthropic API.\n */\n\n// Import all exports from types.ts and provider.ts\nexport * from './provider';\nexport * from './types';\nexport * from './adapter';\n\nexport function createAnthropicProvider(_options: AnthropicProviderOptions) {\n    // Implementation of createAnthropicProvider function\n} "]}