@riotprompt/riotprompt 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sources":["../../src/execution/anthropic.ts"],"sourcesContent":["import Anthropic from '@anthropic-ai/sdk';\nimport { Provider, ProviderResponse, ExecutionOptions } from './provider';\nimport { Request } from '../chat';\n\nexport class AnthropicProvider implements Provider {\n async execute(request: Request, options: ExecutionOptions = {}): Promise<ProviderResponse> {\n const apiKey = options.apiKey || process.env.ANTHROPIC_API_KEY;\n if (!apiKey) throw new Error('Anthropic API key is required');\n\n const client = new Anthropic({ apiKey });\n \n const model = options.model || request.model || 'claude-3-opus-20240229';\n\n // Anthropic separates system prompt from messages\n let systemPrompt = '';\n const messages: Anthropic.MessageParam[] = [];\n\n for (const msg of request.messages) {\n if (msg.role === 'system' || msg.role === 'developer') {\n systemPrompt += (typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content)) + '\\n\\n';\n } else {\n messages.push({\n role: msg.role as 'user' | 'assistant',\n content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content)\n });\n }\n }\n\n const response = await client.messages.create({\n model: model,\n system: systemPrompt.trim() || undefined,\n messages: messages,\n max_tokens: options.maxTokens || 4096,\n temperature: options.temperature,\n ...(request.responseFormat?.type === 'json_schema' ? {\n tools: [{\n name: request.responseFormat.json_schema.name,\n description: request.responseFormat.json_schema.description || \"Output data in this structured format\",\n input_schema: request.responseFormat.json_schema.schema\n }],\n tool_choice: { type: 'tool', name: request.responseFormat.json_schema.name }\n } : {})\n });\n\n // Handle ContentBlock\n // Check for tool_use first if we requested structured output\n let text = '';\n \n if (request.responseFormat?.type === 'json_schema') {\n const toolUseBlock = response.content.find(block => block.type === 'tool_use');\n if (toolUseBlock && toolUseBlock.type === 'tool_use') {\n // Return the structured data as a JSON string to match OpenAI behavior\n text = JSON.stringify(toolUseBlock.input, null, 2);\n }\n } else {\n const contentBlock = response.content[0];\n text = contentBlock.type === 'text' ? contentBlock.text : '';\n }\n\n return {\n content: text,\n model: response.model,\n usage: {\n inputTokens: response.usage.input_tokens,\n outputTokens: response.usage.output_tokens\n }\n };\n }\n}\n\n"],"names":["AnthropicProvider","execute","request","options","apiKey","process","env","ANTHROPIC_API_KEY","Error","client","Anthropic","model","systemPrompt","messages","msg","role","content","JSON","stringify","push","response","create","system","trim","undefined","max_tokens","maxTokens","temperature","responseFormat","type","tools","name","json_schema","description","input_schema","schema","tool_choice","text","toolUseBlock","find","block","input","contentBlock","usage","inputTokens","input_tokens","outputTokens","output_tokens"],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sources":["../../src/execution/anthropic.ts"],"sourcesContent":["import Anthropic from '@anthropic-ai/sdk';\nimport { Provider, ProviderResponse, ExecutionOptions } from './provider';\nimport { Request } from '../chat';\n\nexport class AnthropicProvider implements Provider {\n async execute(request: Request, options: ExecutionOptions = {}): Promise<ProviderResponse> {\n const apiKey = options.apiKey || process.env.ANTHROPIC_API_KEY;\n if (!apiKey) throw new Error('Anthropic API key is required');\n\n const client = new Anthropic({ apiKey });\n \n const model = options.model || request.model || 'claude-3-opus-20240229';\n\n // Anthropic separates system prompt from messages\n let systemPrompt = '';\n const messages: Anthropic.MessageParam[] = [];\n\n for (const msg of request.messages) {\n if (msg.role === 'system' || msg.role === 'developer') {\n systemPrompt += (typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content)) + '\\n\\n';\n } else {\n messages.push({\n role: msg.role as 'user' | 'assistant',\n content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content)\n });\n }\n }\n\n const response = await client.messages.create({\n model: model,\n system: systemPrompt.trim() || undefined,\n messages: messages,\n max_tokens: options.maxTokens || 4096,\n temperature: options.temperature,\n ...(request.responseFormat?.type === 'json_schema' ? {\n tools: [{\n name: request.responseFormat.json_schema.name,\n description: request.responseFormat.json_schema.description || \"Output data in this structured format\",\n input_schema: request.responseFormat.json_schema.schema\n }],\n tool_choice: { type: 'tool', name: request.responseFormat.json_schema.name }\n } : {})\n });\n\n // Handle ContentBlock\n // Check for tool_use first if we requested structured output\n let text = '';\n \n if (request.responseFormat?.type === 'json_schema') {\n const toolUseBlock = response.content.find((block: Anthropic.ContentBlock) => block.type === 'tool_use');\n if (toolUseBlock && toolUseBlock.type === 'tool_use') {\n // Return the structured data as a JSON string to match OpenAI behavior\n text = JSON.stringify(toolUseBlock.input, null, 2);\n }\n } else {\n const contentBlock = response.content[0];\n text = contentBlock.type === 'text' ? contentBlock.text : '';\n }\n\n return {\n content: text,\n model: response.model,\n usage: {\n inputTokens: response.usage.input_tokens,\n outputTokens: response.usage.output_tokens\n }\n };\n }\n}\n\n"],"names":["AnthropicProvider","execute","request","options","apiKey","process","env","ANTHROPIC_API_KEY","Error","client","Anthropic","model","systemPrompt","messages","msg","role","content","JSON","stringify","push","response","create","system","trim","undefined","max_tokens","maxTokens","temperature","responseFormat","type","tools","name","json_schema","description","input_schema","schema","tool_choice","text","toolUseBlock","find","block","input","contentBlock","usage","inputTokens","input_tokens","outputTokens","output_tokens"],"mappings":"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"}