@harness-engineering/cli 1.25.7 → 1.26.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-knowledge-pipeline/SKILL.md +277 -0
- package/dist/agents/skills/claude-code/harness-knowledge-pipeline/skill.yaml +60 -0
- package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +277 -0
- package/dist/agents/skills/codex/harness-knowledge-pipeline/skill.yaml +60 -0
- package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +277 -0
- package/dist/agents/skills/cursor/harness-knowledge-pipeline/skill.yaml +60 -0
- package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +277 -0
- package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/skill.yaml +60 -0
- package/dist/agents/skills/package.json +2 -2
- package/dist/{agents-md-QPO3H5HX.js → agents-md-OPOZA5L7.js} +3 -3
- package/dist/{architecture-IJLXRHZA.js → architecture-PMVMO6SF.js} +4 -4
- package/dist/{assess-project-QU6XIVJK.js → assess-project-ZW7EKNIT.js} +1 -1
- package/dist/bin/harness-mcp.js +15 -15
- package/dist/bin/harness.js +25 -25
- package/dist/{check-phase-gate-TNY64AOS.js → check-phase-gate-NTLAU3LO.js} +4 -4
- package/dist/{chunk-TQRCODRJ.js → chunk-4KSKV5MK.js} +1 -1
- package/dist/{chunk-IT2KORSK.js → chunk-6SCA4NEZ.js} +1 -1
- package/dist/{chunk-ZIYLIYN4.js → chunk-77EZGPSR.js} +1 -1
- package/dist/{chunk-D3XL2FLX.js → chunk-7JNZXJKY.js} +5 -5
- package/dist/{chunk-JJQ3TW2E.js → chunk-CAS3TS4Y.js} +101 -89
- package/dist/{chunk-K35D7HF3.js → chunk-EXTWTJRF.js} +1 -1
- package/dist/{chunk-AS5DQT4S.js → chunk-FI3D6D7U.js} +9 -9
- package/dist/{chunk-2DF6OZLG.js → chunk-G6SYTGOH.js} +2 -2
- package/dist/{chunk-KVJZQ2MV.js → chunk-HAOBHL3W.js} +1 -1
- package/dist/{chunk-MLOGYWLY.js → chunk-IFHAUFJX.js} +2 -2
- package/dist/{chunk-IQO7IINR.js → chunk-J3O64D2A.js} +1 -1
- package/dist/{chunk-LTCEV7VF.js → chunk-JBJ4AVE4.js} +3 -3
- package/dist/{chunk-FRDS4XGD.js → chunk-JWSVLC4I.js} +1 -1
- package/dist/{chunk-K533WNZG.js → chunk-JZ6GORAK.js} +1 -1
- package/dist/{chunk-YRBNAHH4.js → chunk-KFE2X7LG.js} +4 -4
- package/dist/{chunk-MCDCZMKN.js → chunk-KSFUJT5B.js} +1 -1
- package/dist/{chunk-LXPRO2FH.js → chunk-KXIAHHHP.js} +2 -2
- package/dist/{chunk-E5Z6NTTQ.js → chunk-NIOB6FTG.js} +1 -1
- package/dist/{chunk-PCOU2UXU.js → chunk-NVGQO4VM.js} +8 -8
- package/dist/{chunk-G5SNXUIK.js → chunk-QYSWNPXZ.js} +1 -1
- package/dist/{chunk-XVJRFP7W.js → chunk-RNAGPTKF.js} +6 -6
- package/dist/{chunk-GVNT2YC7.js → chunk-UBRD5FH4.js} +9 -9
- package/dist/{chunk-NKQEMWGT.js → chunk-VV2PJT4K.js} +3321 -207
- package/dist/{chunk-JPZY7ZQX.js → chunk-Z2JORLRT.js} +1 -1
- package/dist/{chunk-SZ3Q4XEO.js → chunk-ZBQ3ZY75.js} +433 -283
- package/dist/{ci-workflow-FJYRFZYQ.js → ci-workflow-H52EMCL6.js} +3 -3
- package/dist/{dist-HPWNWCT6.js → dist-PGQ32ZI7.js} +41 -1
- package/dist/{dist-ZV6GO6FA.js → dist-TG63OKA5.js} +2 -2
- package/dist/{docs-7DW3DI4Z.js → docs-GP4VUSIB.js} +4 -4
- package/dist/{engine-P7EE2IWO.js → engine-KQG5RVXX.js} +3 -3
- package/dist/{entropy-HCXRTDFU.js → entropy-RXESIYKC.js} +3 -3
- package/dist/{feedback-Y4FYN3NR.js → feedback-HS7ZYXOU.js} +1 -1
- package/dist/{generate-agent-definitions-3EHPIWBO.js → generate-agent-definitions-I4B7CVOB.js} +4 -4
- package/dist/{graph-loader-KXVS3YK3.js → graph-loader-TIVI6NQ7.js} +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.js +25 -25
- package/dist/{loader-SKHF3JVV.js → loader-CWAH6B4H.js} +3 -3
- package/dist/{mcp-MWYIPDQU.js → mcp-KHK5KYER.js} +15 -15
- package/dist/{performance-ADWH5NJY.js → performance-WDW5WS3J.js} +4 -4
- package/dist/{review-pipeline-TLKE5OQD.js → review-pipeline-QOZGWCTY.js} +3 -3
- package/dist/{runtime-7LYAW7GU.js → runtime-SFEFRPLX.js} +3 -3
- package/dist/{scan-BGJ7TLLV.js → scan-IJ7EYTF7.js} +1 -1
- package/dist/{security-5XWINYVB.js → security-2K7UUK6T.js} +1 -1
- package/dist/{validate-BFFHYHY7.js → validate-HXM6DXRZ.js} +4 -4
- package/dist/{validate-cross-check-GQX7OVCR.js → validate-cross-check-ULQLEOME.js} +3 -3
- package/package.json +9 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assessProjectDefinition,
|
|
3
3
|
handleAssessProject
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RNAGPTKF.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-UBRD5FH4.js";
|
|
16
16
|
import {
|
|
17
17
|
getSecurityTrendsDefinition,
|
|
18
18
|
handleGetSecurityTrends,
|
|
19
19
|
handleRunSecurityScan,
|
|
20
20
|
runSecurityScanDefinition
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-IFHAUFJX.js";
|
|
22
22
|
import {
|
|
23
23
|
handleRunCodeReview,
|
|
24
24
|
runCodeReviewDefinition,
|
|
25
25
|
sortFindingsBySeverity
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-G6SYTGOH.js";
|
|
27
27
|
import {
|
|
28
28
|
handleValidateProject,
|
|
29
29
|
validateToolDefinition
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-JBJ4AVE4.js";
|
|
31
31
|
import {
|
|
32
32
|
checkDependenciesDefinition,
|
|
33
33
|
handleCheckDependencies
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-KFE2X7LG.js";
|
|
35
35
|
import {
|
|
36
36
|
resolveProjectConfig
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-J3O64D2A.js";
|
|
38
38
|
import {
|
|
39
39
|
checkDocsDefinition,
|
|
40
40
|
handleCheckDocs
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-FI3D6D7U.js";
|
|
42
42
|
import {
|
|
43
43
|
detectEntropyDefinition,
|
|
44
44
|
handleDetectEntropy
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-7JNZXJKY.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-NVGQO4VM.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-4KSKV5MK.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-Z2JORLRT.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-77EZGPSR.js";
|
|
105
105
|
import {
|
|
106
106
|
Err,
|
|
107
107
|
Ok
|
|
@@ -701,7 +701,7 @@ ${skippedMsg}`
|
|
|
701
701
|
async function handleInitProject(input) {
|
|
702
702
|
const i = input;
|
|
703
703
|
try {
|
|
704
|
-
const { TemplateEngine } = await import("./engine-
|
|
704
|
+
const { TemplateEngine } = await import("./engine-KQG5RVXX.js");
|
|
705
705
|
const engine = new TemplateEngine(resolveTemplatesDir());
|
|
706
706
|
const safePath = sanitizePath(i.path);
|
|
707
707
|
const detected = tryDetectFramework(engine, safePath, i);
|
|
@@ -723,7 +723,7 @@ var listPersonasDefinition = {
|
|
|
723
723
|
inputSchema: { type: "object", properties: {} }
|
|
724
724
|
};
|
|
725
725
|
async function handleListPersonas() {
|
|
726
|
-
const { listPersonas } = await import("./loader-
|
|
726
|
+
const { listPersonas } = await import("./loader-CWAH6B4H.js");
|
|
727
727
|
const result = listPersonas(resolvePersonasDir());
|
|
728
728
|
return resultToMcpResponse(result);
|
|
729
729
|
}
|
|
@@ -747,10 +747,10 @@ async function handleGeneratePersonaArtifacts(input) {
|
|
|
747
747
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
|
|
748
748
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
|
|
749
749
|
}
|
|
750
|
-
const { loadPersona } = await import("./loader-
|
|
751
|
-
const { generateRuntime } = await import("./runtime-
|
|
752
|
-
const { generateAgentsMd } = await import("./agents-md-
|
|
753
|
-
const { generateCIWorkflow } = await import("./ci-workflow-
|
|
750
|
+
const { loadPersona } = await import("./loader-CWAH6B4H.js");
|
|
751
|
+
const { generateRuntime } = await import("./runtime-SFEFRPLX.js");
|
|
752
|
+
const { generateAgentsMd } = await import("./agents-md-OPOZA5L7.js");
|
|
753
|
+
const { generateCIWorkflow } = await import("./ci-workflow-H52EMCL6.js");
|
|
754
754
|
const personasDir = resolvePersonasDir();
|
|
755
755
|
const filePath = path3.join(personasDir, `${input.name}.yaml`);
|
|
756
756
|
if (!filePath.startsWith(personasDir)) {
|
|
@@ -805,7 +805,7 @@ async function handleRunPersona(input) {
|
|
|
805
805
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
|
|
806
806
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
|
|
807
807
|
}
|
|
808
|
-
const { loadPersona } = await import("./loader-
|
|
808
|
+
const { loadPersona } = await import("./loader-CWAH6B4H.js");
|
|
809
809
|
const { runPersona } = await import("./runner-AAEF2TXY.js");
|
|
810
810
|
const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
|
|
811
811
|
const personasDir = resolvePersonasDir();
|
|
@@ -1344,7 +1344,7 @@ function loadOrGenerateProfile(projectRoot) {
|
|
|
1344
1344
|
// src/mcp/tools/event-emitter.ts
|
|
1345
1345
|
async function emitSkillEvent(projectPath, event) {
|
|
1346
1346
|
try {
|
|
1347
|
-
const { emitEvent } = await import("./dist-
|
|
1347
|
+
const { emitEvent } = await import("./dist-TG63OKA5.js");
|
|
1348
1348
|
await emitEvent(projectPath, event);
|
|
1349
1349
|
} catch {
|
|
1350
1350
|
}
|
|
@@ -1616,7 +1616,7 @@ async function autoSyncRoadmap(projectPath) {
|
|
|
1616
1616
|
try {
|
|
1617
1617
|
const roadmapFile = path11.join(projectPath, "docs", "roadmap.md");
|
|
1618
1618
|
if (!fs10.existsSync(roadmapFile)) return;
|
|
1619
|
-
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-
|
|
1619
|
+
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-TG63OKA5.js");
|
|
1620
1620
|
const raw = fs10.readFileSync(roadmapFile, "utf-8");
|
|
1621
1621
|
const parseResult = parseRoadmap(raw);
|
|
1622
1622
|
if (!parseResult.ok) return;
|
|
@@ -1646,7 +1646,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
|
|
|
1646
1646
|
console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
|
|
1647
1647
|
return;
|
|
1648
1648
|
}
|
|
1649
|
-
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-
|
|
1649
|
+
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-TG63OKA5.js");
|
|
1650
1650
|
const adapter = new GitHubIssuesSyncAdapter({
|
|
1651
1651
|
token,
|
|
1652
1652
|
config: trackerConfig
|
|
@@ -1743,12 +1743,12 @@ var manageStateDefinition = {
|
|
|
1743
1743
|
}
|
|
1744
1744
|
};
|
|
1745
1745
|
async function handleShow(projectPath, input) {
|
|
1746
|
-
const { loadState } = await import("./dist-
|
|
1746
|
+
const { loadState } = await import("./dist-TG63OKA5.js");
|
|
1747
1747
|
return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
|
|
1748
1748
|
}
|
|
1749
1749
|
async function handleLearn(projectPath, input) {
|
|
1750
1750
|
if (!input.learning) return mcpError("Error: learning is required for learn action");
|
|
1751
|
-
const { appendLearning } = await import("./dist-
|
|
1751
|
+
const { appendLearning } = await import("./dist-TG63OKA5.js");
|
|
1752
1752
|
const result = await appendLearning(
|
|
1753
1753
|
projectPath,
|
|
1754
1754
|
input.learning,
|
|
@@ -1763,7 +1763,7 @@ async function handleLearn(projectPath, input) {
|
|
|
1763
1763
|
async function handleFailure(projectPath, input) {
|
|
1764
1764
|
if (!input.description) return mcpError("Error: description is required for failure action");
|
|
1765
1765
|
if (!input.failureType) return mcpError("Error: failureType is required for failure action");
|
|
1766
|
-
const { appendFailure } = await import("./dist-
|
|
1766
|
+
const { appendFailure } = await import("./dist-TG63OKA5.js");
|
|
1767
1767
|
const result = await appendFailure(
|
|
1768
1768
|
projectPath,
|
|
1769
1769
|
input.description,
|
|
@@ -1782,19 +1782,19 @@ async function handleFailure(projectPath, input) {
|
|
|
1782
1782
|
return resultToMcpResponse(Ok({ recorded: true }));
|
|
1783
1783
|
}
|
|
1784
1784
|
async function handleArchive(projectPath, input) {
|
|
1785
|
-
const { archiveFailures } = await import("./dist-
|
|
1785
|
+
const { archiveFailures } = await import("./dist-TG63OKA5.js");
|
|
1786
1786
|
const result = await archiveFailures(projectPath, input.stream, input.session);
|
|
1787
1787
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1788
1788
|
return resultToMcpResponse(Ok({ archived: true }));
|
|
1789
1789
|
}
|
|
1790
1790
|
async function handleReset(projectPath, input) {
|
|
1791
|
-
const { saveState, DEFAULT_STATE } = await import("./dist-
|
|
1791
|
+
const { saveState, DEFAULT_STATE } = await import("./dist-TG63OKA5.js");
|
|
1792
1792
|
const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
|
|
1793
1793
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1794
1794
|
return resultToMcpResponse(Ok({ reset: true }));
|
|
1795
1795
|
}
|
|
1796
1796
|
async function handleGate(projectPath, input) {
|
|
1797
|
-
const { runMechanicalGate } = await import("./dist-
|
|
1797
|
+
const { runMechanicalGate } = await import("./dist-TG63OKA5.js");
|
|
1798
1798
|
const result = await runMechanicalGate(projectPath);
|
|
1799
1799
|
if (result.ok) {
|
|
1800
1800
|
await emitSkillEvent(projectPath, {
|
|
@@ -1814,7 +1814,7 @@ async function handleGate(projectPath, input) {
|
|
|
1814
1814
|
}
|
|
1815
1815
|
async function handleSaveHandoff(projectPath, input) {
|
|
1816
1816
|
if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
|
|
1817
|
-
const { saveHandoff } = await import("./dist-
|
|
1817
|
+
const { saveHandoff } = await import("./dist-TG63OKA5.js");
|
|
1818
1818
|
const result = await saveHandoff(
|
|
1819
1819
|
projectPath,
|
|
1820
1820
|
input.handoff,
|
|
@@ -1836,7 +1836,7 @@ async function handleSaveHandoff(projectPath, input) {
|
|
|
1836
1836
|
return resultToMcpResponse(Ok({ saved: true }));
|
|
1837
1837
|
}
|
|
1838
1838
|
async function handleLoadHandoff(projectPath, input) {
|
|
1839
|
-
const { loadHandoff } = await import("./dist-
|
|
1839
|
+
const { loadHandoff } = await import("./dist-TG63OKA5.js");
|
|
1840
1840
|
return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
|
|
1841
1841
|
}
|
|
1842
1842
|
async function handleAppendEntry(projectPath, input) {
|
|
@@ -1844,7 +1844,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
1844
1844
|
if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
|
|
1845
1845
|
if (!input.content) return mcpError("Error: content is required for append_entry action");
|
|
1846
1846
|
if (input.session) {
|
|
1847
|
-
const { appendSessionEntry } = await import("./dist-
|
|
1847
|
+
const { appendSessionEntry } = await import("./dist-TG63OKA5.js");
|
|
1848
1848
|
const result = await appendSessionEntry(
|
|
1849
1849
|
projectPath,
|
|
1850
1850
|
input.session,
|
|
@@ -1857,7 +1857,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
1857
1857
|
if (input.section !== "decisions") {
|
|
1858
1858
|
return mcpError("Error: session is required for non-decisions sections");
|
|
1859
1859
|
}
|
|
1860
|
-
const { loadState, saveState } = await import("./dist-
|
|
1860
|
+
const { loadState, saveState } = await import("./dist-TG63OKA5.js");
|
|
1861
1861
|
const lr = await loadState(projectPath, input.stream);
|
|
1862
1862
|
if (!lr.ok) return resultToMcpResponse(lr);
|
|
1863
1863
|
lr.value.decisions.push({
|
|
@@ -1875,7 +1875,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
1875
1875
|
if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
|
|
1876
1876
|
if (!input.newStatus)
|
|
1877
1877
|
return mcpError("Error: newStatus is required for update_entry_status action");
|
|
1878
|
-
const { updateSessionEntryStatus } = await import("./dist-
|
|
1878
|
+
const { updateSessionEntryStatus } = await import("./dist-TG63OKA5.js");
|
|
1879
1879
|
const result = await updateSessionEntryStatus(
|
|
1880
1880
|
projectPath,
|
|
1881
1881
|
input.session,
|
|
@@ -1888,7 +1888,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
1888
1888
|
async function handleReadSection(projectPath, input) {
|
|
1889
1889
|
if (!input.session) return mcpError("Error: session is required for read_section action");
|
|
1890
1890
|
if (!input.section) return mcpError("Error: section is required for read_section action");
|
|
1891
|
-
const { readSessionSection } = await import("./dist-
|
|
1891
|
+
const { readSessionSection } = await import("./dist-TG63OKA5.js");
|
|
1892
1892
|
const result = await readSessionSection(
|
|
1893
1893
|
projectPath,
|
|
1894
1894
|
input.session,
|
|
@@ -1898,13 +1898,13 @@ async function handleReadSection(projectPath, input) {
|
|
|
1898
1898
|
}
|
|
1899
1899
|
async function handleReadSections(projectPath, input) {
|
|
1900
1900
|
if (!input.session) return mcpError("Error: session is required for read_sections action");
|
|
1901
|
-
const { readSessionSections } = await import("./dist-
|
|
1901
|
+
const { readSessionSections } = await import("./dist-TG63OKA5.js");
|
|
1902
1902
|
const result = await readSessionSections(projectPath, input.session);
|
|
1903
1903
|
return resultToMcpResponse(result);
|
|
1904
1904
|
}
|
|
1905
1905
|
async function handleArchiveSession(projectPath, input) {
|
|
1906
1906
|
if (!input.session) return mcpError("Error: session is required for archive_session action");
|
|
1907
|
-
const { archiveSession } = await import("./dist-
|
|
1907
|
+
const { archiveSession } = await import("./dist-TG63OKA5.js");
|
|
1908
1908
|
const result = await archiveSession(projectPath, input.session);
|
|
1909
1909
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1910
1910
|
await autoSyncRoadmap(projectPath);
|
|
@@ -1984,7 +1984,7 @@ var listStreamsDefinition = {
|
|
|
1984
1984
|
};
|
|
1985
1985
|
async function handleListStreams(input) {
|
|
1986
1986
|
try {
|
|
1987
|
-
const { listStreams, loadStreamIndex } = await import("./dist-
|
|
1987
|
+
const { listStreams, loadStreamIndex } = await import("./dist-TG63OKA5.js");
|
|
1988
1988
|
const projectPath = sanitizePath(input.path);
|
|
1989
1989
|
const indexResult = await loadStreamIndex(projectPath);
|
|
1990
1990
|
const streamsResult = await listStreams(projectPath);
|
|
@@ -2022,7 +2022,7 @@ var checkPhaseGateDefinition = {
|
|
|
2022
2022
|
};
|
|
2023
2023
|
async function handleCheckPhaseGate(input) {
|
|
2024
2024
|
try {
|
|
2025
|
-
const { runCheckPhaseGate } = await import("./check-phase-gate-
|
|
2025
|
+
const { runCheckPhaseGate } = await import("./check-phase-gate-NTLAU3LO.js");
|
|
2026
2026
|
const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
|
|
2027
2027
|
if (result.ok) {
|
|
2028
2028
|
return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
|
|
@@ -2078,7 +2078,7 @@ async function handleValidateCrossCheck(input) {
|
|
|
2078
2078
|
};
|
|
2079
2079
|
}
|
|
2080
2080
|
try {
|
|
2081
|
-
const { runCrossCheck } = await import("./validate-cross-check-
|
|
2081
|
+
const { runCrossCheck } = await import("./validate-cross-check-ULQLEOME.js");
|
|
2082
2082
|
const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
|
|
2083
2083
|
if (!specsDir.startsWith(projectPath)) {
|
|
2084
2084
|
return {
|
|
@@ -2801,7 +2801,7 @@ async function handleGenerateSlashCommands(input) {
|
|
|
2801
2801
|
// src/mcp/resources/state.ts
|
|
2802
2802
|
async function getStateResource(projectRoot) {
|
|
2803
2803
|
try {
|
|
2804
|
-
const { loadState, migrateToStreams } = await import("./dist-
|
|
2804
|
+
const { loadState, migrateToStreams } = await import("./dist-TG63OKA5.js");
|
|
2805
2805
|
await migrateToStreams(projectRoot);
|
|
2806
2806
|
const result = await loadState(projectRoot);
|
|
2807
2807
|
if (result.ok) {
|
|
@@ -2919,7 +2919,7 @@ async function handleQueryGraph(input) {
|
|
|
2919
2919
|
const projectPath = sanitizePath(input.path);
|
|
2920
2920
|
const store = await loadGraphStore(projectPath);
|
|
2921
2921
|
if (!store) return graphNotFoundError();
|
|
2922
|
-
const { ContextQL } = await import("./dist-
|
|
2922
|
+
const { ContextQL } = await import("./dist-PGQ32ZI7.js");
|
|
2923
2923
|
const cql = new ContextQL(store);
|
|
2924
2924
|
const result = cql.execute({
|
|
2925
2925
|
rootNodeIds: input.rootNodeIds,
|
|
@@ -3001,7 +3001,7 @@ async function handleSearchSimilar(input) {
|
|
|
3001
3001
|
const projectPath = sanitizePath(input.path);
|
|
3002
3002
|
const store = await loadGraphStore(projectPath);
|
|
3003
3003
|
if (!store) return graphNotFoundError();
|
|
3004
|
-
const { FusionLayer } = await import("./dist-
|
|
3004
|
+
const { FusionLayer } = await import("./dist-PGQ32ZI7.js");
|
|
3005
3005
|
const fusion = new FusionLayer(store);
|
|
3006
3006
|
const results = fusion.search(input.query, input.topK ?? 10);
|
|
3007
3007
|
if (input.mode === "summary") {
|
|
@@ -3056,7 +3056,7 @@ async function handleFindContextFor(input) {
|
|
|
3056
3056
|
const projectPath = sanitizePath(input.path);
|
|
3057
3057
|
const store = await loadGraphStore(projectPath);
|
|
3058
3058
|
if (!store) return graphNotFoundError();
|
|
3059
|
-
const { FusionLayer, ContextQL } = await import("./dist-
|
|
3059
|
+
const { FusionLayer, ContextQL } = await import("./dist-PGQ32ZI7.js");
|
|
3060
3060
|
const fusion = new FusionLayer(store);
|
|
3061
3061
|
const cql = new ContextQL(store);
|
|
3062
3062
|
const tokenBudget = input.tokenBudget ?? 4e3;
|
|
@@ -3161,7 +3161,7 @@ async function handleGetRelationships(input) {
|
|
|
3161
3161
|
const projectPath = sanitizePath(input.path);
|
|
3162
3162
|
const store = await loadGraphStore(projectPath);
|
|
3163
3163
|
if (!store) return graphNotFoundError();
|
|
3164
|
-
const { ContextQL } = await import("./dist-
|
|
3164
|
+
const { ContextQL } = await import("./dist-PGQ32ZI7.js");
|
|
3165
3165
|
const cql = new ContextQL(store);
|
|
3166
3166
|
const direction = input.direction ?? "both";
|
|
3167
3167
|
const bidirectional = direction === "both" || direction === "inbound";
|
|
@@ -3279,7 +3279,7 @@ async function handleGetImpact(input) {
|
|
|
3279
3279
|
const projectPath = sanitizePath(input.path);
|
|
3280
3280
|
const store = await loadGraphStore(projectPath);
|
|
3281
3281
|
if (!store) return graphNotFoundError();
|
|
3282
|
-
const { ContextQL } = await import("./dist-
|
|
3282
|
+
const { ContextQL } = await import("./dist-PGQ32ZI7.js");
|
|
3283
3283
|
let targetNodeId = input.nodeId;
|
|
3284
3284
|
if (!targetNodeId && input.filePath) {
|
|
3285
3285
|
const fileNodes = store.findNodes({ type: "file" });
|
|
@@ -3400,7 +3400,7 @@ var ingestSourceDefinition = {
|
|
|
3400
3400
|
path: { type: "string", description: "Path to project root" },
|
|
3401
3401
|
source: {
|
|
3402
3402
|
type: "string",
|
|
3403
|
-
enum: ["code", "knowledge", "git", "all"],
|
|
3403
|
+
enum: ["code", "knowledge", "git", "business-signals", "diagrams", "all"],
|
|
3404
3404
|
description: "Type of source to ingest"
|
|
3405
3405
|
}
|
|
3406
3406
|
},
|
|
@@ -3411,7 +3411,7 @@ async function handleIngestSource(input) {
|
|
|
3411
3411
|
try {
|
|
3412
3412
|
const projectPath = sanitizePath(input.path);
|
|
3413
3413
|
const graphDir = path16.join(projectPath, ".harness", "graph");
|
|
3414
|
-
const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-
|
|
3414
|
+
const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-PGQ32ZI7.js");
|
|
3415
3415
|
const fs17 = await import("fs/promises");
|
|
3416
3416
|
await fs17.mkdir(graphDir, { recursive: true });
|
|
3417
3417
|
const store = new GraphStore();
|
|
@@ -3434,6 +3434,18 @@ async function handleIngestSource(input) {
|
|
|
3434
3434
|
const gitResult = await gitIngestor.ingest(projectPath);
|
|
3435
3435
|
results.push(gitResult);
|
|
3436
3436
|
}
|
|
3437
|
+
if (input.source === "business-signals" || input.source === "all") {
|
|
3438
|
+
const { createExtractionRunner } = await import("./dist-PGQ32ZI7.js");
|
|
3439
|
+
const extractedDir = path16.join(projectPath, ".harness", "knowledge", "extracted");
|
|
3440
|
+
const signalsResult = await createExtractionRunner().run(projectPath, store, extractedDir);
|
|
3441
|
+
results.push(signalsResult);
|
|
3442
|
+
}
|
|
3443
|
+
if (input.source === "diagrams" || input.source === "all") {
|
|
3444
|
+
const { DiagramParser } = await import("./dist-PGQ32ZI7.js");
|
|
3445
|
+
const diagramParser = new DiagramParser(store);
|
|
3446
|
+
const diagramResult = await diagramParser.ingest(projectPath);
|
|
3447
|
+
results.push(diagramResult);
|
|
3448
|
+
}
|
|
3437
3449
|
await store.save(graphDir);
|
|
3438
3450
|
const combined = {
|
|
3439
3451
|
nodesAdded: results.reduce((s, r) => s + r.nodesAdded, 0),
|
|
@@ -3495,7 +3507,7 @@ async function handleDetectAnomalies(input) {
|
|
|
3495
3507
|
const projectPath = sanitizePath(input.path);
|
|
3496
3508
|
const store = await loadGraphStore(projectPath);
|
|
3497
3509
|
if (!store) return graphNotFoundError();
|
|
3498
|
-
const { GraphAnomalyAdapter } = await import("./dist-
|
|
3510
|
+
const { GraphAnomalyAdapter } = await import("./dist-PGQ32ZI7.js");
|
|
3499
3511
|
const adapter = new GraphAnomalyAdapter(store);
|
|
3500
3512
|
const report = adapter.detect({
|
|
3501
3513
|
...input.threshold !== void 0 && { threshold: input.threshold },
|
|
@@ -3544,7 +3556,7 @@ async function handleAskGraph(input) {
|
|
|
3544
3556
|
const projectPath = sanitizePath(input.path);
|
|
3545
3557
|
const store = await loadGraphStore(projectPath);
|
|
3546
3558
|
if (!store) return graphNotFoundError();
|
|
3547
|
-
const { askGraph } = await import("./dist-
|
|
3559
|
+
const { askGraph } = await import("./dist-PGQ32ZI7.js");
|
|
3548
3560
|
const result = await askGraph(store, input.question);
|
|
3549
3561
|
return {
|
|
3550
3562
|
content: [{ type: "text", text: JSON.stringify(result) }]
|
|
@@ -3608,7 +3620,7 @@ async function handleComputeBlastRadius(input) {
|
|
|
3608
3620
|
const projectPath = sanitizePath(input.path);
|
|
3609
3621
|
const store = await loadGraphStore(projectPath);
|
|
3610
3622
|
if (!store) return graphNotFoundError();
|
|
3611
|
-
const { CascadeSimulator } = await import("./dist-
|
|
3623
|
+
const { CascadeSimulator } = await import("./dist-PGQ32ZI7.js");
|
|
3612
3624
|
let targetNodeId = input.nodeId;
|
|
3613
3625
|
if (!targetNodeId && input.file) {
|
|
3614
3626
|
const fileNodes = store.findNodes({ type: "file" });
|
|
@@ -3809,7 +3821,7 @@ var generateAgentDefinitionsDefinition = {
|
|
|
3809
3821
|
}
|
|
3810
3822
|
};
|
|
3811
3823
|
async function handleGenerateAgentDefinitions(input) {
|
|
3812
|
-
const { generateAgentDefinitions } = await import("./generate-agent-definitions-
|
|
3824
|
+
const { generateAgentDefinitions } = await import("./generate-agent-definitions-I4B7CVOB.js");
|
|
3813
3825
|
const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
|
|
3814
3826
|
const results = generateAgentDefinitions({
|
|
3815
3827
|
platforms: [...platforms],
|
|
@@ -4137,7 +4149,7 @@ function shouldTriggerExternalSync(input, response) {
|
|
|
4137
4149
|
}
|
|
4138
4150
|
async function handleManageRoadmap(input) {
|
|
4139
4151
|
try {
|
|
4140
|
-
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-
|
|
4152
|
+
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-TG63OKA5.js");
|
|
4141
4153
|
const { Ok: Ok2 } = await import("./dist-3EWNRFFQ.js");
|
|
4142
4154
|
const projectPath = sanitizePath(input.path);
|
|
4143
4155
|
const deps = {
|
|
@@ -4576,7 +4588,7 @@ async function handleTransition(validInput, projectPath, id) {
|
|
|
4576
4588
|
const transition = transitionResult.data;
|
|
4577
4589
|
const prompt = renderTransition(transition);
|
|
4578
4590
|
try {
|
|
4579
|
-
const { saveHandoff } = await import("./dist-
|
|
4591
|
+
const { saveHandoff } = await import("./dist-TG63OKA5.js");
|
|
4580
4592
|
await saveHandoff(
|
|
4581
4593
|
projectPath,
|
|
4582
4594
|
{
|
|
@@ -4657,7 +4669,7 @@ async function handleEmitInteraction(input) {
|
|
|
4657
4669
|
}
|
|
4658
4670
|
async function recordInteraction(projectPath, id, type, decision, stream) {
|
|
4659
4671
|
try {
|
|
4660
|
-
const { loadState, saveState } = await import("./dist-
|
|
4672
|
+
const { loadState, saveState } = await import("./dist-TG63OKA5.js");
|
|
4661
4673
|
const stateResult = await loadState(projectPath, stream);
|
|
4662
4674
|
if (stateResult.ok) {
|
|
4663
4675
|
const state = stateResult.value;
|
|
@@ -4818,10 +4830,10 @@ async function handleGatherContext(input) {
|
|
|
4818
4830
|
input.include ?? ["state", "learnings", "handoff", "graph", "validation"]
|
|
4819
4831
|
);
|
|
4820
4832
|
const errors = [];
|
|
4821
|
-
const statePromise = includeSet.has("state") ? import("./dist-
|
|
4833
|
+
const statePromise = includeSet.has("state") ? import("./dist-TG63OKA5.js").then(
|
|
4822
4834
|
(core) => core.loadState(projectPath, void 0, input.session)
|
|
4823
4835
|
) : Promise.resolve(null);
|
|
4824
|
-
const learningsPromise = includeSet.has("learnings") ? import("./dist-
|
|
4836
|
+
const learningsPromise = includeSet.has("learnings") ? import("./dist-TG63OKA5.js").then(
|
|
4825
4837
|
(core) => core.loadBudgetedLearnings(projectPath, {
|
|
4826
4838
|
intent: input.intent,
|
|
4827
4839
|
tokenBudget: input.learningsBudget ?? 1e3,
|
|
@@ -4830,14 +4842,14 @@ async function handleGatherContext(input) {
|
|
|
4830
4842
|
...input.depth !== void 0 && { depth: input.depth }
|
|
4831
4843
|
})
|
|
4832
4844
|
) : Promise.resolve(null);
|
|
4833
|
-
const handoffPromise = includeSet.has("handoff") ? import("./dist-
|
|
4845
|
+
const handoffPromise = includeSet.has("handoff") ? import("./dist-TG63OKA5.js").then(
|
|
4834
4846
|
(core) => core.loadHandoff(projectPath, void 0, input.session)
|
|
4835
4847
|
) : Promise.resolve(null);
|
|
4836
4848
|
const graphPromise = includeSet.has("graph") ? (async () => {
|
|
4837
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
4849
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
|
|
4838
4850
|
const store = await loadGraphStore2(projectPath);
|
|
4839
4851
|
if (!store) return null;
|
|
4840
|
-
const { FusionLayer, ContextQL } = await import("./dist-
|
|
4852
|
+
const { FusionLayer, ContextQL } = await import("./dist-PGQ32ZI7.js");
|
|
4841
4853
|
const fusion = new FusionLayer(store);
|
|
4842
4854
|
const cql = new ContextQL(store);
|
|
4843
4855
|
const tokenBudget = input.tokenBudget ?? 4e3;
|
|
@@ -4874,11 +4886,11 @@ async function handleGatherContext(input) {
|
|
|
4874
4886
|
context: contextBlocks
|
|
4875
4887
|
};
|
|
4876
4888
|
})() : Promise.resolve(null);
|
|
4877
|
-
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-
|
|
4889
|
+
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-TG63OKA5.js").then(
|
|
4878
4890
|
(core) => core.readSessionSections(projectPath, input.session)
|
|
4879
4891
|
) : Promise.resolve(null);
|
|
4880
4892
|
const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
|
|
4881
|
-
const eventsPromise = shouldIncludeEvents ? import("./dist-
|
|
4893
|
+
const eventsPromise = shouldIncludeEvents ? import("./dist-TG63OKA5.js").then(async (core) => {
|
|
4882
4894
|
const result = await core.loadEvents(projectPath, {
|
|
4883
4895
|
session: input.session
|
|
4884
4896
|
});
|
|
@@ -4886,7 +4898,7 @@ async function handleGatherContext(input) {
|
|
|
4886
4898
|
return core.formatEventTimeline(result.value);
|
|
4887
4899
|
}) : Promise.resolve(null);
|
|
4888
4900
|
const validationPromise = includeSet.has("validation") ? (async () => {
|
|
4889
|
-
const { handleValidateProject: handleValidateProject2 } = await import("./validate-
|
|
4901
|
+
const { handleValidateProject: handleValidateProject2 } = await import("./validate-HXM6DXRZ.js");
|
|
4890
4902
|
const result = await handleValidateProject2({ path: projectPath });
|
|
4891
4903
|
const first = result.content[0];
|
|
4892
4904
|
return first ? JSON.parse(first.text) : null;
|
|
@@ -4989,7 +5001,7 @@ async function handleGatherContext(input) {
|
|
|
4989
5001
|
};
|
|
4990
5002
|
if (input.session) {
|
|
4991
5003
|
try {
|
|
4992
|
-
const core = await import("./dist-
|
|
5004
|
+
const core = await import("./dist-TG63OKA5.js");
|
|
4993
5005
|
core.updateSessionIndex(
|
|
4994
5006
|
projectPath,
|
|
4995
5007
|
input.session,
|
|
@@ -5141,7 +5153,7 @@ async function handleReviewChanges(input) {
|
|
|
5141
5153
|
}
|
|
5142
5154
|
}
|
|
5143
5155
|
async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5144
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-
|
|
5156
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-HS7ZYXOU.js");
|
|
5145
5157
|
const result = await handleAnalyzeDiff2({ diff, path: projectPath });
|
|
5146
5158
|
const firstContent = result.content[0];
|
|
5147
5159
|
if (!firstContent) throw new Error("Empty analyze_diff response");
|
|
@@ -5176,7 +5188,7 @@ function extractFileCount(diffParsed) {
|
|
|
5176
5188
|
return files?.length ?? 0;
|
|
5177
5189
|
}
|
|
5178
5190
|
async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5179
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-
|
|
5191
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-HS7ZYXOU.js");
|
|
5180
5192
|
const [diffResult, reviewResult] = await Promise.all([
|
|
5181
5193
|
handleAnalyzeDiff2({ diff, path: projectPath }),
|
|
5182
5194
|
handleCreateSelfReview2({ path: projectPath, diff })
|
|
@@ -5211,7 +5223,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
|
|
|
5211
5223
|
};
|
|
5212
5224
|
}
|
|
5213
5225
|
async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
|
|
5214
|
-
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-
|
|
5226
|
+
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-QOZGWCTY.js");
|
|
5215
5227
|
const result = await handleRunCodeReview2({
|
|
5216
5228
|
path: projectPath,
|
|
5217
5229
|
diff,
|
|
@@ -5290,7 +5302,7 @@ async function handleCheckTaskIndependence(input) {
|
|
|
5290
5302
|
try {
|
|
5291
5303
|
const projectPath = sanitizePath(input.path);
|
|
5292
5304
|
const store = await loadGraphStore(projectPath);
|
|
5293
|
-
const { TaskIndependenceAnalyzer } = await import("./dist-
|
|
5305
|
+
const { TaskIndependenceAnalyzer } = await import("./dist-PGQ32ZI7.js");
|
|
5294
5306
|
const analyzer = new TaskIndependenceAnalyzer(store ?? void 0);
|
|
5295
5307
|
const result = analyzer.analyze({
|
|
5296
5308
|
tasks: input.tasks,
|
|
@@ -5378,7 +5390,7 @@ async function handlePredictConflicts(input) {
|
|
|
5378
5390
|
try {
|
|
5379
5391
|
const projectPath = sanitizePath(input.path);
|
|
5380
5392
|
const store = await loadGraphStore(projectPath);
|
|
5381
|
-
const { ConflictPredictor } = await import("./dist-
|
|
5393
|
+
const { ConflictPredictor } = await import("./dist-PGQ32ZI7.js");
|
|
5382
5394
|
const predictor = new ConflictPredictor(store ?? void 0);
|
|
5383
5395
|
const result = predictor.predict({
|
|
5384
5396
|
tasks: input.tasks,
|
|
@@ -5484,7 +5496,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
5484
5496
|
isError: true
|
|
5485
5497
|
};
|
|
5486
5498
|
}
|
|
5487
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
5499
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
|
|
5488
5500
|
const store = await loadGraphStore2(projectPath);
|
|
5489
5501
|
if (!store) {
|
|
5490
5502
|
return {
|
|
@@ -5505,7 +5517,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
5505
5517
|
]
|
|
5506
5518
|
};
|
|
5507
5519
|
}
|
|
5508
|
-
const { detectStaleConstraints } = await import("./dist-
|
|
5520
|
+
const { detectStaleConstraints } = await import("./dist-TG63OKA5.js");
|
|
5509
5521
|
const result = detectStaleConstraints(
|
|
5510
5522
|
store,
|
|
5511
5523
|
windowDays,
|
|
@@ -5625,10 +5637,10 @@ function countCriticalFindings(securityData) {
|
|
|
5625
5637
|
return findings.filter((f) => f.severity === "error").length;
|
|
5626
5638
|
}
|
|
5627
5639
|
async function runHealthChecks(projectPath) {
|
|
5628
|
-
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-
|
|
5629
|
-
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-
|
|
5630
|
-
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-
|
|
5631
|
-
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-
|
|
5640
|
+
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-ZW7EKNIT.js");
|
|
5641
|
+
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-PMVMO6SF.js");
|
|
5642
|
+
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-RXESIYKC.js");
|
|
5643
|
+
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-2K7UUK6T.js");
|
|
5632
5644
|
const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
|
|
5633
5645
|
handleAssessProject2({
|
|
5634
5646
|
path: projectPath,
|
|
@@ -5683,10 +5695,10 @@ function avg(values) {
|
|
|
5683
5695
|
}
|
|
5684
5696
|
async function runGraphMetrics(projectPath) {
|
|
5685
5697
|
try {
|
|
5686
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
5698
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
|
|
5687
5699
|
const store = await loadGraphStore2(projectPath);
|
|
5688
5700
|
if (!store) return ZERO_METRICS;
|
|
5689
|
-
const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-
|
|
5701
|
+
const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-PGQ32ZI7.js");
|
|
5690
5702
|
const couplingAdapter = new GraphCouplingAdapter(store);
|
|
5691
5703
|
const couplingData = couplingAdapter.computeCouplingData();
|
|
5692
5704
|
const files = couplingData.files;
|
|
@@ -6425,7 +6437,7 @@ async function handleGetDecayTrends(input) {
|
|
|
6425
6437
|
};
|
|
6426
6438
|
}
|
|
6427
6439
|
try {
|
|
6428
|
-
const core = await import("./dist-
|
|
6440
|
+
const core = await import("./dist-TG63OKA5.js");
|
|
6429
6441
|
const { TimelineManager } = core;
|
|
6430
6442
|
const manager = new TimelineManager(projectPath);
|
|
6431
6443
|
const timeline = manager.load();
|
|
@@ -6560,7 +6572,7 @@ async function handleCodeOutline(input) {
|
|
|
6560
6572
|
};
|
|
6561
6573
|
}
|
|
6562
6574
|
try {
|
|
6563
|
-
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-
|
|
6575
|
+
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-TG63OKA5.js");
|
|
6564
6576
|
const { stat } = await import("fs/promises");
|
|
6565
6577
|
const stats = await stat(targetPath).catch(() => null);
|
|
6566
6578
|
if (stats?.isFile()) {
|
|
@@ -6579,7 +6591,7 @@ async function handleCodeOutline(input) {
|
|
|
6579
6591
|
})
|
|
6580
6592
|
);
|
|
6581
6593
|
fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
6582
|
-
const { paginate: paginate2 } = await import("./dist-
|
|
6594
|
+
const { paginate: paginate2 } = await import("./dist-TG63OKA5.js");
|
|
6583
6595
|
const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
|
|
6584
6596
|
const results = [];
|
|
6585
6597
|
for (const entry of paged.items) {
|
|
@@ -6652,7 +6664,7 @@ async function handleCodeSearch(input) {
|
|
|
6652
6664
|
};
|
|
6653
6665
|
}
|
|
6654
6666
|
try {
|
|
6655
|
-
const { searchSymbols } = await import("./dist-
|
|
6667
|
+
const { searchSymbols } = await import("./dist-TG63OKA5.js");
|
|
6656
6668
|
const result = await searchSymbols(input.query, directory, input.glob);
|
|
6657
6669
|
const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
|
|
6658
6670
|
for (const match of result.matches) {
|
|
@@ -6721,7 +6733,7 @@ async function handleCodeUnfold(input) {
|
|
|
6721
6733
|
}
|
|
6722
6734
|
try {
|
|
6723
6735
|
if (input.symbol) {
|
|
6724
|
-
const { unfoldSymbol } = await import("./dist-
|
|
6736
|
+
const { unfoldSymbol } = await import("./dist-TG63OKA5.js");
|
|
6725
6737
|
const result = await unfoldSymbol(filePath, input.symbol);
|
|
6726
6738
|
const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
|
|
6727
6739
|
` : `${result.file}:${result.startLine}-${result.endLine}
|
|
@@ -6729,7 +6741,7 @@ async function handleCodeUnfold(input) {
|
|
|
6729
6741
|
return { content: [{ type: "text", text: header + result.content }] };
|
|
6730
6742
|
}
|
|
6731
6743
|
if (input.startLine != null && input.endLine != null) {
|
|
6732
|
-
const { unfoldRange } = await import("./dist-
|
|
6744
|
+
const { unfoldRange } = await import("./dist-TG63OKA5.js");
|
|
6733
6745
|
const result = await unfoldRange(filePath, input.startLine, input.endLine);
|
|
6734
6746
|
const header = `${result.file}:${result.startLine}-${result.endLine}
|
|
6735
6747
|
`;
|
|
@@ -6791,7 +6803,7 @@ async function handleCheckTraceability(input) {
|
|
|
6791
6803
|
isError: true
|
|
6792
6804
|
};
|
|
6793
6805
|
}
|
|
6794
|
-
const { queryTraceability } = await import("./dist-
|
|
6806
|
+
const { queryTraceability } = await import("./dist-PGQ32ZI7.js");
|
|
6795
6807
|
const options = {};
|
|
6796
6808
|
if (input.spec) options.specPath = input.spec;
|
|
6797
6809
|
if (input.feature) options.featureName = input.feature;
|
|
@@ -6914,7 +6926,7 @@ async function handlePredictFailures(input) {
|
|
|
6914
6926
|
};
|
|
6915
6927
|
}
|
|
6916
6928
|
try {
|
|
6917
|
-
const core = await import("./dist-
|
|
6929
|
+
const core = await import("./dist-TG63OKA5.js");
|
|
6918
6930
|
const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
|
|
6919
6931
|
const manager = new TimelineManager(projectPath);
|
|
6920
6932
|
const includeRoadmap = input.includeRoadmap !== false;
|
|
@@ -7104,7 +7116,7 @@ function handleContentMode(content, pipeline, budget, source) {
|
|
|
7104
7116
|
};
|
|
7105
7117
|
}
|
|
7106
7118
|
async function handleIntentMode(projectPath, intent, pipeline, budget, filterContent) {
|
|
7107
|
-
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-
|
|
7119
|
+
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
|
|
7108
7120
|
const store = await loadGraphStore2(projectPath);
|
|
7109
7121
|
if (!store) {
|
|
7110
7122
|
return {
|
|
@@ -7117,7 +7129,7 @@ async function handleIntentMode(projectPath, intent, pipeline, budget, filterCon
|
|
|
7117
7129
|
isError: true
|
|
7118
7130
|
};
|
|
7119
7131
|
}
|
|
7120
|
-
const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-
|
|
7132
|
+
const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-PGQ32ZI7.js");
|
|
7121
7133
|
const cache = new PackedSummaryCache(store);
|
|
7122
7134
|
const cachedEnvelope = cache.get(intent);
|
|
7123
7135
|
if (cachedEnvelope) {
|
|
@@ -7330,7 +7342,7 @@ async function handleDetectConstraintEmergence(input) {
|
|
|
7330
7342
|
}
|
|
7331
7343
|
const nodePath = await import("path");
|
|
7332
7344
|
const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
|
|
7333
|
-
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-
|
|
7345
|
+
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-TG63OKA5.js");
|
|
7334
7346
|
const manager = new ViolationHistoryManager(historyPath);
|
|
7335
7347
|
const history = manager.load();
|
|
7336
7348
|
const options = { windowWeeks, minOccurrences };
|
|
@@ -7580,7 +7592,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
|
|
|
7580
7592
|
shouldRunCheck,
|
|
7581
7593
|
readCheckState,
|
|
7582
7594
|
spawnBackgroundCheck
|
|
7583
|
-
} = await import("./dist-
|
|
7595
|
+
} = await import("./dist-TG63OKA5.js");
|
|
7584
7596
|
const { CLI_VERSION } = await import("./version-CUI434OP.js");
|
|
7585
7597
|
const configInterval = readConfigInterval(resolvedRoot);
|
|
7586
7598
|
const DEFAULT_INTERVAL = 864e5;
|