mcp-framework
Version:
Framework for building Model Context Protocol (MCP) servers in Typescript
37 lines (36 loc) • 1.05 kB
JavaScript
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();
}
}