speccore 6.6.0 → 6.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/spec-ask/SKILL.md +6 -0
- package/dist/cli.js +9 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.d.ts.map +1 -1
- package/dist/commands/about.js +10 -3
- package/dist/commands/about.js.map +1 -1
- package/dist/commands/analyze.d.ts +2 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +141 -0
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/change.d.ts.map +1 -1
- package/dist/commands/change.js +3 -0
- package/dist/commands/change.js.map +1 -1
- package/dist/commands/doc2spec.d.ts +1 -0
- package/dist/commands/doc2spec.d.ts.map +1 -1
- package/dist/commands/doc2spec.js +175 -0
- package/dist/commands/doc2spec.js.map +1 -1
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +20 -6
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/help.js +32 -5
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/iteration/create.d.ts.map +1 -1
- package/dist/commands/iteration/create.js +38 -10
- package/dist/commands/iteration/create.js.map +1 -1
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +125 -9
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/rag-index.d.ts +19 -0
- package/dist/commands/rag-index.d.ts.map +1 -0
- package/dist/commands/rag-index.js +272 -0
- package/dist/commands/rag-index.js.map +1 -0
- package/dist/commands/refresh.d.ts +21 -0
- package/dist/commands/refresh.d.ts.map +1 -0
- package/dist/commands/refresh.js +185 -0
- package/dist/commands/refresh.js.map +1 -0
- package/dist/commands/sync-global.js +41 -0
- package/dist/commands/sync-global.js.map +1 -1
- package/dist/core/ai-context-generator.d.ts +2 -0
- package/dist/core/ai-context-generator.d.ts.map +1 -1
- package/dist/core/ai-context-generator.js +8 -6
- package/dist/core/ai-context-generator.js.map +1 -1
- package/dist/core/analyze-engine.d.ts +19 -0
- package/dist/core/analyze-engine.d.ts.map +1 -1
- package/dist/core/analyze-engine.js +326 -9
- package/dist/core/analyze-engine.js.map +1 -1
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +113 -4
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/ask-host-ai.d.ts.map +1 -1
- package/dist/core/ask-host-ai.js +9 -6
- package/dist/core/ask-host-ai.js.map +1 -1
- package/dist/core/code-scanner.d.ts +24 -2
- package/dist/core/code-scanner.d.ts.map +1 -1
- package/dist/core/code-scanner.js +235 -5
- package/dist/core/code-scanner.js.map +1 -1
- package/dist/core/context-builder.d.ts.map +1 -1
- package/dist/core/context-builder.js +20 -1
- package/dist/core/context-builder.js.map +1 -1
- package/dist/core/decay-detector.d.ts +2 -2
- package/dist/core/decay-detector.d.ts.map +1 -1
- package/dist/core/decay-detector.js +135 -6
- package/dist/core/decay-detector.js.map +1 -1
- package/dist/core/git-integration.d.ts +50 -2
- package/dist/core/git-integration.d.ts.map +1 -1
- package/dist/core/git-integration.js +217 -27
- package/dist/core/git-integration.js.map +1 -1
- package/dist/core/global-knowledge.d.ts +25 -0
- package/dist/core/global-knowledge.d.ts.map +1 -0
- package/dist/core/global-knowledge.js +228 -0
- package/dist/core/global-knowledge.js.map +1 -0
- package/dist/core/index-guard.d.ts +57 -0
- package/dist/core/index-guard.d.ts.map +1 -0
- package/dist/core/index-guard.js +202 -0
- package/dist/core/index-guard.js.map +1 -0
- package/dist/core/intent-cache.d.ts +3 -1
- package/dist/core/intent-cache.d.ts.map +1 -1
- package/dist/core/intent-cache.js +33 -3
- package/dist/core/intent-cache.js.map +1 -1
- package/dist/core/knowledge-graph.d.ts +7 -1
- package/dist/core/knowledge-graph.d.ts.map +1 -1
- package/dist/core/knowledge-graph.js +208 -22
- package/dist/core/knowledge-graph.js.map +1 -1
- package/dist/core/platform-registry.d.ts +5 -0
- package/dist/core/platform-registry.d.ts.map +1 -1
- package/dist/core/platform-registry.js +52 -0
- package/dist/core/platform-registry.js.map +1 -1
- package/dist/core/prompt-builder.d.ts +3 -2
- package/dist/core/prompt-builder.d.ts.map +1 -1
- package/dist/core/prompt-builder.js +220 -71
- package/dist/core/prompt-builder.js.map +1 -1
- package/dist/core/rag-engine.d.ts +152 -0
- package/dist/core/rag-engine.d.ts.map +1 -0
- package/dist/core/rag-engine.js +816 -0
- package/dist/core/rag-engine.js.map +1 -0
- package/dist/core/unified-retrieval.d.ts +140 -0
- package/dist/core/unified-retrieval.d.ts.map +1 -0
- package/dist/core/unified-retrieval.js +466 -0
- package/dist/core/unified-retrieval.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag-engine.js","sourceRoot":"","sources":["../../src/core/rag-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Retrieval Layer — 统一检索层
|
|
3
|
+
*
|
|
4
|
+
* 整合三个检索源:
|
|
5
|
+
* 1. 文档 RAG (rag-engine.ts) → Markdown 分块
|
|
6
|
+
* 2. 代码切片 (本文件) → 按 export 分块
|
|
7
|
+
* 3. 知识图谱 (knowledge-graph.ts) → 实体关系链
|
|
8
|
+
*
|
|
9
|
+
* 设计目标:一次查询,返回最相关的混合上下文,AI 不需要知道数据来源
|
|
10
|
+
*/
|
|
11
|
+
import { DocumentChunk } from './rag-engine';
|
|
12
|
+
export interface CodeSlice {
|
|
13
|
+
id: string;
|
|
14
|
+
filePath: string;
|
|
15
|
+
fileName: string;
|
|
16
|
+
type: 'function' | 'class' | 'interface' | 'variable' | 'type' | 'enum';
|
|
17
|
+
name: string;
|
|
18
|
+
/** JSDoc/注释 */
|
|
19
|
+
comments: string;
|
|
20
|
+
/** 函数签名 / 类定义头 / 接口定义 */
|
|
21
|
+
signature: string;
|
|
22
|
+
/** 前 N 行实现 */
|
|
23
|
+
body: string;
|
|
24
|
+
/** 提取的关键词 */
|
|
25
|
+
keywords: string[];
|
|
26
|
+
/** 行号范围 */
|
|
27
|
+
lineStart: number;
|
|
28
|
+
lineEnd: number;
|
|
29
|
+
/** 相关性分数 */
|
|
30
|
+
relevanceScore?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface UnifiedQuery {
|
|
33
|
+
/** 查询语句(task名称/需求关键词) */
|
|
34
|
+
query: string;
|
|
35
|
+
/** 迭代名称 */
|
|
36
|
+
iteration?: string;
|
|
37
|
+
/** 任务ID */
|
|
38
|
+
taskId?: string;
|
|
39
|
+
/** 平台 */
|
|
40
|
+
platform?: string;
|
|
41
|
+
/** 任务目录 */
|
|
42
|
+
taskDir?: string;
|
|
43
|
+
/** 源码范围 */
|
|
44
|
+
sourceScope?: string;
|
|
45
|
+
/** 按端过滤(backend/web/h5/admin/...) */
|
|
46
|
+
platforms?: string[];
|
|
47
|
+
}
|
|
48
|
+
export interface UnifiedResult {
|
|
49
|
+
/** 文档检索结果 */
|
|
50
|
+
documentChunks: DocumentChunk[];
|
|
51
|
+
/** 代码切片结果 */
|
|
52
|
+
codeSlices: CodeSlice[];
|
|
53
|
+
/** 知识图谱上下文 */
|
|
54
|
+
graphContext?: string;
|
|
55
|
+
/** 统计信息 */
|
|
56
|
+
stats: {
|
|
57
|
+
docChunksFound: number;
|
|
58
|
+
codeSlicesFound: number;
|
|
59
|
+
totalTokensEstimate: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 将源代码按 export 语句切分为多个块
|
|
64
|
+
* 支持:export function / class / interface / type / enum / const / let / var
|
|
65
|
+
*
|
|
66
|
+
* 不需要 AST 解析,用正则做轻量级分片:
|
|
67
|
+
* - 匹配 export 语句头
|
|
68
|
+
* - 向后扫描到下一个 export 或文件结束
|
|
69
|
+
* - 提取 JSDoc 注释
|
|
70
|
+
*/
|
|
71
|
+
export declare function sliceCodeFile(content: string, filePath: string): CodeSlice[];
|
|
72
|
+
/**
|
|
73
|
+
* 统一检索:同时查询文档 RAG、代码索引、知识图谱
|
|
74
|
+
* 返回按相关性排序的混合上下文
|
|
75
|
+
*/
|
|
76
|
+
export declare function unifiedSearch(cwd: string, query: UnifiedQuery): Promise<UnifiedResult>;
|
|
77
|
+
/**
|
|
78
|
+
* 将统一检索结果组装为 Prompt 可用的格式
|
|
79
|
+
* 输出结构与 extraSpecs 兼容
|
|
80
|
+
*/
|
|
81
|
+
export declare function assembleUnifiedContext(result: UnifiedResult, options?: {
|
|
82
|
+
maxTotalChars?: number;
|
|
83
|
+
}): {
|
|
84
|
+
name: string;
|
|
85
|
+
path: string;
|
|
86
|
+
content: string;
|
|
87
|
+
}[];
|
|
88
|
+
/**
|
|
89
|
+
* 将统一检索结果序列化为文本(直接注入 Prompt)
|
|
90
|
+
*/
|
|
91
|
+
export declare function formatUnifiedContext(result: UnifiedResult): string;
|
|
92
|
+
/**
|
|
93
|
+
* 目录条目(轻量级,用于 AI 判断)
|
|
94
|
+
*/
|
|
95
|
+
export interface CatalogEntry {
|
|
96
|
+
/** chunk ID */
|
|
97
|
+
id: string;
|
|
98
|
+
/** 块标题 */
|
|
99
|
+
title: string;
|
|
100
|
+
/** 源文件名 */
|
|
101
|
+
fileName: string;
|
|
102
|
+
/** 标题级别 */
|
|
103
|
+
level: number;
|
|
104
|
+
/** 自动摘要(≤100字) */
|
|
105
|
+
summary: string;
|
|
106
|
+
/** 关键词 */
|
|
107
|
+
keywords: string[];
|
|
108
|
+
/** 字数 */
|
|
109
|
+
charCount: number;
|
|
110
|
+
/** 起始行号 */
|
|
111
|
+
startLine?: number;
|
|
112
|
+
/** 结束行号 */
|
|
113
|
+
endLine?: number;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* 构建轻量级目录摘要(给 AI 看的“地图”)
|
|
117
|
+
*
|
|
118
|
+
* 设计目标:
|
|
119
|
+
* - 只包含 ID + 标题 + 摘要 + 关键词,不包含完整内容
|
|
120
|
+
* - 总大小控制在 ~2000 字以内
|
|
121
|
+
* - AI 看完后返回候选 ID 列表,CLI 用这些 ID 做精确读取
|
|
122
|
+
*
|
|
123
|
+
* 用法:
|
|
124
|
+
* const catalog = await buildDirectoryCatalog(cwd, iteration);
|
|
125
|
+
* // 注入 Prompt 让 AI 判断
|
|
126
|
+
* const prompt = `以下是可用的文档块目录:\n${catalog}\n\n请根据用户需求返回最相关的 chunk ID 列表(JSON 数组)`;
|
|
127
|
+
*/
|
|
128
|
+
export declare function buildDirectoryCatalog(cwd: string, iteration?: string, options?: {
|
|
129
|
+
maxEntries?: number;
|
|
130
|
+
maxSummaryChars?: number;
|
|
131
|
+
}): Promise<string>;
|
|
132
|
+
/**
|
|
133
|
+
* 根据 AI 返回的候选 ID 列表,精确读取对应 chunk 内容
|
|
134
|
+
*
|
|
135
|
+
* 用法:
|
|
136
|
+
* const candidateIds = ['a1b2c3d4e5f6', 'f6e5d4c3b2a1'];
|
|
137
|
+
* const chunks = await fetchChunksByIds(cwd, candidateIds, iteration);
|
|
138
|
+
*/
|
|
139
|
+
export declare function fetchChunksByIds(cwd: string, ids: string[], iteration?: string): Promise<DocumentChunk[]>;
|
|
140
|
+
//# sourceMappingURL=unified-retrieval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-retrieval.d.ts","sourceRoot":"","sources":["../../src/core/unified-retrieval.ts"],"names":[],"mappings":"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"}
|