UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

331 lines (330 loc) 8.41 kB
/** * lifecycle.js 生命周期操作类工具 (10) * * 16. submit_knowledge 提交候选项 * 17. approve_candidate 批准候选 * 18. reject_candidate 驳回候选 * 19. publish_recipe 发布 Recipe * 20. deprecate_recipe 弃用 Recipe * 21. update_recipe 更新 Recipe * 22. record_usage 记录使用 * 23. quality_score 质量评分 * 24. validate_candidate 候选校验 * 25. get_feedback_stats 反馈统计 */ import { type ToolHandlerContext } from './_shared.js'; export interface SubmitKnowledgeParams { content?: { markdown?: string; pattern?: string; rationale?: string; [key: string]: unknown; }; title?: string; description?: string; tags?: string[]; trigger?: string; kind?: string; topicHint?: string; whenClause?: string; doClause?: string; dontClause?: string; coreCode?: string; reasoning?: { whyStandard?: string; sources?: string[]; confidence?: number; }; scope?: string; complexity?: string; headers?: string[]; knowledgeType?: string; usageGuide?: string; sourceFile?: string; _category?: string; /** 被替代的旧 Recipe ID(进化架构入口) */ supersedes?: string; [key: string]: unknown; } export declare const submitCandidate: { name: string; description: string; parameters: { type: string; properties: { content: { type: string; description: string; }; title: { type: string; description: string; }; description: { type: string; description: string; }; tags: { type: string; items: { type: string; }; description: string; }; trigger: { type: string; description: string; }; kind: { type: string; enum: string[]; description: string; }; topicHint: { type: string; enum: string[]; description: string; }; whenClause: { type: string; description: string; }; doClause: { type: string; description: string; }; dontClause: { type: string; description: string; }; coreCode: { type: string; description: string; }; reasoning: { type: string; description: string; }; scope: { type: string; enum: string[]; description: string; }; complexity: { type: string; enum: string[]; description: string; }; headers: { type: string; items: { type: string; }; description: string; }; knowledgeType: { type: string; description: string; }; usageGuide: { type: string; description: string; }; sourceFile: { type: string; description: string; }; supersedes: { type: string; description: string; }; }; required: string[]; }; handler: (params: SubmitKnowledgeParams, ctx: ToolHandlerContext) => Promise<Record<string, unknown>>; }; export declare const approveCandidate: { name: string; description: string; parameters: { type: string; properties: { candidateId: { type: string; description: string; }; }; required: string[]; }; handler: (params: { candidateId: string; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const rejectCandidate: { name: string; description: string; parameters: { type: string; properties: { candidateId: { type: string; description: string; }; reason: { type: string; description: string; }; }; required: string[]; }; handler: (params: { candidateId: string; reason: string; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const publishRecipe: { name: string; description: string; parameters: { type: string; properties: { recipeId: { type: string; description: string; }; }; required: string[]; }; handler: (params: { recipeId: string; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const deprecateRecipe: { name: string; description: string; parameters: { type: string; properties: { recipeId: { type: string; description: string; }; reason: { type: string; description: string; }; }; required: string[]; }; handler: (params: { recipeId: string; reason: string; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const updateRecipe: { name: string; description: string; parameters: { type: string; properties: { recipeId: { type: string; description: string; }; updates: { type: string; description: string; }; }; required: string[]; }; handler: (params: { recipeId: string; updates: Record<string, unknown>; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const recordUsage: { name: string; description: string; parameters: { type: string; properties: { recipeId: { type: string; description: string; }; type: { type: string; description: string; }; }; required: string[]; }; handler: (params: { recipeId: string; type?: string; }, ctx: ToolHandlerContext) => Promise<{ success: boolean; recipeId: string; type: string; }>; }; export declare const qualityScore: { name: string; description: string; parameters: { type: string; properties: { recipeId: { type: string; description: string; }; recipe: { type: string; description: string; }; }; }; handler: (params: { recipeId?: string; recipe?: Record<string, unknown>; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const validateCandidate: { name: string; description: string; parameters: { type: string; properties: { candidate: { type: string; description: string; }; }; required: string[]; }; handler: (params: { candidate: Record<string, unknown>; }, ctx: ToolHandlerContext) => Promise<any>; }; export declare const getFeedbackStats: { name: string; description: string; parameters: { type: string; properties: { recipeId: { type: string; description: string; }; topN: { type: string; description: string; }; }; }; handler: (params: { recipeId?: string; topN?: number; }, ctx: ToolHandlerContext) => Promise<Record<string, unknown>>; };