UNPKG

@nomyx/assistant

Version:

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

42 lines (41 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StructuredPrompt = void 0; class StructuredPrompt { constructor(definition) { this.definition = definition; } getPriority() { return this.definition.priority; } setPriority(priority) { this.definition.priority = priority; } getConfig() { return this.definition.config; } setConfig(config) { this.definition.config = config; } render(variables, availablePrompts) { let renderedPrompt = this.definition.template; // Replace variables for (const [key, value] of Object.entries(variables)) { renderedPrompt = renderedPrompt.replace(new RegExp(`{{${key}}}`, 'g'), value); } // Add available prompts information const availablePromptsInfo = availablePrompts .map(p => `- ${p.name}: ${p.description}`) .join('\n'); renderedPrompt = renderedPrompt.replace('{{available_prompts}}', availablePromptsInfo); // Add config information if available if (this.definition.config) { renderedPrompt += '\nConfig:'; for (const [key, value] of Object.entries(this.definition.config)) { renderedPrompt += `\n- ${key}: ${value}`; } } return renderedPrompt; } } exports.StructuredPrompt = StructuredPrompt;