autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
56 lines (55 loc) • 2.07 kB
TypeScript
/**
* MCP Handler — 维度完成通知 (dimension_complete)
*
* 外部 Agent 完成一个维度的分析后调用此 handler:
* 1. Recipe 关联 — 标记 submit_knowledge 提交的 recipes 属于此维度
* 2. Skill 生成 — skillWorthy 维度自动生成 Project Skill
* 3. Checkpoint 保存 — 持久化进度,支持断点续传
* 4. EpisodicMemory 写入 — 供 Dashboard 和增量 Bootstrap
* 5. SemanticMemory 固化 — 提炼为项目级永久记忆
* 6. 进度推送 — Socket.io/EventBus 通知 Dashboard
* 7. Hints 收集与分发 — 跨维度知识传递
*
* 幂等性:同一 dimensionId 多次调用 → 覆盖更新,不产生重复
*
* @module handlers/dimension-complete
*/
import type { McpContext } from './types.js';
/**
* dimensionComplete — 维度分析完成通知
*
* @param ctx { container, logger, startedAt }
* @param args 工具参数
* @param [args.sessionId] bootstrap 返回的 session.id
* @param args.dimensionId 维度 ID
* @param args.submittedRecipeIds 本维度提交的 recipe ID 列表
* @param args.analysisText 分析报告全文(Markdown)
* @param [args.referencedFiles] 引用的文件路径列表
* @param [args.keyFindings] 关键发现摘要 (3-5 条)
* @param [args.candidateCount] 本维度提交的候选数量
* @param [args.crossDimensionHints] 对其他维度的建议
*/
interface DimensionCompleteArgs {
sessionId?: string;
dimensionId?: string;
submittedRecipeIds?: string[];
analysisText?: string;
referencedFiles?: string[];
keyFindings?: string[];
candidateCount?: number;
crossDimensionHints?: Record<string, unknown>;
[key: string]: unknown;
}
export declare function dimensionComplete(ctx: McpContext, args: DimensionCompleteArgs): Promise<{
success: boolean;
errorCode: string | null;
message: string;
data: unknown;
meta: {
source?: string | undefined;
responseTimeMs?: number | undefined;
version: string;
tool?: string | undefined;
};
}>;
export {};