UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

56 lines (55 loc) 1.78 kB
/** * MCP Handler — autosnippet_evolve (批量 Recipe 进化决策) * * 双入口工具: * - Rescan 模式: 每个维度内先 evolve 再 gap-fill,与内部 Agent Pipeline 一致 * - 独立模式: 用户通过提示词触发,验证已有 Recipe 的有效性 * * 三种决策委托给 evolution-tools.ts 中已有的 handler 实现: * - propose_evolution → ProposalRepository.create (观察窗口) * - confirm_deprecation → RecipeLifecycleSupervisor.transition → deprecated (优先) / KnowledgeService.deprecate (回退) * - skip → 不变更状态,skip(still_valid) 刷新 stats.lastVerifiedAt * * @module handlers/evolve-external */ import type { ServiceContainer } from '#inject/ServiceContainer.js'; import type { EvolveInput } from '#shared/schemas/mcp-tools.js'; /** MCP handler context */ /** MCP handler context */ interface McpContext { container: ServiceContainer; logger: { info(msg: string, meta?: Record<string, unknown>): void; warn(msg: string, meta?: Record<string, unknown>): void; }; startedAt?: number; [key: string]: unknown; } interface EvolveResult { processed: number; proposed: number; deprecated: number; skipped: number; refreshed: number; quotaChange: { freed: number; occupied: number; }; errors: Array<{ recipeId: string; error: string; }>; } export declare function evolveExternal(ctx: McpContext, args: EvolveInput): Promise<{ success: boolean; errorCode: string | null; message: string; data: EvolveResult | null; meta: { source?: string | undefined; responseTimeMs?: number | undefined; version: string; tool?: string | undefined; }; }>; export {};