UNPKG

semantic-prompt-mcp

Version:

MCP server for semantic prompt framework - NLP-inspired adaptive reasoning engine for LLM orchestration

46 lines 1.73 kB
/** * Prompt loading utilities for semantic-prompt-mcp */ import { readFileSync } from 'fs'; import { join } from 'path'; import { DEFAULT_PROMPTS } from '../constants/index.js'; export class PromptLoader { static loadPrompts(currentDir) { let promptFile; // Priority 1: Command line argument (--prompt filename.json or just filename.json) const args = process.argv.slice(2); const promptArgIndex = args.findIndex(arg => arg === '--prompt'); if (promptArgIndex !== -1 && args[promptArgIndex + 1]) { promptFile = args[promptArgIndex + 1]; } else if (args.length > 0 && args[0].endsWith('.json')) { promptFile = args[0]; } // Priority 2: Environment variable if (!promptFile && process.env.CHAIN_OF_THOUGHT_CONFIG) { promptFile = process.env.CHAIN_OF_THOUGHT_CONFIG; } // Priority 3: Default fallback if (!promptFile) { promptFile = 'default.json'; } // Resolve the path const promptPath = promptFile.includes('/') || promptFile.includes('\\') ? promptFile : join(currentDir, '..', 'prompts', promptFile); try { return JSON.parse(readFileSync(promptPath, 'utf-8')); } catch (error) { console.error(`Failed to load prompts from ${promptPath}:`, error); // Fallback to hardcoded minimal prompts return { errors: DEFAULT_PROMPTS.ERRORS, messages: DEFAULT_PROMPTS.MESSAGES, console: DEFAULT_PROMPTS.CONSOLE, config: {} }; } } } //# sourceMappingURL=promptLoader.js.map