@harness-engineering/cli 1.13.1 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +240 -39
- package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +6 -0
- package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +39 -0
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +44 -0
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +44 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +39 -0
- package/dist/agents/skills/claude-code/harness-product-spec/SKILL.md +5 -5
- package/dist/agents/skills/claude-code/harness-release-readiness/SKILL.md +3 -3
- package/dist/agents/skills/claude-code/harness-verification/SKILL.md +35 -0
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +11 -3
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +240 -39
- package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +6 -0
- package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +39 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +44 -0
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +44 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +39 -0
- package/dist/agents/skills/gemini-cli/harness-product-spec/SKILL.md +5 -5
- package/dist/agents/skills/gemini-cli/harness-release-readiness/SKILL.md +3 -3
- package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +35 -0
- package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +11 -3
- package/dist/agents/skills/package.json +1 -0
- package/dist/agents/skills/vitest.config.mts +5 -0
- package/dist/agents-md-ZGNIDWAF.js +8 -0
- package/dist/{architecture-2R5Z4ZAF.js → architecture-ZLIH5533.js} +4 -4
- package/dist/bin/harness-mcp.js +14 -14
- package/dist/bin/harness.js +27 -25
- package/dist/{check-phase-gate-2OFZ7OWW.js → check-phase-gate-ZOXVBDCN.js} +4 -4
- package/dist/{chunk-ND6PNADU.js → chunk-2BKLWLY6.js} +9 -9
- package/dist/{chunk-65FRIL4D.js → chunk-3ZZKVN62.js} +1 -1
- package/dist/{chunk-C2ERUR3L.js → chunk-7MJAPE3Z.js} +165 -49
- package/dist/{chunk-Z77YQRQT.js → chunk-B2HKP423.js} +16 -5
- package/dist/{chunk-QPEH2QPG.js → chunk-DBSOCI3G.js} +53 -54
- package/dist/{chunk-TKJZKICB.js → chunk-EDXIVMAP.js} +7 -7
- package/dist/{chunk-MHBMTPW7.js → chunk-ERS5EVUZ.js} +9 -0
- package/dist/{chunk-JSTQ3AWB.js → chunk-FIAPHX37.js} +1 -1
- package/dist/{chunk-IMFVFNJE.js → chunk-FTMXDOR6.js} +1 -1
- package/dist/{chunk-72GHBOL2.js → chunk-GZKSBLQL.js} +1 -1
- package/dist/{chunk-K6XAPGML.js → chunk-H7Y5CKTM.js} +1 -1
- package/dist/{chunk-SSKDAOX5.js → chunk-J4RAX7YB.js} +1164 -516
- package/dist/{chunk-UAX4I5ZE.js → chunk-LGYBN7Y6.js} +2 -2
- package/dist/{chunk-QY4T6YAZ.js → chunk-N25INEIX.js} +4 -4
- package/dist/{chunk-4ZMOCPYO.js → chunk-ND2ENWDM.js} +1 -1
- package/dist/{chunk-NERR4TAO.js → chunk-NNHDDXYT.js} +1250 -765
- package/dist/{chunk-NKDM3FMH.js → chunk-OD3S2NHN.js} +1 -1
- package/dist/{chunk-NOPU4RZ4.js → chunk-OFXQSFOW.js} +3 -3
- package/dist/{chunk-TS3XWPW5.js → chunk-RCWZBSK5.js} +1 -1
- package/dist/{chunk-VUCPTQ6G.js → chunk-SD3SQOZ2.js} +1 -1
- package/dist/{chunk-DZS7CJKL.js → chunk-VEPAJXBW.js} +45 -47
- package/dist/{chunk-IM32EEDM.js → chunk-YLXFKVJE.js} +9 -9
- package/dist/{chunk-Q6AB7W5Z.js → chunk-YQ6KC6TE.js} +1 -1
- package/dist/{chunk-PQ5YK4AY.js → chunk-Z2OOPXJO.js} +2740 -1221
- package/dist/ci-workflow-765LSHRD.js +8 -0
- package/dist/{dist-2B363XUH.js → dist-ALQDD67R.js} +64 -2
- package/dist/{dist-HXHWB7SV.js → dist-B26DFXMP.js} +571 -478
- package/dist/{dist-L7LAAQAS.js → dist-DZ63LLUD.js} +1 -1
- package/dist/{dist-D4RYGUZE.js → dist-USY2C5JL.js} +3 -1
- package/dist/{docs-FZOPM4GK.js → docs-NRMQCOJ6.js} +4 -4
- package/dist/engine-3RB7MXPP.js +8 -0
- package/dist/{entropy-LVHJMFGH.js → entropy-6AGX2ZUN.js} +3 -3
- package/dist/{feedback-IHLVLMRD.js → feedback-MY4QZIFD.js} +1 -1
- package/dist/{generate-agent-definitions-64S3CLEZ.js → generate-agent-definitions-ZAE726AU.js} +4 -4
- package/dist/{graph-loader-GJZ4FN4Y.js → graph-loader-2M2HXDQI.js} +1 -1
- package/dist/index.d.ts +156 -17
- package/dist/index.js +24 -24
- package/dist/loader-UUTVMQCC.js +10 -0
- package/dist/{mcp-JQUI7BVZ.js → mcp-VU5FMO52.js} +14 -14
- package/dist/{performance-ZTVSUANN.js → performance-2D7G6NMJ.js} +3 -3
- package/dist/{review-pipeline-76JHKGSV.js → review-pipeline-RAQ55ISU.js} +1 -1
- package/dist/runtime-BCK5RRZQ.js +9 -0
- package/dist/{security-FWQZF2IZ.js → security-2RPQEN62.js} +1 -1
- package/dist/templates/axum/Cargo.toml.hbs +8 -0
- package/dist/templates/axum/src/main.rs +12 -0
- package/dist/templates/axum/template.json +16 -0
- package/dist/templates/django/manage.py.hbs +19 -0
- package/dist/templates/django/requirements.txt.hbs +1 -0
- package/dist/templates/django/src/settings.py.hbs +44 -0
- package/dist/templates/django/src/urls.py +6 -0
- package/dist/templates/django/src/wsgi.py.hbs +9 -0
- package/dist/templates/django/template.json +21 -0
- package/dist/templates/express/package.json.hbs +15 -0
- package/dist/templates/express/src/app.ts +12 -0
- package/dist/templates/express/src/lib/.gitkeep +0 -0
- package/dist/templates/express/template.json +16 -0
- package/dist/templates/fastapi/requirements.txt.hbs +2 -0
- package/dist/templates/fastapi/src/main.py +8 -0
- package/dist/templates/fastapi/template.json +20 -0
- package/dist/templates/gin/go.mod.hbs +5 -0
- package/dist/templates/gin/main.go +15 -0
- package/dist/templates/gin/template.json +19 -0
- package/dist/templates/go-base/.golangci.yml +16 -0
- package/dist/templates/go-base/AGENTS.md.hbs +35 -0
- package/dist/templates/go-base/go.mod.hbs +3 -0
- package/dist/templates/go-base/harness.config.json.hbs +17 -0
- package/dist/templates/go-base/main.go +7 -0
- package/dist/templates/go-base/template.json +14 -0
- package/dist/templates/java-base/AGENTS.md.hbs +35 -0
- package/dist/templates/java-base/checkstyle.xml +20 -0
- package/dist/templates/java-base/harness.config.json.hbs +16 -0
- package/dist/templates/java-base/pom.xml.hbs +39 -0
- package/dist/templates/java-base/src/main/java/App.java.hbs +5 -0
- package/dist/templates/java-base/template.json +13 -0
- package/dist/templates/nestjs/nest-cli.json +5 -0
- package/dist/templates/nestjs/package.json.hbs +18 -0
- package/dist/templates/nestjs/src/app.module.ts +8 -0
- package/dist/templates/nestjs/src/lib/.gitkeep +0 -0
- package/dist/templates/nestjs/src/main.ts +11 -0
- package/dist/templates/nestjs/template.json +16 -0
- package/dist/templates/nextjs/template.json +15 -1
- package/dist/templates/python-base/.python-version +1 -0
- package/dist/templates/python-base/AGENTS.md.hbs +32 -0
- package/dist/templates/python-base/harness.config.json.hbs +16 -0
- package/dist/templates/python-base/pyproject.toml.hbs +18 -0
- package/dist/templates/python-base/ruff.toml +5 -0
- package/dist/templates/python-base/src/__init__.py +0 -0
- package/dist/templates/python-base/template.json +13 -0
- package/dist/templates/react-vite/index.html +12 -0
- package/dist/templates/react-vite/package.json.hbs +18 -0
- package/dist/templates/react-vite/src/App.tsx +7 -0
- package/dist/templates/react-vite/src/lib/.gitkeep +0 -0
- package/dist/templates/react-vite/src/main.tsx +9 -0
- package/dist/templates/react-vite/template.json +19 -0
- package/dist/templates/react-vite/vite.config.ts +6 -0
- package/dist/templates/rust-base/AGENTS.md.hbs +35 -0
- package/dist/templates/rust-base/Cargo.toml.hbs +6 -0
- package/dist/templates/rust-base/clippy.toml +2 -0
- package/dist/templates/rust-base/harness.config.json.hbs +17 -0
- package/dist/templates/rust-base/src/main.rs +3 -0
- package/dist/templates/rust-base/template.json +14 -0
- package/dist/templates/spring-boot/pom.xml.hbs +50 -0
- package/dist/templates/spring-boot/src/main/java/Application.java.hbs +19 -0
- package/dist/templates/spring-boot/template.json +15 -0
- package/dist/templates/vue/index.html +12 -0
- package/dist/templates/vue/package.json.hbs +16 -0
- package/dist/templates/vue/src/App.vue +7 -0
- package/dist/templates/vue/src/lib/.gitkeep +0 -0
- package/dist/templates/vue/src/main.ts +4 -0
- package/dist/templates/vue/template.json +19 -0
- package/dist/templates/vue/vite.config.ts +6 -0
- package/dist/{validate-GCHZJIL7.js → validate-KBYQAEWE.js} +4 -4
- package/dist/validate-cross-check-OABMREW4.js +8 -0
- package/package.json +7 -5
- package/dist/agents-md-XU3BHE22.js +0 -8
- package/dist/ci-workflow-EHV65NQB.js +0 -8
- package/dist/engine-OL4T6NZS.js +0 -8
- package/dist/loader-DPYFB6R6.js +0 -10
- package/dist/runtime-X7U6SC7K.js +0 -9
- package/dist/validate-cross-check-STFHYMAZ.js +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveProjectConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H7Y5CKTM.js";
|
|
4
4
|
import {
|
|
5
5
|
sanitizePath
|
|
6
6
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
@@ -49,7 +49,7 @@ async function handleValidateProject(input) {
|
|
|
49
49
|
checks.config = "pass";
|
|
50
50
|
const config = configResult.value;
|
|
51
51
|
try {
|
|
52
|
-
const core = await import("./dist-
|
|
52
|
+
const core = await import("./dist-ALQDD67R.js");
|
|
53
53
|
if (typeof core.validateFileStructure === "function" && Array.isArray(config.conventions)) {
|
|
54
54
|
const conventions = config.conventions;
|
|
55
55
|
const structureResult = await core.validateFileStructure(projectPath, conventions);
|
|
@@ -68,7 +68,7 @@ async function handleValidateProject(input) {
|
|
|
68
68
|
} catch {
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
|
-
const core = await import("./dist-
|
|
71
|
+
const core = await import("./dist-ALQDD67R.js");
|
|
72
72
|
if (typeof core.validateAgentsMap === "function") {
|
|
73
73
|
const agentsMapPath = path.join(projectPath, "AGENTS.md");
|
|
74
74
|
const agentsResult = await core.validateAgentsMap(agentsMapPath);
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
7
7
|
import {
|
|
8
8
|
Ok
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ERS5EVUZ.js";
|
|
10
10
|
|
|
11
11
|
// src/mcp/tools/entropy.ts
|
|
12
12
|
async function loadEntropyGraphOptions(projectPath) {
|
|
13
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
13
|
+
const { loadGraphStore } = await import("./graph-loader-2M2HXDQI.js");
|
|
14
14
|
const store = await loadGraphStore(projectPath);
|
|
15
15
|
if (!store) return void 0;
|
|
16
|
-
const { GraphEntropyAdapter } = await import("./dist-
|
|
16
|
+
const { GraphEntropyAdapter } = await import("./dist-B26DFXMP.js");
|
|
17
17
|
const adapter = new GraphEntropyAdapter(store);
|
|
18
18
|
const driftData = adapter.computeDriftData();
|
|
19
19
|
const deadCodeData = adapter.computeDeadCodeData();
|
|
@@ -82,9 +82,48 @@ var detectEntropyDefinition = {
|
|
|
82
82
|
required: ["path"]
|
|
83
83
|
}
|
|
84
84
|
};
|
|
85
|
+
function summarizeDrift(drift) {
|
|
86
|
+
const driftIssues = (drift.drifts ?? []).map(
|
|
87
|
+
(d) => `Drift: ${d.type}${d.file ? ` in ${d.file}` : ""}`
|
|
88
|
+
);
|
|
89
|
+
return { issueCount: driftIssues.length, topIssues: driftIssues.slice(0, 3) };
|
|
90
|
+
}
|
|
91
|
+
function summarizeDeadCode(deadCode) {
|
|
92
|
+
const deadIssues = [
|
|
93
|
+
...(deadCode.unusedImports ?? []).map(
|
|
94
|
+
(i) => `Unused import: ${i.specifiers.join(", ")} from ${i.source}`
|
|
95
|
+
),
|
|
96
|
+
...(deadCode.deadExports ?? []).map(
|
|
97
|
+
(e) => `Dead export: ${e.name} in ${e.file}`
|
|
98
|
+
),
|
|
99
|
+
...(deadCode.deadFiles ?? []).map((f) => `Dead file: ${f.path}`)
|
|
100
|
+
];
|
|
101
|
+
return { issueCount: deadIssues.length, topIssues: deadIssues.slice(0, 3) };
|
|
102
|
+
}
|
|
103
|
+
function summarizePatterns(patterns) {
|
|
104
|
+
const patternIssues = (patterns.violations ?? []).map(
|
|
105
|
+
(v) => `${v.pattern}: ${v.file}`
|
|
106
|
+
);
|
|
107
|
+
return { issueCount: patternIssues.length, topIssues: patternIssues.slice(0, 3) };
|
|
108
|
+
}
|
|
109
|
+
function buildSummaryResponse(report) {
|
|
110
|
+
const summary = {};
|
|
111
|
+
if (report.drift) summary["drift"] = summarizeDrift(report.drift);
|
|
112
|
+
if (report.deadCode) summary["deadCode"] = summarizeDeadCode(report.deadCode);
|
|
113
|
+
if (report.patterns) summary["patterns"] = summarizePatterns(report.patterns);
|
|
114
|
+
const totalIssues = Object.values(summary).reduce((s, c) => s + c.issueCount, 0);
|
|
115
|
+
return {
|
|
116
|
+
content: [
|
|
117
|
+
{
|
|
118
|
+
type: "text",
|
|
119
|
+
text: JSON.stringify({ mode: "summary", totalIssues, categories: summary })
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
};
|
|
123
|
+
}
|
|
85
124
|
async function handleDetectEntropy(input) {
|
|
86
125
|
try {
|
|
87
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
126
|
+
const { EntropyAnalyzer } = await import("./dist-ALQDD67R.js");
|
|
88
127
|
const typeFilter = input.type ?? "all";
|
|
89
128
|
const analyzer = new EntropyAnalyzer({
|
|
90
129
|
rootDir: sanitizePath(input.path),
|
|
@@ -97,54 +136,13 @@ async function handleDetectEntropy(input) {
|
|
|
97
136
|
const graphOptions = await loadEntropyGraphOptions(sanitizePath(input.path));
|
|
98
137
|
const result = await analyzer.analyze(graphOptions);
|
|
99
138
|
if (input.mode === "summary" && result.ok && !input.autoFix) {
|
|
100
|
-
|
|
101
|
-
const summary = {};
|
|
102
|
-
if (report2.drift) {
|
|
103
|
-
const driftIssues = (report2.drift.drifts ?? []).map(
|
|
104
|
-
(d) => `Drift: ${d.type}${d.file ? ` in ${d.file}` : ""}`
|
|
105
|
-
);
|
|
106
|
-
summary["drift"] = {
|
|
107
|
-
issueCount: driftIssues.length,
|
|
108
|
-
topIssues: driftIssues.slice(0, 3)
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
if (report2.deadCode) {
|
|
112
|
-
const deadIssues = [
|
|
113
|
-
...(report2.deadCode.unusedImports ?? []).map(
|
|
114
|
-
(i) => `Unused import: ${i.specifiers.join(", ")} from ${i.source}`
|
|
115
|
-
),
|
|
116
|
-
...(report2.deadCode.deadExports ?? []).map((e) => `Dead export: ${e.name} in ${e.file}`),
|
|
117
|
-
...(report2.deadCode.deadFiles ?? []).map((f) => `Dead file: ${f.path}`)
|
|
118
|
-
];
|
|
119
|
-
summary["deadCode"] = {
|
|
120
|
-
issueCount: deadIssues.length,
|
|
121
|
-
topIssues: deadIssues.slice(0, 3)
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
if (report2.patterns) {
|
|
125
|
-
const patternIssues = (report2.patterns.violations ?? []).map(
|
|
126
|
-
(v) => `${v.pattern}: ${v.file}`
|
|
127
|
-
);
|
|
128
|
-
summary["patterns"] = {
|
|
129
|
-
issueCount: patternIssues.length,
|
|
130
|
-
topIssues: patternIssues.slice(0, 3)
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
const totalIssues = Object.values(summary).reduce((s, c) => s + c.issueCount, 0);
|
|
134
|
-
return {
|
|
135
|
-
content: [
|
|
136
|
-
{
|
|
137
|
-
type: "text",
|
|
138
|
-
text: JSON.stringify({ mode: "summary", totalIssues, categories: summary })
|
|
139
|
-
}
|
|
140
|
-
]
|
|
141
|
-
};
|
|
139
|
+
return buildSummaryResponse(result.value);
|
|
142
140
|
}
|
|
143
141
|
if (!input.autoFix) {
|
|
144
142
|
return resultToMcpResponse(result);
|
|
145
143
|
}
|
|
146
144
|
if (!result.ok) return resultToMcpResponse(result);
|
|
147
|
-
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-
|
|
145
|
+
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-ALQDD67R.js");
|
|
148
146
|
const report = result.value;
|
|
149
147
|
const deadCode = report.deadCode;
|
|
150
148
|
const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
|
|
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
|
|
|
33
33
|
};
|
|
34
34
|
async function handleCreateSelfReview(input) {
|
|
35
35
|
try {
|
|
36
|
-
const { parseDiff, createSelfReview } = await import("./dist-
|
|
36
|
+
const { parseDiff, createSelfReview } = await import("./dist-ALQDD67R.js");
|
|
37
37
|
const parseResult = parseDiff(input.diff);
|
|
38
38
|
if (!parseResult.ok) {
|
|
39
39
|
return resultToMcpResponse(parseResult);
|
|
@@ -53,11 +53,11 @@ async function handleCreateSelfReview(input) {
|
|
|
53
53
|
...input.maxFileCount !== void 0 ? { maxChangedFiles: input.maxFileCount } : {}
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
56
|
+
const { loadGraphStore } = await import("./graph-loader-2M2HXDQI.js");
|
|
57
57
|
const store = await loadGraphStore(projectPath);
|
|
58
58
|
let graphData;
|
|
59
59
|
if (store) {
|
|
60
|
-
const { GraphFeedbackAdapter } = await import("./dist-
|
|
60
|
+
const { GraphFeedbackAdapter } = await import("./dist-B26DFXMP.js");
|
|
61
61
|
const adapter = new GraphFeedbackAdapter(store);
|
|
62
62
|
const changedFiles = parseResult.value.files.map((f) => f.path);
|
|
63
63
|
const impact = adapter.computeImpactData(changedFiles);
|
|
@@ -119,7 +119,7 @@ var analyzeDiffDefinition = {
|
|
|
119
119
|
};
|
|
120
120
|
async function handleAnalyzeDiff(input) {
|
|
121
121
|
try {
|
|
122
|
-
const { parseDiff, analyzeDiff } = await import("./dist-
|
|
122
|
+
const { parseDiff, analyzeDiff } = await import("./dist-ALQDD67R.js");
|
|
123
123
|
const parseResult = parseDiff(input.diff);
|
|
124
124
|
if (!parseResult.ok) {
|
|
125
125
|
return resultToMcpResponse(parseResult);
|
|
@@ -139,10 +139,10 @@ async function handleAnalyzeDiff(input) {
|
|
|
139
139
|
let graphImpactData;
|
|
140
140
|
if (input.path) {
|
|
141
141
|
try {
|
|
142
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
142
|
+
const { loadGraphStore } = await import("./graph-loader-2M2HXDQI.js");
|
|
143
143
|
const store = await loadGraphStore(sanitizePath(input.path));
|
|
144
144
|
if (store) {
|
|
145
|
-
const { GraphFeedbackAdapter } = await import("./dist-
|
|
145
|
+
const { GraphFeedbackAdapter } = await import("./dist-B26DFXMP.js");
|
|
146
146
|
const adapter = new GraphFeedbackAdapter(store);
|
|
147
147
|
const changedFiles = parseResult.value.files.map((f) => f.path);
|
|
148
148
|
const impact = adapter.computeImpactData(changedFiles);
|
|
@@ -195,7 +195,7 @@ var requestPeerReviewDefinition = {
|
|
|
195
195
|
};
|
|
196
196
|
async function handleRequestPeerReview(input) {
|
|
197
197
|
try {
|
|
198
|
-
const { parseDiff, requestPeerReview } = await import("./dist-
|
|
198
|
+
const { parseDiff, requestPeerReview } = await import("./dist-ALQDD67R.js");
|
|
199
199
|
const parseResult = parseDiff(input.diff);
|
|
200
200
|
if (!parseResult.ok) {
|
|
201
201
|
return resultToMcpResponse(parseResult);
|
|
@@ -206,10 +206,10 @@ async function handleRequestPeerReview(input) {
|
|
|
206
206
|
...input.context ? { metadata: { context: input.context } } : {}
|
|
207
207
|
};
|
|
208
208
|
try {
|
|
209
|
-
const { loadGraphStore } = await import("./graph-loader-
|
|
209
|
+
const { loadGraphStore } = await import("./graph-loader-2M2HXDQI.js");
|
|
210
210
|
const store = await loadGraphStore(sanitizePath(input.path));
|
|
211
211
|
if (store) {
|
|
212
|
-
const { GraphFeedbackAdapter } = await import("./dist-
|
|
212
|
+
const { GraphFeedbackAdapter } = await import("./dist-B26DFXMP.js");
|
|
213
213
|
const adapter = new GraphFeedbackAdapter(store);
|
|
214
214
|
const changedFiles = parseResult.value.files.map((f) => f.path);
|
|
215
215
|
const impactData = adapter.computeImpactData(changedFiles);
|