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