@roarpeng/graphflow 1.4.2 → 1.4.3
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/CHANGELOG.md +17 -0
- package/README.md +3 -3
- package/dist/graph/graph-utils.d.ts +9 -1
- package/dist/graph/graph-utils.d.ts.map +1 -1
- package/dist/graph/graph-utils.js +87 -15
- package/dist/graph/graph-utils.js.map +1 -1
- package/dist/graph/query-expand.d.ts.map +1 -1
- package/dist/graph/query-expand.js +7 -1
- package/dist/graph/query-expand.js.map +1 -1
- package/dist/graph/query-translate.d.ts.map +1 -1
- package/dist/graph/query-translate.js +4 -2
- package/dist/graph/query-translate.js.map +1 -1
- package/dist/graph/sqlite-client.d.ts.map +1 -1
- package/dist/graph/sqlite-client.js +14 -3
- package/dist/graph/sqlite-client.js.map +1 -1
- package/dist/surfaces/cursor-rules/graphflow.mdc +1 -1
- package/dist/surfaces/trae-skill/graphflow/SKILL.md +3 -1
- package/package.json +1 -1
- package/src/surfaces/cursor-rules/graphflow.mdc +1 -1
- package/src/surfaces/trae-skill/graphflow/SKILL.md +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,23 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.4.3] - 2026-07-05
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **PascalCase/camelCase 拆词**:`BattlePage` → `battle` + `page`,`EnergyShield` → `shield` 等,英文子词可命中代码符号
|
|
12
|
+
- **合并 englishQuery 重排**:RRF 子查询使用中文 + englishQuery + 子查询共同打分
|
|
13
|
+
- **UI 路径加权**:含 avatar/shield/battle/camera 等 UI 意图时优先 `src/pages/`、`src/components/`
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- **TOKEN_SPLIT**:不再把大写字母误当分隔符(修复 `oldFunctionName` 等标识符被错误切碎)
|
|
18
|
+
- **SQLite FTS**:ASCII 单词前缀匹配(`battle*` → `BattlePage`),多词短语仍用 AND
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **Agent 翻译提示 / Skill**:优先精确文件/类/组件名,避免泛化 `exercise` 误命中数据层
|
|
23
|
+
|
|
7
24
|
## [1.4.2] - 2026-07-05
|
|
8
25
|
|
|
9
26
|
### Added
|
package/README.md
CHANGED
|
@@ -97,7 +97,7 @@ npx @roarpeng/graphflow context preview "orchestrator" --json
|
|
|
97
97
|
|
|
98
98
|
### 发布信息
|
|
99
99
|
|
|
100
|
-
- 最新版本:**v1.4.
|
|
100
|
+
- 最新版本:**v1.4.3**(root + vscode-extension);npm:`@roarpeng/graphflow@1.4.3`
|
|
101
101
|
- **GitHub Release**:push 到 `main` 后 CI 在 `windows-2022` 上自动构建 VSIX 并发布到 [GitHub Releases](https://github.com/Roarpeng/GraphFlow/releases)
|
|
102
102
|
- **npm 发布**:push tag `v*`(如 `v1.4.1`)触发 [Publish npm](https://github.com/Roarpeng/GraphFlow/actions/workflows/publish-npm.yml) 工作流
|
|
103
103
|
- 变更日志:`CHANGELOG.md`
|
|
@@ -373,9 +373,9 @@ cp graphflow.config.example.json graphflow.config.json
|
|
|
373
373
|
CLI 安装(若已安装 `code` / `cursor` 命令):
|
|
374
374
|
|
|
375
375
|
```bash
|
|
376
|
-
code --install-extension graphflow-vscode-1.4.
|
|
376
|
+
code --install-extension graphflow-vscode-1.4.3.vsix
|
|
377
377
|
# 或
|
|
378
|
-
cursor --install-extension graphflow-vscode-1.4.
|
|
378
|
+
cursor --install-extension graphflow-vscode-1.4.3.vsix
|
|
379
379
|
```
|
|
380
380
|
|
|
381
381
|
### 命令面板
|
|
@@ -2,7 +2,11 @@ import type { GraphEdge, GraphNode } from "../core/types";
|
|
|
2
2
|
export declare function containsCJK(text: string): boolean;
|
|
3
3
|
/** Extract CJK phrases (2+ chars) and overlapping bigrams for partial matching. */
|
|
4
4
|
export declare function tokenizeCJK(text: string): string[];
|
|
5
|
+
/** Split camelCase, PascalCase, and snake_case identifiers into searchable tokens. */
|
|
6
|
+
export declare function splitIdentifierTokens(part: string): string[];
|
|
5
7
|
export declare function tokenizeForIndex(text: string): string[];
|
|
8
|
+
/** Tokens used for re-ranking: original query + agent English + active sub-query. */
|
|
9
|
+
export declare function buildSearchScoreTokens(query: string, englishQuery?: string, subQuery?: string): string[];
|
|
6
10
|
/** Derive English-ish tokens from workspace path segments (e.g. fat-battle → battle). */
|
|
7
11
|
export declare function extractPathTokens(workspaceRoot?: string): string[];
|
|
8
12
|
/**
|
|
@@ -14,6 +18,10 @@ export declare function expandSearchQueries(query: string, workspaceRoot?: strin
|
|
|
14
18
|
export declare function nodeSearchableText(node: GraphNode): string;
|
|
15
19
|
export declare function dedupEdgesByKey(edges: GraphEdge[]): GraphEdge[];
|
|
16
20
|
export declare function extractNodeSourcePath(node: GraphNode): string;
|
|
21
|
+
export interface RankNodesOptions {
|
|
22
|
+
scoreTokens?: Iterable<string>;
|
|
23
|
+
matchQueries?: string[];
|
|
24
|
+
}
|
|
17
25
|
/** Re-rank keyword hits so integration/config noise does not dominate architecture queries. */
|
|
18
|
-
export declare function rankNodesForContextQuery(nodes: GraphNode[], query: string): GraphNode[];
|
|
26
|
+
export declare function rankNodesForContextQuery(nodes: GraphNode[], query: string, options?: RankNodesOptions): GraphNode[];
|
|
19
27
|
//# sourceMappingURL=graph-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-utils.d.ts","sourceRoot":"","sources":["../../src/graph/graph-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-utils.d.ts","sourceRoot":"","sources":["../../src/graph/graph-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAyC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAUlD;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAc5D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvD;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CASV;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBlE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,EAAE,CA4BV;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAwB1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAW/D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAuB7D;AAoBD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,+FAA+F;AAC/F,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS,EAAE,CAoDb"}
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.containsCJK = containsCJK;
|
|
4
4
|
exports.tokenizeCJK = tokenizeCJK;
|
|
5
|
+
exports.splitIdentifierTokens = splitIdentifierTokens;
|
|
5
6
|
exports.tokenizeForIndex = tokenizeForIndex;
|
|
7
|
+
exports.buildSearchScoreTokens = buildSearchScoreTokens;
|
|
6
8
|
exports.extractPathTokens = extractPathTokens;
|
|
7
9
|
exports.expandSearchQueries = expandSearchQueries;
|
|
8
10
|
exports.nodeSearchableText = nodeSearchableText;
|
|
9
11
|
exports.dedupEdgesByKey = dedupEdgesByKey;
|
|
10
12
|
exports.extractNodeSourcePath = extractNodeSourcePath;
|
|
11
13
|
exports.rankNodesForContextQuery = rankNodesForContextQuery;
|
|
12
|
-
const TOKEN_SPLIT = /[^a-
|
|
14
|
+
const TOKEN_SPLIT = /[^a-zA-Z0-9_\u4e00-\u9fff\u3400-\u4dbf\uf900-\ufaff]+/g;
|
|
13
15
|
const CJK_RE = /[\u4e00-\u9fff\u3400-\u4dbf\uf900-\ufaff]/;
|
|
14
16
|
const DEPRIORITIZED_PATH_PATTERNS = [
|
|
15
17
|
/(?:^|\/)\\.cursor\//i,
|
|
@@ -23,6 +25,26 @@ const PRIORITIZED_PATH_PATTERNS = [
|
|
|
23
25
|
/(?:^|\/)vscode-extension\/src\//,
|
|
24
26
|
/(?:^|\/)tests\//,
|
|
25
27
|
];
|
|
28
|
+
const UI_PAGE_PATH_PATTERN = /(?:^|\/)src\/pages\//;
|
|
29
|
+
const UI_COMPONENT_PATH_PATTERN = /(?:^|\/)src\/components\//;
|
|
30
|
+
const DATA_LAYER_PATH_PATTERN = /(?:^|\/)src\/(?:data|types)\//;
|
|
31
|
+
/** Tokens that suggest UI/page behavior rather than shared data types. */
|
|
32
|
+
const UI_INTERACTION_TOKENS = new Set([
|
|
33
|
+
"avatar",
|
|
34
|
+
"shield",
|
|
35
|
+
"battle",
|
|
36
|
+
"pose",
|
|
37
|
+
"camera",
|
|
38
|
+
"effect",
|
|
39
|
+
"attack",
|
|
40
|
+
"selection",
|
|
41
|
+
"detection",
|
|
42
|
+
"page",
|
|
43
|
+
"modal",
|
|
44
|
+
"button",
|
|
45
|
+
"animation",
|
|
46
|
+
"render",
|
|
47
|
+
]);
|
|
26
48
|
function containsCJK(text) {
|
|
27
49
|
return CJK_RE.test(text);
|
|
28
50
|
}
|
|
@@ -38,20 +60,50 @@ function tokenizeCJK(text) {
|
|
|
38
60
|
}
|
|
39
61
|
return [...out];
|
|
40
62
|
}
|
|
63
|
+
/** Split camelCase, PascalCase, and snake_case identifiers into searchable tokens. */
|
|
64
|
+
function splitIdentifierTokens(part) {
|
|
65
|
+
if (!part)
|
|
66
|
+
return [];
|
|
67
|
+
const out = new Set();
|
|
68
|
+
const lower = part.toLowerCase();
|
|
69
|
+
if (lower.length >= 2)
|
|
70
|
+
out.add(lower);
|
|
71
|
+
const spaced = part.replace(/([a-z0-9])([A-Z])/g, "$1 $2");
|
|
72
|
+
for (const piece of spaced.split(/[^a-zA-Z0-9]+/).filter(Boolean)) {
|
|
73
|
+
const token = piece.toLowerCase();
|
|
74
|
+
if (token.length >= 2)
|
|
75
|
+
out.add(token);
|
|
76
|
+
}
|
|
77
|
+
return [...out];
|
|
78
|
+
}
|
|
41
79
|
function tokenizeForIndex(text) {
|
|
42
80
|
if (!text)
|
|
43
81
|
return [];
|
|
44
82
|
const out = new Set();
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
83
|
+
for (const part of text.split(TOKEN_SPLIT)) {
|
|
84
|
+
if (!part || CJK_RE.test(part))
|
|
85
|
+
continue;
|
|
86
|
+
for (const token of splitIdentifierTokens(part)) {
|
|
87
|
+
out.add(token);
|
|
88
|
+
}
|
|
49
89
|
}
|
|
50
90
|
for (const t of tokenizeCJK(text)) {
|
|
51
91
|
out.add(t);
|
|
52
92
|
}
|
|
53
93
|
return [...out];
|
|
54
94
|
}
|
|
95
|
+
/** Tokens used for re-ranking: original query + agent English + active sub-query. */
|
|
96
|
+
function buildSearchScoreTokens(query, englishQuery, subQuery) {
|
|
97
|
+
const out = new Set();
|
|
98
|
+
for (const text of [query, englishQuery, subQuery]) {
|
|
99
|
+
if (!text?.trim())
|
|
100
|
+
continue;
|
|
101
|
+
for (const token of tokenizeForIndex(text)) {
|
|
102
|
+
out.add(token);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return [...out];
|
|
106
|
+
}
|
|
55
107
|
/** Derive English-ish tokens from workspace path segments (e.g. fat-battle → battle). */
|
|
56
108
|
function extractPathTokens(workspaceRoot) {
|
|
57
109
|
if (!workspaceRoot?.trim())
|
|
@@ -168,37 +220,57 @@ function extractNodeSourcePath(node) {
|
|
|
168
220
|
}
|
|
169
221
|
return node.content.split(/\s+/)[0] ?? "";
|
|
170
222
|
}
|
|
171
|
-
function queryMatchesNode(node,
|
|
223
|
+
function queryMatchesNode(node, queries) {
|
|
172
224
|
const searchable = nodeSearchableText(node).toLowerCase();
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
for (const phrase of tokenizeCJK(query)) {
|
|
178
|
-
if (phrase.length >= 2 && searchable.includes(phrase)) {
|
|
225
|
+
for (const query of queries) {
|
|
226
|
+
const normalizedQuery = query.trim().toLowerCase();
|
|
227
|
+
if (normalizedQuery && searchable.includes(normalizedQuery)) {
|
|
179
228
|
return true;
|
|
180
229
|
}
|
|
230
|
+
for (const phrase of tokenizeCJK(query)) {
|
|
231
|
+
if (phrase.length >= 2 && searchable.includes(phrase)) {
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
181
235
|
}
|
|
182
236
|
return false;
|
|
183
237
|
}
|
|
184
238
|
/** Re-rank keyword hits so integration/config noise does not dominate architecture queries. */
|
|
185
|
-
function rankNodesForContextQuery(nodes, query) {
|
|
186
|
-
const queryTokens = new Set(tokenizeForIndex(query));
|
|
239
|
+
function rankNodesForContextQuery(nodes, query, options) {
|
|
240
|
+
const queryTokens = new Set(options?.scoreTokens ?? tokenizeForIndex(query));
|
|
241
|
+
const matchQueries = options?.matchQueries ?? [query];
|
|
242
|
+
const uiIntent = [...queryTokens].some((token) => UI_INTERACTION_TOKENS.has(token));
|
|
187
243
|
const scored = nodes.map((node) => {
|
|
188
244
|
let score = 0;
|
|
189
245
|
const path = extractNodeSourcePath(node);
|
|
190
246
|
const searchable = nodeSearchableText(node);
|
|
247
|
+
let tokenHits = 0;
|
|
191
248
|
for (const token of tokenizeForIndex(searchable)) {
|
|
192
249
|
if (queryTokens.has(token)) {
|
|
193
250
|
score += 2;
|
|
251
|
+
tokenHits += 1;
|
|
194
252
|
}
|
|
195
253
|
}
|
|
196
|
-
if (
|
|
254
|
+
if (tokenHits >= 2) {
|
|
255
|
+
score += tokenHits;
|
|
256
|
+
}
|
|
257
|
+
if (queryMatchesNode(node, matchQueries)) {
|
|
197
258
|
score += 6;
|
|
198
259
|
}
|
|
199
260
|
if (PRIORITIZED_PATH_PATTERNS.some((pattern) => pattern.test(path))) {
|
|
200
261
|
score += 8;
|
|
201
262
|
}
|
|
263
|
+
if (uiIntent) {
|
|
264
|
+
if (UI_PAGE_PATH_PATTERN.test(path)) {
|
|
265
|
+
score += 12;
|
|
266
|
+
}
|
|
267
|
+
else if (UI_COMPONENT_PATH_PATTERN.test(path)) {
|
|
268
|
+
score += 10;
|
|
269
|
+
}
|
|
270
|
+
else if (DATA_LAYER_PATH_PATTERN.test(path)) {
|
|
271
|
+
score -= 6;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
202
274
|
if (DEPRIORITIZED_PATH_PATTERNS.some((pattern) => pattern.test(path))) {
|
|
203
275
|
score -= 12;
|
|
204
276
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-utils.js","sourceRoot":"","sources":["../../src/graph/graph-utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"graph-utils.js","sourceRoot":"","sources":["../../src/graph/graph-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-expand.d.ts","sourceRoot":"","sources":["../../src/graph/query-expand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"query-expand.d.ts","sourceRoot":"","sources":["../../src/graph/query-expand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAsBtB"}
|
|
@@ -10,10 +10,16 @@ const graph_utils_js_2 = require("./graph-utils.js");
|
|
|
10
10
|
*/
|
|
11
11
|
async function collectExpandedKeywordHits(client, query, workspaceRoot, englishQuery) {
|
|
12
12
|
const queries = (0, graph_utils_js_1.expandSearchQueries)(query, workspaceRoot, englishQuery);
|
|
13
|
+
const baseScoreTokens = (0, graph_utils_js_1.buildSearchScoreTokens)(query, englishQuery);
|
|
14
|
+
const matchQueries = englishQuery?.trim() ? [query, englishQuery.trim()] : [query];
|
|
13
15
|
const rankings = [];
|
|
14
16
|
for (const q of queries) {
|
|
15
17
|
const hits = await client.queryByKeyword(q);
|
|
16
|
-
|
|
18
|
+
const scoreTokens = (0, graph_utils_js_1.buildSearchScoreTokens)(query, englishQuery, q);
|
|
19
|
+
rankings.push((0, graph_utils_js_2.rankNodesForContextQuery)(hits, query, {
|
|
20
|
+
scoreTokens: scoreTokens.length > 0 ? scoreTokens : baseScoreTokens,
|
|
21
|
+
matchQueries,
|
|
22
|
+
}));
|
|
17
23
|
}
|
|
18
24
|
if (rankings.length <= 1) {
|
|
19
25
|
return rankings[0] ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-expand.js","sourceRoot":"","sources":["../../src/graph/query-expand.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"query-expand.js","sourceRoot":"","sources":["../../src/graph/query-expand.ts"],"names":[],"mappings":";;AAUA,gEA2BC;AAnCD,6DAAiE;AACjE,qDAA+E;AAC/E,qDAA4D;AAE5D;;;GAGG;AACI,KAAK,UAAU,0BAA0B,CAC9C,MAAmB,EACnB,KAAa,EACb,aAAsB,EACtB,YAAqB;IAErB,MAAM,OAAO,GAAG,IAAA,oCAAmB,EAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,IAAA,uCAAsB,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAA,uCAAsB,EAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,IAAI,CACX,IAAA,yCAAwB,EAAC,IAAI,EAAE,KAAK,EAAE;YACpC,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;YACnE,YAAY;SACb,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,IAAA,oCAAoB,EAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-translate.d.ts","sourceRoot":"","sources":["../../src/graph/query-translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"query-translate.d.ts","sourceRoot":"","sources":["../../src/graph/query-translate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CAqChG;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrE;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAQT"}
|
|
@@ -20,8 +20,10 @@ function buildQueryTranslateWorkItem(query, workspaceRoot) {
|
|
|
20
20
|
`Original query: ${query}`,
|
|
21
21
|
pathLine,
|
|
22
22
|
"",
|
|
23
|
-
"Using YOUR model, translate the user's intent into English CODE SEARCH terms",
|
|
24
|
-
"
|
|
23
|
+
"Using YOUR model, translate the user's intent into English CODE SEARCH terms.",
|
|
24
|
+
"Prefer exact file/class/function/component names (e.g. PoseDetectionPage, BattlePage, shieldEffect).",
|
|
25
|
+
"Avoid generic ambiguous words (e.g. use pose/camera/avatar for UI questions, not exercise when the codebase has fitness data modules).",
|
|
26
|
+
"Include Page/Component/Service file stems when the question is about UI behavior or effects.",
|
|
25
27
|
"",
|
|
26
28
|
"Return ONLY a JSON object (no markdown fences):",
|
|
27
29
|
'{',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-translate.js","sourceRoot":"","sources":["../../src/graph/query-translate.ts"],"names":[],"mappings":";;;AAMA,
|
|
1
|
+
{"version":3,"file":"query-translate.js","sourceRoot":"","sources":["../../src/graph/query-translate.ts"],"names":[],"mappings":";;;AAMA,kEAqCC;AAED,0EAOC;AAED,wEAYC;AAjED,qDAAkE;AAElE,mEAAmE;AACtD,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAE/C,SAAgB,2BAA2B,CAAC,KAAa,EAAE,aAAsB;IAC/E,MAAM,SAAS,GAAG,IAAA,kCAAiB,EAAC,aAAa,CAAC,CAAC;IACnD,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,yCAAyC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC9E,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN,gFAAgF;YAChF,mBAAmB,KAAK,EAAE;YAC1B,QAAQ;YACR,EAAE;YACF,+EAA+E;YAC/E,sGAAsG;YACtG,wIAAwI;YACxI,8FAA8F;YAC9F,EAAE;YACF,iDAAiD;YACjD,GAAG;YACH,wEAAwE;YACxE,2CAA2C;YAC3C,GAAG;YACH,EAAE;YACF,kFAAkF;YAClF,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,0CAA0C;SACtG;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC;QACb,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE;YACd,YAAY,EAAE,+CAA+C;YAC7D,QAAQ,EAAE,qCAAqC;SAChD;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAa;IAC3D,OAAO;QACL,qDAAqD;QACrD,mFAAmF;QACnF,gGAAgG;QAChG,mBAAmB,KAAK,EAAE;KAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAgB,8BAA8B,CAC5C,KAAa,EACb,WAAmB,EACnB,YAAqB;IAErB,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAA,4BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,WAAW,GAAG,qCAA6B,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-client.d.ts","sourceRoot":"","sources":["../../src/graph/sqlite-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-client.d.ts","sourceRoot":"","sources":["../../src/graph/sqlite-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgGpD,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoC;gBAE3C,MAAM,EAAE,MAAM;IAY1B,OAAO,CAAC,OAAO;IAQT,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9C,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,YAAY,IAAI;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE;IAapD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAqBnD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IASlD,YAAY,CAChB,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,EACnC,SAAS,GAAE,KAAK,GAAG,IAAI,GAAG,MAAc,GACvC,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;KAAE,EAAE,CAAC;IA4CvD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1F,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -73,6 +73,19 @@ function rowToNode(row) {
|
|
|
73
73
|
function escapeFtsToken(token) {
|
|
74
74
|
return `"${token.replace(/"/g, '""')}"`;
|
|
75
75
|
}
|
|
76
|
+
/** OR for CJK; AND with optional prefix for ASCII multi-token phrase queries. */
|
|
77
|
+
function buildFtsMatch(tokens, query) {
|
|
78
|
+
if (tokens.length === 0)
|
|
79
|
+
return "";
|
|
80
|
+
if ((0, graph_utils_1.containsCJK)(query)) {
|
|
81
|
+
return tokens.map(escapeFtsToken).join(" OR ");
|
|
82
|
+
}
|
|
83
|
+
const parts = tokens.map((token) => {
|
|
84
|
+
const escaped = escapeFtsToken(token);
|
|
85
|
+
return token.length >= 3 ? `${escaped}*` : escaped;
|
|
86
|
+
});
|
|
87
|
+
return parts.join(tokens.length === 1 ? "" : " AND ");
|
|
88
|
+
}
|
|
76
89
|
class GraphifySqliteClient {
|
|
77
90
|
db;
|
|
78
91
|
constructor(dbPath) {
|
|
@@ -137,9 +150,7 @@ class GraphifySqliteClient {
|
|
|
137
150
|
.all(`%${query.toLowerCase()}%`);
|
|
138
151
|
return rows.map(rowToNode);
|
|
139
152
|
}
|
|
140
|
-
const match = (
|
|
141
|
-
? tokens.map(escapeFtsToken).join(" OR ")
|
|
142
|
-
: tokens.map(escapeFtsToken).join(" ");
|
|
153
|
+
const match = buildFtsMatch(tokens, query);
|
|
143
154
|
const rows = this.db
|
|
144
155
|
.prepare(`SELECT n.id AS id, n.type AS type, n.content AS content, n.metadata AS metadata
|
|
145
156
|
FROM nodes_fts JOIN nodes n ON n.rowid = nodes_fts.rowid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-client.js","sourceRoot":"","sources":["../../src/graph/sqlite-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sqlite-client.js","sourceRoot":"","sources":["../../src/graph/sqlite-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ Do not scan the whole repository, recursively inspect many files, or read large
|
|
|
31
31
|
|
|
32
32
|
Code symbols are mostly English. For Chinese user questions:
|
|
33
33
|
|
|
34
|
-
1. **Proactive:** Before or with `graphflow_preview_context`, translate intent to English file/
|
|
34
|
+
1. **Proactive:** Before or with `graphflow_preview_context`, translate intent to English **file/class/component names** (e.g. `PoseDetectionPage`, `BattlePage`, `shieldEffect`) and pass `englishQuery`. Avoid generic terms like `exercise` when the user means UI/camera — they often match data/types layers.
|
|
35
35
|
2. **Reactive:** If preview returns `agentWorkItems` with `query-translate-en` (low `anchorCount`), answer the JSON prompt with your model, then retry preview with `englishQuery`.
|
|
36
36
|
3. Keep `query` as the original Chinese text; use `englishQuery` for search terms only.
|
|
37
37
|
|
|
@@ -157,10 +157,12 @@ GraphFlow tokenizes CJK and expands workspace path hints. When that is not enoug
|
|
|
157
157
|
**Preferred (proactive):**
|
|
158
158
|
```
|
|
159
159
|
Step 1: Translate user intent to English file/symbol terms with YOUR model
|
|
160
|
-
Step 2: graphflow_preview_context({ query: "<Chinese>", englishQuery: "
|
|
160
|
+
Step 2: graphflow_preview_context({ query: "<Chinese>", englishQuery: "PoseDetectionPage avatarMode BattlePage shieldEffect", rootDir })
|
|
161
161
|
Step 3: Use summary + anchors
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
+
Use **exact file/class/component names** (PascalCase stems). Avoid generic words like `exercise` when the user means camera/pose UI — that word often hits data/types layers instead of pages.
|
|
165
|
+
|
|
164
166
|
**Fallback:** If `anchorCount < 3` and `agentWorkItems` includes `query-translate-en`, answer JSON prompt and retry with `englishQuery`.
|
|
165
167
|
|
|
166
168
|
---
|
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@ Do not scan the whole repository, recursively inspect many files, or read large
|
|
|
31
31
|
|
|
32
32
|
Code symbols are mostly English. For Chinese user questions:
|
|
33
33
|
|
|
34
|
-
1. **Proactive:** Before or with `graphflow_preview_context`, translate intent to English file/
|
|
34
|
+
1. **Proactive:** Before or with `graphflow_preview_context`, translate intent to English **file/class/component names** (e.g. `PoseDetectionPage`, `BattlePage`, `shieldEffect`) and pass `englishQuery`. Avoid generic terms like `exercise` when the user means UI/camera — they often match data/types layers.
|
|
35
35
|
2. **Reactive:** If preview returns `agentWorkItems` with `query-translate-en` (low `anchorCount`), answer the JSON prompt with your model, then retry preview with `englishQuery`.
|
|
36
36
|
3. Keep `query` as the original Chinese text; use `englishQuery` for search terms only.
|
|
37
37
|
|
|
@@ -157,10 +157,12 @@ GraphFlow tokenizes CJK and expands workspace path hints. When that is not enoug
|
|
|
157
157
|
**Preferred (proactive):**
|
|
158
158
|
```
|
|
159
159
|
Step 1: Translate user intent to English file/symbol terms with YOUR model
|
|
160
|
-
Step 2: graphflow_preview_context({ query: "<Chinese>", englishQuery: "
|
|
160
|
+
Step 2: graphflow_preview_context({ query: "<Chinese>", englishQuery: "PoseDetectionPage avatarMode BattlePage shieldEffect", rootDir })
|
|
161
161
|
Step 3: Use summary + anchors
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
+
Use **exact file/class/component names** (PascalCase stems). Avoid generic words like `exercise` when the user means camera/pose UI — that word often hits data/types layers instead of pages.
|
|
165
|
+
|
|
164
166
|
**Fallback:** If `anchorCount < 3` and `agentWorkItems` includes `query-translate-en`, answer JSON prompt and retry with `englishQuery`.
|
|
165
167
|
|
|
166
168
|
---
|