pi-shazam 0.1.3 → 0.1.4
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/dist/tools/check.d.ts +3 -2
- package/dist/tools/check.d.ts.map +1 -1
- package/dist/tools/check.js +12 -14
- package/dist/tools/check.js.map +1 -1
- package/dist/tools/codesearch.d.ts.map +1 -1
- package/dist/tools/codesearch.js +9 -6
- package/dist/tools/codesearch.js.map +1 -1
- package/dist/tools/fix.d.ts.map +1 -1
- package/dist/tools/fix.js +8 -7
- package/dist/tools/fix.js.map +1 -1
- package/dist/tools/hotspots.d.ts +2 -0
- package/dist/tools/hotspots.d.ts.map +1 -1
- package/dist/tools/hotspots.js +19 -0
- package/dist/tools/hotspots.js.map +1 -1
- package/dist/tools/orphan.d.ts.map +1 -1
- package/dist/tools/orphan.js +9 -0
- package/dist/tools/orphan.js.map +1 -1
- package/dist/tools/routes.d.ts +3 -0
- package/dist/tools/routes.d.ts.map +1 -1
- package/dist/tools/routes.js +112 -17
- package/dist/tools/routes.js.map +1 -1
- package/dist/tools/state_map.d.ts.map +1 -1
- package/dist/tools/state_map.js +19 -0
- package/dist/tools/state_map.js.map +1 -1
- package/dist/tools/symbol.d.ts.map +1 -1
- package/dist/tools/symbol.js +9 -5
- package/dist/tools/symbol.js.map +1 -1
- package/dist/tools/verify.d.ts +2 -3
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +8 -9
- package/dist/tools/verify.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/check.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pi-shazam tools/check —
|
|
2
|
+
* pi-shazam tools/check — Symbol & parse diagnostics.
|
|
3
3
|
*
|
|
4
4
|
* Validates project files using tree-sitter parsing and reports issues.
|
|
5
|
-
*
|
|
5
|
+
* Provides file-level parse status and symbol statistics.
|
|
6
|
+
* Falls back to tree-sitter only when LSP is unavailable.
|
|
6
7
|
*/
|
|
7
8
|
import type { ExtensionAPI } from "../types/pi-extension.js";
|
|
8
9
|
import type { RepoGraph } from "../core/graph.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../tools/check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../tools/check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA4CpD;AAID;;GAEG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,CA6ER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,CA8BR"}
|
package/dist/tools/check.js
CHANGED
|
@@ -3,19 +3,18 @@ import { scanProject } from "../core/scanner.js";
|
|
|
3
3
|
export function registerCheck(pi) {
|
|
4
4
|
pi.registerTool({
|
|
5
5
|
name: "shazam_check",
|
|
6
|
-
label: "
|
|
6
|
+
label: "Parse & Symbol Diagnostics",
|
|
7
7
|
description: `\
|
|
8
|
-
Call
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Call to check tree-sitter parse status and symbol statistics across
|
|
9
|
+
the project. Reports which files parsed successfully and which failed,
|
|
10
|
+
along with symbol and edge counts.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
For compiler/linter diagnostics (type errors, lint warnings), use
|
|
13
|
+
the project's native tools: \`npx tsc --noEmit\`, \`npx eslint .\`,
|
|
14
|
+
\`cargo clippy\`, \`golangci-lint run\`, etc.
|
|
15
15
|
|
|
16
|
-
Scenario:
|
|
17
|
-
|
|
18
|
-
to confirm no type regressions.`,
|
|
16
|
+
Scenario: after npm install to confirm files parse. Mid-refactor
|
|
17
|
+
before saving. Quick health check of project parse status.`,
|
|
19
18
|
parameters: Type.Object({
|
|
20
19
|
file: Type.Optional(Type.String()),
|
|
21
20
|
json: Type.Optional(Type.Boolean()),
|
|
@@ -50,7 +49,7 @@ to confirm no type regressions.`,
|
|
|
50
49
|
*/
|
|
51
50
|
export function executeCheck(graph, _projectRoot, file) {
|
|
52
51
|
const lines = [];
|
|
53
|
-
lines.push("##
|
|
52
|
+
lines.push("## Parse & Symbol Diagnostics");
|
|
54
53
|
lines.push("");
|
|
55
54
|
// ── Filter to target file if specified ─────────────────────────────
|
|
56
55
|
const targetFiles = file
|
|
@@ -102,9 +101,8 @@ export function executeCheck(graph, _projectRoot, file) {
|
|
|
102
101
|
lines.push(`Symbols: ${totalSymbols}`);
|
|
103
102
|
lines.push(`Edges: ${totalEdges}`);
|
|
104
103
|
lines.push("");
|
|
105
|
-
// ──
|
|
106
|
-
lines.push("
|
|
107
|
-
lines.push("");
|
|
104
|
+
// ── Compiler/linter hint ────────────────────────────────────────────
|
|
105
|
+
lines.push("For compiler/linter diagnostics (type errors, lint warnings), run:", "", "- TypeScript: `npx tsc --noEmit`", "- Lint: `npx eslint .` or `npx biome check .`", "- Go: `go vet ./...`", "- Rust: `cargo clippy`", "");
|
|
108
106
|
return lines.join("\n");
|
|
109
107
|
}
|
|
110
108
|
/**
|
package/dist/tools/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../tools/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../tools/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codesearch.d.ts","sourceRoot":"","sources":["../../tools/codesearch.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"codesearch.d.ts","sourceRoot":"","sources":["../../tools/codesearch.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA4CzD;AAED,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,EAAE,CAsCV"}
|
package/dist/tools/codesearch.js
CHANGED
|
@@ -5,16 +5,19 @@ export function registerCodesearch(pi) {
|
|
|
5
5
|
name: "shazam_codesearch",
|
|
6
6
|
label: "Code Search (BM25)",
|
|
7
7
|
description: `\
|
|
8
|
-
|
|
9
|
-
BM25 relevance ranking with synonym expansion. Returns ranked
|
|
10
|
-
file:line, symbol name, kind, and snippet.
|
|
8
|
+
MUST call to search for symbols by keyword across the entire project
|
|
9
|
+
using BM25 relevance ranking with synonym expansion. Returns ranked
|
|
10
|
+
results: file:line, symbol name, kind, and snippet.
|
|
11
11
|
|
|
12
12
|
More semantic than grep — understands camelCase/snake_case tokenization
|
|
13
13
|
and ranks by PageRank-weighted relevance, not just substring match.
|
|
14
|
+
Use this INSTEAD of grep when searching for code concepts, patterns, or
|
|
15
|
+
functionality — grep finds text, this finds meaning.
|
|
14
16
|
|
|
15
|
-
Scenario: finding error handling patterns. Locating
|
|
16
|
-
functions. Searching for "auth"
|
|
17
|
-
Finding
|
|
17
|
+
Scenario: finding all error handling patterns. Locating database query
|
|
18
|
+
functions across the codebase. Searching for "auth" in a multi-language
|
|
19
|
+
project. Finding all callers of a deprecated API before removing it.
|
|
20
|
+
Auditing for "TODO" or "FIXME" in function names.`,
|
|
18
21
|
parameters: Type.Object({
|
|
19
22
|
query: Type.String(),
|
|
20
23
|
topN: Type.Optional(Type.Number()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codesearch.js","sourceRoot":"","sources":["../../tools/codesearch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,EAAgB;IAClD,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"codesearch.js","sourceRoot":"","sources":["../../tools/codesearch.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/fix.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../tools/fix.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../tools/fix.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA+ClD;AAID,MAAM,WAAW,UAAU;IAC1B,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;GAEG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,UAAe,GACtB,MAAM,CAmER;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,UAAe,GACtB,MAAM,CAoBR"}
|
package/dist/tools/fix.js
CHANGED
|
@@ -8,16 +8,17 @@ export function registerFix(pi) {
|
|
|
8
8
|
name: "shazam_fix",
|
|
9
9
|
label: "Auto-Fix Format & Lint",
|
|
10
10
|
description: `\
|
|
11
|
-
|
|
12
|
-
Runs nearest-wins auto-fixers (prettier, biome, ruff, cargo
|
|
13
|
-
gofmt, eslint --fix). Modifies format ONLY — never touches logic.
|
|
11
|
+
MUST call after shazam_verify or shazam_check reports format/lint
|
|
12
|
+
errors. Runs nearest-wins auto-fixers (prettier, biome, ruff, cargo
|
|
13
|
+
fmt, gofmt, eslint --fix). Modifies format ONLY — never touches logic.
|
|
14
14
|
|
|
15
15
|
Always run with --dry-run first to preview changes before applying.
|
|
16
|
-
After fixing, re-run shazam_verify to confirm clean.
|
|
16
|
+
After fixing, re-run shazam_verify to confirm clean. Do NOT commit
|
|
17
|
+
code with format issues — they WILL fail CI.
|
|
17
18
|
|
|
18
|
-
Scenario: trailing whitespace. Import sorting. Indentation
|
|
19
|
-
Line length violations
|
|
20
|
-
|
|
19
|
+
Scenario: trailing whitespace after an edit. Import sorting. Indentation
|
|
20
|
+
mismatches. Line length violations. Mixed tabs/spaces. Missing newlines
|
|
21
|
+
at end of file.`,
|
|
21
22
|
parameters: Type.Object({
|
|
22
23
|
dryRun: Type.Optional(Type.Boolean()),
|
|
23
24
|
file: Type.Optional(Type.String()),
|
package/dist/tools/fix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../tools/fix.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,WAAW,CAAC,EAAgB;IAC3C,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../../tools/fix.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/hotspots.d.ts
CHANGED
|
@@ -6,4 +6,6 @@ import type { RepoGraph } from "../core/graph.js";
|
|
|
6
6
|
export declare function registerHotspots(pi: ExtensionAPI): void;
|
|
7
7
|
export declare function executeHotspots(graph: RepoGraph, topN?: number): string;
|
|
8
8
|
export declare function executeHotspotsJson(graph: RepoGraph, topN: number): string;
|
|
9
|
+
/** 判断文件是否为配置/生成/锁定文件 */
|
|
10
|
+
export declare function isNonSourceFile(file: string): boolean;
|
|
9
11
|
//# sourceMappingURL=hotspots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotspots.d.ts","sourceRoot":"","sources":["../../tools/hotspots.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAsCvD;AAWD,wBAAgB,eAAe,CAC9B,KAAK,EAAE,SAAS,EAChB,IAAI,GAAE,MAAW,GACf,MAAM,
|
|
1
|
+
{"version":3,"file":"hotspots.d.ts","sourceRoot":"","sources":["../../tools/hotspots.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAsCvD;AAWD,wBAAgB,eAAe,CAC9B,KAAK,EAAE,SAAS,EAChB,IAAI,GAAE,MAAW,GACf,MAAM,CAuBR;AAED,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,GACV,MAAM,CAiBR;AAcD,wBAAwB;AACxB,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
package/dist/tools/hotspots.js
CHANGED
|
@@ -46,6 +46,8 @@ export function executeHotspots(graph, topN = 10) {
|
|
|
46
46
|
lines.push("");
|
|
47
47
|
lines.push("Ranked by symbol density × PageRank score.");
|
|
48
48
|
lines.push("");
|
|
49
|
+
lines.push("Config and generated files (package-lock.json, package.json, tsconfig.json, dist/, node_modules/) are excluded.");
|
|
50
|
+
lines.push("");
|
|
49
51
|
for (let i = 0; i < hotspots.length; i++) {
|
|
50
52
|
const h = hotspots[i];
|
|
51
53
|
lines.push(`${i + 1}. \`${h.file}\` — score: ${h.hotspotScore.toFixed(2)}`);
|
|
@@ -72,9 +74,26 @@ export function executeHotspotsJson(graph, topN) {
|
|
|
72
74
|
},
|
|
73
75
|
});
|
|
74
76
|
}
|
|
77
|
+
// ── Config/generated file filtering ────────────────────────────────────────────
|
|
78
|
+
/** 配置文件、生成文件、依赖锁定文件 —— 不应出现在热点排名或孤儿检测中 */
|
|
79
|
+
const NON_SOURCE_FILE_PATTERNS = [
|
|
80
|
+
"package-lock.json",
|
|
81
|
+
"package.json",
|
|
82
|
+
"tsconfig.json",
|
|
83
|
+
"node_modules/",
|
|
84
|
+
"dist/",
|
|
85
|
+
".json", // 其他 JSON 配置文件 (如 biome.json, tsconfig.*.json)
|
|
86
|
+
];
|
|
87
|
+
/** 判断文件是否为配置/生成/锁定文件 */
|
|
88
|
+
export function isNonSourceFile(file) {
|
|
89
|
+
return NON_SOURCE_FILE_PATTERNS.some((p) => file.includes(p));
|
|
90
|
+
}
|
|
91
|
+
// ── Core compute ────────────────────────────────────────────────────────────────
|
|
75
92
|
function computeHotspots(graph, topN) {
|
|
76
93
|
const fileStats = new Map();
|
|
77
94
|
for (const [file, symIds] of graph.fileSymbols) {
|
|
95
|
+
if (isNonSourceFile(file))
|
|
96
|
+
continue;
|
|
78
97
|
let totalPR = 0;
|
|
79
98
|
let incoming = 0;
|
|
80
99
|
let outgoing = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotspots.js","sourceRoot":"","sources":["../../tools/hotspots.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hotspots.js","sourceRoot":"","sources":["../../tools/hotspots.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orphan.d.ts","sourceRoot":"","sources":["../../tools/orphan.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"orphan.d.ts","sourceRoot":"","sources":["../../tools/orphan.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAI1D,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA8CrD;AAQD,wBAAgB,aAAa,CAC5B,KAAK,EAAE,SAAS,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,GAAE,MAAW,GACxB,MAAM,CAuCR;AAED,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,GAAE,MAAW,GACxB,MAAM,CAmBR"}
|
package/dist/tools/orphan.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
2
|
import { scanProject } from "../core/scanner.js";
|
|
3
|
+
import { isNonSourceFile } from "./hotspots.js";
|
|
3
4
|
export function registerOrphan(pi) {
|
|
4
5
|
pi.registerTool({
|
|
5
6
|
name: "shazam_orphan",
|
|
@@ -15,6 +16,9 @@ confirm zero references. A "dead" function that's called via
|
|
|
15
16
|
getattr/dlsym/Reflect is still live — orphan detection cannot see
|
|
16
17
|
dynamic dispatch.
|
|
17
18
|
|
|
19
|
+
Config and generated files (package-lock.json, package.json, etc.)
|
|
20
|
+
are excluded — only source code is analyzed.
|
|
21
|
+
|
|
18
22
|
Scenario: cleaning up unused code. Finding abandoned modules. Before a
|
|
19
23
|
major refactor to identify removable surface area. After removing a
|
|
20
24
|
feature to find orphaned helpers.`,
|
|
@@ -51,6 +55,8 @@ export function executeOrphan(graph, file, minConfidence = 50) {
|
|
|
51
55
|
lines.push("Symbols with zero incoming references. Confidence ≥ 70 = likely safe to delete.");
|
|
52
56
|
lines.push("ALWAYS verify with shazam_refs before actual deletion.");
|
|
53
57
|
lines.push("");
|
|
58
|
+
lines.push("Config and generated files are excluded from analysis.");
|
|
59
|
+
lines.push("");
|
|
54
60
|
// Group by file
|
|
55
61
|
const byFile = new Map();
|
|
56
62
|
for (const c of candidates) {
|
|
@@ -92,6 +98,9 @@ function findOrphans(graph, file, minConfidence = 50) {
|
|
|
92
98
|
for (const sym of graph.symbols.values()) {
|
|
93
99
|
if (file && sym.file !== file)
|
|
94
100
|
continue;
|
|
101
|
+
// 排除配置文件中的符号 —— 它们不是代码孤岛
|
|
102
|
+
if (isNonSourceFile(sym.file))
|
|
103
|
+
continue;
|
|
95
104
|
const incoming = graph.incoming.get(sym.id);
|
|
96
105
|
const outgoing = graph.outgoing.get(sym.id);
|
|
97
106
|
const incCount = incoming ? incoming.length : 0;
|
package/dist/tools/orphan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orphan.js","sourceRoot":"","sources":["../../tools/orphan.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"orphan.js","sourceRoot":"","sources":["../../tools/orphan.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/routes.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* pi-shazam tools/routes — HTTP route inventory.
|
|
3
|
+
*
|
|
4
|
+
* Detects HTTP route registrations using AST pattern matching for common
|
|
5
|
+
* web frameworks (Express, Fastify, Koa, Next.js, etc.).
|
|
3
6
|
*/
|
|
4
7
|
import type { ExtensionAPI } from "../types/pi-extension.js";
|
|
5
8
|
import type { RepoGraph } from "../core/graph.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../tools/routes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../tools/routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA6CrD;AAgDD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CA2D5E"}
|
package/dist/tools/routes.js
CHANGED
|
@@ -6,12 +6,18 @@ export function registerRoutes(pi) {
|
|
|
6
6
|
label: "HTTP Route Inventory",
|
|
7
7
|
description: `\
|
|
8
8
|
Call when working on web/API projects to inventory ALL HTTP routes.
|
|
9
|
+
Detects route registrations using AST pattern matching for common
|
|
10
|
+
frameworks (Express, Fastify, Koa, Next.js, etc.).
|
|
11
|
+
|
|
9
12
|
Returns: method (GET/POST/PUT/DELETE), path pattern, handler file:line.
|
|
10
13
|
|
|
11
14
|
MUST call before changing any route path or handler signature — a route
|
|
12
15
|
consumer you miss is a broken API endpoint in production. Also surfaces
|
|
13
16
|
routes WITHOUT authentication guards (security risk).
|
|
14
17
|
|
|
18
|
+
Note: Detection only works for projects using recognized web frameworks.
|
|
19
|
+
For CLI tools, libraries, or non-web projects, this will return empty.
|
|
20
|
+
|
|
15
21
|
Scenario: adding a new API endpoint. Changing a route path or parameter
|
|
16
22
|
pattern. Refactoring middleware. Auditing auth coverage across
|
|
17
23
|
endpoints. Before deleting a handler function.`,
|
|
@@ -40,31 +46,77 @@ endpoints. Before deleting a handler function.`,
|
|
|
40
46
|
},
|
|
41
47
|
});
|
|
42
48
|
}
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
// ── Framework detection patterns ────────────────────────────────────────────────
|
|
50
|
+
/**
|
|
51
|
+
* Web framework indicators — package/symbol names that suggest HTTP routing exists.
|
|
52
|
+
* Used to detect whether the project is even a web project before searching for routes.
|
|
53
|
+
*/
|
|
54
|
+
const WEB_FRAMEWORK_INDICATORS = [
|
|
55
|
+
"express",
|
|
56
|
+
"fastify",
|
|
57
|
+
"koa",
|
|
58
|
+
"next",
|
|
59
|
+
"nuxt",
|
|
60
|
+
"hapi",
|
|
61
|
+
"restify",
|
|
62
|
+
"sveltekit",
|
|
63
|
+
"remix",
|
|
64
|
+
"hono",
|
|
65
|
+
"elysia",
|
|
66
|
+
"nestjs",
|
|
67
|
+
"@nestjs/core",
|
|
68
|
+
];
|
|
69
|
+
/**
|
|
70
|
+
* Route registration patterns — function/method names used to register HTTP routes.
|
|
71
|
+
*/
|
|
72
|
+
const ROUTE_REGISTRATION_PATTERNS = [
|
|
73
|
+
// Express-style: app.get("/path", handler)
|
|
74
|
+
// Fastify-style: fastify.get("/path", handler)
|
|
75
|
+
// These are detected by looking at the function name in the call graph
|
|
76
|
+
"app.get",
|
|
77
|
+
"app.post",
|
|
78
|
+
"app.put",
|
|
79
|
+
"app.delete",
|
|
80
|
+
"app.patch",
|
|
81
|
+
"app.all",
|
|
82
|
+
"app.use",
|
|
83
|
+
"app.route",
|
|
84
|
+
"router.get",
|
|
85
|
+
"router.post",
|
|
86
|
+
"router.put",
|
|
87
|
+
"router.delete",
|
|
88
|
+
"router.patch",
|
|
89
|
+
"server.get",
|
|
90
|
+
"server.post",
|
|
47
91
|
];
|
|
48
92
|
export function executeRoutes(graph, _projectRoot) {
|
|
49
|
-
const routeSymbols = [];
|
|
50
|
-
for (const sym of graph.symbols.values()) {
|
|
51
|
-
const lower = sym.name.toLowerCase();
|
|
52
|
-
for (const kw of ROUTE_KEYWORDS) {
|
|
53
|
-
if (lower.includes(kw)) {
|
|
54
|
-
routeSymbols.push(sym);
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
93
|
const lines = [];
|
|
60
94
|
lines.push("## HTTP Route Inventory");
|
|
61
95
|
lines.push("");
|
|
96
|
+
// 检查项目中是否存在 Web 框架依赖
|
|
97
|
+
const hasWebFramework = detectWebFramework(graph);
|
|
98
|
+
if (!hasWebFramework) {
|
|
99
|
+
lines.push("No web framework detected in this project.");
|
|
100
|
+
lines.push("");
|
|
101
|
+
lines.push("Route inventory is only available for projects using recognized web frameworks.");
|
|
102
|
+
lines.push(`Supported frameworks: ${WEB_FRAMEWORK_INDICATORS.slice(0, 6).join(", ")}, etc.`);
|
|
103
|
+
lines.push("");
|
|
104
|
+
lines.push("If this project uses a web framework not in the supported list, route detection will not find routes.");
|
|
105
|
+
return lines.join("\n");
|
|
106
|
+
}
|
|
107
|
+
// 搜索路由注册符号
|
|
108
|
+
const routeSymbols = findRouteSymbols(graph);
|
|
62
109
|
if (routeSymbols.length === 0) {
|
|
63
|
-
lines.push(
|
|
64
|
-
lines.push("
|
|
110
|
+
lines.push(`Web framework detected (${hasWebFramework}), but no route registration patterns found.`);
|
|
111
|
+
lines.push("");
|
|
112
|
+
lines.push("This may mean:");
|
|
113
|
+
lines.push("- Routes are defined in a non-standard way (factory pattern, decorators)");
|
|
114
|
+
lines.push("- Routes are in a file not parsed by tree-sitter");
|
|
115
|
+
lines.push("- The project imports the framework but doesn't register routes");
|
|
65
116
|
return lines.join("\n");
|
|
66
117
|
}
|
|
67
|
-
lines.push(`Found ${routeSymbols.length} route-related symbols
|
|
118
|
+
lines.push(`Framework: **${hasWebFramework}** | Found ${routeSymbols.length} route-related symbols`);
|
|
119
|
+
lines.push("");
|
|
68
120
|
// Group by file
|
|
69
121
|
const byFile = new Map();
|
|
70
122
|
for (const sym of routeSymbols) {
|
|
@@ -81,4 +133,47 @@ export function executeRoutes(graph, _projectRoot) {
|
|
|
81
133
|
}
|
|
82
134
|
return lines.join("\n");
|
|
83
135
|
}
|
|
136
|
+
// ── Helpers ─────────────────────────────────────────────────────────────────────
|
|
137
|
+
/**
|
|
138
|
+
* 检测项目中是否存在 Web 框架依赖。
|
|
139
|
+
* 通过文件导入(fileImports)查找框架包名。
|
|
140
|
+
*/
|
|
141
|
+
function detectWebFramework(graph) {
|
|
142
|
+
// 检查文件级导入
|
|
143
|
+
for (const [, imports] of graph.fileImports) {
|
|
144
|
+
for (const imp of imports) {
|
|
145
|
+
const lower = imp.toLowerCase();
|
|
146
|
+
for (const fw of WEB_FRAMEWORK_INDICATORS) {
|
|
147
|
+
if (lower.includes(fw)) {
|
|
148
|
+
return fw;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* 查找路由注册符号 —— 通过符号调用链检测 .get()/.post() 等模式。
|
|
157
|
+
*/
|
|
158
|
+
function findRouteSymbols(graph) {
|
|
159
|
+
const results = [];
|
|
160
|
+
for (const sym of graph.symbols.values()) {
|
|
161
|
+
const lower = sym.name.toLowerCase();
|
|
162
|
+
// 精确匹配路由注册模式名
|
|
163
|
+
for (const pattern of ROUTE_REGISTRATION_PATTERNS) {
|
|
164
|
+
if (lower === pattern || lower.endsWith("." + pattern.split(".").pop())) {
|
|
165
|
+
results.push(sym);
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// 检测 handler 函数的 HTTP 方法注解/装饰器
|
|
170
|
+
if (lower.startsWith("handle") || lower.endsWith("handler") || lower.endsWith("controller")) {
|
|
171
|
+
const isDuplicate = results.some((r) => r.id === sym.id);
|
|
172
|
+
if (!isDuplicate) {
|
|
173
|
+
results.push(sym);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return results;
|
|
178
|
+
}
|
|
84
179
|
//# sourceMappingURL=routes.js.map
|
package/dist/tools/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../tools/routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../tools/routes.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,EAAgB;IAC9C,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE;;;;;;;;;;;;;;;;+CAgBgC;QAC7C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACnC,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI;YAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;YAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI;4BACT,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gCACf,cAAc,EAAE,KAAK;gCACrB,OAAO,EAAE,QAAQ;gCACjB,MAAM,EAAE,IAAI;gCACZ,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;6BACzB,CAAC;4BACH,CAAC,CAAC,MAAM;qBACT;iBACD;aACD,CAAC;QACH,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,mFAAmF;AAEnF;;;GAGG;AACH,MAAM,wBAAwB,GAAG;IAChC,SAAS;IACT,SAAS;IACT,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,WAAW;IACX,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,cAAc;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,2BAA2B,GAAG;IACnC,2CAA2C;IAC3C,+CAA+C;IAC/C,uEAAuE;IACvE,SAAS;IACT,UAAU;IACV,SAAS;IACT,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,cAAc;IACd,YAAY;IACZ,aAAa;CACb,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,YAAoB;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,qBAAqB;IACrB,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACT,iFAAiF,CACjF,CAAC;QACF,KAAK,CAAC,IAAI,CACT,yBAAyB,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAChF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACT,uGAAuG,CACvG,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,WAAW;IACX,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,2BAA2B,eAAe,8CAA8C,CAAC,CAAC;QACrG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CACT,gBAAgB,eAAe,cAAc,YAAY,CAAC,MAAM,wBAAwB,CACxF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,gBAAgB;IAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CACT,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC5E,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,mFAAmF;AAEnF;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAgB;IAC3C,UAAU;IACV,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,KAAK,MAAM,EAAE,IAAI,wBAAwB,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAgB;IACzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,cAAc;QACd,KAAK,MAAM,OAAO,IAAI,2BAA2B,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM;YACP,CAAC;QACF,CAAC;QAED,+BAA+B;QAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7F,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state_map.d.ts","sourceRoot":"","sources":["../../tools/state_map.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA0CvD;
|
|
1
|
+
{"version":3,"file":"state_map.d.ts","sourceRoot":"","sources":["../../tools/state_map.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA0CvD;AAaD,wBAAgB,eAAe,CAC9B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,GAChB,MAAM,CA+ER"}
|
package/dist/tools/state_map.js
CHANGED
|
@@ -43,6 +43,15 @@ type's members.`,
|
|
|
43
43
|
},
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
+
// ── 可作为 state map 分析的符号类型 ────────────────────────────────────────────
|
|
47
|
+
/** 支持 state map 分析的符号 kind */
|
|
48
|
+
const STATE_MAP_KINDS = new Set([
|
|
49
|
+
"enum",
|
|
50
|
+
"class", // 可能包含常量成员或状态机
|
|
51
|
+
"interface", // 可展示成员结构
|
|
52
|
+
"type_alias", // union type 适合 state map
|
|
53
|
+
"const",
|
|
54
|
+
]);
|
|
46
55
|
export function executeStateMap(graph, symbolName) {
|
|
47
56
|
const targets = [];
|
|
48
57
|
for (const sym of graph.symbols.values()) {
|
|
@@ -55,6 +64,16 @@ export function executeStateMap(graph, symbolName) {
|
|
|
55
64
|
}
|
|
56
65
|
const lines = [];
|
|
57
66
|
for (const target of targets) {
|
|
67
|
+
// 检查符号类型是否适合 state map 分析
|
|
68
|
+
if (!STATE_MAP_KINDS.has(target.kind)) {
|
|
69
|
+
lines.push(`## ${target.kind} \`${target.name}\` — cannot generate state map`);
|
|
70
|
+
lines.push("");
|
|
71
|
+
lines.push(`Symbol \`${target.name}\` is a ${target.kind}, not an enum, const group, or state machine.`);
|
|
72
|
+
lines.push("State map analysis requires: enum, class (constants/state machine), interface, type_alias (union type), or const.");
|
|
73
|
+
lines.push("");
|
|
74
|
+
lines.push(`Use \`shazam_codequery --symbol ${target.name}\` or \`shazam_refs --symbol ${target.name}\` instead.`);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
58
77
|
lines.push(`## State Map: ${target.kind} \`${target.name}\` (${target.file}:${target.line})`);
|
|
59
78
|
lines.push("");
|
|
60
79
|
// Members: search for symbols that reference this one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state_map.js","sourceRoot":"","sources":["../../tools/state_map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state_map.js","sourceRoot":"","sources":["../../tools/state_map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../tools/symbol.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../tools/symbol.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,kBAAkB,CAAC;AAG1D,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAoCrD;AAED,wBAAgB,aAAa,CAC5B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,CA0BR;AAED,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,CAiBR"}
|
package/dist/tools/symbol.js
CHANGED
|
@@ -5,12 +5,16 @@ export function registerSymbol(pi) {
|
|
|
5
5
|
name: "shazam_symbol",
|
|
6
6
|
label: "Symbol Lookup",
|
|
7
7
|
description: `\
|
|
8
|
-
|
|
9
|
-
signature, file location, PageRank score, callers, and callees
|
|
10
|
-
Faster than grep for
|
|
8
|
+
MUST call to look up a symbol by name — returns definition, kind,
|
|
9
|
+
signature, file location, PageRank score, callers, and callees in one
|
|
10
|
+
call. Faster and more precise than grep for symbol lookup.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
Use BEFORE referencing any symbol by name in code — you confirm it
|
|
13
|
+
exists AND understand its signature, not just its file location.
|
|
14
|
+
|
|
15
|
+
Scenario: before importing a module. Before calling a function. When
|
|
16
|
+
you see an unfamiliar symbol name and need its definition. Checking
|
|
17
|
+
a symbol's visibility (public/private/exported).`,
|
|
14
18
|
parameters: Type.Object({
|
|
15
19
|
name: Type.String(),
|
|
16
20
|
file: Type.Optional(Type.String()),
|
package/dist/tools/symbol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../tools/symbol.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,EAAgB;IAC9C,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../tools/symbol.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/verify.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* pi-shazam tools/verify — Post-edit diagnostics gate.
|
|
3
3
|
*
|
|
4
|
-
* Runs graph analysis → risk assessment → orphan detection
|
|
5
|
-
*
|
|
6
|
-
* when LSP is unavailable, annotated in output.
|
|
4
|
+
* Runs graph analysis → risk assessment → orphan detection.
|
|
5
|
+
* Falls back to tree-sitter only when LSP is unavailable.
|
|
7
6
|
*/
|
|
8
7
|
import type { ExtensionAPI } from "../types/pi-extension.js";
|
|
9
8
|
import type { RepoGraph } from "../core/graph.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../tools/verify.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../tools/verify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA6CrD;AAID,MAAM,WAAW,aAAa;IAC7B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GACzB,MAAM,CAqFR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GACzB,MAAM,CAsCR"}
|
package/dist/tools/verify.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
2
|
import { scanProject } from "../core/scanner.js";
|
|
3
3
|
import { diffBaseline, loadBaseline } from "../core/cache.js";
|
|
4
|
+
import { isNonSourceFile } from "./hotspots.js";
|
|
4
5
|
export function registerVerify(pi) {
|
|
5
6
|
pi.registerTool({
|
|
6
7
|
name: "shazam_verify",
|
|
7
8
|
label: "Verify Changes",
|
|
8
9
|
description: `\
|
|
9
10
|
MUST call after EVERY non-trivial edit or write. This is the evidence
|
|
10
|
-
gate — it runs git diff → risk assessment →
|
|
11
|
-
|
|
12
|
-
call-graph consistency check → contract risk analysis. All in one
|
|
13
|
-
pass.
|
|
11
|
+
gate — it runs git diff (baseline) → risk assessment → orphan symbol
|
|
12
|
+
detection. All in one pass.
|
|
14
13
|
|
|
15
14
|
If verify fails, your code has problems. Fix them BEFORE committing.
|
|
16
15
|
Use --quick for a 2s risk-only check after each edit. Use full verify
|
|
@@ -90,7 +89,7 @@ export function executeVerify(graph, projectRoot, options = {}) {
|
|
|
90
89
|
const orphans = findOrphanSymbols(graph);
|
|
91
90
|
if (orphans.length > 0) {
|
|
92
91
|
lines.push("### Potential Orphan Symbols");
|
|
93
|
-
lines.push(`Found ${orphans.length} symbols with zero incoming references:`);
|
|
92
|
+
lines.push(`Found ${orphans.length} symbols with zero incoming references (config files excluded):`);
|
|
94
93
|
for (const orphan of orphans.slice(0, 10)) {
|
|
95
94
|
lines.push(`- ${orphan.kind} \`${orphan.name}\` — ${orphan.file}:${orphan.line}`);
|
|
96
95
|
}
|
|
@@ -115,10 +114,7 @@ export function executeVerify(graph, projectRoot, options = {}) {
|
|
|
115
114
|
// ── Tree-sitter parse status (full mode) ─────────────────────────────
|
|
116
115
|
if (!quick) {
|
|
117
116
|
lines.push("### Analysis");
|
|
118
|
-
lines.push(`Tree-sitter parsing: ${symbolCount} symbols extracted
|
|
119
|
-
lines.push("");
|
|
120
|
-
// LSP note
|
|
121
|
-
lines.push("*LSP enrichment not available in direct tool mode. Use repomap verify for full LSP diagnostics.*");
|
|
117
|
+
lines.push(`Tree-sitter parsing: ${symbolCount} symbols extracted from source files.`);
|
|
122
118
|
lines.push("");
|
|
123
119
|
}
|
|
124
120
|
return lines.join("\n");
|
|
@@ -190,6 +186,9 @@ function assessRisk(_graph, diff, orphans) {
|
|
|
190
186
|
function findOrphanSymbols(graph) {
|
|
191
187
|
const orphans = [];
|
|
192
188
|
for (const sym of graph.symbols.values()) {
|
|
189
|
+
// 排除配置文件中的符号
|
|
190
|
+
if (isNonSourceFile(sym.file))
|
|
191
|
+
continue;
|
|
193
192
|
const incoming = graph.incoming.get(sym.id);
|
|
194
193
|
if (!incoming || incoming.length === 0) {
|
|
195
194
|
// Skip entry-point-like symbols (exported, high pagerank)
|
package/dist/tools/verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../tools/verify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../tools/verify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-shazam",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Pi coding agent native codebase awareness extension - Shazam: power from multiple sources (repomap, pi-lens, serena MCP, tree-sitter, LSP) unified into one",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|