pi-shazam 0.3.2 → 0.4.1
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/README.md +8 -4
- package/dist/core/baseline.d.ts +73 -0
- package/dist/core/baseline.d.ts.map +1 -0
- package/dist/core/baseline.js +143 -0
- package/dist/core/baseline.js.map +1 -0
- package/dist/core/cache.d.ts +0 -8
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +1 -29
- package/dist/core/cache.js.map +1 -1
- package/dist/core/encoding.d.ts +1 -0
- package/dist/core/encoding.d.ts.map +1 -1
- package/dist/core/encoding.js +17 -1
- package/dist/core/encoding.js.map +1 -1
- package/dist/core/filter.d.ts +20 -0
- package/dist/core/filter.d.ts.map +1 -1
- package/dist/core/filter.js +38 -7
- package/dist/core/filter.js.map +1 -1
- package/dist/core/git-hooks.d.ts.map +1 -1
- package/dist/core/git-hooks.js +9 -3
- package/dist/core/git-hooks.js.map +1 -1
- package/dist/core/graph.d.ts +2 -0
- package/dist/core/graph.d.ts.map +1 -1
- package/dist/core/graph.js +9 -0
- package/dist/core/graph.js.map +1 -1
- package/dist/core/output.d.ts +1 -0
- package/dist/core/output.d.ts.map +1 -1
- package/dist/core/output.js +4 -5
- package/dist/core/output.js.map +1 -1
- package/dist/core/scanner.d.ts.map +1 -1
- package/dist/core/scanner.js +113 -16
- package/dist/core/scanner.js.map +1 -1
- package/dist/core/treesitter.js +1 -1
- package/dist/core/treesitter.js.map +1 -1
- package/dist/hooks/after-write.d.ts +15 -13
- package/dist/hooks/after-write.d.ts.map +1 -1
- package/dist/hooks/after-write.js +241 -45
- package/dist/hooks/after-write.js.map +1 -1
- package/dist/hooks/before-start.d.ts.map +1 -1
- package/dist/hooks/before-start.js +26 -5
- package/dist/hooks/before-start.js.map +1 -1
- package/dist/hooks/pre-edit.d.ts +30 -0
- package/dist/hooks/pre-edit.d.ts.map +1 -0
- package/dist/hooks/pre-edit.js +152 -0
- package/dist/hooks/pre-edit.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lsp/client.d.ts +2 -1
- package/dist/lsp/client.d.ts.map +1 -1
- package/dist/lsp/client.js +74 -54
- package/dist/lsp/client.js.map +1 -1
- package/dist/lsp/manager.d.ts.map +1 -1
- package/dist/lsp/manager.js +6 -1
- package/dist/lsp/manager.js.map +1 -1
- package/dist/mcp/entry.js +2 -2
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +13 -2
- package/dist/mcp/tools.js.map +1 -1
- package/dist/tools/call_chain.d.ts.map +1 -1
- package/dist/tools/call_chain.js +3 -1
- package/dist/tools/call_chain.js.map +1 -1
- package/dist/tools/codesearch.d.ts.map +1 -1
- package/dist/tools/codesearch.js +37 -10
- package/dist/tools/codesearch.js.map +1 -1
- package/dist/tools/file_detail.d.ts.map +1 -1
- package/dist/tools/file_detail.js +91 -10
- package/dist/tools/file_detail.js.map +1 -1
- package/dist/tools/hover.d.ts +1 -0
- package/dist/tools/hover.d.ts.map +1 -1
- package/dist/tools/hover.js +1 -1
- package/dist/tools/hover.js.map +1 -1
- package/dist/tools/impact.d.ts.map +1 -1
- package/dist/tools/impact.js +3 -0
- package/dist/tools/impact.js.map +1 -1
- package/dist/tools/rename_symbol.d.ts.map +1 -1
- package/dist/tools/rename_symbol.js +6 -2
- package/dist/tools/rename_symbol.js.map +1 -1
- package/dist/tools/safe_delete.d.ts.map +1 -1
- package/dist/tools/safe_delete.js +3 -1
- package/dist/tools/safe_delete.js.map +1 -1
- package/dist/tools/symbol.d.ts.map +1 -1
- package/dist/tools/symbol.js +7 -3
- package/dist/tools/symbol.js.map +1 -1
- package/dist/tools/type_hierarchy.d.ts.map +1 -1
- package/dist/tools/type_hierarchy.js +2 -1
- package/dist/tools/type_hierarchy.js.map +1 -1
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +19 -41
- package/dist/tools/verify.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ pi-shazam answers the questions every agent should ask before touching code:
|
|
|
16
16
|
- "Who calls this function?" → `shazam_call_chain`
|
|
17
17
|
- "Did my edit introduce errors?" → `shazam_verify`
|
|
18
18
|
|
|
19
|
-
Under the hood it parses **every source file** with tree-sitter (
|
|
19
|
+
Under the hood it parses **every source file** with tree-sitter (14 languages), builds a **full dependency graph** (symbols, imports, calls, references), ranks them with **PageRank**, and optionally enriches results with **LSP diagnostics** (6 languages). The agent gets precise, ranked answers in one call — no grep, no guesswork.
|
|
20
20
|
|
|
21
21
|
## Primary: Pi Package
|
|
22
22
|
|
|
@@ -26,7 +26,7 @@ pi-shazam is a **Pi coding agent package** — the native, first-class experienc
|
|
|
26
26
|
pi install npm:pi-shazam
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
All
|
|
29
|
+
All 14 analysis tools register as native Pi tools. Automatic hooks inject structural overviews into the system prompt, verify code after every edit, log tool usage, and guard against risky multi-file edits. This is the recommended setup for Pi users.
|
|
30
30
|
|
|
31
31
|
## Also: MCP Server
|
|
32
32
|
|
|
@@ -45,7 +45,7 @@ Supported clients: Cursor, Claude Desktop, Windsurf, Qoder, Kimi Code, and any t
|
|
|
45
45
|
}
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
The same
|
|
48
|
+
The same 14 tools, the same analysis engine, the same output format. MCP tools sync with Pi tools in every release.
|
|
49
49
|
|
|
50
50
|
## Tools
|
|
51
51
|
|
|
@@ -83,8 +83,11 @@ These run automatically when installed as a Pi package:
|
|
|
83
83
|
| `after_write/edit` | Agent writes/edits | Auto-verifies changes, reports structural impact |
|
|
84
84
|
| `shazam-guide` | Key lifecycle events | Nudges agent to use shazam tools at the right moments |
|
|
85
85
|
| `tool-logger` | Every shazam call | Logs usage to `~/.pi/hooks/audit/shazam-calls.log` for optimization |
|
|
86
|
+
| `pre-edit-guard` | Before write/edit | Detects multi-file edits and suggests `shazam_impact` first |
|
|
86
87
|
|
|
87
|
-
Plus
|
|
88
|
+
Plus five commands: `/shazam-setup` (LSP detection), `/shazam-doctor` (health check),
|
|
89
|
+
`/shazam-install-git-hooks` (pre-commit hook), `/shazam-remove-git-hooks` (undo),
|
|
90
|
+
and `/shazam-pre-commit-verify` (internal hook script).
|
|
88
91
|
|
|
89
92
|
## Supported Languages
|
|
90
93
|
|
|
@@ -107,6 +110,7 @@ pi-shazam (npm package)
|
|
|
107
110
|
├── hooks/
|
|
108
111
|
│ ├── before-start.ts inject overview into prompt
|
|
109
112
|
│ ├── after-write.ts auto-verify after edits
|
|
113
|
+
│ ├── pre-edit.ts pre-edit guard for multi-file edits
|
|
110
114
|
│ ├── shazam-guide.ts nudge agent to use tools
|
|
111
115
|
│ └── tool-logger.ts usage analytics
|
|
112
116
|
│
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pi-shazam core/baseline — In-memory session baseline for diff-aware verify.
|
|
3
|
+
*
|
|
4
|
+
* Captures project health at session start (LSP errors/warnings, orphan
|
|
5
|
+
* symbols, graph edges) so post-edit verify output can show what changed
|
|
6
|
+
* rather than just absolute numbers.
|
|
7
|
+
*
|
|
8
|
+
* The baseline is stored in-memory (not persisted across sessions) and
|
|
9
|
+
* resets on branch switch. If LSP is not ready at session start, the
|
|
10
|
+
* baseline is deferred to the first edit trigger.
|
|
11
|
+
*/
|
|
12
|
+
import type { RepoGraph } from "./graph.js";
|
|
13
|
+
export interface SessionBaseline {
|
|
14
|
+
branch: string;
|
|
15
|
+
commit: string;
|
|
16
|
+
timestamp: string;
|
|
17
|
+
lspErrors: number;
|
|
18
|
+
lspWarnings: number;
|
|
19
|
+
orphanSymbols: number;
|
|
20
|
+
graphEdges: number;
|
|
21
|
+
symbolCount: number;
|
|
22
|
+
fileCount: number;
|
|
23
|
+
}
|
|
24
|
+
export interface BaselineDiff {
|
|
25
|
+
lspErrors: number;
|
|
26
|
+
lspWarnings: number;
|
|
27
|
+
orphanSymbols: number;
|
|
28
|
+
graphEdges: number;
|
|
29
|
+
symbolCount: number;
|
|
30
|
+
fileCount: number;
|
|
31
|
+
newOrphans: {
|
|
32
|
+
name: string;
|
|
33
|
+
kind: string;
|
|
34
|
+
file: string;
|
|
35
|
+
line: number;
|
|
36
|
+
}[];
|
|
37
|
+
removedEdges: number;
|
|
38
|
+
addedEdges: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the current session baseline.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getBaseline(): SessionBaseline | null;
|
|
44
|
+
/**
|
|
45
|
+
* Set the session baseline.
|
|
46
|
+
*/
|
|
47
|
+
export declare function setBaseline(baseline: SessionBaseline): void;
|
|
48
|
+
/**
|
|
49
|
+
* Clear the session baseline (on branch switch).
|
|
50
|
+
*/
|
|
51
|
+
export declare function clearBaseline(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a baseline is available.
|
|
54
|
+
*/
|
|
55
|
+
export declare function hasBaseline(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Create a baseline from the current graph state and LSP data.
|
|
58
|
+
*/
|
|
59
|
+
export declare function createBaseline(graph: RepoGraph, lspErrors: number, lspWarnings: number, branch: string, commit: string): SessionBaseline;
|
|
60
|
+
/**
|
|
61
|
+
* Compute a diff between the current graph and the session baseline.
|
|
62
|
+
* Returns null if no baseline exists.
|
|
63
|
+
*/
|
|
64
|
+
export declare function diffFromBaseline(graph: RepoGraph, lspErrors: number, lspWarnings: number): BaselineDiff | null;
|
|
65
|
+
/**
|
|
66
|
+
* Format a baseline diff section for text output.
|
|
67
|
+
*/
|
|
68
|
+
export declare function formatBaselineDiff(diff: BaselineDiff): string;
|
|
69
|
+
/**
|
|
70
|
+
* Format a baseline summary section for tool output.
|
|
71
|
+
*/
|
|
72
|
+
export declare function formatBaselineSummary(baseline: SessionBaseline): string;
|
|
73
|
+
//# sourceMappingURL=baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../core/baseline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACnB;AAOD;;GAEG;AACH,wBAAgB,WAAW,IAAI,eAAe,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACZ,eAAe,CA0BjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA2B9G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA4B7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAUvE"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pi-shazam core/baseline — In-memory session baseline for diff-aware verify.
|
|
3
|
+
*
|
|
4
|
+
* Captures project health at session start (LSP errors/warnings, orphan
|
|
5
|
+
* symbols, graph edges) so post-edit verify output can show what changed
|
|
6
|
+
* rather than just absolute numbers.
|
|
7
|
+
*
|
|
8
|
+
* The baseline is stored in-memory (not persisted across sessions) and
|
|
9
|
+
* resets on branch switch. If LSP is not ready at session start, the
|
|
10
|
+
* baseline is deferred to the first edit trigger.
|
|
11
|
+
*/
|
|
12
|
+
import { getGraphEdgeCount } from "./graph.js";
|
|
13
|
+
import { findOrphans } from "./filter.js";
|
|
14
|
+
// ── Session baseline state (in-memory) ────────────────────────────────────────
|
|
15
|
+
let _baseline = null;
|
|
16
|
+
let _previousOrphans = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* Get the current session baseline.
|
|
19
|
+
*/
|
|
20
|
+
export function getBaseline() {
|
|
21
|
+
return _baseline;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Set the session baseline.
|
|
25
|
+
*/
|
|
26
|
+
export function setBaseline(baseline) {
|
|
27
|
+
_baseline = baseline;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Clear the session baseline (on branch switch).
|
|
31
|
+
*/
|
|
32
|
+
export function clearBaseline() {
|
|
33
|
+
_baseline = null;
|
|
34
|
+
_previousOrphans = new Map();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if a baseline is available.
|
|
38
|
+
*/
|
|
39
|
+
export function hasBaseline() {
|
|
40
|
+
return _baseline !== null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create a baseline from the current graph state and LSP data.
|
|
44
|
+
*/
|
|
45
|
+
export function createBaseline(graph, lspErrors, lspWarnings, branch, commit) {
|
|
46
|
+
const edgeCount = getGraphEdgeCount(graph);
|
|
47
|
+
const orphanCount = findOrphans(graph).length;
|
|
48
|
+
const baseline = {
|
|
49
|
+
branch,
|
|
50
|
+
commit,
|
|
51
|
+
timestamp: new Date().toISOString(),
|
|
52
|
+
lspErrors,
|
|
53
|
+
lspWarnings,
|
|
54
|
+
orphanSymbols: orphanCount,
|
|
55
|
+
graphEdges: edgeCount,
|
|
56
|
+
symbolCount: graph.symbols.size,
|
|
57
|
+
fileCount: graph.fileSymbols.size,
|
|
58
|
+
};
|
|
59
|
+
_baseline = baseline;
|
|
60
|
+
// Cache current orphan set for future diff
|
|
61
|
+
_previousOrphans = new Map();
|
|
62
|
+
for (const orphan of findOrphans(graph)) {
|
|
63
|
+
_previousOrphans.set(orphan.name + orphan.file, orphan);
|
|
64
|
+
}
|
|
65
|
+
return baseline;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Compute a diff between the current graph and the session baseline.
|
|
69
|
+
* Returns null if no baseline exists.
|
|
70
|
+
*/
|
|
71
|
+
export function diffFromBaseline(graph, lspErrors, lspWarnings) {
|
|
72
|
+
if (!_baseline)
|
|
73
|
+
return null;
|
|
74
|
+
const edgeCount = getGraphEdgeCount(graph);
|
|
75
|
+
const currentOrphans = findOrphans(graph);
|
|
76
|
+
const currentOrphanCount = currentOrphans.length;
|
|
77
|
+
// Find new orphans (not in previous baseline)
|
|
78
|
+
const newOrphans = currentOrphans.filter((o) => !_previousOrphans.has(o.name + o.file));
|
|
79
|
+
// Count edge changes
|
|
80
|
+
const previousEdges = _baseline.graphEdges;
|
|
81
|
+
const addedEdges = edgeCount > previousEdges ? edgeCount - previousEdges : 0;
|
|
82
|
+
const removedEdges = edgeCount < previousEdges ? previousEdges - edgeCount : 0;
|
|
83
|
+
return {
|
|
84
|
+
lspErrors: lspErrors - _baseline.lspErrors,
|
|
85
|
+
lspWarnings: lspWarnings - _baseline.lspWarnings,
|
|
86
|
+
orphanSymbols: currentOrphanCount - _baseline.orphanSymbols,
|
|
87
|
+
graphEdges: edgeCount - _baseline.graphEdges,
|
|
88
|
+
symbolCount: graph.symbols.size - _baseline.symbolCount,
|
|
89
|
+
fileCount: graph.fileSymbols.size - _baseline.fileCount,
|
|
90
|
+
newOrphans: newOrphans.slice(0, 20),
|
|
91
|
+
removedEdges,
|
|
92
|
+
addedEdges,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Format a baseline diff section for text output.
|
|
97
|
+
*/
|
|
98
|
+
export function formatBaselineDiff(diff) {
|
|
99
|
+
const lines = [];
|
|
100
|
+
lines.push("### Changes from Session Baseline");
|
|
101
|
+
lines.push("");
|
|
102
|
+
const changes = [];
|
|
103
|
+
if (diff.lspErrors !== 0)
|
|
104
|
+
changes.push(`LSP errors: ${diff.lspErrors > 0 ? "+" : ""}${diff.lspErrors}`);
|
|
105
|
+
if (diff.lspWarnings !== 0)
|
|
106
|
+
changes.push(`LSP warnings: ${diff.lspWarnings > 0 ? "+" : ""}${diff.lspWarnings}`);
|
|
107
|
+
if (diff.orphanSymbols !== 0)
|
|
108
|
+
changes.push(`Orphans: ${diff.orphanSymbols > 0 ? "+" : ""}${diff.orphanSymbols}`);
|
|
109
|
+
if (diff.graphEdges !== 0)
|
|
110
|
+
changes.push(`Graph edges: ${diff.graphEdges > 0 ? "+" : ""}${diff.graphEdges}`);
|
|
111
|
+
if (diff.symbolCount !== 0)
|
|
112
|
+
changes.push(`Symbols: ${diff.symbolCount > 0 ? "+" : ""}${diff.symbolCount}`);
|
|
113
|
+
if (changes.length > 0) {
|
|
114
|
+
lines.push(changes.join(" | "));
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
lines.push("No significant changes from baseline.");
|
|
118
|
+
}
|
|
119
|
+
if (diff.newOrphans.length > 0) {
|
|
120
|
+
lines.push("");
|
|
121
|
+
lines.push("### New Orphan Symbols");
|
|
122
|
+
for (const o of diff.newOrphans) {
|
|
123
|
+
lines.push(` - ${o.kind} \`${o.name}\` — ${o.file}:${o.line}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
lines.push("");
|
|
127
|
+
return lines.join("\n");
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Format a baseline summary section for tool output.
|
|
131
|
+
*/
|
|
132
|
+
export function formatBaselineSummary(baseline) {
|
|
133
|
+
const lines = [];
|
|
134
|
+
lines.push("### Session Baseline (captured at session start)");
|
|
135
|
+
lines.push("");
|
|
136
|
+
lines.push(`Branch: ${baseline.branch} | Commit: ${baseline.commit.slice(0, 8)}`);
|
|
137
|
+
lines.push(`LSP errors: ${baseline.lspErrors} | LSP warnings: ${baseline.lspWarnings}`);
|
|
138
|
+
lines.push(`Orphans: ${baseline.orphanSymbols} | Graph edges: ${baseline.graphEdges}`);
|
|
139
|
+
lines.push(`Symbols: ${baseline.symbolCount} | Files: ${baseline.fileCount}`);
|
|
140
|
+
lines.push("");
|
|
141
|
+
return lines.join("\n");
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../core/baseline.ts"],"names":[],"mappings":"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"}
|
package/dist/core/cache.d.ts
CHANGED
|
@@ -30,14 +30,6 @@ export declare function saveBaseline(graph: RepoGraph, projectPath: string): str
|
|
|
30
30
|
* Load a previously saved baseline snapshot.
|
|
31
31
|
*/
|
|
32
32
|
export declare function loadBaseline(projectPath: string): SerializedGraph | null;
|
|
33
|
-
/**
|
|
34
|
-
* Save the last snapshot (timestamp + metadata only, not full graph).
|
|
35
|
-
*/
|
|
36
|
-
export declare function saveLastSnapshot(projectPath: string, metadata: Record<string, unknown>): string;
|
|
37
|
-
/**
|
|
38
|
-
* Load the last snapshot metadata.
|
|
39
|
-
*/
|
|
40
|
-
export declare function loadLastSnapshot(projectPath: string): Record<string, unknown> | null;
|
|
41
33
|
/**
|
|
42
34
|
* Compute the difference between the current graph and a saved baseline.
|
|
43
35
|
* Returns a structured diff with added/removed/modified symbols and edges.
|
package/dist/core/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../core/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EACN,cAAc,EACd,eAAe,EACf,aAAa,EAGb,qBAAqB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAMtF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACrB,CAOA;AAID;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM1E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAaxE;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../core/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EACN,cAAc,EACd,eAAe,EACf,aAAa,EAGb,qBAAqB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAMtF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACrB,CAOA;AAID;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM1E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAaxE;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAapF;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAIzG;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkBvE;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/core/cache.js
CHANGED
|
@@ -67,34 +67,6 @@ export function loadBaseline(projectPath) {
|
|
|
67
67
|
return null;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Save the last snapshot (timestamp + metadata only, not full graph).
|
|
72
|
-
*/
|
|
73
|
-
export function saveLastSnapshot(projectPath, metadata) {
|
|
74
|
-
const { lastSnapshot } = getCachePaths(projectPath);
|
|
75
|
-
const data = {
|
|
76
|
-
timestamp: Date.now(),
|
|
77
|
-
...metadata,
|
|
78
|
-
};
|
|
79
|
-
mkdirSync(dirname(lastSnapshot), { recursive: true });
|
|
80
|
-
writeFileSync(lastSnapshot, JSON.stringify(data, null, 2), "utf-8");
|
|
81
|
-
return lastSnapshot;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Load the last snapshot metadata.
|
|
85
|
-
*/
|
|
86
|
-
export function loadLastSnapshot(projectPath) {
|
|
87
|
-
const { lastSnapshot } = getCachePaths(projectPath);
|
|
88
|
-
if (!existsSync(lastSnapshot))
|
|
89
|
-
return null;
|
|
90
|
-
try {
|
|
91
|
-
const raw = readFileSync(lastSnapshot, "utf-8");
|
|
92
|
-
return JSON.parse(raw);
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
70
|
// ── Graph diff (current vs baseline) ─────────────────────────────────────────
|
|
99
71
|
/**
|
|
100
72
|
* Compute the difference between the current graph and a saved baseline.
|
|
@@ -114,7 +86,7 @@ export function diffBaseline(graph, projectPath) {
|
|
|
114
86
|
return compareGraphSnapshots(currentSymbols, currentEdges, baseline.symbols, baseline.edges);
|
|
115
87
|
}
|
|
116
88
|
// ── Persistent graph cache (V2) ──────────────────────────────────────────────
|
|
117
|
-
const CACHE_MAX_AGE_MS =
|
|
89
|
+
const CACHE_MAX_AGE_MS = 24 * 60 * 60 * 1000; // 1 day — prevents stale cache in active projects (fixes #100)
|
|
118
90
|
/**
|
|
119
91
|
* Save the full graph + file mtimes to a persistent cache file.
|
|
120
92
|
*/
|
package/dist/core/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../core/cache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../core/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/core/encoding.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../core/encoding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../core/encoding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6BzD;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BrD;AAiCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/E"}
|
package/dist/core/encoding.js
CHANGED
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
* Reads files with UTF-8 → GBK → GB2312 fallback.
|
|
5
5
|
* Ported from repomap's encoding detection pattern.
|
|
6
6
|
*/
|
|
7
|
-
import { readFileSync } from "node:fs";
|
|
7
|
+
import { readFileSync, statSync } from "node:fs";
|
|
8
8
|
import * as iconv from "iconv-lite";
|
|
9
|
+
// Tree-sitter's MAX_PARSE_SIZE — skip files larger than 10MB
|
|
10
|
+
const MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
9
11
|
// ── Encoding detection and reading ───────────────────────────────────────────
|
|
10
12
|
/**
|
|
11
13
|
* Read a file with adaptive encoding fallback:
|
|
@@ -14,8 +16,22 @@ import * as iconv from "iconv-lite";
|
|
|
14
16
|
* 3. Try GB2312
|
|
15
17
|
*
|
|
16
18
|
* Returns the decoded string content.
|
|
19
|
+
* Throws if the file exceeds MAX_FILE_SIZE (10MB) to prevent OOM.
|
|
17
20
|
*/
|
|
18
21
|
export function readFileAdaptive(filePath) {
|
|
22
|
+
// Check file size before reading to prevent OOM
|
|
23
|
+
try {
|
|
24
|
+
const stat = statSync(filePath);
|
|
25
|
+
if (stat.size > MAX_FILE_SIZE) {
|
|
26
|
+
throw new Error(`File too large (${stat.size} bytes > ${MAX_FILE_SIZE}): ${filePath}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
if (err instanceof Error && err.message.startsWith("File too large")) {
|
|
31
|
+
throw err; // re-throw our size error
|
|
32
|
+
}
|
|
33
|
+
// stat failed (permission, missing) — fall through to readFileSync which will error with a clearer message
|
|
34
|
+
}
|
|
19
35
|
const buffer = readFileSync(filePath);
|
|
20
36
|
// Try UTF-8 first
|
|
21
37
|
const utf8Result = tryDecode(buffer, "utf-8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../core/encoding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../core/encoding.ts"],"names":[],"mappings":"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"}
|
package/dist/core/filter.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* verify, overview, and check tools. Keeps filtering consistent across the
|
|
6
6
|
* codebase and avoids pattern duplication.
|
|
7
7
|
*/
|
|
8
|
+
import type { RepoGraph } from "./graph.js";
|
|
8
9
|
/**
|
|
9
10
|
* Directories to skip during project scanning and LSP detection.
|
|
10
11
|
*
|
|
@@ -14,4 +15,23 @@
|
|
|
14
15
|
*/
|
|
15
16
|
export declare const SKIP_DIRS: Set<string>;
|
|
16
17
|
export declare function isNonSourceFile(file: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Shared orphan symbol detection.
|
|
20
|
+
*
|
|
21
|
+
* Single implementation used by baseline diff and verify tools.
|
|
22
|
+
* Uses isNonSourceFile() for consistent filtering (avoids false matches
|
|
23
|
+
* from naive includes("node_modules")).
|
|
24
|
+
*
|
|
25
|
+
* Returns symbols with zero incoming references, excluding:
|
|
26
|
+
* - Non-source files (config, lockfiles, node_modules, dist)
|
|
27
|
+
* - High-PageRank exported symbols (likely public API)
|
|
28
|
+
* - Anonymous functions (no name to reference)
|
|
29
|
+
* - Test files
|
|
30
|
+
*/
|
|
31
|
+
export declare function findOrphans(graph: RepoGraph): {
|
|
32
|
+
name: string;
|
|
33
|
+
kind: string;
|
|
34
|
+
file: string;
|
|
35
|
+
line: number;
|
|
36
|
+
}[];
|
|
17
37
|
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoB5C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,aA4BpB,CAAC;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAa1G"}
|
package/dist/core/filter.js
CHANGED
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
* @returns true if the file path matches a known non-source pattern.
|
|
16
16
|
*/
|
|
17
17
|
const NON_SOURCE_FILE_PATTERNS = [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
/package-lock\.json$/,
|
|
19
|
+
/^package\.json$/,
|
|
20
|
+
/(?:^|\/)tsconfig[^/]*\.json$/,
|
|
21
|
+
/node_modules\//,
|
|
22
|
+
/\/dist\//,
|
|
23
|
+
/\.json$/,
|
|
24
24
|
];
|
|
25
25
|
/**
|
|
26
26
|
* Directories to skip during project scanning and LSP detection.
|
|
@@ -59,6 +59,37 @@ export const SKIP_DIRS = new Set([
|
|
|
59
59
|
".vscode",
|
|
60
60
|
]);
|
|
61
61
|
export function isNonSourceFile(file) {
|
|
62
|
-
return NON_SOURCE_FILE_PATTERNS.some((p) =>
|
|
62
|
+
return NON_SOURCE_FILE_PATTERNS.some((p) => p.test(file));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Shared orphan symbol detection.
|
|
66
|
+
*
|
|
67
|
+
* Single implementation used by baseline diff and verify tools.
|
|
68
|
+
* Uses isNonSourceFile() for consistent filtering (avoids false matches
|
|
69
|
+
* from naive includes("node_modules")).
|
|
70
|
+
*
|
|
71
|
+
* Returns symbols with zero incoming references, excluding:
|
|
72
|
+
* - Non-source files (config, lockfiles, node_modules, dist)
|
|
73
|
+
* - High-PageRank exported symbols (likely public API)
|
|
74
|
+
* - Anonymous functions (no name to reference)
|
|
75
|
+
* - Test files
|
|
76
|
+
*/
|
|
77
|
+
export function findOrphans(graph) {
|
|
78
|
+
const orphans = [];
|
|
79
|
+
for (const sym of graph.symbols.values()) {
|
|
80
|
+
if (isNonSourceFile(sym.file))
|
|
81
|
+
continue;
|
|
82
|
+
const incoming = graph.incoming.get(sym.id);
|
|
83
|
+
if (!incoming || incoming.length === 0) {
|
|
84
|
+
if (sym.visibility === "exported" && sym.pagerank > 0.01)
|
|
85
|
+
continue;
|
|
86
|
+
if (sym.kind === "anonymous_function")
|
|
87
|
+
continue;
|
|
88
|
+
if (sym.file.includes("tests/") || sym.file.includes(".test."))
|
|
89
|
+
continue;
|
|
90
|
+
orphans.push({ name: sym.name, kind: sym.kind, file: sym.file, line: sym.line });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return orphans;
|
|
63
94
|
}
|
|
64
95
|
//# sourceMappingURL=filter.js.map
|
package/dist/core/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../core/filter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;GAQG;AACH,MAAM,wBAAwB,GAAsB;IACnD,qBAAqB;IACrB,iBAAiB;IACjB,8BAA8B;IAC9B,gBAAgB;IAChB,UAAU;IACV,SAAS;CACT,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IAChC,cAAc;IACd,kBAAkB;IAClB,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,UAAU;IACV,aAAa;IACb,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,SAAS;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC3C,MAAM,OAAO,GAAiE,EAAE,CAAC;IACjF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI;gBAAE,SAAS;YACnE,IAAI,GAAG,CAAC,IAAI,KAAK,oBAAoB;gBAAE,SAAS;YAChD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACzE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-hooks.d.ts","sourceRoot":"","sources":["../../core/git-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8DH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwBhE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAqBhE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"git-hooks.d.ts","sourceRoot":"","sources":["../../core/git-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8DH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwBhE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAqBhE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA8C9G"}
|
package/dist/core/git-hooks.js
CHANGED
|
@@ -152,10 +152,16 @@ export function runPreCommitVerify(projectRoot) {
|
|
|
152
152
|
return { verdict: "PASS", message: "No staged changes to verify." };
|
|
153
153
|
}
|
|
154
154
|
const changedFiles = changedOutput.split("\n").filter(Boolean);
|
|
155
|
-
// Run typecheck if package.json has typecheck script
|
|
156
|
-
|
|
155
|
+
// Run typecheck if package.json has typecheck script, fall back to npx tsc
|
|
156
|
+
const pkgJsonPath = join(projectRoot, "package.json");
|
|
157
|
+
if (existsSync(pkgJsonPath)) {
|
|
157
158
|
try {
|
|
158
|
-
|
|
159
|
+
const pkg = JSON.parse(readFileSync(pkgJsonPath, "utf-8"));
|
|
160
|
+
const scripts = pkg.scripts ?? {};
|
|
161
|
+
const typecheckCmd = scripts.typecheck
|
|
162
|
+
? "npm run typecheck"
|
|
163
|
+
: "npx tsc --noEmit";
|
|
164
|
+
execSync(`${typecheckCmd} 2>/dev/null`, {
|
|
159
165
|
cwd: projectRoot,
|
|
160
166
|
encoding: "utf-8",
|
|
161
167
|
timeout: 60000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-hooks.js","sourceRoot":"","sources":["../../core/git-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkD/B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE9C,qCAAqC;IACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,6BAA6B,CAAC,CAAC;IAC1F,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;YAC9D,aAAa,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAED,aAAa,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC1D,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAE9D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9C,2BAA2B;IAC3B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxD,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACP,mCAAmC;QACnC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACrD,IAAI,CAAC;QACJ,gCAAgC;QAChC,MAAM,aAAa,GAAG,QAAQ,CAC7B,8DAA8D,EAC9D,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CACtD,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE/D,
|
|
1
|
+
{"version":3,"file":"git-hooks.js","sourceRoot":"","sources":["../../core/git-hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/core/graph.d.ts
CHANGED
|
@@ -55,6 +55,8 @@ export interface JSExportBinding {
|
|
|
55
55
|
line: number;
|
|
56
56
|
kind: "local" | "reexport" | "namespace" | "wildcard";
|
|
57
57
|
}
|
|
58
|
+
/** Count total edges in the graph (sum of outgoing edge list lengths). */
|
|
59
|
+
export declare function getGraphEdgeCount(graph: RepoGraph): number;
|
|
58
60
|
export declare function createRepoGraph(): RepoGraph;
|
|
59
61
|
export declare function createSymbol(id: string, name: string, kind: string, file: string, line: number, overrides?: Partial<Symbol>): Symbol;
|
|
60
62
|
export declare function createEdge(source: string, target: string, weight: number, kind: string, confidence?: number): Edge;
|
package/dist/core/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../core/graph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,uDAAuD;AACvD,MAAM,WAAW,MAAM;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,IAAI;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACnD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;CAC5C;AAED,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;CACxC;AAED,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;CACtD;AAID,wBAAgB,eAAe,IAAI,SAAS,CAW3C;AAID,wBAAgB,YAAY,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,OAAO,CAAC,MAAM,CAAM,GAC7B,MAAM,CAgBR;AAID,wBAAgB,UAAU,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,GACtB,IAAI,CAEN;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../core/graph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,uDAAuD;AACvD,MAAM,WAAW,MAAM;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,IAAI;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACnD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;CAC5C;AAED,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;CACxC;AAED,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;CACtD;AAID,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAM1D;AAID,wBAAgB,eAAe,IAAI,SAAS,CAW3C;AAID,wBAAgB,YAAY,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,OAAO,CAAC,MAAM,CAAM,GAC7B,MAAM,CAgBR;AAID,wBAAgB,UAAU,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,GACtB,IAAI,CAEN;AAGD,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAgB7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAQxD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,eAAe,CAiBhE;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACtD,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CA0CrG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAuDrE;AAID,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3E,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE;QACjB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACvD,YAAY,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC3D,CAAC;CACF;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACjC;AAcD,wBAAgB,qBAAqB,CACpC,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,IAAI,EAAE,EACpB,eAAe,EAAE,gBAAgB,EAAE,EACnC,aAAa,EAAE,cAAc,EAAE,GAC7B,SAAS,CAsHX"}
|