UNPKG

mcp-framework

Version:

Framework for building Model Context Protocol (MCP) servers in Typescript

37 lines (36 loc) 1.05 kB
import { BaseLoader } from './BaseLoader.js'; import { logger } from '../core/Logger.js'; export class PromptLoader extends BaseLoader { constructor(basePath) { super({ subdirectory: 'prompts', excludedFiles: ['BasePrompt.js', '*.test.js', '*.spec.js'], extensions: ['.js'], }, basePath); } async hasPrompts() { return this.hasItems(); } validateItem(prompt) { const isValid = Boolean(prompt && typeof prompt.name === 'string' && prompt.promptDefinition && typeof prompt.getMessages === 'function'); if (isValid) { logger.debug(`Validated prompt: ${prompt.name}`); } else { logger.warn(`Invalid prompt found: missing required properties`); } return isValid; } createInstance(PromptClass) { return new PromptClass(); } getItemName(prompt) { return prompt.name; } async loadPrompts() { return this.loadItems(); } }