import { getSystemPrompt } from './prompts'; export interface PromptOptions { cwd: string; allowedHtmlElements: string[]; modificationTagName: string; } export class PromptLibrary { static library: Record< string, { label: string; description: string; get: (options: PromptOptions) => string; } > = { default: { label: 'Default Prompt', description: 'This is the battle tested default system Prompt', get: () => getSystemPrompt(), }, }; static getList() { return Object.entries(this.library).map(([key, value]) => { const { label, description } = value; return { id: key, label, description, }; }); } static getPropmtFromLibrary(promptId: string, options: PromptOptions) { const prompt = this.library[promptId]; if (!prompt) { throw 'Prompt Now Found'; } return this.library[promptId]?.get(options); } }