UNPKG

@ankimcp/anki-mcp-server

Version:

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

171 lines • 7.17 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var AppModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppModule = void 0; const common_1 = require("@nestjs/common"); const core_1 = require("@nestjs/core"); const config_1 = require("@nestjs/config"); const mcp_nest_1 = require("@rekog/mcp-nest"); const origin_validation_guard_1 = require("./http/guards/origin-validation.guard"); const host_validation_guard_1 = require("./http/guards/host-validation.guard"); const essential_1 = require("./mcp/primitives/essential"); const gui_1 = require("./mcp/primitives/gui"); const app_config_service_1 = require("./app-config.service"); const config_2 = require("./config/index.js"); let AppModule = AppModule_1 = class AppModule { static forStdio(mcp, configInput) { const validatedConfig = config_2.configSchema.parse((0, config_2.transformEnvToConfig)(configInput)); return { module: AppModule_1, imports: [ config_1.ConfigModule.forRoot({ isGlobal: true, cache: true, load: [() => validatedConfig], }), essential_1.McpPrimitivesAnkiEssentialModule.forRoot({ ankiConfigProvider: { provide: essential_1.ANKI_CONFIG, useClass: app_config_service_1.AppConfigService, }, appConfigProvider: { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, }), gui_1.McpPrimitivesAnkiGuiModule.forRoot({ ankiConfigProvider: { provide: essential_1.ANKI_CONFIG, useClass: app_config_service_1.AppConfigService, }, appConfigProvider: { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, }), ], providers: [ { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, { provide: mcp_nest_1.MCP_STRATEGY, useValue: mcp, }, app_config_service_1.AppConfigService, ], exports: [config_2.APP_CONFIG, app_config_service_1.AppConfigService], }; } static forHttp(mcpHttp, configInput) { const validatedConfig = config_2.configSchema.parse((0, config_2.transformEnvToConfig)(configInput)); return { module: AppModule_1, imports: [ config_1.ConfigModule.forRoot({ isGlobal: true, cache: true, load: [() => validatedConfig], }), essential_1.McpPrimitivesAnkiEssentialModule.forRoot({ ankiConfigProvider: { provide: essential_1.ANKI_CONFIG, useClass: app_config_service_1.AppConfigService, }, appConfigProvider: { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, }), gui_1.McpPrimitivesAnkiGuiModule.forRoot({ ankiConfigProvider: { provide: essential_1.ANKI_CONFIG, useClass: app_config_service_1.AppConfigService, }, appConfigProvider: { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, }), ], controllers: [mcpHttp.controller], providers: [ { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, { provide: mcp_nest_1.MCP_STRATEGY, useValue: mcpHttp.strategy, }, app_config_service_1.AppConfigService, { provide: core_1.APP_GUARD, useClass: origin_validation_guard_1.OriginValidationGuard, }, { provide: core_1.APP_GUARD, useClass: host_validation_guard_1.HostValidationGuard, }, ], exports: [config_2.APP_CONFIG, app_config_service_1.AppConfigService], }; } static forTunnel(mcp, cliOverrides) { const validatedConfig = (0, config_2.loadValidatedConfig)(cliOverrides); return { module: AppModule_1, imports: [ config_1.ConfigModule.forRoot({ isGlobal: true, cache: true, load: [() => validatedConfig], }), essential_1.McpPrimitivesAnkiEssentialModule.forRoot({ ankiConfigProvider: { provide: essential_1.ANKI_CONFIG, useClass: app_config_service_1.AppConfigService, }, appConfigProvider: { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, }), gui_1.McpPrimitivesAnkiGuiModule.forRoot({ ankiConfigProvider: { provide: essential_1.ANKI_CONFIG, useClass: app_config_service_1.AppConfigService, }, appConfigProvider: { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, }), ], providers: [ { provide: config_2.APP_CONFIG, useValue: validatedConfig, }, { provide: mcp_nest_1.MCP_STRATEGY, useValue: mcp, }, app_config_service_1.AppConfigService, ], exports: [config_2.APP_CONFIG, app_config_service_1.AppConfigService], }; } }; exports.AppModule = AppModule; exports.AppModule = AppModule = AppModule_1 = __decorate([ (0, common_1.Module)({}) ], AppModule); //# sourceMappingURL=app.module.js.map