route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
84 lines • 2.55 kB
TypeScript
/**
* Admin API Handler Module
*
* 处理管理相关的API请求(stats、provider管理、shutdown等)
* 按照细菌式编程原则:小巧、模块化、自包含
*/
import { FastifyRequest, FastifyReply } from 'fastify';
import { Provider } from '@/types';
export interface AdminHandlerDependencies {
providers: Map<string, Provider>;
logger: any;
errorTracker?: any;
requestTracker?: any;
config: {
server: {
port: number;
};
};
}
export declare class AdminHandler {
private deps;
constructor(deps: AdminHandlerDependencies);
/**
* 处理 /api/stats 请求
*/
handleApiStats(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /stats 请求(简化版本)
*/
handleStats(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /dual-stats 请求
*/
handleDualStats(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /api/failures 请求
*/
handleFailures(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /api/providers/:providerId/disable 请求
*/
handleProviderDisable(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /api/providers/:providerId/enable 请求
*/
handleProviderEnable(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /api/providers/temporary-disabled 请求
*/
handleTemporaryDisabled(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /shutdown 请求
*/
handleShutdown(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /v1/messages/count_tokens 请求
*/
handleCountTokens(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 处理 /api/error-diagnostics 请求
*/
handleErrorDiagnostics(request: FastifyRequest, reply: FastifyReply): Promise<void>;
/**
* 收集系统统计信息
*/
private collectSystemStats;
/**
* 收集Provider统计信息
*/
private collectProviderStats;
/**
* 收集Provider诊断信息
*/
private collectProviderDiagnostics;
/**
* 获取Provider类型
*/
private getProviderType;
}
/**
* 创建Admin Handler实例的工厂函数
*/
export declare function createAdminHandler(deps: AdminHandlerDependencies): AdminHandler;
//# sourceMappingURL=admin-handler.d.ts.map