@meldscience/meld
Version:
pipeable one-shot prompt scripting toolkit
36 lines • 1.35 kB
JavaScript
;
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