- Fix DI issues: circular MCP module dependency, EventBus type import, SearchModule provider, CacheService metric counters placement - Fix Express 5 readonly req.query in SanitizeInputMiddleware - Fix Typesense client lazy initialization (getter instead of constructor) - Fix MinIO bucket init error handling (non-fatal on 403) - Fix missing class-validator decorators on bigint DTO fields (priceVND, amountVND) - Fix subscription plan 404 (was returning 500 for invalid tier) - Disable CSRF and raise rate limits in test environment - Update E2E tests to match actual API response shapes - Update CI workflow with Redis, Typesense, MinIO services and env vars All 101 API E2E tests now pass against Docker dev environment. Co-Authored-By: Paperclip <noreply@paperclip.ing>
30 lines
812 B
TypeScript
30 lines
812 B
TypeScript
import { Module, type DynamicModule, type Provider } from '@nestjs/common';
|
|
import { McpRegistryService } from './mcp-registry.service';
|
|
import { McpTransportController } from './mcp-transport.controller';
|
|
import { MCP_MODULE_OPTIONS } from './mcp.constants';
|
|
|
|
export interface McpModuleOptions {
|
|
aiServiceBaseUrl: string;
|
|
typesenseCollectionName?: string;
|
|
}
|
|
|
|
export { MCP_MODULE_OPTIONS };
|
|
|
|
@Module({})
|
|
export class McpModule {
|
|
static forRoot(options: McpModuleOptions): DynamicModule {
|
|
const optionsProvider: Provider = {
|
|
provide: MCP_MODULE_OPTIONS,
|
|
useValue: options,
|
|
};
|
|
|
|
return {
|
|
module: McpModule,
|
|
controllers: [McpTransportController],
|
|
providers: [optionsProvider, McpRegistryService],
|
|
exports: [McpRegistryService],
|
|
global: false,
|
|
};
|
|
}
|
|
}
|