UNPKG

@meldscience/meld

Version:

pipeable one-shot prompt scripting toolkit

36 lines 1.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AnthropicProvider = void 0; const sdk_1 = __importDefault(require("@anthropic-ai/sdk")); const errors_1 = require("../errors"); class AnthropicProvider { constructor(apiKey) { if (!apiKey) { throw new errors_1.ToolError('Anthropic API key is required', 'MISSING_API_KEY'); } this.client = new sdk_1.default({ apiKey }); } async sendPrompt({ model, systemPrompt, userPrompt }) { try { const messages = []; if (systemPrompt) { messages.push({ role: 'assistant', content: systemPrompt }); } messages.push({ role: 'user', content: userPrompt }); const response = await this.client.messages.create({ model: model, messages: messages, max_tokens: 4096, }); return response.content[0].text; } catch (error) { throw new errors_1.ToolError(`Anthropic API error: ${error.message}`, 'API_ERROR', error); } } } exports.AnthropicProvider = AnthropicProvider; //# sourceMappingURL=anthropic.js.map