homegraph 1.5.0 → 1.5.2
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/bin/command-supervision.d.ts.map +1 -1
- package/dist/bin/command-supervision.js +7 -4
- package/dist/bin/command-supervision.js.map +1 -1
- package/dist/extraction/index.d.ts +1 -1
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +54 -43
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/languages/arkts.d.ts +69 -12
- package/dist/extraction/languages/arkts.d.ts.map +1 -1
- package/dist/extraction/languages/arkts.js +739 -86
- package/dist/extraction/languages/arkts.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/diff-impact.d.ts +131 -0
- package/dist/mcp/diff-impact.d.ts.map +1 -0
- package/dist/mcp/diff-impact.js +385 -0
- package/dist/mcp/diff-impact.js.map +1 -0
- package/dist/mcp/liveness-watchdog.d.ts +18 -0
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -1
- package/dist/mcp/liveness-watchdog.js +134 -22
- package/dist/mcp/liveness-watchdog.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +2 -0
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/tools.d.ts +21 -5
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +305 -55
- package/dist/mcp/tools.js.map +1 -1
- package/dist/resolution/callback-synthesizer.d.ts +2 -1
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -1
- package/dist/resolution/callback-synthesizer.js +153 -53
- package/dist/resolution/callback-synthesizer.js.map +1 -1
- package/dist/resolution/frameworks/arkts-entry.d.ts.map +1 -1
- package/dist/resolution/frameworks/arkts-entry.js +20 -9
- package/dist/resolution/frameworks/arkts-entry.js.map +1 -1
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +1 -1
- package/dist/resolution/index.js.map +1 -1
- package/dist/resolution/memory-budget.d.ts +33 -0
- package/dist/resolution/memory-budget.d.ts.map +1 -1
- package/dist/resolution/memory-budget.js +58 -0
- package/dist/resolution/memory-budget.js.map +1 -1
- package/dist/resolution/resolver-pool.d.ts +2 -0
- package/dist/resolution/resolver-pool.d.ts.map +1 -1
- package/dist/resolution/resolver-pool.js +4 -0
- package/dist/resolution/resolver-pool.js.map +1 -1
- package/dist/ui/shimmer-progress.d.ts.map +1 -1
- package/dist/ui/shimmer-progress.js +4 -1
- package/dist/ui/shimmer-progress.js.map +1 -1
- package/package.json +4 -5
- package/dist/arkts/ohos-api-index.d.ts +0 -15
- package/dist/arkts/ohos-api-index.d.ts.map +0 -1
- package/dist/arkts/ohos-api-index.js +0 -190
- package/dist/arkts/ohos-api-index.js.map +0 -1
- package/dist/arkts/ohos-sdk-input.d.ts +0 -36
- package/dist/arkts/ohos-sdk-input.d.ts.map +0 -1
- package/dist/arkts/ohos-sdk-input.js +0 -214
- package/dist/arkts/ohos-sdk-input.js.map +0 -1
- package/dist/extraction/languages/arkts-state-decorators.d.ts +0 -13
- package/dist/extraction/languages/arkts-state-decorators.d.ts.map +0 -1
- package/dist/extraction/languages/arkts-state-decorators.js +0 -26
- package/dist/extraction/languages/arkts-state-decorators.js.map +0 -1
- package/dist/extraction/languages/arkts-viewtree.d.ts +0 -24
- package/dist/extraction/languages/arkts-viewtree.d.ts.map +0 -1
- package/dist/extraction/languages/arkts-viewtree.js +0 -148
- package/dist/extraction/languages/arkts-viewtree.js.map +0 -1
- package/dist/extraction/languages/ohos-api-consumer.d.ts +0 -34
- package/dist/extraction/languages/ohos-api-consumer.d.ts.map +0 -1
- package/dist/extraction/languages/ohos-api-consumer.js +0 -283
- package/dist/extraction/languages/ohos-api-consumer.js.map +0 -1
- package/dist/reasoning/config.d.ts +0 -45
- package/dist/reasoning/config.d.ts.map +0 -1
- package/dist/reasoning/config.js +0 -171
- package/dist/reasoning/config.js.map +0 -1
- package/dist/reasoning/credentials.d.ts +0 -5
- package/dist/reasoning/credentials.d.ts.map +0 -1
- package/dist/reasoning/credentials.js +0 -83
- package/dist/reasoning/credentials.js.map +0 -1
- package/dist/reasoning/login.d.ts +0 -21
- package/dist/reasoning/login.d.ts.map +0 -1
- package/dist/reasoning/login.js +0 -85
- package/dist/reasoning/login.js.map +0 -1
- package/dist/reasoning/reasoner.d.ts +0 -43
- package/dist/reasoning/reasoner.d.ts.map +0 -1
- package/dist/reasoning/reasoner.js +0 -308
- package/dist/reasoning/reasoner.js.map +0 -1
- package/dist/spec/build/git-scanner.d.ts +0 -93
- package/dist/spec/build/git-scanner.d.ts.map +0 -1
- package/dist/spec/build/git-scanner.js +0 -254
- package/dist/spec/build/git-scanner.js.map +0 -1
- package/dist/spec/evolve/llm-client.d.ts +0 -50
- package/dist/spec/evolve/llm-client.d.ts.map +0 -1
- package/dist/spec/evolve/llm-client.js +0 -176
- package/dist/spec/evolve/llm-client.js.map +0 -1
- package/dist/spec/evolve/logic-checker.d.ts +0 -12
- package/dist/spec/evolve/logic-checker.d.ts.map +0 -1
- package/dist/spec/evolve/logic-checker.js +0 -24
- package/dist/spec/evolve/logic-checker.js.map +0 -1
- package/dist/spec/git-utils.d.ts +0 -8
- package/dist/spec/git-utils.d.ts.map +0 -1
- package/dist/spec/git-utils.js +0 -14
- package/dist/spec/git-utils.js.map +0 -1
- package/dist/spec/llm/index.d.ts +0 -3
- package/dist/spec/llm/index.d.ts.map +0 -1
- package/dist/spec/llm/index.js +0 -11
- package/dist/spec/llm/index.js.map +0 -1
- package/dist/spec/mine/clusterer.d.ts +0 -63
- package/dist/spec/mine/clusterer.d.ts.map +0 -1
- package/dist/spec/mine/clusterer.js +0 -904
- package/dist/spec/mine/clusterer.js.map +0 -1
- package/dist/spec/mine/progress-handler.d.ts +0 -22
- package/dist/spec/mine/progress-handler.d.ts.map +0 -1
- package/dist/spec/mine/progress-handler.js +0 -108
- package/dist/spec/mine/progress-handler.js.map +0 -1
- package/dist/spec/mine/progress.d.ts +0 -23
- package/dist/spec/mine/progress.d.ts.map +0 -1
- package/dist/spec/mine/progress.js +0 -12
- package/dist/spec/mine/progress.js.map +0 -1
- package/dist/spec/mining/diff-parser.d.ts +0 -33
- package/dist/spec/mining/diff-parser.d.ts.map +0 -1
- package/dist/spec/mining/diff-parser.js +0 -166
- package/dist/spec/mining/diff-parser.js.map +0 -1
- package/dist/spec/mining/git-scanner.d.ts +0 -103
- package/dist/spec/mining/git-scanner.d.ts.map +0 -1
- package/dist/spec/mining/git-scanner.js +0 -307
- package/dist/spec/mining/git-scanner.js.map +0 -1
- package/dist/spec/mining/pipeline.d.ts +0 -53
- package/dist/spec/mining/pipeline.d.ts.map +0 -1
- package/dist/spec/mining/pipeline.js +0 -178
- package/dist/spec/mining/pipeline.js.map +0 -1
- package/dist/spec/mining/scope-resolver.d.ts +0 -45
- package/dist/spec/mining/scope-resolver.d.ts.map +0 -1
- package/dist/spec/mining/scope-resolver.js +0 -103
- package/dist/spec/mining/scope-resolver.js.map +0 -1
- package/dist/spec/mining/spec-extractor.d.ts +0 -69
- package/dist/spec/mining/spec-extractor.d.ts.map +0 -1
- package/dist/spec/mining/spec-extractor.js +0 -369
- package/dist/spec/mining/spec-extractor.js.map +0 -1
- package/dist/spec/utils.d.ts +0 -155
- package/dist/spec/utils.d.ts.map +0 -1
- package/dist/spec/utils.js +0 -411
- package/dist/spec/utils.js.map +0 -1
- package/scripts/add-lang/bench.sh +0 -60
- package/scripts/add-lang/check-grammar.mjs +0 -75
- package/scripts/add-lang/dump-ast.mjs +0 -103
- package/scripts/add-lang/verify-extraction.mjs +0 -70
- package/scripts/agent-eval/ab-adoption.sh +0 -91
- package/scripts/agent-eval/ab-hook.sh +0 -86
- package/scripts/agent-eval/ab-impl.sh +0 -78
- package/scripts/agent-eval/ab-new-vs-baseline.sh +0 -102
- package/scripts/agent-eval/ab-sufficiency.sh +0 -78
- package/scripts/agent-eval/arms-F.sh +0 -21
- package/scripts/agent-eval/arms-matrix.sh +0 -37
- package/scripts/agent-eval/audit.sh +0 -68
- package/scripts/agent-eval/bench-readme.sh +0 -28
- package/scripts/agent-eval/bench-why-repo.sh +0 -22
- package/scripts/agent-eval/block-read-hook.sh +0 -19
- package/scripts/agent-eval/hook-settings.json +0 -15
- package/scripts/agent-eval/itrun.sh +0 -120
- package/scripts/agent-eval/offload-eval-3arm.sh +0 -72
- package/scripts/agent-eval/offload-eval-cost.mjs +0 -133
- package/scripts/agent-eval/offload-eval-effort.mjs +0 -108
- package/scripts/agent-eval/offload-eval-frontload-matrix.sh +0 -25
- package/scripts/agent-eval/offload-eval-frontload.sh +0 -47
- package/scripts/agent-eval/offload-eval-ground-truth.json +0 -18
- package/scripts/agent-eval/offload-eval-hook.mjs +0 -84
- package/scripts/agent-eval/offload-eval-judge.mjs +0 -103
- package/scripts/agent-eval/offload-eval-matrix.sh +0 -20
- package/scripts/agent-eval/offload-eval-metrics.mjs +0 -94
- package/scripts/agent-eval/offload-eval-refs1.sh +0 -50
- package/scripts/agent-eval/offload-eval-setup.sh +0 -24
- package/scripts/agent-eval/offload-eval-styles.sh +0 -72
- package/scripts/agent-eval/offload-eval-summarize.mjs +0 -68
- package/scripts/agent-eval/offload-eval.md +0 -76
- package/scripts/agent-eval/parse-arms.mjs +0 -116
- package/scripts/agent-eval/parse-bench-readme.mjs +0 -84
- package/scripts/agent-eval/parse-run.mjs +0 -45
- package/scripts/agent-eval/parse-session.mjs +0 -93
- package/scripts/agent-eval/probe-context.mjs +0 -21
- package/scripts/agent-eval/probe-explore.mjs +0 -40
- package/scripts/agent-eval/probe-node.mjs +0 -20
- package/scripts/agent-eval/probe-sweep.mjs +0 -119
- package/scripts/agent-eval/probe-trace.mjs +0 -20
- package/scripts/agent-eval/redirect-read-hook.sh +0 -38
- package/scripts/agent-eval/repro-concurrent-explore.mjs +0 -119
- package/scripts/agent-eval/repro-daemon-clients.mjs +0 -125
- package/scripts/agent-eval/run-agent.sh +0 -34
- package/scripts/agent-eval/run-all.sh +0 -75
- package/scripts/agent-eval/run-arms.sh +0 -56
- package/scripts/agent-eval/seq-matrix.mjs +0 -137
- package/scripts/build-bundle.sh +0 -123
- package/scripts/exp_boundary_eval/README.md +0 -247
- package/scripts/exp_boundary_eval/_test_mcp_chain.py +0 -78
- package/scripts/exp_boundary_eval/_test_stdin.py +0 -8
- package/scripts/exp_boundary_eval/_utils.py +0 -1116
- package/scripts/exp_boundary_eval/analyze.py +0 -1313
- package/scripts/exp_boundary_eval/deveco_arm.py +0 -519
- package/scripts/exp_boundary_eval/run_all.py +0 -378
- package/scripts/exp_boundary_eval/run_one.py +0 -165
- package/scripts/exp_boundary_eval/run_session.py +0 -158
- package/scripts/exp_boundary_eval/setup.py +0 -120
- package/scripts/exp_boundary_eval/win_mcp_launcher.py +0 -73
- package/scripts/exp_boundary_eval/win_mcp_stdio_wrap.js +0 -36
- package/scripts/exp_boundary_eval/win_node_launcher.py +0 -24
- package/scripts/extract-release-notes.mjs +0 -130
- package/scripts/local-install.sh +0 -41
- package/scripts/npm-sdk.js +0 -75
- package/scripts/npm-shim.js +0 -275
- package/scripts/ohos-sdk-publish.mjs +0 -133
- package/scripts/pack-npm.sh +0 -119
- package/scripts/prepare-release.mjs +0 -270
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clusterer.js","sourceRoot":"","sources":["../../../src/spec/mine/clusterer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress handler factory for `spec mine`.
|
|
3
|
-
*
|
|
4
|
-
* Provides two rendering strategies for `MineProgressCallback`:
|
|
5
|
-
*
|
|
6
|
-
* - **bar** — ANSI-based single-line progress bar with phase label and
|
|
7
|
-
* item-level detail. Intended for interactive TTY sessions.
|
|
8
|
-
* - **verbose** — plain-text lines with elapsed timestamps. Identical in
|
|
9
|
-
* style to `createVerboseProgress()` used by the indexing pipeline.
|
|
10
|
-
* Intended for `--verbose` mode and non-TTY (pipe) output.
|
|
11
|
-
*
|
|
12
|
-
* @module spec/mine/progress-handler
|
|
13
|
-
*/
|
|
14
|
-
import type { MineProgressCallback } from './progress';
|
|
15
|
-
/**
|
|
16
|
-
* Create a progress handler for `spec mine`.
|
|
17
|
-
*
|
|
18
|
-
* @param mode - `'bar'` for ANSI progress bar (TTY), `'verbose'` for text lines.
|
|
19
|
-
* @returns A `MineProgressCallback` or `undefined` for silent mode.
|
|
20
|
-
*/
|
|
21
|
-
export declare function createMineProgressHandler(mode: 'bar' | 'verbose'): MineProgressCallback;
|
|
22
|
-
//# sourceMappingURL=progress-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-handler.d.ts","sourceRoot":"","sources":["../../../src/spec/mine/progress-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAgB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA6FrE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,KAAK,GAAG,SAAS,GACtB,oBAAoB,CAKtB"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Progress handler factory for `spec mine`.
|
|
4
|
-
*
|
|
5
|
-
* Provides two rendering strategies for `MineProgressCallback`:
|
|
6
|
-
*
|
|
7
|
-
* - **bar** — ANSI-based single-line progress bar with phase label and
|
|
8
|
-
* item-level detail. Intended for interactive TTY sessions.
|
|
9
|
-
* - **verbose** — plain-text lines with elapsed timestamps. Identical in
|
|
10
|
-
* style to `createVerboseProgress()` used by the indexing pipeline.
|
|
11
|
-
* Intended for `--verbose` mode and non-TTY (pipe) output.
|
|
12
|
-
*
|
|
13
|
-
* @module spec/mine/progress-handler
|
|
14
|
-
*/
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.createMineProgressHandler = createMineProgressHandler;
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
// Bar mode
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
/** Width of the progress bar portion (excluding label and counters). */
|
|
21
|
-
const BAR_WIDTH = 20;
|
|
22
|
-
const PHASE_LABELS = {
|
|
23
|
-
scanning: 'Scanning commits ',
|
|
24
|
-
clustering: 'Clustering ',
|
|
25
|
-
generating: 'Generating specs ',
|
|
26
|
-
persisting: 'Persisting to DB ',
|
|
27
|
-
done: ' ',
|
|
28
|
-
};
|
|
29
|
-
function createBarHandler() {
|
|
30
|
-
let lastPhase = '';
|
|
31
|
-
return (p) => {
|
|
32
|
-
if (p.phase === 'done') {
|
|
33
|
-
// Print a trailing newline so the last progress bar stays visible
|
|
34
|
-
// and subsequent CLI output (success/info lines) starts on a fresh line.
|
|
35
|
-
if (process.stdout.isTTY)
|
|
36
|
-
process.stdout.write('\n');
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (p.phase !== lastPhase) {
|
|
40
|
-
lastPhase = p.phase;
|
|
41
|
-
// Print a newline when phase changes (previous bar stays visible briefly)
|
|
42
|
-
if (process.stdout.isTTY)
|
|
43
|
-
process.stdout.write('\n');
|
|
44
|
-
}
|
|
45
|
-
const label = PHASE_LABELS[p.phase] || p.phase;
|
|
46
|
-
const total = p.total > 0 ? p.total : 0;
|
|
47
|
-
const current = p.current;
|
|
48
|
-
let bar;
|
|
49
|
-
if (total === 0) {
|
|
50
|
-
// Indeterminate — spinner-like effect
|
|
51
|
-
bar = '—'.repeat(BAR_WIDTH);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
const filled = Math.round((current / total) * BAR_WIDTH);
|
|
55
|
-
bar = '█'.repeat(filled) + '░'.repeat(BAR_WIDTH - filled);
|
|
56
|
-
}
|
|
57
|
-
const counter = total > 0 ? ` ${String(current).padStart(String(total).length, ' ')}/${total}` : '';
|
|
58
|
-
const msg = p.message ? ` ${p.message}` : '';
|
|
59
|
-
const line = `${label} [${bar}]${counter}${msg}`;
|
|
60
|
-
process.stdout.write(`\r\x1b[K${line}`);
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
// ---------------------------------------------------------------------------
|
|
64
|
-
// Verbose mode
|
|
65
|
-
// ---------------------------------------------------------------------------
|
|
66
|
-
function createVerboseHandler() {
|
|
67
|
-
const startTime = Date.now();
|
|
68
|
-
let lastPhase = '';
|
|
69
|
-
let lastPct = -1;
|
|
70
|
-
return (p) => {
|
|
71
|
-
if (p.phase === 'done')
|
|
72
|
-
return;
|
|
73
|
-
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
74
|
-
if (p.phase !== lastPhase) {
|
|
75
|
-
lastPhase = p.phase;
|
|
76
|
-
lastPct = -1;
|
|
77
|
-
console.log(`[${elapsed}s] Phase: ${p.phase}`);
|
|
78
|
-
}
|
|
79
|
-
if (p.total > 0) {
|
|
80
|
-
const pct = Math.floor((p.current / p.total) * 100);
|
|
81
|
-
if (pct >= lastPct + 5 || p.current === p.total) {
|
|
82
|
-
lastPct = pct;
|
|
83
|
-
const msg = p.message ? ` · ${p.message}` : '';
|
|
84
|
-
console.log(`[${elapsed}s] ${p.current}/${p.total} (${pct}%)${msg}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
else if (p.message) {
|
|
88
|
-
// Phase-level message without item counts (clustering, etc.)
|
|
89
|
-
console.log(`[${elapsed}s] ${p.message}`);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
// ---------------------------------------------------------------------------
|
|
94
|
-
// Factory
|
|
95
|
-
// ---------------------------------------------------------------------------
|
|
96
|
-
/**
|
|
97
|
-
* Create a progress handler for `spec mine`.
|
|
98
|
-
*
|
|
99
|
-
* @param mode - `'bar'` for ANSI progress bar (TTY), `'verbose'` for text lines.
|
|
100
|
-
* @returns A `MineProgressCallback` or `undefined` for silent mode.
|
|
101
|
-
*/
|
|
102
|
-
function createMineProgressHandler(mode) {
|
|
103
|
-
if (mode === 'bar' && process.stdout.isTTY) {
|
|
104
|
-
return createBarHandler();
|
|
105
|
-
}
|
|
106
|
-
return createVerboseHandler();
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=progress-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-handler.js","sourceRoot":"","sources":["../../../src/spec/mine/progress-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress reporting callback type for the `spec mine` pipeline.
|
|
3
|
-
*
|
|
4
|
-
* Each phase callback reports current/total progress with an optional
|
|
5
|
-
* human-readable message. The callback is purely advisory — `onProgress`
|
|
6
|
-
* is always optional and a missing callback just means "no output."
|
|
7
|
-
*
|
|
8
|
-
* @module spec/mine/progress
|
|
9
|
-
*/
|
|
10
|
-
/** One progress tick from any phase of the pipeline. */
|
|
11
|
-
export interface MineProgress {
|
|
12
|
-
/** Current pipeline phase. */
|
|
13
|
-
phase: 'scanning' | 'clustering' | 'generating' | 'persisting' | 'done';
|
|
14
|
-
/** Current item index (1-based). 0 means the phase just started. */
|
|
15
|
-
current: number;
|
|
16
|
-
/** Total items in this phase. 0 means the total is unknown / not meaningful. */
|
|
17
|
-
total: number;
|
|
18
|
-
/** Optional human-readable label (e.g. commit hash, specId). */
|
|
19
|
-
message?: string;
|
|
20
|
-
}
|
|
21
|
-
/** Callback signature for progress reporting. */
|
|
22
|
-
export type MineProgressCallback = (progress: MineProgress) => void;
|
|
23
|
-
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/spec/mine/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,CAAC;IACxE,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iDAAiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Progress reporting callback type for the `spec mine` pipeline.
|
|
4
|
-
*
|
|
5
|
-
* Each phase callback reports current/total progress with an optional
|
|
6
|
-
* human-readable message. The callback is purely advisory — `onProgress`
|
|
7
|
-
* is always optional and a missing callback just means "no output."
|
|
8
|
-
*
|
|
9
|
-
* @module spec/mine/progress
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
//# sourceMappingURL=progress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/spec/mine/progress.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified diff parser — converts `git diff` output into structured code
|
|
3
|
-
* fragments.
|
|
4
|
-
*
|
|
5
|
-
* Replaces `commit4spec/reverse_engineer/change_analyzer.py`. Parses
|
|
6
|
-
* unified diff output and extracts file-level change information (change
|
|
7
|
-
* type, line range, diff text).
|
|
8
|
-
*
|
|
9
|
-
* @module spec/mining/diff-parser
|
|
10
|
-
*/
|
|
11
|
-
export interface DiffFragment {
|
|
12
|
-
/** Path of the changed file (no `a/` / `b/` prefix). */
|
|
13
|
-
filePath: string;
|
|
14
|
-
/** Kind of change: added, modified, or deleted. */
|
|
15
|
-
changeType: 'ADD' | 'MODIFY' | 'DELETE';
|
|
16
|
-
/** First new-line number in this diff fragment (1-based). */
|
|
17
|
-
startLine: number;
|
|
18
|
-
/** Last new-line number covered by this fragment (1-based). */
|
|
19
|
-
endLine: number;
|
|
20
|
-
/** Raw unified diff text for this file. */
|
|
21
|
-
codeDiff: string;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Retrieve and parse the diff for a single commit.
|
|
25
|
-
*
|
|
26
|
-
* 1. Call `getCommitDiff(repoPath, commitHash)` to get raw diff text.
|
|
27
|
-
* 2. Parse the diff into structured `DiffFragment` objects.
|
|
28
|
-
* 3. Return the fragments.
|
|
29
|
-
*
|
|
30
|
-
* Returns an empty array when the diff cannot be retrieved or is empty.
|
|
31
|
-
*/
|
|
32
|
-
export declare function analyzeCommitDiff(repoPath: string, commitHash: string, preFetchedDiff?: string): DiffFragment[];
|
|
33
|
-
//# sourceMappingURL=diff-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff-parser.d.ts","sourceRoot":"","sources":["../../../src/spec/mining/diff-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,YAAY,EAAE,CAMhB"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Unified diff parser — converts `git diff` output into structured code
|
|
4
|
-
* fragments.
|
|
5
|
-
*
|
|
6
|
-
* Replaces `commit4spec/reverse_engineer/change_analyzer.py`. Parses
|
|
7
|
-
* unified diff output and extracts file-level change information (change
|
|
8
|
-
* type, line range, diff text).
|
|
9
|
-
*
|
|
10
|
-
* @module spec/mining/diff-parser
|
|
11
|
-
*/
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.analyzeCommitDiff = analyzeCommitDiff;
|
|
14
|
-
const git_scanner_1 = require("./git-scanner");
|
|
15
|
-
// ---------------------------------------------------------------------------
|
|
16
|
-
// analyzeCommitDiff
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
/**
|
|
19
|
-
* Retrieve and parse the diff for a single commit.
|
|
20
|
-
*
|
|
21
|
-
* 1. Call `getCommitDiff(repoPath, commitHash)` to get raw diff text.
|
|
22
|
-
* 2. Parse the diff into structured `DiffFragment` objects.
|
|
23
|
-
* 3. Return the fragments.
|
|
24
|
-
*
|
|
25
|
-
* Returns an empty array when the diff cannot be retrieved or is empty.
|
|
26
|
-
*/
|
|
27
|
-
function analyzeCommitDiff(repoPath, commitHash, preFetchedDiff) {
|
|
28
|
-
const diff = preFetchedDiff ?? (0, git_scanner_1.getCommitDiff)(repoPath, commitHash);
|
|
29
|
-
if (!diff) {
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
return _parseDiff(diff);
|
|
33
|
-
}
|
|
34
|
-
// ---------------------------------------------------------------------------
|
|
35
|
-
// _parseDiff
|
|
36
|
-
// ---------------------------------------------------------------------------
|
|
37
|
-
/**
|
|
38
|
-
* State-machine parser for unified diff format.
|
|
39
|
-
*
|
|
40
|
-
* Walks through the diff line-by-line, tracking the current file, change
|
|
41
|
-
* type, and line-number range. Accumulates lines into a buffer and emits a
|
|
42
|
-
* `DiffFragment` each time a new `diff --git` section begins (or when the
|
|
43
|
-
* input is exhausted).
|
|
44
|
-
*/
|
|
45
|
-
function _parseDiff(diff) {
|
|
46
|
-
const lines = diff.split('\n');
|
|
47
|
-
// ---- state ----
|
|
48
|
-
const fragments = [];
|
|
49
|
-
let buf = [];
|
|
50
|
-
let currentFilePath = null;
|
|
51
|
-
let currentChangeType = 'MODIFY';
|
|
52
|
-
let currentStartLine = 0;
|
|
53
|
-
let currentEndLine = 0;
|
|
54
|
-
let inHunk = false;
|
|
55
|
-
// ---- flush helper ----
|
|
56
|
-
const _flush = () => {
|
|
57
|
-
if (buf.length === 0 || currentFilePath === null) {
|
|
58
|
-
buf = [];
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
// DELETE files have no lines in the new version — use [0, 0].
|
|
62
|
-
let startLine;
|
|
63
|
-
let endLine;
|
|
64
|
-
if (currentChangeType === 'DELETE') {
|
|
65
|
-
startLine = 0;
|
|
66
|
-
endLine = 0;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
// When no hunk was ever encountered, default startLine to 1.
|
|
70
|
-
startLine = currentStartLine === 0 ? 1 : currentStartLine;
|
|
71
|
-
endLine = currentEndLine;
|
|
72
|
-
}
|
|
73
|
-
fragments.push({
|
|
74
|
-
filePath: currentFilePath,
|
|
75
|
-
changeType: currentChangeType,
|
|
76
|
-
startLine,
|
|
77
|
-
endLine,
|
|
78
|
-
codeDiff: buf.join('\n'),
|
|
79
|
-
});
|
|
80
|
-
buf = [];
|
|
81
|
-
};
|
|
82
|
-
// ---- line-by-line parser ----
|
|
83
|
-
for (const line of lines) {
|
|
84
|
-
// Rule 1 — new file section: flush the previous file.
|
|
85
|
-
if (line.startsWith('diff --git ')) {
|
|
86
|
-
_flush();
|
|
87
|
-
buf = [line];
|
|
88
|
-
currentFilePath = null;
|
|
89
|
-
currentChangeType = 'MODIFY';
|
|
90
|
-
currentStartLine = 0;
|
|
91
|
-
currentEndLine = 0;
|
|
92
|
-
inHunk = false;
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
// Rule 2 — new file mode → change type is ADD.
|
|
96
|
-
if (line.startsWith('new file mode ')) {
|
|
97
|
-
currentChangeType = 'ADD';
|
|
98
|
-
buf.push(line);
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
// Rule 3 — deleted file mode → change type is DELETE.
|
|
102
|
-
if (line.startsWith('deleted file mode ')) {
|
|
103
|
-
currentChangeType = 'DELETE';
|
|
104
|
-
buf.push(line);
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
// Rule 4 — file path lines (--- a/path or +++ b/path).
|
|
108
|
-
if (line.startsWith('--- a/') || line.startsWith('+++ b/')) {
|
|
109
|
-
const isPlus = line.startsWith('+++ b/');
|
|
110
|
-
// Extract the path, skipping `/dev/null`.
|
|
111
|
-
let pathPart = '';
|
|
112
|
-
if (isPlus) {
|
|
113
|
-
pathPart = line.slice(6); // '+++ b/'.length
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
pathPart = line.slice(6); // '--- a/'.length
|
|
117
|
-
}
|
|
118
|
-
if (pathPart !== '/dev/null') {
|
|
119
|
-
currentFilePath = pathPart;
|
|
120
|
-
}
|
|
121
|
-
buf.push(line);
|
|
122
|
-
continue;
|
|
123
|
-
}
|
|
124
|
-
// Rule 5 — hunk header: @@ -oldStart[,oldCount] +newStart[,newCount] @@
|
|
125
|
-
const hunkMatch = line.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
|
|
126
|
-
if (hunkMatch) {
|
|
127
|
-
const newStart = parseInt(hunkMatch[1], 10);
|
|
128
|
-
if (currentStartLine === 0) {
|
|
129
|
-
currentStartLine = newStart;
|
|
130
|
-
}
|
|
131
|
-
currentEndLine = newStart;
|
|
132
|
-
inHunk = true;
|
|
133
|
-
buf.push(line);
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
// Rule 6 — added lines (start with '+', but not '+++').
|
|
137
|
-
if (line.startsWith('+') && !line.startsWith('+++')) {
|
|
138
|
-
if (inHunk) {
|
|
139
|
-
currentEndLine++;
|
|
140
|
-
}
|
|
141
|
-
buf.push(line);
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
144
|
-
// Rule 7 — removed lines (start with '-', but not '---').
|
|
145
|
-
if (line.startsWith('-') && !line.startsWith('---')) {
|
|
146
|
-
buf.push(line);
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
// Rule 8 — context lines (start with a space).
|
|
150
|
-
if (line.startsWith(' ')) {
|
|
151
|
-
if (inHunk) {
|
|
152
|
-
currentEndLine++;
|
|
153
|
-
}
|
|
154
|
-
buf.push(line);
|
|
155
|
-
continue;
|
|
156
|
-
}
|
|
157
|
-
// Rule 9 — all other lines (e.g. `rename from` / `rename to`,
|
|
158
|
-
// `similarity index`, `Binary files differ`, `\ No newline at end of
|
|
159
|
-
// file`, blank lines between sections, etc.).
|
|
160
|
-
buf.push(line);
|
|
161
|
-
}
|
|
162
|
-
// Flush the final file.
|
|
163
|
-
_flush();
|
|
164
|
-
return fragments;
|
|
165
|
-
}
|
|
166
|
-
//# sourceMappingURL=diff-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff-parser.js","sourceRoot":"","sources":["../../../src/spec/mining/diff-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git commit history scanning and spec↔commit pairing.
|
|
3
|
-
*
|
|
4
|
-
* Replaces `commit4spec/reverse_engineer/git_scanner.py` and
|
|
5
|
-
* `commit4spec/reverse_engineer/git_utils.py`. Discovers spec↔commit pairs via
|
|
6
|
-
* two strategies:
|
|
7
|
-
*
|
|
8
|
-
* - **Strategy A — commit message scope:** extract conventional-commit scopes
|
|
9
|
-
* from commit messages and resolve them to spec IDs on disk.
|
|
10
|
-
* - **Strategy B — commit-info.md:** discover specs on disk, read their
|
|
11
|
-
* `commit-info.md` for linked commit hashes, and verify those commits exist.
|
|
12
|
-
*
|
|
13
|
-
* All Git operations use `execFileSync` with an args array (never template
|
|
14
|
-
* strings) to avoid shell injection risks — matching the HomeGraph convention
|
|
15
|
-
* in `src/sync/git-hooks.ts` and `src/sync/worktree.ts`.
|
|
16
|
-
*
|
|
17
|
-
* @module spec/mining/git-scanner
|
|
18
|
-
*/
|
|
19
|
-
import { SpecConfig } from '../config';
|
|
20
|
-
import { SpecMetadata } from './spec-extractor';
|
|
21
|
-
export interface CommitInfo {
|
|
22
|
-
/** Full 40-char commit hash */
|
|
23
|
-
hash: string;
|
|
24
|
-
/** First line of commit message */
|
|
25
|
-
message: string;
|
|
26
|
-
/** Author name */
|
|
27
|
-
author: string;
|
|
28
|
-
/** Unix epoch milliseconds */
|
|
29
|
-
timestamp: number;
|
|
30
|
-
}
|
|
31
|
-
export interface SpecCommitPair {
|
|
32
|
-
specId: string;
|
|
33
|
-
commitHash: string;
|
|
34
|
-
specMetadata: SpecMetadata | null;
|
|
35
|
-
commitMetadata: CommitInfo | null;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Check whether `repoPath` is a git repository.
|
|
39
|
-
*
|
|
40
|
-
* Runs `git rev-parse --git-dir` and returns `true` on success, `false`
|
|
41
|
-
* when the command fails (not a repo, git not installed, etc.).
|
|
42
|
-
*/
|
|
43
|
-
export declare function isGitRepo(repoPath: string): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Return every commit in `repoPath` as `CommitInfo` objects.
|
|
46
|
-
*
|
|
47
|
-
* Runs `git log --format='%H%n%aI%n%an%n%s%n---END---'` and parses the
|
|
48
|
-
* output one five-line block per commit. Commits are returned in reverse
|
|
49
|
-
* chronological order (most recent first), matching Git's default.
|
|
50
|
-
*
|
|
51
|
-
* An empty repo yields an empty array.
|
|
52
|
-
*/
|
|
53
|
-
export declare function getAllCommits(repoPath: string): CommitInfo[];
|
|
54
|
-
/**
|
|
55
|
-
* Retrieve metadata for a single commit.
|
|
56
|
-
*
|
|
57
|
-
* Runs `git show -s --format='%H%n%aI%n%an%n%s' <commitHash>`. Returns
|
|
58
|
-
* `null` when the command fails (hash not found, invalid repo, etc.).
|
|
59
|
-
*/
|
|
60
|
-
export declare function getCommitInfo(repoPath: string, commitHash: string): CommitInfo | null;
|
|
61
|
-
/**
|
|
62
|
-
* Return the full unified diff introduced by `commitHash`.
|
|
63
|
-
*
|
|
64
|
-
* Strategy:
|
|
65
|
-
* 1. Query the parent hash(es) via `git log --pretty=%P -n 1 <commitHash>`.
|
|
66
|
-
* 2. If a parent exists, diff it against the commit: `git diff <parent> <commitHash>`.
|
|
67
|
-
* 3. For an initial (root) commit with no parent, use `git diff <commitHash>`
|
|
68
|
-
* which shows all files added in that commit.
|
|
69
|
-
*
|
|
70
|
-
* Returns an empty string when any Git command fails.
|
|
71
|
-
*/
|
|
72
|
-
export declare function getCommitDiff(repoPath: string, commitHash: string): string;
|
|
73
|
-
/**
|
|
74
|
-
* Return every commit between `fromHash` (exclusive) and `toHash`
|
|
75
|
-
* (inclusive) in chronological order (oldest first).
|
|
76
|
-
*
|
|
77
|
-
* Runs `git log --reverse --format="..." fromHash..toHash`. Returns an empty
|
|
78
|
-
* array when either hash is not found or the range is empty.
|
|
79
|
-
*
|
|
80
|
-
* Callers should validate that `fromHash` is an ancestor of `toHash` before
|
|
81
|
-
* calling this function (use `git merge-base --is-ancestor`). Results are
|
|
82
|
-
* undefined when the two hashes are on unrelated branches.
|
|
83
|
-
*/
|
|
84
|
-
export declare function getCommitRange(repoPath: string, fromHash: string, toHash: string): CommitInfo[];
|
|
85
|
-
/**
|
|
86
|
-
* Main scanning function — discovers spec↔commit pairs using two strategies.
|
|
87
|
-
*
|
|
88
|
-
* **Strategy A — commit message scope:**
|
|
89
|
-
* Iterates every commit in the repo, extracts a conventional-commit scope from
|
|
90
|
-
* its message, normalizes it, and checks whether the resulting spec ID exists
|
|
91
|
-
* on disk. When a match is found the pair is recorded with full spec and
|
|
92
|
-
* commit metadata.
|
|
93
|
-
*
|
|
94
|
-
* **Strategy B — commit-info.md:**
|
|
95
|
-
* Discovers all specs on disk that were **not** already paired by Strategy A,
|
|
96
|
-
* reads their metadata (which may include a commit hash from `commit-info.md`),
|
|
97
|
-
* and verifies the commit exists in the repo. Verified pairs are added.
|
|
98
|
-
*
|
|
99
|
-
* Duplicates (identical specId + commitHash) are de-duplicated via a
|
|
100
|
-
* `Map` keyed on `"${specId}|${commitHash}"`.
|
|
101
|
-
*/
|
|
102
|
-
export declare function scan(repoPath: string, specStoragePath: string, config: SpecConfig): SpecCommitPair[];
|
|
103
|
-
//# sourceMappingURL=git-scanner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-scanner.d.ts","sourceRoot":"","sources":["../../../src/spec/mining/git-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAuB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrE,MAAM,WAAW,UAAU;IACzB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AA8BD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOnD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAkC5D;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,IAAI,CA4BnB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAmC1E;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,UAAU,EAAE,CAgCd;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,UAAU,GACjB,cAAc,EAAE,CA+ElB"}
|