@harness-engineering/cli 1.25.6 → 1.25.7
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-md-2PYJM2MK.js → agents-md-QPO3H5HX.js} +3 -3
- package/dist/{architecture-VCLB7A23.js → architecture-IJLXRHZA.js} +4 -4
- package/dist/{assess-project-64C6LIKN.js → assess-project-QU6XIVJK.js} +1 -1
- package/dist/bin/harness-mcp.js +15 -15
- package/dist/bin/harness.js +25 -25
- package/dist/{check-phase-gate-RT6PGEHY.js → check-phase-gate-TNY64AOS.js} +4 -4
- package/dist/{chunk-ZAKUCM7O.js → chunk-2DF6OZLG.js} +2 -2
- package/dist/{chunk-XLO4AXXM.js → chunk-AS5DQT4S.js} +9 -9
- package/dist/{chunk-CBZECDCW.js → chunk-D3XL2FLX.js} +5 -5
- package/dist/{chunk-R2BI5UPK.js → chunk-E5Z6NTTQ.js} +1 -1
- package/dist/{chunk-VELT5VAG.js → chunk-FRDS4XGD.js} +1 -1
- package/dist/{chunk-EY6F2QXW.js → chunk-G5SNXUIK.js} +1 -1
- package/dist/{chunk-KJC4SE7C.js → chunk-GVNT2YC7.js} +9 -9
- package/dist/{chunk-XMEEYMGE.js → chunk-IQO7IINR.js} +1 -1
- package/dist/{chunk-7BAGSY5Q.js → chunk-IT2KORSK.js} +1 -1
- package/dist/{chunk-43VBX44J.js → chunk-JJQ3TW2E.js} +97 -91
- package/dist/{chunk-SMY35HJM.js → chunk-JPZY7ZQX.js} +1 -1
- package/dist/{chunk-FL6A72LV.js → chunk-K35D7HF3.js} +1 -1
- package/dist/{chunk-BUJOMC3O.js → chunk-K533WNZG.js} +38 -2
- package/dist/{chunk-RKZW3FDF.js → chunk-KVJZQ2MV.js} +1 -1
- package/dist/{chunk-WEOGCL7B.js → chunk-LTCEV7VF.js} +3 -3
- package/dist/{chunk-Y5JA4J2M.js → chunk-LXPRO2FH.js} +2 -2
- package/dist/{chunk-U2OMWI7Z.js → chunk-MCDCZMKN.js} +1 -1
- package/dist/{chunk-4YEBV2FT.js → chunk-MLOGYWLY.js} +2 -2
- package/dist/{chunk-RDQGCHKD.js → chunk-NKQEMWGT.js} +83 -66
- package/dist/{chunk-X2JJ3CPG.js → chunk-PCOU2UXU.js} +8 -8
- package/dist/{chunk-R7P2FMJT.js → chunk-SZ3Q4XEO.js} +36 -34
- package/dist/{chunk-JUXFYB2K.js → chunk-TQRCODRJ.js} +1 -1
- package/dist/{chunk-SZZ5UQL7.js → chunk-XVJRFP7W.js} +6 -6
- package/dist/{chunk-JQCS75DY.js → chunk-YRBNAHH4.js} +4 -4
- package/dist/{chunk-42ZZLMYD.js → chunk-ZIYLIYN4.js} +1 -1
- package/dist/{ci-workflow-SZL3KVUK.js → ci-workflow-FJYRFZYQ.js} +3 -3
- package/dist/{dist-GRW3X2ZQ.js → dist-HPWNWCT6.js} +1 -1
- package/dist/{dist-T3DGV5UN.js → dist-ZV6GO6FA.js} +2 -2
- package/dist/{docs-WDLJORLK.js → docs-7DW3DI4Z.js} +4 -4
- package/dist/{engine-2YWYRCKK.js → engine-P7EE2IWO.js} +3 -3
- package/dist/{entropy-PJGTOORX.js → entropy-HCXRTDFU.js} +3 -3
- package/dist/{feedback-M5KCJKL2.js → feedback-Y4FYN3NR.js} +1 -1
- package/dist/{generate-agent-definitions-MFDW6LZT.js → generate-agent-definitions-3EHPIWBO.js} +4 -4
- package/dist/{graph-loader-QMKXT454.js → graph-loader-KXVS3YK3.js} +1 -1
- package/dist/index.d.ts +14 -8
- package/dist/index.js +25 -25
- package/dist/{loader-6O52FYHE.js → loader-SKHF3JVV.js} +3 -3
- package/dist/{mcp-GGNFWKVC.js → mcp-MWYIPDQU.js} +15 -15
- package/dist/{performance-337U5URQ.js → performance-ADWH5NJY.js} +4 -4
- package/dist/{review-pipeline-DB5RD4SN.js → review-pipeline-TLKE5OQD.js} +3 -3
- package/dist/{runtime-B74EN2WD.js → runtime-7LYAW7GU.js} +3 -3
- package/dist/{scan-DXQUHGTT.js → scan-BGJ7TLLV.js} +1 -1
- package/dist/{security-3AYN6FVU.js → security-5XWINYVB.js} +1 -1
- package/dist/{validate-35CD7VWN.js → validate-BFFHYHY7.js} +4 -4
- package/dist/{validate-cross-check-LJKXBQYH.js → validate-cross-check-GQX7OVCR.js} +3 -3
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assessProjectDefinition,
|
|
3
3
|
handleAssessProject
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XVJRFP7W.js";
|
|
5
5
|
import {
|
|
6
6
|
getBusinessKnowledgeResource
|
|
7
7
|
} from "./chunk-RC5ZY3EV.js";
|
|
@@ -12,37 +12,37 @@ import {
|
|
|
12
12
|
handleCreateSelfReview,
|
|
13
13
|
handleRequestPeerReview,
|
|
14
14
|
requestPeerReviewDefinition
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GVNT2YC7.js";
|
|
16
16
|
import {
|
|
17
17
|
getSecurityTrendsDefinition,
|
|
18
18
|
handleGetSecurityTrends,
|
|
19
19
|
handleRunSecurityScan,
|
|
20
20
|
runSecurityScanDefinition
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-MLOGYWLY.js";
|
|
22
22
|
import {
|
|
23
23
|
handleRunCodeReview,
|
|
24
24
|
runCodeReviewDefinition,
|
|
25
25
|
sortFindingsBySeverity
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-2DF6OZLG.js";
|
|
27
27
|
import {
|
|
28
28
|
handleValidateProject,
|
|
29
29
|
validateToolDefinition
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-LTCEV7VF.js";
|
|
31
31
|
import {
|
|
32
32
|
checkDependenciesDefinition,
|
|
33
33
|
handleCheckDependencies
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-YRBNAHH4.js";
|
|
35
35
|
import {
|
|
36
36
|
resolveProjectConfig
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-IQO7IINR.js";
|
|
38
38
|
import {
|
|
39
39
|
checkDocsDefinition,
|
|
40
40
|
handleCheckDocs
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-AS5DQT4S.js";
|
|
42
42
|
import {
|
|
43
43
|
detectEntropyDefinition,
|
|
44
44
|
handleDetectEntropy
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-D3XL2FLX.js";
|
|
46
46
|
import {
|
|
47
47
|
checkPerformanceDefinition,
|
|
48
48
|
getCriticalPathsDefinition,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
handleGetPerfBaselines,
|
|
53
53
|
handleUpdatePerfBaselines,
|
|
54
54
|
updatePerfBaselinesDefinition
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-PCOU2UXU.js";
|
|
56
56
|
import {
|
|
57
57
|
resultToMcpResponse
|
|
58
58
|
} from "./chunk-EPUKTTJZ.js";
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
62
62
|
import {
|
|
63
63
|
resolveConfig
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-TQRCODRJ.js";
|
|
65
65
|
import {
|
|
66
66
|
GENERATED_HEADER_CLAUDE,
|
|
67
67
|
GENERATED_HEADER_CODEX,
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
} from "./chunk-6B6UN6SG.js";
|
|
84
84
|
import {
|
|
85
85
|
loadGraphStore
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-JPZY7ZQX.js";
|
|
87
87
|
import {
|
|
88
88
|
CompactionPipeline,
|
|
89
89
|
DEFAULT_TOKEN_BUDGET,
|
|
@@ -101,7 +101,7 @@ import {
|
|
|
101
101
|
scanForInjection,
|
|
102
102
|
serializeEnvelope,
|
|
103
103
|
writeTaint
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-ZIYLIYN4.js";
|
|
105
105
|
import {
|
|
106
106
|
Err,
|
|
107
107
|
Ok
|
|
@@ -676,9 +676,11 @@ function scaffoldMcp(engine, safePath, i, language) {
|
|
|
676
676
|
...language !== void 0 && { language }
|
|
677
677
|
});
|
|
678
678
|
if (!renderResult.ok) return resultToMcpResponse(renderResult);
|
|
679
|
+
const existingProject = engine.isExistingProject(safePath);
|
|
679
680
|
const writeResult = engine.write(renderResult.value, safePath, {
|
|
680
681
|
overwrite: false,
|
|
681
|
-
...language !== void 0 && { language }
|
|
682
|
+
...language !== void 0 && { language },
|
|
683
|
+
existingProject
|
|
682
684
|
});
|
|
683
685
|
if (writeResult.ok) {
|
|
684
686
|
persistToolingConfig(safePath, resolveResult.value, i.framework);
|
|
@@ -699,7 +701,7 @@ ${skippedMsg}`
|
|
|
699
701
|
async function handleInitProject(input) {
|
|
700
702
|
const i = input;
|
|
701
703
|
try {
|
|
702
|
-
const { TemplateEngine } = await import("./engine-
|
|
704
|
+
const { TemplateEngine } = await import("./engine-P7EE2IWO.js");
|
|
703
705
|
const engine = new TemplateEngine(resolveTemplatesDir());
|
|
704
706
|
const safePath = sanitizePath(i.path);
|
|
705
707
|
const detected = tryDetectFramework(engine, safePath, i);
|
|
@@ -721,7 +723,7 @@ var listPersonasDefinition = {
|
|
|
721
723
|
inputSchema: { type: "object", properties: {} }
|
|
722
724
|
};
|
|
723
725
|
async function handleListPersonas() {
|
|
724
|
-
const { listPersonas } = await import("./loader-
|
|
726
|
+
const { listPersonas } = await import("./loader-SKHF3JVV.js");
|
|
725
727
|
const result = listPersonas(resolvePersonasDir());
|
|
726
728
|
return resultToMcpResponse(result);
|
|
727
729
|
}
|
|
@@ -745,10 +747,10 @@ async function handleGeneratePersonaArtifacts(input) {
|
|
|
745
747
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
|
|
746
748
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
|
|
747
749
|
}
|
|
748
|
-
const { loadPersona } = await import("./loader-
|
|
749
|
-
const { generateRuntime } = await import("./runtime-
|
|
750
|
-
const { generateAgentsMd } = await import("./agents-md-
|
|
751
|
-
const { generateCIWorkflow } = await import("./ci-workflow-
|
|
750
|
+
const { loadPersona } = await import("./loader-SKHF3JVV.js");
|
|
751
|
+
const { generateRuntime } = await import("./runtime-7LYAW7GU.js");
|
|
752
|
+
const { generateAgentsMd } = await import("./agents-md-QPO3H5HX.js");
|
|
753
|
+
const { generateCIWorkflow } = await import("./ci-workflow-FJYRFZYQ.js");
|
|
752
754
|
const personasDir = resolvePersonasDir();
|
|
753
755
|
const filePath = path3.join(personasDir, `${input.name}.yaml`);
|
|
754
756
|
if (!filePath.startsWith(personasDir)) {
|
|
@@ -803,7 +805,7 @@ async function handleRunPersona(input) {
|
|
|
803
805
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
|
|
804
806
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
|
|
805
807
|
}
|
|
806
|
-
const { loadPersona } = await import("./loader-
|
|
808
|
+
const { loadPersona } = await import("./loader-SKHF3JVV.js");
|
|
807
809
|
const { runPersona } = await import("./runner-AAEF2TXY.js");
|
|
808
810
|
const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
|
|
809
811
|
const personasDir = resolvePersonasDir();
|
|
@@ -1342,7 +1344,7 @@ function loadOrGenerateProfile(projectRoot) {
|
|
|
1342
1344
|
// src/mcp/tools/event-emitter.ts
|
|
1343
1345
|
async function emitSkillEvent(projectPath, event) {
|
|
1344
1346
|
try {
|
|
1345
|
-
const { emitEvent } = await import("./dist-
|
|
1347
|
+
const { emitEvent } = await import("./dist-ZV6GO6FA.js");
|
|
1346
1348
|
await emitEvent(projectPath, event);
|
|
1347
1349
|
} catch {
|
|
1348
1350
|
}
|
|
@@ -1614,7 +1616,7 @@ async function autoSyncRoadmap(projectPath) {
|
|
|
1614
1616
|
try {
|
|
1615
1617
|
const roadmapFile = path11.join(projectPath, "docs", "roadmap.md");
|
|
1616
1618
|
if (!fs10.existsSync(roadmapFile)) return;
|
|
1617
|
-
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-
|
|
1619
|
+
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-ZV6GO6FA.js");
|
|
1618
1620
|
const raw = fs10.readFileSync(roadmapFile, "utf-8");
|
|
1619
1621
|
const parseResult = parseRoadmap(raw);
|
|
1620
1622
|
if (!parseResult.ok) return;
|
|
@@ -1644,7 +1646,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
|
|
|
1644
1646
|
console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
|
|
1645
1647
|
return;
|
|
1646
1648
|
}
|
|
1647
|
-
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-
|
|
1649
|
+
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-ZV6GO6FA.js");
|
|
1648
1650
|
const adapter = new GitHubIssuesSyncAdapter({
|
|
1649
1651
|
token,
|
|
1650
1652
|
config: trackerConfig
|
|
@@ -1741,12 +1743,12 @@ var manageStateDefinition = {
|
|
|
1741
1743
|
}
|
|
1742
1744
|
};
|
|
1743
1745
|
async function handleShow(projectPath, input) {
|
|
1744
|
-
const { loadState } = await import("./dist-
|
|
1746
|
+
const { loadState } = await import("./dist-ZV6GO6FA.js");
|
|
1745
1747
|
return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
|
|
1746
1748
|
}
|
|
1747
1749
|
async function handleLearn(projectPath, input) {
|
|
1748
1750
|
if (!input.learning) return mcpError("Error: learning is required for learn action");
|
|
1749
|
-
const { appendLearning } = await import("./dist-
|
|
1751
|
+
const { appendLearning } = await import("./dist-ZV6GO6FA.js");
|
|
1750
1752
|
const result = await appendLearning(
|
|
1751
1753
|
projectPath,
|
|
1752
1754
|
input.learning,
|
|
@@ -1761,7 +1763,7 @@ async function handleLearn(projectPath, input) {
|
|
|
1761
1763
|
async function handleFailure(projectPath, input) {
|
|
1762
1764
|
if (!input.description) return mcpError("Error: description is required for failure action");
|
|
1763
1765
|
if (!input.failureType) return mcpError("Error: failureType is required for failure action");
|
|
1764
|
-
const { appendFailure } = await import("./dist-
|
|
1766
|
+
const { appendFailure } = await import("./dist-ZV6GO6FA.js");
|
|
1765
1767
|
const result = await appendFailure(
|
|
1766
1768
|
projectPath,
|
|
1767
1769
|
input.description,
|
|
@@ -1780,19 +1782,19 @@ async function handleFailure(projectPath, input) {
|
|
|
1780
1782
|
return resultToMcpResponse(Ok({ recorded: true }));
|
|
1781
1783
|
}
|
|
1782
1784
|
async function handleArchive(projectPath, input) {
|
|
1783
|
-
const { archiveFailures } = await import("./dist-
|
|
1785
|
+
const { archiveFailures } = await import("./dist-ZV6GO6FA.js");
|
|
1784
1786
|
const result = await archiveFailures(projectPath, input.stream, input.session);
|
|
1785
1787
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1786
1788
|
return resultToMcpResponse(Ok({ archived: true }));
|
|
1787
1789
|
}
|
|
1788
1790
|
async function handleReset(projectPath, input) {
|
|
1789
|
-
const { saveState, DEFAULT_STATE } = await import("./dist-
|
|
1791
|
+
const { saveState, DEFAULT_STATE } = await import("./dist-ZV6GO6FA.js");
|
|
1790
1792
|
const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
|
|
1791
1793
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1792
1794
|
return resultToMcpResponse(Ok({ reset: true }));
|
|
1793
1795
|
}
|
|
1794
1796
|
async function handleGate(projectPath, input) {
|
|
1795
|
-
const { runMechanicalGate } = await import("./dist-
|
|
1797
|
+
const { runMechanicalGate } = await import("./dist-ZV6GO6FA.js");
|
|
1796
1798
|
const result = await runMechanicalGate(projectPath);
|
|
1797
1799
|
if (result.ok) {
|
|
1798
1800
|
await emitSkillEvent(projectPath, {
|
|
@@ -1812,7 +1814,7 @@ async function handleGate(projectPath, input) {
|
|
|
1812
1814
|
}
|
|
1813
1815
|
async function handleSaveHandoff(projectPath, input) {
|
|
1814
1816
|
if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
|
|
1815
|
-
const { saveHandoff } = await import("./dist-
|
|
1817
|
+
const { saveHandoff } = await import("./dist-ZV6GO6FA.js");
|
|
1816
1818
|
const result = await saveHandoff(
|
|
1817
1819
|
projectPath,
|
|
1818
1820
|
input.handoff,
|
|
@@ -1834,7 +1836,7 @@ async function handleSaveHandoff(projectPath, input) {
|
|
|
1834
1836
|
return resultToMcpResponse(Ok({ saved: true }));
|
|
1835
1837
|
}
|
|
1836
1838
|
async function handleLoadHandoff(projectPath, input) {
|
|
1837
|
-
const { loadHandoff } = await import("./dist-
|
|
1839
|
+
const { loadHandoff } = await import("./dist-ZV6GO6FA.js");
|
|
1838
1840
|
return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
|
|
1839
1841
|
}
|
|
1840
1842
|
async function handleAppendEntry(projectPath, input) {
|
|
@@ -1842,7 +1844,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
1842
1844
|
if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
|
|
1843
1845
|
if (!input.content) return mcpError("Error: content is required for append_entry action");
|
|
1844
1846
|
if (input.session) {
|
|
1845
|
-
const { appendSessionEntry } = await import("./dist-
|
|
1847
|
+
const { appendSessionEntry } = await import("./dist-ZV6GO6FA.js");
|
|
1846
1848
|
const result = await appendSessionEntry(
|
|
1847
1849
|
projectPath,
|
|
1848
1850
|
input.session,
|
|
@@ -1855,7 +1857,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
1855
1857
|
if (input.section !== "decisions") {
|
|
1856
1858
|
return mcpError("Error: session is required for non-decisions sections");
|
|
1857
1859
|
}
|
|
1858
|
-
const { loadState, saveState } = await import("./dist-
|
|
1860
|
+
const { loadState, saveState } = await import("./dist-ZV6GO6FA.js");
|
|
1859
1861
|
const lr = await loadState(projectPath, input.stream);
|
|
1860
1862
|
if (!lr.ok) return resultToMcpResponse(lr);
|
|
1861
1863
|
lr.value.decisions.push({
|
|
@@ -1873,7 +1875,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
1873
1875
|
if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
|
|
1874
1876
|
if (!input.newStatus)
|
|
1875
1877
|
return mcpError("Error: newStatus is required for update_entry_status action");
|
|
1876
|
-
const { updateSessionEntryStatus } = await import("./dist-
|
|
1878
|
+
const { updateSessionEntryStatus } = await import("./dist-ZV6GO6FA.js");
|
|
1877
1879
|
const result = await updateSessionEntryStatus(
|
|
1878
1880
|
projectPath,
|
|
1879
1881
|
input.session,
|
|
@@ -1886,7 +1888,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
1886
1888
|
async function handleReadSection(projectPath, input) {
|
|
1887
1889
|
if (!input.session) return mcpError("Error: session is required for read_section action");
|
|
1888
1890
|
if (!input.section) return mcpError("Error: section is required for read_section action");
|
|
1889
|
-
const { readSessionSection } = await import("./dist-
|
|
1891
|
+
const { readSessionSection } = await import("./dist-ZV6GO6FA.js");
|
|
1890
1892
|
const result = await readSessionSection(
|
|
1891
1893
|
projectPath,
|
|
1892
1894
|
input.session,
|
|
@@ -1896,13 +1898,13 @@ async function handleReadSection(projectPath, input) {
|
|
|
1896
1898
|
}
|
|
1897
1899
|
async function handleReadSections(projectPath, input) {
|
|
1898
1900
|
if (!input.session) return mcpError("Error: session is required for read_sections action");
|
|
1899
|
-
const { readSessionSections } = await import("./dist-
|
|
1901
|
+
const { readSessionSections } = await import("./dist-ZV6GO6FA.js");
|
|
1900
1902
|
const result = await readSessionSections(projectPath, input.session);
|
|
1901
1903
|
return resultToMcpResponse(result);
|
|
1902
1904
|
}
|
|
1903
1905
|
async function handleArchiveSession(projectPath, input) {
|
|
1904
1906
|
if (!input.session) return mcpError("Error: session is required for archive_session action");
|
|
1905
|
-
const { archiveSession } = await import("./dist-
|
|
1907
|
+
const { archiveSession } = await import("./dist-ZV6GO6FA.js");
|
|
1906
1908
|
const result = await archiveSession(projectPath, input.session);
|
|
1907
1909
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1908
1910
|
await autoSyncRoadmap(projectPath);
|
|
@@ -1982,7 +1984,7 @@ var listStreamsDefinition = {
|
|
|
1982
1984
|
};
|
|
1983
1985
|
async function handleListStreams(input) {
|
|
1984
1986
|
try {
|
|
1985
|
-
const { listStreams, loadStreamIndex } = await import("./dist-
|
|
1987
|
+
const { listStreams, loadStreamIndex } = await import("./dist-ZV6GO6FA.js");
|
|
1986
1988
|
const projectPath = sanitizePath(input.path);
|
|
1987
1989
|
const indexResult = await loadStreamIndex(projectPath);
|
|
1988
1990
|
const streamsResult = await listStreams(projectPath);
|
|
@@ -2020,7 +2022,7 @@ var checkPhaseGateDefinition = {
|
|
|
2020
2022
|
};
|
|
2021
2023
|
async function handleCheckPhaseGate(input) {
|
|
2022
2024
|
try {
|
|
2023
|
-
const { runCheckPhaseGate } = await import("./check-phase-gate-
|
|
2025
|
+
const { runCheckPhaseGate } = await import("./check-phase-gate-TNY64AOS.js");
|
|
2024
2026
|
const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
|
|
2025
2027
|
if (result.ok) {
|
|
2026
2028
|
return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
|
|
@@ -2076,7 +2078,7 @@ async function handleValidateCrossCheck(input) {
|
|
|
2076
2078
|
};
|
|
2077
2079
|
}
|
|
2078
2080
|
try {
|
|
2079
|
-
const { runCrossCheck } = await import("./validate-cross-check-
|
|
2081
|
+
const { runCrossCheck } = await import("./validate-cross-check-GQX7OVCR.js");
|
|
2080
2082
|
const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
|
|
2081
2083
|
if (!specsDir.startsWith(projectPath)) {
|
|
2082
2084
|
return {
|
|
@@ -2799,7 +2801,7 @@ async function handleGenerateSlashCommands(input) {
|
|
|
2799
2801
|
// src/mcp/resources/state.ts
|
|
2800
2802
|
async function getStateResource(projectRoot) {
|
|
2801
2803
|
try {
|
|
2802
|
-
const { loadState, migrateToStreams } = await import("./dist-
|
|
2804
|
+
const { loadState, migrateToStreams } = await import("./dist-ZV6GO6FA.js");
|
|
2803
2805
|
await migrateToStreams(projectRoot);
|
|
2804
2806
|
const result = await loadState(projectRoot);
|
|
2805
2807
|
if (result.ok) {
|
|
@@ -2917,7 +2919,7 @@ async function handleQueryGraph(input) {
|
|
|
2917
2919
|
const projectPath = sanitizePath(input.path);
|
|
2918
2920
|
const store = await loadGraphStore(projectPath);
|
|
2919
2921
|
if (!store) return graphNotFoundError();
|
|
2920
|
-
const { ContextQL } = await import("./dist-
|
|
2922
|
+
const { ContextQL } = await import("./dist-HPWNWCT6.js");
|
|
2921
2923
|
const cql = new ContextQL(store);
|
|
2922
2924
|
const result = cql.execute({
|
|
2923
2925
|
rootNodeIds: input.rootNodeIds,
|
|
@@ -2999,7 +3001,7 @@ async function handleSearchSimilar(input) {
|
|
|
2999
3001
|
const projectPath = sanitizePath(input.path);
|
|
3000
3002
|
const store = await loadGraphStore(projectPath);
|
|
3001
3003
|
if (!store) return graphNotFoundError();
|
|
3002
|
-
const { FusionLayer } = await import("./dist-
|
|
3004
|
+
const { FusionLayer } = await import("./dist-HPWNWCT6.js");
|
|
3003
3005
|
const fusion = new FusionLayer(store);
|
|
3004
3006
|
const results = fusion.search(input.query, input.topK ?? 10);
|
|
3005
3007
|
if (input.mode === "summary") {
|
|
@@ -3054,7 +3056,7 @@ async function handleFindContextFor(input) {
|
|
|
3054
3056
|
const projectPath = sanitizePath(input.path);
|
|
3055
3057
|
const store = await loadGraphStore(projectPath);
|
|
3056
3058
|
if (!store) return graphNotFoundError();
|
|
3057
|
-
const { FusionLayer, ContextQL } = await import("./dist-
|
|
3059
|
+
const { FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
|
|
3058
3060
|
const fusion = new FusionLayer(store);
|
|
3059
3061
|
const cql = new ContextQL(store);
|
|
3060
3062
|
const tokenBudget = input.tokenBudget ?? 4e3;
|
|
@@ -3159,7 +3161,7 @@ async function handleGetRelationships(input) {
|
|
|
3159
3161
|
const projectPath = sanitizePath(input.path);
|
|
3160
3162
|
const store = await loadGraphStore(projectPath);
|
|
3161
3163
|
if (!store) return graphNotFoundError();
|
|
3162
|
-
const { ContextQL } = await import("./dist-
|
|
3164
|
+
const { ContextQL } = await import("./dist-HPWNWCT6.js");
|
|
3163
3165
|
const cql = new ContextQL(store);
|
|
3164
3166
|
const direction = input.direction ?? "both";
|
|
3165
3167
|
const bidirectional = direction === "both" || direction === "inbound";
|
|
@@ -3277,7 +3279,7 @@ async function handleGetImpact(input) {
|
|
|
3277
3279
|
const projectPath = sanitizePath(input.path);
|
|
3278
3280
|
const store = await loadGraphStore(projectPath);
|
|
3279
3281
|
if (!store) return graphNotFoundError();
|
|
3280
|
-
const { ContextQL } = await import("./dist-
|
|
3282
|
+
const { ContextQL } = await import("./dist-HPWNWCT6.js");
|
|
3281
3283
|
let targetNodeId = input.nodeId;
|
|
3282
3284
|
if (!targetNodeId && input.filePath) {
|
|
3283
3285
|
const fileNodes = store.findNodes({ type: "file" });
|
|
@@ -3409,7 +3411,7 @@ async function handleIngestSource(input) {
|
|
|
3409
3411
|
try {
|
|
3410
3412
|
const projectPath = sanitizePath(input.path);
|
|
3411
3413
|
const graphDir = path16.join(projectPath, ".harness", "graph");
|
|
3412
|
-
const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-
|
|
3414
|
+
const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-HPWNWCT6.js");
|
|
3413
3415
|
const fs17 = await import("fs/promises");
|
|
3414
3416
|
await fs17.mkdir(graphDir, { recursive: true });
|
|
3415
3417
|
const store = new GraphStore();
|
|
@@ -3493,7 +3495,7 @@ async function handleDetectAnomalies(input) {
|
|
|
3493
3495
|
const projectPath = sanitizePath(input.path);
|
|
3494
3496
|
const store = await loadGraphStore(projectPath);
|
|
3495
3497
|
if (!store) return graphNotFoundError();
|
|
3496
|
-
const { GraphAnomalyAdapter } = await import("./dist-
|
|
3498
|
+
const { GraphAnomalyAdapter } = await import("./dist-HPWNWCT6.js");
|
|
3497
3499
|
const adapter = new GraphAnomalyAdapter(store);
|
|
3498
3500
|
const report = adapter.detect({
|
|
3499
3501
|
...input.threshold !== void 0 && { threshold: input.threshold },
|
|
@@ -3542,7 +3544,7 @@ async function handleAskGraph(input) {
|
|
|
3542
3544
|
const projectPath = sanitizePath(input.path);
|
|
3543
3545
|
const store = await loadGraphStore(projectPath);
|
|
3544
3546
|
if (!store) return graphNotFoundError();
|
|
3545
|
-
const { askGraph } = await import("./dist-
|
|
3547
|
+
const { askGraph } = await import("./dist-HPWNWCT6.js");
|
|
3546
3548
|
const result = await askGraph(store, input.question);
|
|
3547
3549
|
return {
|
|
3548
3550
|
content: [{ type: "text", text: JSON.stringify(result) }]
|
|
@@ -3606,7 +3608,7 @@ async function handleComputeBlastRadius(input) {
|
|
|
3606
3608
|
const projectPath = sanitizePath(input.path);
|
|
3607
3609
|
const store = await loadGraphStore(projectPath);
|
|
3608
3610
|
if (!store) return graphNotFoundError();
|
|
3609
|
-
const { CascadeSimulator } = await import("./dist-
|
|
3611
|
+
const { CascadeSimulator } = await import("./dist-HPWNWCT6.js");
|
|
3610
3612
|
let targetNodeId = input.nodeId;
|
|
3611
3613
|
if (!targetNodeId && input.file) {
|
|
3612
3614
|
const fileNodes = store.findNodes({ type: "file" });
|
|
@@ -3807,7 +3809,7 @@ var generateAgentDefinitionsDefinition = {
|
|
|
3807
3809
|
}
|
|
3808
3810
|
};
|
|
3809
3811
|
async function handleGenerateAgentDefinitions(input) {
|
|
3810
|
-
const { generateAgentDefinitions } = await import("./generate-agent-definitions-
|
|
3812
|
+
const { generateAgentDefinitions } = await import("./generate-agent-definitions-3EHPIWBO.js");
|
|
3811
3813
|
const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
|
|
3812
3814
|
const results = generateAgentDefinitions({
|
|
3813
3815
|
platforms: [...platforms],
|
|
@@ -4135,7 +4137,7 @@ function shouldTriggerExternalSync(input, response) {
|
|
|
4135
4137
|
}
|
|
4136
4138
|
async function handleManageRoadmap(input) {
|
|
4137
4139
|
try {
|
|
4138
|
-
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-
|
|
4140
|
+
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-ZV6GO6FA.js");
|
|
4139
4141
|
const { Ok: Ok2 } = await import("./dist-3EWNRFFQ.js");
|
|
4140
4142
|
const projectPath = sanitizePath(input.path);
|
|
4141
4143
|
const deps = {
|
|
@@ -4298,8 +4300,12 @@ ${rows.join("\n")}`;
|
|
|
4298
4300
|
prompt += `
|
|
4299
4301
|
|
|
4300
4302
|
**Recommendation:** ${recLabel} (confidence: ${recommendation.confidence})`;
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
+
const cleanReason = recommendation.reason.trim();
|
|
4304
|
+
const cleanText = text.trim();
|
|
4305
|
+
if (cleanReason && cleanReason !== cleanText && !cleanReason.startsWith(cleanText)) {
|
|
4306
|
+
prompt += `
|
|
4307
|
+
> ${cleanReason}`;
|
|
4308
|
+
}
|
|
4303
4309
|
}
|
|
4304
4310
|
}
|
|
4305
4311
|
return prompt;
|
|
@@ -4570,7 +4576,7 @@ async function handleTransition(validInput, projectPath, id) {
|
|
|
4570
4576
|
const transition = transitionResult.data;
|
|
4571
4577
|
const prompt = renderTransition(transition);
|
|
4572
4578
|
try {
|
|
4573
|
-
const { saveHandoff } = await import("./dist-
|
|
4579
|
+
const { saveHandoff } = await import("./dist-ZV6GO6FA.js");
|
|
4574
4580
|
await saveHandoff(
|
|
4575
4581
|
projectPath,
|
|
4576
4582
|
{
|
|
@@ -4651,7 +4657,7 @@ async function handleEmitInteraction(input) {
|
|
|
4651
4657
|
}
|
|
4652
4658
|
async function recordInteraction(projectPath, id, type, decision, stream) {
|
|
4653
4659
|
try {
|
|
4654
|
-
const { loadState, saveState } = await import("./dist-
|
|
4660
|
+
const { loadState, saveState } = await import("./dist-ZV6GO6FA.js");
|
|
4655
4661
|
const stateResult = await loadState(projectPath, stream);
|
|
4656
4662
|
if (stateResult.ok) {
|
|
4657
4663
|
const state = stateResult.value;
|
|
@@ -4812,10 +4818,10 @@ async function handleGatherContext(input) {
|
|
|
4812
4818
|
input.include ?? ["state", "learnings", "handoff", "graph", "validation"]
|
|
4813
4819
|
);
|
|
4814
4820
|
const errors = [];
|
|
4815
|
-
const statePromise = includeSet.has("state") ? import("./dist-
|
|
4821
|
+
const statePromise = includeSet.has("state") ? import("./dist-ZV6GO6FA.js").then(
|
|
4816
4822
|
(core) => core.loadState(projectPath, void 0, input.session)
|
|
4817
4823
|
) : Promise.resolve(null);
|
|
4818
|
-
const learningsPromise = includeSet.has("learnings") ? import("./dist-
|
|
4824
|
+
const learningsPromise = includeSet.has("learnings") ? import("./dist-ZV6GO6FA.js").then(
|
|
4819
4825
|
(core) => core.loadBudgetedLearnings(projectPath, {
|
|
4820
4826
|
intent: input.intent,
|
|
4821
4827
|
tokenBudget: input.learningsBudget ?? 1e3,
|
|
@@ -4824,14 +4830,14 @@ async function handleGatherContext(input) {
|
|
|
4824
4830
|
...input.depth !== void 0 && { depth: input.depth }
|
|
4825
4831
|
})
|
|
4826
4832
|
) : Promise.resolve(null);
|
|
4827
|
-
const handoffPromise = includeSet.has("handoff") ? import("./dist-
|
|
4833
|
+
const handoffPromise = includeSet.has("handoff") ? import("./dist-ZV6GO6FA.js").then(
|
|
4828
4834
|
(core) => core.loadHandoff(projectPath, void 0, input.session)
|
|
4829
4835
|
) : Promise.resolve(null);
|
|
4830
4836
|
const graphPromise = includeSet.has("graph") ? (async () => {
|
|
4831
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
4837
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
|
|
4832
4838
|
const store = await loadGraphStore2(projectPath);
|
|
4833
4839
|
if (!store) return null;
|
|
4834
|
-
const { FusionLayer, ContextQL } = await import("./dist-
|
|
4840
|
+
const { FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
|
|
4835
4841
|
const fusion = new FusionLayer(store);
|
|
4836
4842
|
const cql = new ContextQL(store);
|
|
4837
4843
|
const tokenBudget = input.tokenBudget ?? 4e3;
|
|
@@ -4868,11 +4874,11 @@ async function handleGatherContext(input) {
|
|
|
4868
4874
|
context: contextBlocks
|
|
4869
4875
|
};
|
|
4870
4876
|
})() : Promise.resolve(null);
|
|
4871
|
-
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-
|
|
4877
|
+
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-ZV6GO6FA.js").then(
|
|
4872
4878
|
(core) => core.readSessionSections(projectPath, input.session)
|
|
4873
4879
|
) : Promise.resolve(null);
|
|
4874
4880
|
const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
|
|
4875
|
-
const eventsPromise = shouldIncludeEvents ? import("./dist-
|
|
4881
|
+
const eventsPromise = shouldIncludeEvents ? import("./dist-ZV6GO6FA.js").then(async (core) => {
|
|
4876
4882
|
const result = await core.loadEvents(projectPath, {
|
|
4877
4883
|
session: input.session
|
|
4878
4884
|
});
|
|
@@ -4880,7 +4886,7 @@ async function handleGatherContext(input) {
|
|
|
4880
4886
|
return core.formatEventTimeline(result.value);
|
|
4881
4887
|
}) : Promise.resolve(null);
|
|
4882
4888
|
const validationPromise = includeSet.has("validation") ? (async () => {
|
|
4883
|
-
const { handleValidateProject: handleValidateProject2 } = await import("./validate-
|
|
4889
|
+
const { handleValidateProject: handleValidateProject2 } = await import("./validate-BFFHYHY7.js");
|
|
4884
4890
|
const result = await handleValidateProject2({ path: projectPath });
|
|
4885
4891
|
const first = result.content[0];
|
|
4886
4892
|
return first ? JSON.parse(first.text) : null;
|
|
@@ -4983,7 +4989,7 @@ async function handleGatherContext(input) {
|
|
|
4983
4989
|
};
|
|
4984
4990
|
if (input.session) {
|
|
4985
4991
|
try {
|
|
4986
|
-
const core = await import("./dist-
|
|
4992
|
+
const core = await import("./dist-ZV6GO6FA.js");
|
|
4987
4993
|
core.updateSessionIndex(
|
|
4988
4994
|
projectPath,
|
|
4989
4995
|
input.session,
|
|
@@ -5135,7 +5141,7 @@ async function handleReviewChanges(input) {
|
|
|
5135
5141
|
}
|
|
5136
5142
|
}
|
|
5137
5143
|
async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5138
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-
|
|
5144
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-Y4FYN3NR.js");
|
|
5139
5145
|
const result = await handleAnalyzeDiff2({ diff, path: projectPath });
|
|
5140
5146
|
const firstContent = result.content[0];
|
|
5141
5147
|
if (!firstContent) throw new Error("Empty analyze_diff response");
|
|
@@ -5170,7 +5176,7 @@ function extractFileCount(diffParsed) {
|
|
|
5170
5176
|
return files?.length ?? 0;
|
|
5171
5177
|
}
|
|
5172
5178
|
async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5173
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-
|
|
5179
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-Y4FYN3NR.js");
|
|
5174
5180
|
const [diffResult, reviewResult] = await Promise.all([
|
|
5175
5181
|
handleAnalyzeDiff2({ diff, path: projectPath }),
|
|
5176
5182
|
handleCreateSelfReview2({ path: projectPath, diff })
|
|
@@ -5205,7 +5211,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
|
|
|
5205
5211
|
};
|
|
5206
5212
|
}
|
|
5207
5213
|
async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
|
|
5208
|
-
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-
|
|
5214
|
+
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-TLKE5OQD.js");
|
|
5209
5215
|
const result = await handleRunCodeReview2({
|
|
5210
5216
|
path: projectPath,
|
|
5211
5217
|
diff,
|
|
@@ -5284,7 +5290,7 @@ async function handleCheckTaskIndependence(input) {
|
|
|
5284
5290
|
try {
|
|
5285
5291
|
const projectPath = sanitizePath(input.path);
|
|
5286
5292
|
const store = await loadGraphStore(projectPath);
|
|
5287
|
-
const { TaskIndependenceAnalyzer } = await import("./dist-
|
|
5293
|
+
const { TaskIndependenceAnalyzer } = await import("./dist-HPWNWCT6.js");
|
|
5288
5294
|
const analyzer = new TaskIndependenceAnalyzer(store ?? void 0);
|
|
5289
5295
|
const result = analyzer.analyze({
|
|
5290
5296
|
tasks: input.tasks,
|
|
@@ -5372,7 +5378,7 @@ async function handlePredictConflicts(input) {
|
|
|
5372
5378
|
try {
|
|
5373
5379
|
const projectPath = sanitizePath(input.path);
|
|
5374
5380
|
const store = await loadGraphStore(projectPath);
|
|
5375
|
-
const { ConflictPredictor } = await import("./dist-
|
|
5381
|
+
const { ConflictPredictor } = await import("./dist-HPWNWCT6.js");
|
|
5376
5382
|
const predictor = new ConflictPredictor(store ?? void 0);
|
|
5377
5383
|
const result = predictor.predict({
|
|
5378
5384
|
tasks: input.tasks,
|
|
@@ -5478,7 +5484,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
5478
5484
|
isError: true
|
|
5479
5485
|
};
|
|
5480
5486
|
}
|
|
5481
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
5487
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
|
|
5482
5488
|
const store = await loadGraphStore2(projectPath);
|
|
5483
5489
|
if (!store) {
|
|
5484
5490
|
return {
|
|
@@ -5499,7 +5505,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
5499
5505
|
]
|
|
5500
5506
|
};
|
|
5501
5507
|
}
|
|
5502
|
-
const { detectStaleConstraints } = await import("./dist-
|
|
5508
|
+
const { detectStaleConstraints } = await import("./dist-ZV6GO6FA.js");
|
|
5503
5509
|
const result = detectStaleConstraints(
|
|
5504
5510
|
store,
|
|
5505
5511
|
windowDays,
|
|
@@ -5619,10 +5625,10 @@ function countCriticalFindings(securityData) {
|
|
|
5619
5625
|
return findings.filter((f) => f.severity === "error").length;
|
|
5620
5626
|
}
|
|
5621
5627
|
async function runHealthChecks(projectPath) {
|
|
5622
|
-
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-
|
|
5623
|
-
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-
|
|
5624
|
-
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-
|
|
5625
|
-
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-
|
|
5628
|
+
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-QU6XIVJK.js");
|
|
5629
|
+
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-IJLXRHZA.js");
|
|
5630
|
+
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-HCXRTDFU.js");
|
|
5631
|
+
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-5XWINYVB.js");
|
|
5626
5632
|
const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
|
|
5627
5633
|
handleAssessProject2({
|
|
5628
5634
|
path: projectPath,
|
|
@@ -5677,10 +5683,10 @@ function avg(values) {
|
|
|
5677
5683
|
}
|
|
5678
5684
|
async function runGraphMetrics(projectPath) {
|
|
5679
5685
|
try {
|
|
5680
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
5686
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
|
|
5681
5687
|
const store = await loadGraphStore2(projectPath);
|
|
5682
5688
|
if (!store) return ZERO_METRICS;
|
|
5683
|
-
const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-
|
|
5689
|
+
const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-HPWNWCT6.js");
|
|
5684
5690
|
const couplingAdapter = new GraphCouplingAdapter(store);
|
|
5685
5691
|
const couplingData = couplingAdapter.computeCouplingData();
|
|
5686
5692
|
const files = couplingData.files;
|
|
@@ -6419,7 +6425,7 @@ async function handleGetDecayTrends(input) {
|
|
|
6419
6425
|
};
|
|
6420
6426
|
}
|
|
6421
6427
|
try {
|
|
6422
|
-
const core = await import("./dist-
|
|
6428
|
+
const core = await import("./dist-ZV6GO6FA.js");
|
|
6423
6429
|
const { TimelineManager } = core;
|
|
6424
6430
|
const manager = new TimelineManager(projectPath);
|
|
6425
6431
|
const timeline = manager.load();
|
|
@@ -6554,7 +6560,7 @@ async function handleCodeOutline(input) {
|
|
|
6554
6560
|
};
|
|
6555
6561
|
}
|
|
6556
6562
|
try {
|
|
6557
|
-
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-
|
|
6563
|
+
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-ZV6GO6FA.js");
|
|
6558
6564
|
const { stat } = await import("fs/promises");
|
|
6559
6565
|
const stats = await stat(targetPath).catch(() => null);
|
|
6560
6566
|
if (stats?.isFile()) {
|
|
@@ -6573,7 +6579,7 @@ async function handleCodeOutline(input) {
|
|
|
6573
6579
|
})
|
|
6574
6580
|
);
|
|
6575
6581
|
fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
6576
|
-
const { paginate: paginate2 } = await import("./dist-
|
|
6582
|
+
const { paginate: paginate2 } = await import("./dist-ZV6GO6FA.js");
|
|
6577
6583
|
const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
|
|
6578
6584
|
const results = [];
|
|
6579
6585
|
for (const entry of paged.items) {
|
|
@@ -6646,7 +6652,7 @@ async function handleCodeSearch(input) {
|
|
|
6646
6652
|
};
|
|
6647
6653
|
}
|
|
6648
6654
|
try {
|
|
6649
|
-
const { searchSymbols } = await import("./dist-
|
|
6655
|
+
const { searchSymbols } = await import("./dist-ZV6GO6FA.js");
|
|
6650
6656
|
const result = await searchSymbols(input.query, directory, input.glob);
|
|
6651
6657
|
const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
|
|
6652
6658
|
for (const match of result.matches) {
|
|
@@ -6715,7 +6721,7 @@ async function handleCodeUnfold(input) {
|
|
|
6715
6721
|
}
|
|
6716
6722
|
try {
|
|
6717
6723
|
if (input.symbol) {
|
|
6718
|
-
const { unfoldSymbol } = await import("./dist-
|
|
6724
|
+
const { unfoldSymbol } = await import("./dist-ZV6GO6FA.js");
|
|
6719
6725
|
const result = await unfoldSymbol(filePath, input.symbol);
|
|
6720
6726
|
const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
|
|
6721
6727
|
` : `${result.file}:${result.startLine}-${result.endLine}
|
|
@@ -6723,7 +6729,7 @@ async function handleCodeUnfold(input) {
|
|
|
6723
6729
|
return { content: [{ type: "text", text: header + result.content }] };
|
|
6724
6730
|
}
|
|
6725
6731
|
if (input.startLine != null && input.endLine != null) {
|
|
6726
|
-
const { unfoldRange } = await import("./dist-
|
|
6732
|
+
const { unfoldRange } = await import("./dist-ZV6GO6FA.js");
|
|
6727
6733
|
const result = await unfoldRange(filePath, input.startLine, input.endLine);
|
|
6728
6734
|
const header = `${result.file}:${result.startLine}-${result.endLine}
|
|
6729
6735
|
`;
|
|
@@ -6785,7 +6791,7 @@ async function handleCheckTraceability(input) {
|
|
|
6785
6791
|
isError: true
|
|
6786
6792
|
};
|
|
6787
6793
|
}
|
|
6788
|
-
const { queryTraceability } = await import("./dist-
|
|
6794
|
+
const { queryTraceability } = await import("./dist-HPWNWCT6.js");
|
|
6789
6795
|
const options = {};
|
|
6790
6796
|
if (input.spec) options.specPath = input.spec;
|
|
6791
6797
|
if (input.feature) options.featureName = input.feature;
|
|
@@ -6908,7 +6914,7 @@ async function handlePredictFailures(input) {
|
|
|
6908
6914
|
};
|
|
6909
6915
|
}
|
|
6910
6916
|
try {
|
|
6911
|
-
const core = await import("./dist-
|
|
6917
|
+
const core = await import("./dist-ZV6GO6FA.js");
|
|
6912
6918
|
const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
|
|
6913
6919
|
const manager = new TimelineManager(projectPath);
|
|
6914
6920
|
const includeRoadmap = input.includeRoadmap !== false;
|
|
@@ -7098,7 +7104,7 @@ function handleContentMode(content, pipeline, budget, source) {
|
|
|
7098
7104
|
};
|
|
7099
7105
|
}
|
|
7100
7106
|
async function handleIntentMode(projectPath, intent, pipeline, budget, filterContent) {
|
|
7101
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
7107
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
|
|
7102
7108
|
const store = await loadGraphStore2(projectPath);
|
|
7103
7109
|
if (!store) {
|
|
7104
7110
|
return {
|
|
@@ -7111,7 +7117,7 @@ async function handleIntentMode(projectPath, intent, pipeline, budget, filterCon
|
|
|
7111
7117
|
isError: true
|
|
7112
7118
|
};
|
|
7113
7119
|
}
|
|
7114
|
-
const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-
|
|
7120
|
+
const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
|
|
7115
7121
|
const cache = new PackedSummaryCache(store);
|
|
7116
7122
|
const cachedEnvelope = cache.get(intent);
|
|
7117
7123
|
if (cachedEnvelope) {
|
|
@@ -7324,7 +7330,7 @@ async function handleDetectConstraintEmergence(input) {
|
|
|
7324
7330
|
}
|
|
7325
7331
|
const nodePath = await import("path");
|
|
7326
7332
|
const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
|
|
7327
|
-
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-
|
|
7333
|
+
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-ZV6GO6FA.js");
|
|
7328
7334
|
const manager = new ViolationHistoryManager(historyPath);
|
|
7329
7335
|
const history = manager.load();
|
|
7330
7336
|
const options = { windowWeeks, minOccurrences };
|
|
@@ -7574,7 +7580,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
|
|
|
7574
7580
|
shouldRunCheck,
|
|
7575
7581
|
readCheckState,
|
|
7576
7582
|
spawnBackgroundCheck
|
|
7577
|
-
} = await import("./dist-
|
|
7583
|
+
} = await import("./dist-ZV6GO6FA.js");
|
|
7578
7584
|
const { CLI_VERSION } = await import("./version-CUI434OP.js");
|
|
7579
7585
|
const configInterval = readConfigInterval(resolvedRoot);
|
|
7580
7586
|
const DEFAULT_INTERVAL = 864e5;
|