This repository has been archived on 2026-06-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

31 lines
1.1 KiB
JavaScript

"use strict";
// ---------------------------------------------------------------------------
// Prompt registry + variable resolver
//
// Prompts are template strings stored in this directory, one file per agent.
// Variables are resolved at call time using {{variable_name}} syntax.
//
// Future: swap template strings for .md files with a build-time copy step.
// ---------------------------------------------------------------------------
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerPrompt = registerPrompt;
exports.resolvePrompt = resolvePrompt;
exports.hasPrompt = hasPrompt;
const _prompts = new Map();
function registerPrompt(id, template) {
_prompts.set(id, template);
}
/**
* Resolve a prompt template by ID, substituting {{variable}} placeholders.
* Missing variables are replaced with an empty string.
*/
function resolvePrompt(id, variables = {}) {
const template = _prompts.get(id);
if (!template)
throw new Error(`Prompt not found: "${id}"`);
return template.replace(/\{\{(\w+)\}\}/g, (_, key) => variables[key] ?? '');
}
function hasPrompt(id) {
return _prompts.has(id);
}