@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
JavaScript
;
/**
* 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;