UNPKG

limitless-ai-mcp-server

Version:

MCP server for integrating Limitless AI Pendant recordings with AI assistants

57 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PromptHandlers = void 0; const templates_1 = require("./templates"); const logger_1 = require("../utils/logger"); class PromptHandlers { /** * Handle list prompts request */ async handleListPrompts(_request) { try { logger_1.logger.debug('Handling list prompts request'); const prompts = Object.values(templates_1.promptTemplates).map((template) => ({ name: template.name, description: template.description, arguments: template.arguments, })); return { prompts }; } catch (error) { logger_1.logger.error('Failed to list prompts', error); throw error; } } /** * Handle get prompt request */ async handleGetPrompt(request) { try { const { name, arguments: args = {} } = request.params; logger_1.logger.debug('Handling get prompt request', { name, args }); const template = templates_1.promptTemplates[name]; if (!template) { throw new Error(`Unknown prompt: ${name}`); } // Validate required arguments const missingArgs = template.arguments ?.filter((arg) => arg.required && !args[arg.name]) .map((arg) => arg.name); if (missingArgs && missingArgs.length > 0) { throw new Error(`Missing required arguments: ${missingArgs.join(', ')}`); } // Get the prompt content const messages = (0, templates_1.getPromptContent)(name, args); return { description: template.description, messages, }; } catch (error) { logger_1.logger.error('Failed to get prompt', error); throw error; } } } exports.PromptHandlers = PromptHandlers; //# sourceMappingURL=handlers.js.map