UNPKG

@ankimcp/anki-mcp-server

Version:

Model Context Protocol server for Anki - enables AI assistants to interact with your Anki flashcards

62 lines • 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LOG_DESTINATION = void 0; exports.createPinoLogger = createPinoLogger; exports.createLoggerService = createLoggerService; exports.createMcpStrategy = createMcpStrategy; const pino_1 = require("pino"); const mcp_nest_1 = require("@rekog/mcp-nest"); const mcp_icons_1 = require("./mcp/mcp-icons.js"); const mcp_instructions_1 = require("./mcp/mcp-instructions.js"); exports.LOG_DESTINATION = { STDOUT: 1, STDERR: 2, }; const DEMOTED_LOG_CONTEXTS = new Set(["RoutesResolver"]); function createPinoLogger(destination, logLevel = "info") { return (0, pino_1.pino)({ level: logLevel, transport: { target: "pino-pretty", options: { destination, colorize: true, translateTime: "HH:MM:ss Z", ignore: "pid,hostname", }, }, }); } function createLoggerService(pinoLogger) { return { log: (message, context) => { if (context !== undefined && DEMOTED_LOG_CONTEXTS.has(context)) { pinoLogger.debug({ context }, message); return; } pinoLogger.info({ context }, message); }, error: (message, trace, context) => { pinoLogger.error({ context, trace }, message); }, warn: (message, context) => { pinoLogger.warn({ context }, message); }, debug: (message, context) => { pinoLogger.debug({ context }, message); }, verbose: (message, context) => { pinoLogger.trace({ context }, message); }, }; } function createMcpStrategy(transports, identity) { return new mcp_nest_1.McpStrategy({ name: identity.name, version: identity.version, icons: mcp_icons_1.MCP_ICONS, instructions: mcp_instructions_1.MCP_SERVER_INSTRUCTIONS, transports, }); } //# sourceMappingURL=bootstrap.js.map