UNPKG

@yogesh0333/yogiway-prompt

Version:

Free & Open Source Prompt Optimization Library - Save 30-50% on AI API costs. Multi-language, multi-platform support.

80 lines (79 loc) 2.56 kB
"use strict"; /** * YOGIWAY Prompt - Main class for easy usage */ Object.defineProperty(exports, "__esModule", { value: true }); exports.format = exports.chunk = exports.getSavings = exports.getCost = exports.count = exports.optimize = exports.YogiwayPrompt = void 0; const optimizer_1 = require("./optimizer"); const tokenizer_1 = require("./tokenizer"); const context_manager_1 = require("./context-manager"); const cost_calculator_1 = require("./cost-calculator"); const chunker_1 = require("./chunker"); const formatter_1 = require("./formatter"); /** * Main YOGIWAY Prompt class */ class YogiwayPrompt { /** * Optimize a prompt */ static optimize(prompt, options) { return (0, optimizer_1.optimizePrompt)(prompt, options); } /** * Count tokens */ static countTokens(text, provider = 'openai') { return (0, tokenizer_1.countTokens)(text, provider); } /** * Get detailed token count */ static getTokenCount(text, provider = 'openai') { return (0, tokenizer_1.getTokenCount)(text, provider); } /** * Manage context window */ static manageContext(prompt, options) { return (0, context_manager_1.manageContextWindow)(prompt, options); } /** * Calculate cost */ static calculateCost(prompt, provider = 'openai', model = 'gpt-5', estimatedOutputTokens) { return (0, cost_calculator_1.calculateCost)(prompt, provider, model, estimatedOutputTokens); } /** * Compare costs across providers */ static compareCosts(prompt, models) { return (0, cost_calculator_1.compareCosts)(prompt, models); } /** * Calculate savings */ static calculateSavings(originalPrompt, optimizedPrompt, provider = 'openai', model = 'gpt-5', requestsPerDay = 1000) { return (0, cost_calculator_1.calculateSavings)(originalPrompt, optimizedPrompt, provider, model, requestsPerDay); } /** * Chunk text */ static chunk(text, options) { return (0, chunker_1.chunkText)(text, options); } /** * Format prompt for provider */ static format(options) { return (0, formatter_1.formatPrompt)(options); } } exports.YogiwayPrompt = YogiwayPrompt; // Export for convenience exports.optimize = YogiwayPrompt.optimize; exports.count = YogiwayPrompt.countTokens; exports.getCost = YogiwayPrompt.calculateCost; exports.getSavings = YogiwayPrompt.calculateSavings; exports.chunk = YogiwayPrompt.chunk; exports.format = YogiwayPrompt.format;