UNPKG

@nomyx/assistant

Version:

A powerful assistant library and cli for your AI projects. works with Vertex AI (Claude and Gemini)

54 lines (53 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PromptRegistry = void 0; class PromptRegistry { constructor() { this.prompts = new Map(); } register(prompt) { this.prompts.set(prompt.definition.name, prompt); } get(name) { const prompt = this.prompts.get(name); if (!prompt) { throw new Error(`Prompt not found: ${name}`); } return prompt; } getAllPrompts() { return Array.from(this.prompts.values()); } getPromptNames() { return Array.from(this.prompts.keys()); } removePrompt(name) { return this.prompts.delete(name); } clear() { this.prompts.clear(); } size() { return this.prompts.size; } getPromptsSortedByPriority() { return this.getAllPrompts().sort((a, b) => { const priorityA = a.getPriority() ?? 0; const priorityB = b.getPriority() ?? 0; return priorityB - priorityA; // Sort in descending order }); } getHighestPriorityPrompt() { const sortedPrompts = this.getPromptsSortedByPriority(); return sortedPrompts[0]; } getPromptsByConfig(config) { return this.getAllPrompts().filter(prompt => { const promptConfig = prompt.getConfig(); if (!promptConfig) return false; return Object.entries(config).every(([key, value]) => promptConfig[key] === value); }); } } exports.PromptRegistry = PromptRegistry;