@harness-engineering/cli 2.4.2 → 2.4.5
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-2M46KG4F.js → agents-md-KJVGWF2S.js} +2 -2
- package/dist/{architecture-3ZSN5RDQ.js → architecture-NX7FWQD3.js} +3 -3
- package/dist/{assess-project-KZWFQEJE.js → assess-project-PLY6ZWMW.js} +1 -1
- package/dist/bin/harness-mcp.js +13 -13
- package/dist/bin/harness.js +22 -22
- package/dist/{check-phase-gate-EWV5VYTG.js → check-phase-gate-WFIEJKMN.js} +3 -3
- package/dist/{chunk-KRQTN46U.js → chunk-3XFFGAX4.js} +3 -3
- package/dist/{chunk-NTOKQJOX.js → chunk-4H2KIQ3I.js} +1 -1
- package/dist/{chunk-GOSUZC5H.js → chunk-4PO2QAXO.js} +25 -25
- package/dist/{chunk-2TGCYJMT.js → chunk-65M5R3X6.js} +22 -8
- package/dist/{chunk-KOK7BFP2.js → chunk-72TZ2GZR.js} +2 -2
- package/dist/{chunk-QV5EBDWA.js → chunk-73ACYXIS.js} +1 -1
- package/dist/{chunk-7RZZV73V.js → chunk-7TRTU7JL.js} +2 -2
- package/dist/{chunk-B2ZYMQGT.js → chunk-A5GXGRW6.js} +6 -6
- package/dist/{chunk-GLKASJZE.js → chunk-DUCVDDZO.js} +3 -3
- package/dist/{chunk-TPNA2I4J.js → chunk-DUK6C7I7.js} +77 -70
- package/dist/{chunk-LHHO7AH4.js → chunk-FPUNXFJG.js} +2 -2
- package/dist/{chunk-UQJV7NNM.js → chunk-HCTXLKAH.js} +1 -1
- package/dist/{chunk-MXOQEI72.js → chunk-KEF624FQ.js} +1 -1
- package/dist/{chunk-LJF6UY4R.js → chunk-LJTQVJEP.js} +1 -1
- package/dist/{chunk-UPV7VDUB.js → chunk-M5TJOV3A.js} +2 -2
- package/dist/{chunk-NM3ZIWVN.js → chunk-NSLFLGUB.js} +1 -1
- package/dist/{chunk-PPQ3TY2R.js → chunk-OPDIMKUZ.js} +1 -1
- package/dist/{chunk-73KZ2E47.js → chunk-PGY57ABC.js} +6 -6
- package/dist/{chunk-I2KULMPD.js → chunk-TC4GQBIK.js} +5 -5
- package/dist/{chunk-RRTTJ3VB.js → chunk-YL2N4OZQ.js} +1 -1
- package/dist/{chunk-IEHXZB6J.js → chunk-Z6PF2YXB.js} +3 -3
- package/dist/{chunk-OUXYITL5.js → chunk-ZEKY6PQQ.js} +1 -1
- package/dist/{ci-workflow-5TBUHJFC.js → ci-workflow-XDIKOFSN.js} +2 -2
- package/dist/{dist-HA6IIPRC.js → dist-SVZHSOLP.js} +1 -1
- package/dist/{docs-D6WI2LCF.js → docs-7LXCR62T.js} +3 -3
- package/dist/{engine-GBEVIZZQ.js → engine-MMQF2ZW5.js} +2 -2
- package/dist/{entropy-V6M4KJDC.js → entropy-LMOXWMR4.js} +2 -2
- package/dist/{feedback-22I4HHXM.js → feedback-CLBC3IMP.js} +1 -1
- package/dist/{generate-agent-definitions-UM7T3WLA.js → generate-agent-definitions-5FDIGEVZ.js} +3 -3
- package/dist/index.d.ts +8 -8
- package/dist/index.js +22 -22
- package/dist/{loader-5V72NYMF.js → loader-WTWR2CWT.js} +2 -2
- package/dist/{mcp-5KQGFG5U.js → mcp-4W45E6OH.js} +13 -13
- package/dist/{performance-MVORVVMG.js → performance-WZQIUHLR.js} +3 -3
- package/dist/{review-pipeline-JYSVCNGJ.js → review-pipeline-YPRUHKM7.js} +2 -2
- package/dist/{runtime-KZC2OQI7.js → runtime-WC2IWI2X.js} +2 -2
- package/dist/{security-WOVOBLCI.js → security-AZNLX3N6.js} +1 -1
- package/dist/{validate-55HGQKWR.js → validate-S7G6H7F4.js} +3 -3
- package/dist/{validate-cross-check-H3PSV4VY.js → validate-cross-check-Z73SCHXZ.js} +2 -2
- package/package.json +4 -4
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
handleRunCodeReview,
|
|
3
3
|
runCodeReviewDefinition,
|
|
4
4
|
sortFindingsBySeverity
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-M5TJOV3A.js";
|
|
6
6
|
import {
|
|
7
7
|
assessProjectDefinition,
|
|
8
8
|
handleAssessProject
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-A5GXGRW6.js";
|
|
10
10
|
import {
|
|
11
11
|
getBusinessKnowledgeResource
|
|
12
12
|
} from "./chunk-IOW3MW2K.js";
|
|
@@ -17,35 +17,35 @@ import {
|
|
|
17
17
|
handleCreateSelfReview,
|
|
18
18
|
handleRequestPeerReview,
|
|
19
19
|
requestPeerReviewDefinition
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-Z6PF2YXB.js";
|
|
21
21
|
import {
|
|
22
22
|
getSecurityTrendsDefinition,
|
|
23
23
|
handleGetSecurityTrends,
|
|
24
24
|
handleRunSecurityScan,
|
|
25
25
|
runSecurityScanDefinition
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-FPUNXFJG.js";
|
|
27
27
|
import {
|
|
28
28
|
loadGraphStore
|
|
29
29
|
} from "./chunk-5FDBXUFW.js";
|
|
30
30
|
import {
|
|
31
31
|
handleValidateProject,
|
|
32
32
|
validateToolDefinition
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-3XFFGAX4.js";
|
|
34
34
|
import {
|
|
35
35
|
checkDependenciesDefinition,
|
|
36
36
|
handleCheckDependencies
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-7TRTU7JL.js";
|
|
38
38
|
import {
|
|
39
39
|
resolveProjectConfig
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-LJTQVJEP.js";
|
|
41
41
|
import {
|
|
42
42
|
checkDocsDefinition,
|
|
43
43
|
handleCheckDocs
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-TC4GQBIK.js";
|
|
45
45
|
import {
|
|
46
46
|
detectEntropyDefinition,
|
|
47
47
|
handleDetectEntropy
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-DUCVDDZO.js";
|
|
49
49
|
import {
|
|
50
50
|
checkPerformanceDefinition,
|
|
51
51
|
getCriticalPathsDefinition,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
handleGetPerfBaselines,
|
|
56
56
|
handleUpdatePerfBaselines,
|
|
57
57
|
updatePerfBaselinesDefinition
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-PGY57ABC.js";
|
|
59
59
|
import {
|
|
60
60
|
resultToMcpResponse
|
|
61
61
|
} from "./chunk-EPUKTTJZ.js";
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
} from "./chunk-27AJKSQY.js";
|
|
68
68
|
import {
|
|
69
69
|
resolveConfig
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-KEF624FQ.js";
|
|
71
71
|
import {
|
|
72
72
|
GENERATED_HEADER_CLAUDE,
|
|
73
73
|
GENERATED_HEADER_CODEX,
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
scanForInjection,
|
|
108
108
|
serializeEnvelope,
|
|
109
109
|
writeTaint
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-65M5R3X6.js";
|
|
111
111
|
import {
|
|
112
112
|
Err,
|
|
113
113
|
Ok
|
|
@@ -316,6 +316,13 @@ events.jsonl
|
|
|
316
316
|
telemetry.json
|
|
317
317
|
.telemetry-notice-shown
|
|
318
318
|
|
|
319
|
+
# Phase 3 webhook delivery queue \u2014 SQLite runtime DB (and WAL/SHM sidecars)
|
|
320
|
+
webhook-queue.sqlite
|
|
321
|
+
webhook-queue.sqlite-wal
|
|
322
|
+
webhook-queue.sqlite-shm
|
|
323
|
+
# Maintenance task run history (regenerated each tick)
|
|
324
|
+
maintenance/
|
|
325
|
+
|
|
319
326
|
# security/: track timeline.json (trend ledger), ignore everything else
|
|
320
327
|
security/*
|
|
321
328
|
!security/timeline.json
|
|
@@ -712,7 +719,7 @@ ${skippedMsg}`
|
|
|
712
719
|
async function handleInitProject(input) {
|
|
713
720
|
const i = input;
|
|
714
721
|
try {
|
|
715
|
-
const { TemplateEngine } = await import("./engine-
|
|
722
|
+
const { TemplateEngine } = await import("./engine-MMQF2ZW5.js");
|
|
716
723
|
const engine = new TemplateEngine(resolveTemplatesDir());
|
|
717
724
|
const safePath = sanitizePath(i.path);
|
|
718
725
|
const detected = tryDetectFramework(engine, safePath, i);
|
|
@@ -734,7 +741,7 @@ var listPersonasDefinition = {
|
|
|
734
741
|
inputSchema: { type: "object", properties: {} }
|
|
735
742
|
};
|
|
736
743
|
async function handleListPersonas() {
|
|
737
|
-
const { listPersonas } = await import("./loader-
|
|
744
|
+
const { listPersonas } = await import("./loader-WTWR2CWT.js");
|
|
738
745
|
const result = listPersonas(resolvePersonasDir());
|
|
739
746
|
return resultToMcpResponse(result);
|
|
740
747
|
}
|
|
@@ -758,10 +765,10 @@ async function handleGeneratePersonaArtifacts(input) {
|
|
|
758
765
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
|
|
759
766
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
|
|
760
767
|
}
|
|
761
|
-
const { loadPersona } = await import("./loader-
|
|
762
|
-
const { generateRuntime } = await import("./runtime-
|
|
763
|
-
const { generateAgentsMd } = await import("./agents-md-
|
|
764
|
-
const { generateCIWorkflow } = await import("./ci-workflow-
|
|
768
|
+
const { loadPersona } = await import("./loader-WTWR2CWT.js");
|
|
769
|
+
const { generateRuntime } = await import("./runtime-WC2IWI2X.js");
|
|
770
|
+
const { generateAgentsMd } = await import("./agents-md-KJVGWF2S.js");
|
|
771
|
+
const { generateCIWorkflow } = await import("./ci-workflow-XDIKOFSN.js");
|
|
765
772
|
const personasDir = resolvePersonasDir();
|
|
766
773
|
const filePath = path3.join(personasDir, `${input.name}.yaml`);
|
|
767
774
|
if (!filePath.startsWith(personasDir)) {
|
|
@@ -816,7 +823,7 @@ async function handleRunPersona(input) {
|
|
|
816
823
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
|
|
817
824
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
|
|
818
825
|
}
|
|
819
|
-
const { loadPersona } = await import("./loader-
|
|
826
|
+
const { loadPersona } = await import("./loader-WTWR2CWT.js");
|
|
820
827
|
const { runPersona } = await import("./runner-AAEF2TXY.js");
|
|
821
828
|
const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
|
|
822
829
|
const personasDir = resolvePersonasDir();
|
|
@@ -1261,7 +1268,7 @@ function loadOrGenerateProfile(projectRoot) {
|
|
|
1261
1268
|
// src/mcp/tools/event-emitter.ts
|
|
1262
1269
|
async function emitSkillEvent(projectPath, event) {
|
|
1263
1270
|
try {
|
|
1264
|
-
const { emitEvent } = await import("./dist-
|
|
1271
|
+
const { emitEvent } = await import("./dist-SVZHSOLP.js");
|
|
1265
1272
|
await emitEvent(projectPath, event);
|
|
1266
1273
|
} catch {
|
|
1267
1274
|
}
|
|
@@ -1533,7 +1540,7 @@ async function autoSyncRoadmap(projectPath) {
|
|
|
1533
1540
|
try {
|
|
1534
1541
|
const roadmapFile = path10.join(projectPath, "docs", "roadmap.md");
|
|
1535
1542
|
if (!fs9.existsSync(roadmapFile)) return;
|
|
1536
|
-
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-
|
|
1543
|
+
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-SVZHSOLP.js");
|
|
1537
1544
|
const raw = fs9.readFileSync(roadmapFile, "utf-8");
|
|
1538
1545
|
const parseResult = parseRoadmap(raw);
|
|
1539
1546
|
if (!parseResult.ok) return;
|
|
@@ -1563,7 +1570,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
|
|
|
1563
1570
|
console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
|
|
1564
1571
|
return;
|
|
1565
1572
|
}
|
|
1566
|
-
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-
|
|
1573
|
+
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-SVZHSOLP.js");
|
|
1567
1574
|
const adapter = new GitHubIssuesSyncAdapter({
|
|
1568
1575
|
token,
|
|
1569
1576
|
config: trackerConfig
|
|
@@ -1660,12 +1667,12 @@ var manageStateDefinition = {
|
|
|
1660
1667
|
}
|
|
1661
1668
|
};
|
|
1662
1669
|
async function handleShow(projectPath, input) {
|
|
1663
|
-
const { loadState } = await import("./dist-
|
|
1670
|
+
const { loadState } = await import("./dist-SVZHSOLP.js");
|
|
1664
1671
|
return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
|
|
1665
1672
|
}
|
|
1666
1673
|
async function handleLearn(projectPath, input) {
|
|
1667
1674
|
if (!input.learning) return mcpError("Error: learning is required for learn action");
|
|
1668
|
-
const { appendLearning } = await import("./dist-
|
|
1675
|
+
const { appendLearning } = await import("./dist-SVZHSOLP.js");
|
|
1669
1676
|
const result = await appendLearning(
|
|
1670
1677
|
projectPath,
|
|
1671
1678
|
input.learning,
|
|
@@ -1680,7 +1687,7 @@ async function handleLearn(projectPath, input) {
|
|
|
1680
1687
|
async function handleFailure(projectPath, input) {
|
|
1681
1688
|
if (!input.description) return mcpError("Error: description is required for failure action");
|
|
1682
1689
|
if (!input.failureType) return mcpError("Error: failureType is required for failure action");
|
|
1683
|
-
const { appendFailure } = await import("./dist-
|
|
1690
|
+
const { appendFailure } = await import("./dist-SVZHSOLP.js");
|
|
1684
1691
|
const result = await appendFailure(
|
|
1685
1692
|
projectPath,
|
|
1686
1693
|
input.description,
|
|
@@ -1699,19 +1706,19 @@ async function handleFailure(projectPath, input) {
|
|
|
1699
1706
|
return resultToMcpResponse(Ok({ recorded: true }));
|
|
1700
1707
|
}
|
|
1701
1708
|
async function handleArchive(projectPath, input) {
|
|
1702
|
-
const { archiveFailures } = await import("./dist-
|
|
1709
|
+
const { archiveFailures } = await import("./dist-SVZHSOLP.js");
|
|
1703
1710
|
const result = await archiveFailures(projectPath, input.stream, input.session);
|
|
1704
1711
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1705
1712
|
return resultToMcpResponse(Ok({ archived: true }));
|
|
1706
1713
|
}
|
|
1707
1714
|
async function handleReset(projectPath, input) {
|
|
1708
|
-
const { saveState, DEFAULT_STATE } = await import("./dist-
|
|
1715
|
+
const { saveState, DEFAULT_STATE } = await import("./dist-SVZHSOLP.js");
|
|
1709
1716
|
const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
|
|
1710
1717
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1711
1718
|
return resultToMcpResponse(Ok({ reset: true }));
|
|
1712
1719
|
}
|
|
1713
1720
|
async function handleGate(projectPath, input) {
|
|
1714
|
-
const { runMechanicalGate } = await import("./dist-
|
|
1721
|
+
const { runMechanicalGate } = await import("./dist-SVZHSOLP.js");
|
|
1715
1722
|
const result = await runMechanicalGate(projectPath);
|
|
1716
1723
|
if (result.ok) {
|
|
1717
1724
|
await emitSkillEvent(projectPath, {
|
|
@@ -1731,7 +1738,7 @@ async function handleGate(projectPath, input) {
|
|
|
1731
1738
|
}
|
|
1732
1739
|
async function handleSaveHandoff(projectPath, input) {
|
|
1733
1740
|
if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
|
|
1734
|
-
const { saveHandoff } = await import("./dist-
|
|
1741
|
+
const { saveHandoff } = await import("./dist-SVZHSOLP.js");
|
|
1735
1742
|
const result = await saveHandoff(
|
|
1736
1743
|
projectPath,
|
|
1737
1744
|
input.handoff,
|
|
@@ -1753,7 +1760,7 @@ async function handleSaveHandoff(projectPath, input) {
|
|
|
1753
1760
|
return resultToMcpResponse(Ok({ saved: true }));
|
|
1754
1761
|
}
|
|
1755
1762
|
async function handleLoadHandoff(projectPath, input) {
|
|
1756
|
-
const { loadHandoff } = await import("./dist-
|
|
1763
|
+
const { loadHandoff } = await import("./dist-SVZHSOLP.js");
|
|
1757
1764
|
return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
|
|
1758
1765
|
}
|
|
1759
1766
|
async function handleAppendEntry(projectPath, input) {
|
|
@@ -1761,7 +1768,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
1761
1768
|
if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
|
|
1762
1769
|
if (!input.content) return mcpError("Error: content is required for append_entry action");
|
|
1763
1770
|
if (input.session) {
|
|
1764
|
-
const { appendSessionEntry } = await import("./dist-
|
|
1771
|
+
const { appendSessionEntry } = await import("./dist-SVZHSOLP.js");
|
|
1765
1772
|
const result = await appendSessionEntry(
|
|
1766
1773
|
projectPath,
|
|
1767
1774
|
input.session,
|
|
@@ -1774,7 +1781,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
1774
1781
|
if (input.section !== "decisions") {
|
|
1775
1782
|
return mcpError("Error: session is required for non-decisions sections");
|
|
1776
1783
|
}
|
|
1777
|
-
const { loadState, saveState } = await import("./dist-
|
|
1784
|
+
const { loadState, saveState } = await import("./dist-SVZHSOLP.js");
|
|
1778
1785
|
const lr = await loadState(projectPath, input.stream);
|
|
1779
1786
|
if (!lr.ok) return resultToMcpResponse(lr);
|
|
1780
1787
|
lr.value.decisions.push({
|
|
@@ -1792,7 +1799,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
1792
1799
|
if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
|
|
1793
1800
|
if (!input.newStatus)
|
|
1794
1801
|
return mcpError("Error: newStatus is required for update_entry_status action");
|
|
1795
|
-
const { updateSessionEntryStatus } = await import("./dist-
|
|
1802
|
+
const { updateSessionEntryStatus } = await import("./dist-SVZHSOLP.js");
|
|
1796
1803
|
const result = await updateSessionEntryStatus(
|
|
1797
1804
|
projectPath,
|
|
1798
1805
|
input.session,
|
|
@@ -1805,7 +1812,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
1805
1812
|
async function handleReadSection(projectPath, input) {
|
|
1806
1813
|
if (!input.session) return mcpError("Error: session is required for read_section action");
|
|
1807
1814
|
if (!input.section) return mcpError("Error: section is required for read_section action");
|
|
1808
|
-
const { readSessionSection } = await import("./dist-
|
|
1815
|
+
const { readSessionSection } = await import("./dist-SVZHSOLP.js");
|
|
1809
1816
|
const result = await readSessionSection(
|
|
1810
1817
|
projectPath,
|
|
1811
1818
|
input.session,
|
|
@@ -1815,13 +1822,13 @@ async function handleReadSection(projectPath, input) {
|
|
|
1815
1822
|
}
|
|
1816
1823
|
async function handleReadSections(projectPath, input) {
|
|
1817
1824
|
if (!input.session) return mcpError("Error: session is required for read_sections action");
|
|
1818
|
-
const { readSessionSections } = await import("./dist-
|
|
1825
|
+
const { readSessionSections } = await import("./dist-SVZHSOLP.js");
|
|
1819
1826
|
const result = await readSessionSections(projectPath, input.session);
|
|
1820
1827
|
return resultToMcpResponse(result);
|
|
1821
1828
|
}
|
|
1822
1829
|
async function handleArchiveSession(projectPath, input) {
|
|
1823
1830
|
if (!input.session) return mcpError("Error: session is required for archive_session action");
|
|
1824
|
-
const { archiveSession } = await import("./dist-
|
|
1831
|
+
const { archiveSession } = await import("./dist-SVZHSOLP.js");
|
|
1825
1832
|
const result = await archiveSession(projectPath, input.session);
|
|
1826
1833
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1827
1834
|
await autoSyncRoadmap(projectPath);
|
|
@@ -1901,7 +1908,7 @@ var listStreamsDefinition = {
|
|
|
1901
1908
|
};
|
|
1902
1909
|
async function handleListStreams(input) {
|
|
1903
1910
|
try {
|
|
1904
|
-
const { listStreams, loadStreamIndex } = await import("./dist-
|
|
1911
|
+
const { listStreams, loadStreamIndex } = await import("./dist-SVZHSOLP.js");
|
|
1905
1912
|
const projectPath = sanitizePath(input.path);
|
|
1906
1913
|
const indexResult = await loadStreamIndex(projectPath);
|
|
1907
1914
|
const streamsResult = await listStreams(projectPath);
|
|
@@ -1939,7 +1946,7 @@ var checkPhaseGateDefinition = {
|
|
|
1939
1946
|
};
|
|
1940
1947
|
async function handleCheckPhaseGate(input) {
|
|
1941
1948
|
try {
|
|
1942
|
-
const { runCheckPhaseGate } = await import("./check-phase-gate-
|
|
1949
|
+
const { runCheckPhaseGate } = await import("./check-phase-gate-WFIEJKMN.js");
|
|
1943
1950
|
const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
|
|
1944
1951
|
if (result.ok) {
|
|
1945
1952
|
return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
|
|
@@ -1995,7 +2002,7 @@ async function handleValidateCrossCheck(input) {
|
|
|
1995
2002
|
};
|
|
1996
2003
|
}
|
|
1997
2004
|
try {
|
|
1998
|
-
const { runCrossCheck } = await import("./validate-cross-check-
|
|
2005
|
+
const { runCrossCheck } = await import("./validate-cross-check-Z73SCHXZ.js");
|
|
1999
2006
|
const specsDir = path11.resolve(projectPath, input.specsDir ?? "docs/specs");
|
|
2000
2007
|
if (!specsDir.startsWith(projectPath)) {
|
|
2001
2008
|
return {
|
|
@@ -2762,7 +2769,7 @@ async function handleGenerateSlashCommands(input) {
|
|
|
2762
2769
|
// src/mcp/resources/state.ts
|
|
2763
2770
|
async function getStateResource(projectRoot) {
|
|
2764
2771
|
try {
|
|
2765
|
-
const { loadState, migrateToStreams } = await import("./dist-
|
|
2772
|
+
const { loadState, migrateToStreams } = await import("./dist-SVZHSOLP.js");
|
|
2766
2773
|
await migrateToStreams(projectRoot);
|
|
2767
2774
|
const result = await loadState(projectRoot);
|
|
2768
2775
|
if (result.ok) {
|
|
@@ -3782,7 +3789,7 @@ var generateAgentDefinitionsDefinition = {
|
|
|
3782
3789
|
}
|
|
3783
3790
|
};
|
|
3784
3791
|
async function handleGenerateAgentDefinitions(input) {
|
|
3785
|
-
const { generateAgentDefinitions } = await import("./generate-agent-definitions-
|
|
3792
|
+
const { generateAgentDefinitions } = await import("./generate-agent-definitions-5FDIGEVZ.js");
|
|
3786
3793
|
const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
|
|
3787
3794
|
const results = generateAgentDefinitions({
|
|
3788
3795
|
platforms: [...platforms],
|
|
@@ -4276,7 +4283,7 @@ async function handleManageRoadmap(input) {
|
|
|
4276
4283
|
return handleManageRoadmapFileLess(input, clientResult.value);
|
|
4277
4284
|
}
|
|
4278
4285
|
try {
|
|
4279
|
-
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-
|
|
4286
|
+
const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-SVZHSOLP.js");
|
|
4280
4287
|
const { Ok: Ok2 } = await import("./dist-O733ZU6I.js");
|
|
4281
4288
|
const projectPath = projectPathPre;
|
|
4282
4289
|
const deps = {
|
|
@@ -4715,7 +4722,7 @@ async function handleTransition(validInput, projectPath, id) {
|
|
|
4715
4722
|
const transition = transitionResult.data;
|
|
4716
4723
|
const prompt = renderTransition(transition);
|
|
4717
4724
|
try {
|
|
4718
|
-
const { saveHandoff } = await import("./dist-
|
|
4725
|
+
const { saveHandoff } = await import("./dist-SVZHSOLP.js");
|
|
4719
4726
|
await saveHandoff(
|
|
4720
4727
|
projectPath,
|
|
4721
4728
|
{
|
|
@@ -4796,7 +4803,7 @@ async function handleEmitInteraction(input) {
|
|
|
4796
4803
|
}
|
|
4797
4804
|
async function recordInteraction(projectPath, id, type, decision, stream) {
|
|
4798
4805
|
try {
|
|
4799
|
-
const { loadState, saveState } = await import("./dist-
|
|
4806
|
+
const { loadState, saveState } = await import("./dist-SVZHSOLP.js");
|
|
4800
4807
|
const stateResult = await loadState(projectPath, stream);
|
|
4801
4808
|
if (stateResult.ok) {
|
|
4802
4809
|
const state = stateResult.value;
|
|
@@ -4957,10 +4964,10 @@ async function handleGatherContext(input) {
|
|
|
4957
4964
|
input.include ?? ["state", "learnings", "handoff", "graph", "validation", "businessKnowledge"]
|
|
4958
4965
|
);
|
|
4959
4966
|
const errors = [];
|
|
4960
|
-
const statePromise = includeSet.has("state") ? import("./dist-
|
|
4967
|
+
const statePromise = includeSet.has("state") ? import("./dist-SVZHSOLP.js").then(
|
|
4961
4968
|
(core) => core.loadState(projectPath, void 0, input.session)
|
|
4962
4969
|
) : Promise.resolve(null);
|
|
4963
|
-
const learningsPromise = includeSet.has("learnings") ? import("./dist-
|
|
4970
|
+
const learningsPromise = includeSet.has("learnings") ? import("./dist-SVZHSOLP.js").then(
|
|
4964
4971
|
(core) => core.loadBudgetedLearnings(projectPath, {
|
|
4965
4972
|
intent: input.intent,
|
|
4966
4973
|
tokenBudget: input.learningsBudget ?? 1e3,
|
|
@@ -4969,7 +4976,7 @@ async function handleGatherContext(input) {
|
|
|
4969
4976
|
...input.depth !== void 0 && { depth: input.depth }
|
|
4970
4977
|
})
|
|
4971
4978
|
) : Promise.resolve(null);
|
|
4972
|
-
const handoffPromise = includeSet.has("handoff") ? import("./dist-
|
|
4979
|
+
const handoffPromise = includeSet.has("handoff") ? import("./dist-SVZHSOLP.js").then(
|
|
4973
4980
|
(core) => core.loadHandoff(projectPath, void 0, input.session)
|
|
4974
4981
|
) : Promise.resolve(null);
|
|
4975
4982
|
const graphPromise = includeSet.has("graph") ? (async () => {
|
|
@@ -5013,11 +5020,11 @@ async function handleGatherContext(input) {
|
|
|
5013
5020
|
context: contextBlocks
|
|
5014
5021
|
};
|
|
5015
5022
|
})() : Promise.resolve(null);
|
|
5016
|
-
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-
|
|
5023
|
+
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-SVZHSOLP.js").then(
|
|
5017
5024
|
(core) => core.readSessionSections(projectPath, input.session)
|
|
5018
5025
|
) : Promise.resolve(null);
|
|
5019
5026
|
const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
|
|
5020
|
-
const eventsPromise = shouldIncludeEvents ? import("./dist-
|
|
5027
|
+
const eventsPromise = shouldIncludeEvents ? import("./dist-SVZHSOLP.js").then(async (core) => {
|
|
5021
5028
|
const result = await core.loadEvents(projectPath, {
|
|
5022
5029
|
session: input.session
|
|
5023
5030
|
});
|
|
@@ -5025,7 +5032,7 @@ async function handleGatherContext(input) {
|
|
|
5025
5032
|
return core.formatEventTimeline(result.value);
|
|
5026
5033
|
}) : Promise.resolve(null);
|
|
5027
5034
|
const validationPromise = includeSet.has("validation") ? (async () => {
|
|
5028
|
-
const { handleValidateProject: handleValidateProject2 } = await import("./validate-
|
|
5035
|
+
const { handleValidateProject: handleValidateProject2 } = await import("./validate-S7G6H7F4.js");
|
|
5029
5036
|
const result = await handleValidateProject2({ path: projectPath });
|
|
5030
5037
|
const first = result.content[0];
|
|
5031
5038
|
return first ? JSON.parse(first.text) : null;
|
|
@@ -5128,7 +5135,7 @@ async function handleGatherContext(input) {
|
|
|
5128
5135
|
};
|
|
5129
5136
|
if (input.session) {
|
|
5130
5137
|
try {
|
|
5131
|
-
const core = await import("./dist-
|
|
5138
|
+
const core = await import("./dist-SVZHSOLP.js");
|
|
5132
5139
|
core.updateSessionIndex(
|
|
5133
5140
|
projectPath,
|
|
5134
5141
|
input.session,
|
|
@@ -5280,7 +5287,7 @@ async function handleReviewChanges(input) {
|
|
|
5280
5287
|
}
|
|
5281
5288
|
}
|
|
5282
5289
|
async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5283
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-
|
|
5290
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-CLBC3IMP.js");
|
|
5284
5291
|
const result = await handleAnalyzeDiff2({ diff, path: projectPath });
|
|
5285
5292
|
const firstContent = result.content[0];
|
|
5286
5293
|
if (!firstContent) throw new Error("Empty analyze_diff response");
|
|
@@ -5315,7 +5322,7 @@ function extractFileCount(diffParsed) {
|
|
|
5315
5322
|
return files?.length ?? 0;
|
|
5316
5323
|
}
|
|
5317
5324
|
async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5318
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-
|
|
5325
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-CLBC3IMP.js");
|
|
5319
5326
|
const [diffResult, reviewResult] = await Promise.all([
|
|
5320
5327
|
handleAnalyzeDiff2({ diff, path: projectPath }),
|
|
5321
5328
|
handleCreateSelfReview2({ path: projectPath, diff })
|
|
@@ -5350,7 +5357,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
|
|
|
5350
5357
|
};
|
|
5351
5358
|
}
|
|
5352
5359
|
async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
|
|
5353
|
-
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-
|
|
5360
|
+
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-YPRUHKM7.js");
|
|
5354
5361
|
const result = await handleRunCodeReview2({
|
|
5355
5362
|
path: projectPath,
|
|
5356
5363
|
diff,
|
|
@@ -5644,7 +5651,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
5644
5651
|
]
|
|
5645
5652
|
};
|
|
5646
5653
|
}
|
|
5647
|
-
const { detectStaleConstraints } = await import("./dist-
|
|
5654
|
+
const { detectStaleConstraints } = await import("./dist-SVZHSOLP.js");
|
|
5648
5655
|
const result = detectStaleConstraints(
|
|
5649
5656
|
store,
|
|
5650
5657
|
windowDays,
|
|
@@ -5764,10 +5771,10 @@ function countCriticalFindings(securityData) {
|
|
|
5764
5771
|
return findings.filter((f) => f.severity === "error").length;
|
|
5765
5772
|
}
|
|
5766
5773
|
async function runHealthChecks(projectPath) {
|
|
5767
|
-
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-
|
|
5768
|
-
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-
|
|
5769
|
-
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-
|
|
5770
|
-
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-
|
|
5774
|
+
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-PLY6ZWMW.js");
|
|
5775
|
+
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-NX7FWQD3.js");
|
|
5776
|
+
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-LMOXWMR4.js");
|
|
5777
|
+
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-AZNLX3N6.js");
|
|
5771
5778
|
const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
|
|
5772
5779
|
handleAssessProject2({
|
|
5773
5780
|
path: projectPath,
|
|
@@ -6608,7 +6615,7 @@ async function handleGetDecayTrends(input) {
|
|
|
6608
6615
|
};
|
|
6609
6616
|
}
|
|
6610
6617
|
try {
|
|
6611
|
-
const core = await import("./dist-
|
|
6618
|
+
const core = await import("./dist-SVZHSOLP.js");
|
|
6612
6619
|
const { TimelineManager } = core;
|
|
6613
6620
|
const manager = new TimelineManager(projectPath);
|
|
6614
6621
|
const timeline = manager.load();
|
|
@@ -6743,7 +6750,7 @@ async function handleCodeOutline(input) {
|
|
|
6743
6750
|
};
|
|
6744
6751
|
}
|
|
6745
6752
|
try {
|
|
6746
|
-
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-
|
|
6753
|
+
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-SVZHSOLP.js");
|
|
6747
6754
|
const { stat } = await import("fs/promises");
|
|
6748
6755
|
const stats = await stat(targetPath).catch(() => null);
|
|
6749
6756
|
if (stats?.isFile()) {
|
|
@@ -6762,7 +6769,7 @@ async function handleCodeOutline(input) {
|
|
|
6762
6769
|
})
|
|
6763
6770
|
);
|
|
6764
6771
|
fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
6765
|
-
const { paginate: paginate2 } = await import("./dist-
|
|
6772
|
+
const { paginate: paginate2 } = await import("./dist-SVZHSOLP.js");
|
|
6766
6773
|
const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
|
|
6767
6774
|
const results = [];
|
|
6768
6775
|
for (const entry of paged.items) {
|
|
@@ -6835,7 +6842,7 @@ async function handleCodeSearch(input) {
|
|
|
6835
6842
|
};
|
|
6836
6843
|
}
|
|
6837
6844
|
try {
|
|
6838
|
-
const { searchSymbols } = await import("./dist-
|
|
6845
|
+
const { searchSymbols } = await import("./dist-SVZHSOLP.js");
|
|
6839
6846
|
const result = await searchSymbols(input.query, directory, input.glob);
|
|
6840
6847
|
const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
|
|
6841
6848
|
for (const match of result.matches) {
|
|
@@ -6904,7 +6911,7 @@ async function handleCodeUnfold(input) {
|
|
|
6904
6911
|
}
|
|
6905
6912
|
try {
|
|
6906
6913
|
if (input.symbol) {
|
|
6907
|
-
const { unfoldSymbol } = await import("./dist-
|
|
6914
|
+
const { unfoldSymbol } = await import("./dist-SVZHSOLP.js");
|
|
6908
6915
|
const result = await unfoldSymbol(filePath, input.symbol);
|
|
6909
6916
|
const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
|
|
6910
6917
|
` : `${result.file}:${result.startLine}-${result.endLine}
|
|
@@ -6912,7 +6919,7 @@ async function handleCodeUnfold(input) {
|
|
|
6912
6919
|
return { content: [{ type: "text", text: header + result.content }] };
|
|
6913
6920
|
}
|
|
6914
6921
|
if (input.startLine != null && input.endLine != null) {
|
|
6915
|
-
const { unfoldRange } = await import("./dist-
|
|
6922
|
+
const { unfoldRange } = await import("./dist-SVZHSOLP.js");
|
|
6916
6923
|
const result = await unfoldRange(filePath, input.startLine, input.endLine);
|
|
6917
6924
|
const header = `${result.file}:${result.startLine}-${result.endLine}
|
|
6918
6925
|
`;
|
|
@@ -7097,7 +7104,7 @@ async function handlePredictFailures(input) {
|
|
|
7097
7104
|
};
|
|
7098
7105
|
}
|
|
7099
7106
|
try {
|
|
7100
|
-
const core = await import("./dist-
|
|
7107
|
+
const core = await import("./dist-SVZHSOLP.js");
|
|
7101
7108
|
const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
|
|
7102
7109
|
const manager = new TimelineManager(projectPath);
|
|
7103
7110
|
const includeRoadmap = input.includeRoadmap !== false;
|
|
@@ -8206,7 +8213,7 @@ async function handleDetectConstraintEmergence(input) {
|
|
|
8206
8213
|
}
|
|
8207
8214
|
const nodePath = await import("path");
|
|
8208
8215
|
const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
|
|
8209
|
-
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-
|
|
8216
|
+
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-SVZHSOLP.js");
|
|
8210
8217
|
const manager = new ViolationHistoryManager(historyPath);
|
|
8211
8218
|
const history = manager.load();
|
|
8212
8219
|
const options = { windowWeeks, minOccurrences };
|
|
@@ -8294,7 +8301,7 @@ async function handleRunCIChecks(input) {
|
|
|
8294
8301
|
};
|
|
8295
8302
|
}
|
|
8296
8303
|
try {
|
|
8297
|
-
const { runCIChecks } = await import("./dist-
|
|
8304
|
+
const { runCIChecks } = await import("./dist-SVZHSOLP.js");
|
|
8298
8305
|
const skip = input.checks ? VALID_CHECKS.filter((c) => !input.checks.includes(c)) : [];
|
|
8299
8306
|
const result = await runCIChecks({
|
|
8300
8307
|
projectRoot: projectPath,
|
|
@@ -8356,7 +8363,7 @@ async function handleGenerateBlueprint(input) {
|
|
|
8356
8363
|
};
|
|
8357
8364
|
}
|
|
8358
8365
|
try {
|
|
8359
|
-
const { ProjectScanner } = await import("./dist-
|
|
8366
|
+
const { ProjectScanner } = await import("./dist-SVZHSOLP.js");
|
|
8360
8367
|
const scanner = new ProjectScanner(projectPath);
|
|
8361
8368
|
const data = await scanner.scan();
|
|
8362
8369
|
return {
|
|
@@ -8711,7 +8718,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
|
|
|
8711
8718
|
shouldRunCheck,
|
|
8712
8719
|
readCheckState,
|
|
8713
8720
|
spawnBackgroundCheck
|
|
8714
|
-
} = await import("./dist-
|
|
8721
|
+
} = await import("./dist-SVZHSOLP.js");
|
|
8715
8722
|
const { CLI_VERSION } = await import("./version-CUI434OP.js");
|
|
8716
8723
|
const configInterval = readConfigInterval(resolvedRoot);
|
|
8717
8724
|
const DEFAULT_INTERVAL = 864e5;
|
|
@@ -27,7 +27,7 @@ var runSecurityScanDefinition = {
|
|
|
27
27
|
};
|
|
28
28
|
async function handleRunSecurityScan(input) {
|
|
29
29
|
try {
|
|
30
|
-
const core = await import("./dist-
|
|
30
|
+
const core = await import("./dist-SVZHSOLP.js");
|
|
31
31
|
const projectRoot = sanitizePath(input.path);
|
|
32
32
|
let configData = {};
|
|
33
33
|
try {
|
|
@@ -114,7 +114,7 @@ var getSecurityTrendsDefinition = {
|
|
|
114
114
|
};
|
|
115
115
|
async function handleGetSecurityTrends(input) {
|
|
116
116
|
try {
|
|
117
|
-
const core = await import("./dist-
|
|
117
|
+
const core = await import("./dist-SVZHSOLP.js");
|
|
118
118
|
const projectRoot = sanitizePath(input.path);
|
|
119
119
|
const manager = new core.SecurityTimelineManager(projectRoot);
|
|
120
120
|
const trendOptions = {};
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
init_dist,
|
|
6
6
|
paginate
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-65M5R3X6.js";
|
|
8
8
|
|
|
9
9
|
// src/mcp/tools/review-pipeline.ts
|
|
10
10
|
init_dist();
|
|
@@ -79,7 +79,7 @@ var runCodeReviewDefinition = {
|
|
|
79
79
|
};
|
|
80
80
|
async function handleRunCodeReview(input) {
|
|
81
81
|
try {
|
|
82
|
-
const { parseDiff, runReviewPipeline } = await import("./dist-
|
|
82
|
+
const { parseDiff, runReviewPipeline } = await import("./dist-SVZHSOLP.js");
|
|
83
83
|
const parseResult = parseDiff(input.diff);
|
|
84
84
|
if (!parseResult.ok) {
|
|
85
85
|
return {
|