@harness-engineering/cli 4.2.0 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-md-BK2UPKUC.js → agents-md-N4ULMUAK.js} +4 -4
- package/dist/{analyzer-XRCV63KC-6T2Z32XC.js → analyzer-XRCV63KC-WGRHW2ZM.js} +2 -2
- package/dist/{architecture-7PNQZOWV.js → architecture-OIMIBDJC.js} +5 -5
- package/dist/{assess-project-2QPCNN7N.js → assess-project-ITSB6W4L.js} +1 -1
- package/dist/bin/harness-mcp.js +15 -15
- package/dist/bin/harness.js +25 -25
- package/dist/{check-phase-gate-RZUSDB3O.js → check-phase-gate-GN4X7HT6.js} +5 -5
- package/dist/{chunk-ZIJABBGZ.js → chunk-574JCBYH.js} +2 -2
- package/dist/{chunk-E5KJOUHI.js → chunk-5BUHPOCP.js} +7 -7
- package/dist/{chunk-YTJIRQON.js → chunk-6NEJPS7W.js} +2 -2
- package/dist/{chunk-MHHISNS2.js → chunk-73QZ43DF.js} +2 -2
- package/dist/{chunk-RZTLXZHJ.js → chunk-7RH2NTLA.js} +1 -1
- package/dist/{chunk-DVG6DDX6.js → chunk-CMU4DNLY.js} +1 -1
- package/dist/{chunk-33OU3LYX.js → chunk-CRHQYBDA.js} +48 -12
- package/dist/{chunk-J7H5I4FO.js → chunk-D7A5JR7M.js} +2 -2
- package/dist/{chunk-K5R2I37T.js → chunk-F3GNBRGL.js} +87 -85
- package/dist/{chunk-SI4O2W4H.js → chunk-GTHL3TRZ.js} +2 -2
- package/dist/{chunk-J5MFNKE7.js → chunk-H5GN7R43.js} +2 -2
- package/dist/{chunk-D5YCPIK6.js → chunk-HJYAXAYQ.js} +2 -2
- package/dist/{chunk-DBCC7KIW.js → chunk-JZL2O3RC.js} +5 -5
- package/dist/{chunk-V2GJE5J5.js → chunk-LP764MGR.js} +3 -3
- package/dist/{chunk-6STDKKAM.js → chunk-LTYVAKWK.js} +2 -2
- package/dist/{chunk-KYFXXEK3.js → chunk-MEDRUIRO.js} +3 -3
- package/dist/{chunk-DW6HE5DH.js → chunk-MIZQY35D.js} +2 -2
- package/dist/{chunk-KHL6WFRL.js → chunk-NEMB36N4.js} +2 -2
- package/dist/{chunk-BJDT3VGQ.js → chunk-PT65VY4S.js} +6 -6
- package/dist/{chunk-HUC73DZC.js → chunk-T46G6YNI.js} +3 -3
- package/dist/{chunk-VC2B275U.js → chunk-TKPAOB2T.js} +2 -2
- package/dist/{chunk-HU7NS7JA.js → chunk-U2NOOATF.js} +6 -6
- package/dist/{chunk-UEXQMI6K.js → chunk-VJDSB7CI.js} +112 -50
- package/dist/{chunk-XACP5P2J.js → chunk-XKILFNRK.js} +2 -2
- package/dist/{chunk-RRCS27GT.js → chunk-YVI7ZV73.js} +284 -115
- package/dist/{ci-workflow-LGN7LHHO.js → ci-workflow-PA3WL6WK.js} +4 -4
- package/dist/{dist-LE5AU7FR.js → dist-BWFFVKEW.js} +20 -4
- package/dist/{dist-FBBADRYS.js → dist-ISDDHDOR.js} +17 -3
- package/dist/{docs-3BTPSHKE.js → docs-HOTWQJQF.js} +5 -5
- package/dist/{engine-GWGU4AMH.js → engine-MVG2SPGD.js} +4 -4
- package/dist/{entropy-35XURODP.js → entropy-3B4U2BTF.js} +5 -5
- package/dist/{feedback-NDGZZ37W.js → feedback-WIWWDVUC.js} +1 -1
- package/dist/{generate-agent-definitions-PYZ3E7SP.js → generate-agent-definitions-KPRHY6X3.js} +5 -5
- package/dist/index.js +25 -25
- package/dist/{loader-QK2OJXKB.js → loader-SPJ2ZGYW.js} +4 -4
- package/dist/{mcp-Z5YMV7TA.js → mcp-VSSIWTII.js} +15 -15
- package/dist/{performance-VAYOYPVK.js → performance-JYFS27B3.js} +5 -5
- package/dist/{review-pipeline-UETEOWSS.js → review-pipeline-BDT6Y6QV.js} +4 -4
- package/dist/{runtime-J7KFACTK.js → runtime-ZEPHPPQJ.js} +4 -4
- package/dist/{security-6AIUZXF5.js → security-FWSDTTEW.js} +1 -1
- package/dist/{state-events-XQPHGLG5.js → state-events-PBDNQPXT.js} +4 -4
- package/dist/{validate-ON7YMVLY.js → validate-XIMNCIKR.js} +5 -5
- package/dist/{validate-cross-check-HKKQA7K5.js → validate-cross-check-H2OUHTID.js} +4 -4
- package/package.json +8 -8
|
@@ -5,30 +5,30 @@ import {
|
|
|
5
5
|
handleCreateSelfReview,
|
|
6
6
|
handleRequestPeerReview,
|
|
7
7
|
requestPeerReviewDefinition
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MEDRUIRO.js";
|
|
9
9
|
import {
|
|
10
10
|
getSecurityTrendsDefinition,
|
|
11
11
|
handleGetSecurityTrends,
|
|
12
12
|
handleRunSecurityScan,
|
|
13
13
|
runSecurityScanDefinition
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HJYAXAYQ.js";
|
|
15
15
|
import {
|
|
16
16
|
handleRunCodeReview,
|
|
17
17
|
runCodeReviewDefinition,
|
|
18
18
|
sortFindingsBySeverity
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-H5GN7R43.js";
|
|
20
20
|
import {
|
|
21
21
|
assessProjectDefinition,
|
|
22
22
|
handleAssessProject
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-U2NOOATF.js";
|
|
24
24
|
import {
|
|
25
25
|
checkDocsDefinition,
|
|
26
26
|
handleCheckDocs
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-PT65VY4S.js";
|
|
28
28
|
import {
|
|
29
29
|
detectEntropyDefinition,
|
|
30
30
|
handleDetectEntropy
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-JZL2O3RC.js";
|
|
32
32
|
import {
|
|
33
33
|
checkPerformanceDefinition,
|
|
34
34
|
getCriticalPathsDefinition,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
handleGetPerfBaselines,
|
|
39
39
|
handleUpdatePerfBaselines,
|
|
40
40
|
updatePerfBaselinesDefinition
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-5BUHPOCP.js";
|
|
42
42
|
import {
|
|
43
43
|
getBusinessKnowledgeResource
|
|
44
44
|
} from "./chunk-IOW3MW2K.js";
|
|
@@ -57,17 +57,17 @@ import {
|
|
|
57
57
|
import {
|
|
58
58
|
handleValidateProject,
|
|
59
59
|
validateToolDefinition
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-T46G6YNI.js";
|
|
61
61
|
import {
|
|
62
62
|
checkDependenciesDefinition,
|
|
63
63
|
handleCheckDependencies
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-D7A5JR7M.js";
|
|
65
65
|
import {
|
|
66
66
|
resultToMcpResponse
|
|
67
67
|
} from "./chunk-RC3OI5NK.js";
|
|
68
68
|
import {
|
|
69
69
|
resolveProjectConfig
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-XKILFNRK.js";
|
|
71
71
|
import {
|
|
72
72
|
sanitizePath
|
|
73
73
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
findConfigFile,
|
|
94
94
|
loadConfig,
|
|
95
95
|
resolveConfig
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-LTYVAKWK.js";
|
|
97
97
|
import {
|
|
98
98
|
logger
|
|
99
99
|
} from "./chunk-EBJQ6N4M.js";
|
|
@@ -129,14 +129,14 @@ import {
|
|
|
129
129
|
scanForInjection,
|
|
130
130
|
serializeEnvelope,
|
|
131
131
|
writeTaint
|
|
132
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-CRHQYBDA.js";
|
|
133
133
|
import {
|
|
134
134
|
Err,
|
|
135
135
|
INDEXED_FILE_KINDS,
|
|
136
136
|
INSIGHTS_KEYS,
|
|
137
137
|
Ok,
|
|
138
138
|
init_dist
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-VJDSB7CI.js";
|
|
140
140
|
|
|
141
141
|
// src/mcp/server.ts
|
|
142
142
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
@@ -314,6 +314,8 @@ sessions/
|
|
|
314
314
|
streams/
|
|
315
315
|
workspaces/
|
|
316
316
|
state.json
|
|
317
|
+
state.events.jsonl
|
|
318
|
+
state.snapshot.json
|
|
317
319
|
state/
|
|
318
320
|
handoff.json
|
|
319
321
|
handoff-*.json
|
|
@@ -745,7 +747,7 @@ async function handleInsightsSummary(input) {
|
|
|
745
747
|
const skip = Array.isArray(input.skip) ? input.skip.filter(
|
|
746
748
|
(k) => typeof k === "string" && INSIGHTS_KEYS.includes(k)
|
|
747
749
|
) : void 0;
|
|
748
|
-
const { composeInsights } = await import("./dist-
|
|
750
|
+
const { composeInsights } = await import("./dist-BWFFVKEW.js");
|
|
749
751
|
const report = await composeInsights(projectPath, {
|
|
750
752
|
...skip && skip.length > 0 && { skip }
|
|
751
753
|
});
|
|
@@ -921,7 +923,7 @@ ${skippedMsg}`
|
|
|
921
923
|
async function handleInitProject(input) {
|
|
922
924
|
const i = input;
|
|
923
925
|
try {
|
|
924
|
-
const { TemplateEngine } = await import("./engine-
|
|
926
|
+
const { TemplateEngine } = await import("./engine-MVG2SPGD.js");
|
|
925
927
|
const engine = new TemplateEngine(resolveTemplatesDir());
|
|
926
928
|
const safePath = sanitizePath(i.path);
|
|
927
929
|
const detected = tryDetectFramework(engine, safePath, i);
|
|
@@ -943,7 +945,7 @@ var listPersonasDefinition = {
|
|
|
943
945
|
inputSchema: { type: "object", properties: {} }
|
|
944
946
|
};
|
|
945
947
|
async function handleListPersonas() {
|
|
946
|
-
const { listPersonas } = await import("./loader-
|
|
948
|
+
const { listPersonas } = await import("./loader-SPJ2ZGYW.js");
|
|
947
949
|
const result = listPersonas(resolvePersonasDir());
|
|
948
950
|
return resultToMcpResponse(result);
|
|
949
951
|
}
|
|
@@ -967,10 +969,10 @@ async function handleGeneratePersonaArtifacts(input) {
|
|
|
967
969
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
|
|
968
970
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
|
|
969
971
|
}
|
|
970
|
-
const { loadPersona } = await import("./loader-
|
|
971
|
-
const { generateRuntime } = await import("./runtime-
|
|
972
|
-
const { generateAgentsMd } = await import("./agents-md-
|
|
973
|
-
const { generateCIWorkflow } = await import("./ci-workflow-
|
|
972
|
+
const { loadPersona } = await import("./loader-SPJ2ZGYW.js");
|
|
973
|
+
const { generateRuntime } = await import("./runtime-ZEPHPPQJ.js");
|
|
974
|
+
const { generateAgentsMd } = await import("./agents-md-N4ULMUAK.js");
|
|
975
|
+
const { generateCIWorkflow } = await import("./ci-workflow-PA3WL6WK.js");
|
|
974
976
|
const personasDir = resolvePersonasDir();
|
|
975
977
|
const filePath = path4.join(personasDir, `${input.name}.yaml`);
|
|
976
978
|
if (!filePath.startsWith(personasDir)) {
|
|
@@ -1025,7 +1027,7 @@ async function handleRunPersona(input) {
|
|
|
1025
1027
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
|
|
1026
1028
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
|
|
1027
1029
|
}
|
|
1028
|
-
const { loadPersona } = await import("./loader-
|
|
1030
|
+
const { loadPersona } = await import("./loader-SPJ2ZGYW.js");
|
|
1029
1031
|
const { runPersona } = await import("./runner-AAEF2TXY.js");
|
|
1030
1032
|
const { executeSkill } = await import("./skill-executor-BGUCAVBU.js");
|
|
1031
1033
|
const personasDir = resolvePersonasDir();
|
|
@@ -1548,7 +1550,7 @@ async function handleRunSkill(input) {
|
|
|
1548
1550
|
}
|
|
1549
1551
|
if (input.path) {
|
|
1550
1552
|
const projectPath = sanitizePath(input.path);
|
|
1551
|
-
const { readHarnessState, isEmptyHarnessState } = await import("./state-events-
|
|
1553
|
+
const { readHarnessState, isEmptyHarnessState } = await import("./state-events-PBDNQPXT.js");
|
|
1552
1554
|
const stateResult = await readHarnessState(projectPath);
|
|
1553
1555
|
if (stateResult.ok && !isEmptyHarnessState(stateResult.value)) {
|
|
1554
1556
|
const stateContent = JSON.stringify(stateResult.value, null, 2);
|
|
@@ -1747,7 +1749,7 @@ import * as path11 from "path";
|
|
|
1747
1749
|
async function autoSyncRoadmap(projectPath) {
|
|
1748
1750
|
try {
|
|
1749
1751
|
if (!roadmapSourceExists(projectPath)) return;
|
|
1750
|
-
const { syncRoadmap, applySyncChanges } = await import("./dist-
|
|
1752
|
+
const { syncRoadmap, applySyncChanges } = await import("./dist-BWFFVKEW.js");
|
|
1751
1753
|
const store = resolveRoadmapStore({ projectRoot: projectPath });
|
|
1752
1754
|
const loaded = await store.load();
|
|
1753
1755
|
if (!loaded.ok) return;
|
|
@@ -1778,7 +1780,7 @@ async function triggerExternalSync(projectPath) {
|
|
|
1778
1780
|
console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
|
|
1779
1781
|
return;
|
|
1780
1782
|
}
|
|
1781
|
-
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-
|
|
1783
|
+
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-BWFFVKEW.js");
|
|
1782
1784
|
const adapter = new GitHubIssuesSyncAdapter({
|
|
1783
1785
|
token,
|
|
1784
1786
|
config: trackerConfig
|
|
@@ -1898,14 +1900,14 @@ var manageStateDefinition = {
|
|
|
1898
1900
|
}
|
|
1899
1901
|
};
|
|
1900
1902
|
async function handleShow(projectPath, input) {
|
|
1901
|
-
const { readHarnessState } = await import("./state-events-
|
|
1903
|
+
const { readHarnessState } = await import("./state-events-PBDNQPXT.js");
|
|
1902
1904
|
return resultToMcpResponse(
|
|
1903
1905
|
await readHarnessState(projectPath, { stream: input.stream, session: input.session })
|
|
1904
1906
|
);
|
|
1905
1907
|
}
|
|
1906
1908
|
async function handleLearn(projectPath, input) {
|
|
1907
1909
|
if (!input.learning) return mcpError("Error: learning is required for learn action");
|
|
1908
|
-
const { appendLearning } = await import("./dist-
|
|
1910
|
+
const { appendLearning } = await import("./dist-BWFFVKEW.js");
|
|
1909
1911
|
const result = await appendLearning(
|
|
1910
1912
|
projectPath,
|
|
1911
1913
|
input.learning,
|
|
@@ -1920,7 +1922,7 @@ async function handleLearn(projectPath, input) {
|
|
|
1920
1922
|
async function handleFailure(projectPath, input) {
|
|
1921
1923
|
if (!input.description) return mcpError("Error: description is required for failure action");
|
|
1922
1924
|
if (!input.failureType) return mcpError("Error: failureType is required for failure action");
|
|
1923
|
-
const { appendFailure } = await import("./dist-
|
|
1925
|
+
const { appendFailure } = await import("./dist-BWFFVKEW.js");
|
|
1924
1926
|
const result = await appendFailure(
|
|
1925
1927
|
projectPath,
|
|
1926
1928
|
input.description,
|
|
@@ -1939,13 +1941,13 @@ async function handleFailure(projectPath, input) {
|
|
|
1939
1941
|
return resultToMcpResponse(Ok({ recorded: true }));
|
|
1940
1942
|
}
|
|
1941
1943
|
async function handleArchive(projectPath, input) {
|
|
1942
|
-
const { archiveFailures } = await import("./dist-
|
|
1944
|
+
const { archiveFailures } = await import("./dist-BWFFVKEW.js");
|
|
1943
1945
|
const result = await archiveFailures(projectPath, input.stream, input.session);
|
|
1944
1946
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1945
1947
|
return resultToMcpResponse(Ok({ archived: true }));
|
|
1946
1948
|
}
|
|
1947
1949
|
async function handleReset(projectPath, input) {
|
|
1948
|
-
const { eventSourcing } = await import("./dist-
|
|
1950
|
+
const { eventSourcing } = await import("./dist-BWFFVKEW.js");
|
|
1949
1951
|
const result = await eventSourcing.resetEventLog(projectPath, {
|
|
1950
1952
|
stream: input.stream,
|
|
1951
1953
|
session: input.session
|
|
@@ -1954,7 +1956,7 @@ async function handleReset(projectPath, input) {
|
|
|
1954
1956
|
return resultToMcpResponse(Ok({ reset: true }));
|
|
1955
1957
|
}
|
|
1956
1958
|
async function handleGate(projectPath, input) {
|
|
1957
|
-
const { runMechanicalGate } = await import("./dist-
|
|
1959
|
+
const { runMechanicalGate } = await import("./dist-BWFFVKEW.js");
|
|
1958
1960
|
const result = await runMechanicalGate(projectPath);
|
|
1959
1961
|
if (result.ok) {
|
|
1960
1962
|
await emitSkillEvent(projectPath, {
|
|
@@ -1974,7 +1976,7 @@ async function handleGate(projectPath, input) {
|
|
|
1974
1976
|
}
|
|
1975
1977
|
async function handleSaveHandoff(projectPath, input) {
|
|
1976
1978
|
if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
|
|
1977
|
-
const { saveHandoff } = await import("./dist-
|
|
1979
|
+
const { saveHandoff } = await import("./dist-BWFFVKEW.js");
|
|
1978
1980
|
const result = await saveHandoff(
|
|
1979
1981
|
projectPath,
|
|
1980
1982
|
input.handoff,
|
|
@@ -1996,7 +1998,7 @@ async function handleSaveHandoff(projectPath, input) {
|
|
|
1996
1998
|
return resultToMcpResponse(Ok({ saved: true }));
|
|
1997
1999
|
}
|
|
1998
2000
|
async function handleLoadHandoff(projectPath, input) {
|
|
1999
|
-
const { loadHandoff } = await import("./dist-
|
|
2001
|
+
const { loadHandoff } = await import("./dist-BWFFVKEW.js");
|
|
2000
2002
|
return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
|
|
2001
2003
|
}
|
|
2002
2004
|
async function handleAppendEntry(projectPath, input) {
|
|
@@ -2004,7 +2006,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
2004
2006
|
if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
|
|
2005
2007
|
if (!input.content) return mcpError("Error: content is required for append_entry action");
|
|
2006
2008
|
if (input.session) {
|
|
2007
|
-
const { appendSessionEntry } = await import("./dist-
|
|
2009
|
+
const { appendSessionEntry } = await import("./dist-BWFFVKEW.js");
|
|
2008
2010
|
const result = await appendSessionEntry(
|
|
2009
2011
|
projectPath,
|
|
2010
2012
|
input.session,
|
|
@@ -2018,7 +2020,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
2018
2020
|
return mcpError("Error: session is required for non-decisions sections");
|
|
2019
2021
|
}
|
|
2020
2022
|
const { randomUUID: randomUUID10 } = await import("crypto");
|
|
2021
|
-
const { emitCoreEvent } = await import("./state-events-
|
|
2023
|
+
const { emitCoreEvent } = await import("./state-events-PBDNQPXT.js");
|
|
2022
2024
|
const r = await emitCoreEvent(
|
|
2023
2025
|
projectPath,
|
|
2024
2026
|
{
|
|
@@ -2036,7 +2038,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
2036
2038
|
if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
|
|
2037
2039
|
if (!input.newStatus)
|
|
2038
2040
|
return mcpError("Error: newStatus is required for update_entry_status action");
|
|
2039
|
-
const { updateSessionEntryStatus } = await import("./dist-
|
|
2041
|
+
const { updateSessionEntryStatus } = await import("./dist-BWFFVKEW.js");
|
|
2040
2042
|
const result = await updateSessionEntryStatus(
|
|
2041
2043
|
projectPath,
|
|
2042
2044
|
input.session,
|
|
@@ -2046,7 +2048,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
2046
2048
|
);
|
|
2047
2049
|
if (result.ok && input.section === "decisions" && input.newStatus === "resolved") {
|
|
2048
2050
|
try {
|
|
2049
|
-
const { emitApprovalResolved } = await import("./state-events-
|
|
2051
|
+
const { emitApprovalResolved } = await import("./state-events-PBDNQPXT.js");
|
|
2050
2052
|
await emitApprovalResolved(projectPath, input.entryId, input.newStatus, {
|
|
2051
2053
|
stream: input.stream
|
|
2052
2054
|
});
|
|
@@ -2058,7 +2060,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
2058
2060
|
async function handleReadSection(projectPath, input) {
|
|
2059
2061
|
if (!input.session) return mcpError("Error: session is required for read_section action");
|
|
2060
2062
|
if (!input.section) return mcpError("Error: section is required for read_section action");
|
|
2061
|
-
const { readSessionSection } = await import("./dist-
|
|
2063
|
+
const { readSessionSection } = await import("./dist-BWFFVKEW.js");
|
|
2062
2064
|
const result = await readSessionSection(
|
|
2063
2065
|
projectPath,
|
|
2064
2066
|
input.session,
|
|
@@ -2068,13 +2070,13 @@ async function handleReadSection(projectPath, input) {
|
|
|
2068
2070
|
}
|
|
2069
2071
|
async function handleReadSections(projectPath, input) {
|
|
2070
2072
|
if (!input.session) return mcpError("Error: session is required for read_sections action");
|
|
2071
|
-
const { readSessionSections } = await import("./dist-
|
|
2073
|
+
const { readSessionSections } = await import("./dist-BWFFVKEW.js");
|
|
2072
2074
|
const result = await readSessionSections(projectPath, input.session);
|
|
2073
2075
|
return resultToMcpResponse(result);
|
|
2074
2076
|
}
|
|
2075
2077
|
async function handleArchiveSession(projectPath, input) {
|
|
2076
2078
|
if (!input.session) return mcpError("Error: session is required for archive_session action");
|
|
2077
|
-
const { archiveSession } = await import("./dist-
|
|
2079
|
+
const { archiveSession } = await import("./dist-BWFFVKEW.js");
|
|
2078
2080
|
const { buildArchiveHooks } = await import("@harness-engineering/orchestrator");
|
|
2079
2081
|
const hooks = buildArchiveHooks({ projectPath });
|
|
2080
2082
|
const result = await archiveSession(projectPath, input.session, { hooks });
|
|
@@ -2117,7 +2119,7 @@ async function handlePhaseComplete(projectPath, input) {
|
|
|
2117
2119
|
async function handleTaskTransition(projectPath, input) {
|
|
2118
2120
|
if (!input.taskId) return mcpError("Error: taskId is required for task-transition action");
|
|
2119
2121
|
if (!input.toLane) return mcpError("Error: toLane is required for task-transition action");
|
|
2120
|
-
const { eventSourcing } = await import("./dist-
|
|
2122
|
+
const { eventSourcing } = await import("./dist-BWFFVKEW.js");
|
|
2121
2123
|
const scope = { stream: input.stream, session: input.session };
|
|
2122
2124
|
if (input.dependsOn) {
|
|
2123
2125
|
const reg = await eventSourcing.registerTask(projectPath, input.taskId, input.dependsOn, scope);
|
|
@@ -2181,7 +2183,7 @@ var listStreamsDefinition = {
|
|
|
2181
2183
|
};
|
|
2182
2184
|
async function handleListStreams(input) {
|
|
2183
2185
|
try {
|
|
2184
|
-
const { listStreams, loadStreamIndex } = await import("./dist-
|
|
2186
|
+
const { listStreams, loadStreamIndex } = await import("./dist-BWFFVKEW.js");
|
|
2185
2187
|
const projectPath = sanitizePath(input.path);
|
|
2186
2188
|
const indexResult = await loadStreamIndex(projectPath);
|
|
2187
2189
|
const streamsResult = await listStreams(projectPath);
|
|
@@ -2219,7 +2221,7 @@ var checkPhaseGateDefinition = {
|
|
|
2219
2221
|
};
|
|
2220
2222
|
async function handleCheckPhaseGate(input) {
|
|
2221
2223
|
try {
|
|
2222
|
-
const { runCheckPhaseGate } = await import("./check-phase-gate-
|
|
2224
|
+
const { runCheckPhaseGate } = await import("./check-phase-gate-GN4X7HT6.js");
|
|
2223
2225
|
const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
|
|
2224
2226
|
if (result.ok) {
|
|
2225
2227
|
return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
|
|
@@ -2275,7 +2277,7 @@ async function handleValidateCrossCheck(input) {
|
|
|
2275
2277
|
};
|
|
2276
2278
|
}
|
|
2277
2279
|
try {
|
|
2278
|
-
const { runCrossCheck } = await import("./validate-cross-check-
|
|
2280
|
+
const { runCrossCheck } = await import("./validate-cross-check-H2OUHTID.js");
|
|
2279
2281
|
const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
|
|
2280
2282
|
if (!specsDir.startsWith(projectPath)) {
|
|
2281
2283
|
return {
|
|
@@ -3098,8 +3100,8 @@ async function handleGenerateSlashCommands(input) {
|
|
|
3098
3100
|
// src/mcp/resources/state.ts
|
|
3099
3101
|
async function getStateResource(projectRoot) {
|
|
3100
3102
|
try {
|
|
3101
|
-
const { migrateToStreams } = await import("./dist-
|
|
3102
|
-
const { readHarnessState } = await import("./state-events-
|
|
3103
|
+
const { migrateToStreams } = await import("./dist-BWFFVKEW.js");
|
|
3104
|
+
const { readHarnessState } = await import("./state-events-PBDNQPXT.js");
|
|
3103
3105
|
await migrateToStreams(projectRoot);
|
|
3104
3106
|
const result = await readHarnessState(projectRoot);
|
|
3105
3107
|
if (result.ok) {
|
|
@@ -4119,7 +4121,7 @@ var generateAgentDefinitionsDefinition = {
|
|
|
4119
4121
|
}
|
|
4120
4122
|
};
|
|
4121
4123
|
async function handleGenerateAgentDefinitions(input) {
|
|
4122
|
-
const { generateAgentDefinitions } = await import("./generate-agent-definitions-
|
|
4124
|
+
const { generateAgentDefinitions } = await import("./generate-agent-definitions-KPRHY6X3.js");
|
|
4123
4125
|
const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
|
|
4124
4126
|
const results = generateAgentDefinitions({
|
|
4125
4127
|
platforms: [...platforms],
|
|
@@ -4836,8 +4838,8 @@ async function handleManageRoadmap(input) {
|
|
|
4836
4838
|
release,
|
|
4837
4839
|
promoteFeature,
|
|
4838
4840
|
groomRoadmap
|
|
4839
|
-
} = await import("./dist-
|
|
4840
|
-
const { Ok: Ok2 } = await import("./dist-
|
|
4841
|
+
} = await import("./dist-BWFFVKEW.js");
|
|
4842
|
+
const { Ok: Ok2 } = await import("./dist-ISDDHDOR.js");
|
|
4841
4843
|
const projectPath = projectPathPre;
|
|
4842
4844
|
const deps = {
|
|
4843
4845
|
parseRoadmap,
|
|
@@ -5280,7 +5282,7 @@ async function handleTransition(validInput, projectPath, id) {
|
|
|
5280
5282
|
const transition = transitionResult.data;
|
|
5281
5283
|
const prompt = renderTransition(transition);
|
|
5282
5284
|
try {
|
|
5283
|
-
const { saveHandoff } = await import("./dist-
|
|
5285
|
+
const { saveHandoff } = await import("./dist-BWFFVKEW.js");
|
|
5284
5286
|
await saveHandoff(
|
|
5285
5287
|
projectPath,
|
|
5286
5288
|
{
|
|
@@ -5361,7 +5363,7 @@ async function handleEmitInteraction(input) {
|
|
|
5361
5363
|
}
|
|
5362
5364
|
async function recordInteraction(projectPath, id, type, decision, stream) {
|
|
5363
5365
|
try {
|
|
5364
|
-
const { emitCoreEvent, emitUserInputCaptured, emitApprovalRequested } = await import("./state-events-
|
|
5366
|
+
const { emitCoreEvent, emitUserInputCaptured, emitApprovalRequested } = await import("./state-events-PBDNQPXT.js");
|
|
5365
5367
|
await emitCoreEvent(
|
|
5366
5368
|
projectPath,
|
|
5367
5369
|
{
|
|
@@ -5522,10 +5524,10 @@ async function handleGatherContext(input) {
|
|
|
5522
5524
|
input.include ?? ["state", "learnings", "handoff", "graph", "validation", "businessKnowledge"]
|
|
5523
5525
|
);
|
|
5524
5526
|
const errors = [];
|
|
5525
|
-
const statePromise = includeSet.has("state") ? import("./state-events-
|
|
5527
|
+
const statePromise = includeSet.has("state") ? import("./state-events-PBDNQPXT.js").then(
|
|
5526
5528
|
(m) => m.readHarnessState(projectPath, { session: input.session })
|
|
5527
5529
|
) : Promise.resolve(null);
|
|
5528
|
-
const learningsPromise = includeSet.has("learnings") ? import("./dist-
|
|
5530
|
+
const learningsPromise = includeSet.has("learnings") ? import("./dist-BWFFVKEW.js").then(
|
|
5529
5531
|
(core) => core.loadBudgetedLearnings(projectPath, {
|
|
5530
5532
|
intent: input.intent,
|
|
5531
5533
|
tokenBudget: input.learningsBudget ?? 1e3,
|
|
@@ -5534,7 +5536,7 @@ async function handleGatherContext(input) {
|
|
|
5534
5536
|
...input.depth !== void 0 && { depth: input.depth }
|
|
5535
5537
|
})
|
|
5536
5538
|
) : Promise.resolve(null);
|
|
5537
|
-
const handoffPromise = includeSet.has("handoff") ? import("./dist-
|
|
5539
|
+
const handoffPromise = includeSet.has("handoff") ? import("./dist-BWFFVKEW.js").then(
|
|
5538
5540
|
(core) => core.loadHandoff(projectPath, void 0, input.session)
|
|
5539
5541
|
) : Promise.resolve(null);
|
|
5540
5542
|
const graphPromise = includeSet.has("graph") ? (async () => {
|
|
@@ -5578,15 +5580,15 @@ async function handleGatherContext(input) {
|
|
|
5578
5580
|
context: contextBlocks
|
|
5579
5581
|
};
|
|
5580
5582
|
})() : Promise.resolve(null);
|
|
5581
|
-
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-
|
|
5583
|
+
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-BWFFVKEW.js").then(
|
|
5582
5584
|
(core) => core.readSessionSections(projectPath, input.session)
|
|
5583
5585
|
) : Promise.resolve(null);
|
|
5584
5586
|
const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
|
|
5585
|
-
const eventsPromise = shouldIncludeEvents ? import("./state-events-
|
|
5587
|
+
const eventsPromise = shouldIncludeEvents ? import("./state-events-PBDNQPXT.js").then(
|
|
5586
5588
|
(m) => m.readAuditTimeline(projectPath, { session: input.session })
|
|
5587
5589
|
) : Promise.resolve(null);
|
|
5588
5590
|
const validationPromise = includeSet.has("validation") ? (async () => {
|
|
5589
|
-
const { handleValidateProject: handleValidateProject2 } = await import("./validate-
|
|
5591
|
+
const { handleValidateProject: handleValidateProject2 } = await import("./validate-XIMNCIKR.js");
|
|
5590
5592
|
const result = await handleValidateProject2({ path: projectPath });
|
|
5591
5593
|
const first = result.content[0];
|
|
5592
5594
|
return first ? JSON.parse(first.text) : null;
|
|
@@ -5689,7 +5691,7 @@ async function handleGatherContext(input) {
|
|
|
5689
5691
|
};
|
|
5690
5692
|
if (input.session) {
|
|
5691
5693
|
try {
|
|
5692
|
-
const core = await import("./dist-
|
|
5694
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
5693
5695
|
core.updateSessionIndex(
|
|
5694
5696
|
projectPath,
|
|
5695
5697
|
input.session,
|
|
@@ -5887,7 +5889,7 @@ async function handleReviewChanges(input) {
|
|
|
5887
5889
|
}
|
|
5888
5890
|
}
|
|
5889
5891
|
async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5890
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-
|
|
5892
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-WIWWDVUC.js");
|
|
5891
5893
|
const result = await handleAnalyzeDiff2({ diff, path: projectPath });
|
|
5892
5894
|
const firstContent = result.content[0];
|
|
5893
5895
|
if (!firstContent) throw new Error("Empty analyze_diff response");
|
|
@@ -5922,7 +5924,7 @@ function extractFileCount(diffParsed) {
|
|
|
5922
5924
|
return files?.length ?? 0;
|
|
5923
5925
|
}
|
|
5924
5926
|
async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5925
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-
|
|
5927
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-WIWWDVUC.js");
|
|
5926
5928
|
const [diffResult, reviewResult] = await Promise.all([
|
|
5927
5929
|
handleAnalyzeDiff2({ diff, path: projectPath }),
|
|
5928
5930
|
handleCreateSelfReview2({ path: projectPath, diff })
|
|
@@ -5957,7 +5959,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
|
|
|
5957
5959
|
};
|
|
5958
5960
|
}
|
|
5959
5961
|
async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
|
|
5960
|
-
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-
|
|
5962
|
+
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-BDT6Y6QV.js");
|
|
5961
5963
|
const result = await handleRunCodeReview2({
|
|
5962
5964
|
path: projectPath,
|
|
5963
5965
|
diff,
|
|
@@ -6218,8 +6220,8 @@ function validationError(messages) {
|
|
|
6218
6220
|
async function handlePlanParallelization(input) {
|
|
6219
6221
|
try {
|
|
6220
6222
|
const projectPath = sanitizePath(input.path);
|
|
6221
|
-
const { PlanTaskSchema } = await import("./dist-
|
|
6222
|
-
const { planParallelization, validatePlanTasks } = await import("./dist-
|
|
6223
|
+
const { PlanTaskSchema } = await import("./dist-ISDDHDOR.js");
|
|
6224
|
+
const { planParallelization, validatePlanTasks } = await import("./dist-BWFFVKEW.js");
|
|
6223
6225
|
const parsed = PlanTaskSchema.array().safeParse(input.tasks);
|
|
6224
6226
|
if (!parsed.success) {
|
|
6225
6227
|
return validationError(parsed.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`));
|
|
@@ -6331,7 +6333,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
6331
6333
|
]
|
|
6332
6334
|
};
|
|
6333
6335
|
}
|
|
6334
|
-
const { detectStaleConstraints } = await import("./dist-
|
|
6336
|
+
const { detectStaleConstraints } = await import("./dist-BWFFVKEW.js");
|
|
6335
6337
|
const result = detectStaleConstraints(
|
|
6336
6338
|
store,
|
|
6337
6339
|
windowDays,
|
|
@@ -6462,10 +6464,10 @@ function countCriticalFindings(securityData) {
|
|
|
6462
6464
|
return findings.filter((f) => f.severity === "error").length;
|
|
6463
6465
|
}
|
|
6464
6466
|
async function runHealthChecks(projectPath) {
|
|
6465
|
-
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-
|
|
6466
|
-
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-
|
|
6467
|
-
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-
|
|
6468
|
-
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-
|
|
6467
|
+
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-ITSB6W4L.js");
|
|
6468
|
+
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-OIMIBDJC.js");
|
|
6469
|
+
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-3B4U2BTF.js");
|
|
6470
|
+
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-FWSDTTEW.js");
|
|
6469
6471
|
const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
|
|
6470
6472
|
handleAssessProject2({
|
|
6471
6473
|
path: projectPath,
|
|
@@ -7329,7 +7331,7 @@ async function handleGetDecayTrends(input) {
|
|
|
7329
7331
|
};
|
|
7330
7332
|
}
|
|
7331
7333
|
try {
|
|
7332
|
-
const core = await import("./dist-
|
|
7334
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
7333
7335
|
const { TimelineManager } = core;
|
|
7334
7336
|
const manager = new TimelineManager(projectPath);
|
|
7335
7337
|
const timeline = manager.load();
|
|
@@ -7464,7 +7466,7 @@ async function handleCodeOutline(input) {
|
|
|
7464
7466
|
};
|
|
7465
7467
|
}
|
|
7466
7468
|
try {
|
|
7467
|
-
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-
|
|
7469
|
+
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-BWFFVKEW.js");
|
|
7468
7470
|
const { stat } = await import("fs/promises");
|
|
7469
7471
|
const stats = await stat(targetPath).catch(() => null);
|
|
7470
7472
|
if (stats?.isFile()) {
|
|
@@ -7483,7 +7485,7 @@ async function handleCodeOutline(input) {
|
|
|
7483
7485
|
})
|
|
7484
7486
|
);
|
|
7485
7487
|
fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
7486
|
-
const { paginate: paginate2 } = await import("./dist-
|
|
7488
|
+
const { paginate: paginate2 } = await import("./dist-BWFFVKEW.js");
|
|
7487
7489
|
const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
|
|
7488
7490
|
const results = [];
|
|
7489
7491
|
for (const entry of paged.items) {
|
|
@@ -7556,7 +7558,7 @@ async function handleCodeSearch(input) {
|
|
|
7556
7558
|
};
|
|
7557
7559
|
}
|
|
7558
7560
|
try {
|
|
7559
|
-
const { searchSymbols } = await import("./dist-
|
|
7561
|
+
const { searchSymbols } = await import("./dist-BWFFVKEW.js");
|
|
7560
7562
|
const result = await searchSymbols(input.query, directory, input.glob);
|
|
7561
7563
|
const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
|
|
7562
7564
|
for (const match of result.matches) {
|
|
@@ -7625,7 +7627,7 @@ async function handleCodeUnfold(input) {
|
|
|
7625
7627
|
}
|
|
7626
7628
|
try {
|
|
7627
7629
|
if (input.symbol) {
|
|
7628
|
-
const { unfoldSymbol } = await import("./dist-
|
|
7630
|
+
const { unfoldSymbol } = await import("./dist-BWFFVKEW.js");
|
|
7629
7631
|
const result = await unfoldSymbol(filePath, input.symbol);
|
|
7630
7632
|
const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
|
|
7631
7633
|
` : `${result.file}:${result.startLine}-${result.endLine}
|
|
@@ -7633,7 +7635,7 @@ async function handleCodeUnfold(input) {
|
|
|
7633
7635
|
return { content: [{ type: "text", text: header + result.content }] };
|
|
7634
7636
|
}
|
|
7635
7637
|
if (input.startLine != null && input.endLine != null) {
|
|
7636
|
-
const { unfoldRange } = await import("./dist-
|
|
7638
|
+
const { unfoldRange } = await import("./dist-BWFFVKEW.js");
|
|
7637
7639
|
const result = await unfoldRange(filePath, input.startLine, input.endLine);
|
|
7638
7640
|
const header = `${result.file}:${result.startLine}-${result.endLine}
|
|
7639
7641
|
`;
|
|
@@ -7818,7 +7820,7 @@ async function handlePredictFailures(input) {
|
|
|
7818
7820
|
};
|
|
7819
7821
|
}
|
|
7820
7822
|
try {
|
|
7821
|
-
const core = await import("./dist-
|
|
7823
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
7822
7824
|
const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
|
|
7823
7825
|
const manager = new TimelineManager(projectPath);
|
|
7824
7826
|
const includeRoadmap = input.includeRoadmap !== false;
|
|
@@ -8927,7 +8929,7 @@ async function handleDetectConstraintEmergence(input) {
|
|
|
8927
8929
|
}
|
|
8928
8930
|
const nodePath = await import("path");
|
|
8929
8931
|
const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
|
|
8930
|
-
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-
|
|
8932
|
+
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-BWFFVKEW.js");
|
|
8931
8933
|
const manager = new ViolationHistoryManager(historyPath);
|
|
8932
8934
|
const history = manager.load();
|
|
8933
8935
|
const options = { windowWeeks, minOccurrences };
|
|
@@ -9015,7 +9017,7 @@ async function handleRunCIChecks(input) {
|
|
|
9015
9017
|
};
|
|
9016
9018
|
}
|
|
9017
9019
|
try {
|
|
9018
|
-
const { runCIChecks } = await import("./dist-
|
|
9020
|
+
const { runCIChecks } = await import("./dist-BWFFVKEW.js");
|
|
9019
9021
|
const skip = input.checks ? VALID_CHECKS.filter((c) => !input.checks.includes(c)) : [];
|
|
9020
9022
|
const result = await runCIChecks({
|
|
9021
9023
|
projectRoot: projectPath,
|
|
@@ -9077,7 +9079,7 @@ async function handleGenerateBlueprint(input) {
|
|
|
9077
9079
|
};
|
|
9078
9080
|
}
|
|
9079
9081
|
try {
|
|
9080
|
-
const { ProjectScanner } = await import("./dist-
|
|
9082
|
+
const { ProjectScanner } = await import("./dist-BWFFVKEW.js");
|
|
9081
9083
|
const scanner = new ProjectScanner(projectPath);
|
|
9082
9084
|
const data = await scanner.scan();
|
|
9083
9085
|
return {
|
|
@@ -9280,7 +9282,7 @@ function validateProposalCrossFields(input) {
|
|
|
9280
9282
|
}
|
|
9281
9283
|
async function loadCoreProposalApi() {
|
|
9282
9284
|
try {
|
|
9283
|
-
const core = await import("./dist-
|
|
9285
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
9284
9286
|
return {
|
|
9285
9287
|
createProposal: core.createProposal,
|
|
9286
9288
|
ProposalConflictError: core.ProposalConflictError
|
|
@@ -19874,7 +19876,7 @@ async function handleValidateStrategy(input) {
|
|
|
19874
19876
|
} catch (error) {
|
|
19875
19877
|
return mcpError2(error instanceof Error ? error.message : String(error));
|
|
19876
19878
|
}
|
|
19877
|
-
const { validateStrategy } = await import("./dist-
|
|
19879
|
+
const { validateStrategy } = await import("./dist-BWFFVKEW.js");
|
|
19878
19880
|
const result = await validateStrategy(projectPath);
|
|
19879
19881
|
if (!result.ok) {
|
|
19880
19882
|
return mcpJson({ present: true, valid: false, error: result.error.message });
|
|
@@ -19899,7 +19901,7 @@ async function handleReadStrategy(input) {
|
|
|
19899
19901
|
} catch (error) {
|
|
19900
19902
|
return mcpError2(error instanceof Error ? error.message : String(error));
|
|
19901
19903
|
}
|
|
19902
|
-
const core = await import("./dist-
|
|
19904
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
19903
19905
|
const validation = await core.validateStrategy(projectPath);
|
|
19904
19906
|
if (!validation.ok) {
|
|
19905
19907
|
return mcpJson({ present: true, valid: false, error: validation.error.message });
|
|
@@ -19951,7 +19953,7 @@ async function handleWriteStrategy(input) {
|
|
|
19951
19953
|
} catch (error) {
|
|
19952
19954
|
return mcpError2(error instanceof Error ? error.message : String(error));
|
|
19953
19955
|
}
|
|
19954
|
-
const core = await import("./dist-
|
|
19956
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
19955
19957
|
try {
|
|
19956
19958
|
core.writeStrategyDoc(input.doc, {
|
|
19957
19959
|
cwd: projectPath,
|
|
@@ -19995,7 +19997,7 @@ async function handleSeedPulseFromStrategy(input) {
|
|
|
19995
19997
|
} catch (error) {
|
|
19996
19998
|
return mcpError3(error instanceof Error ? error.message : String(error));
|
|
19997
19999
|
}
|
|
19998
|
-
const core = await import("./dist-
|
|
20000
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
19999
20001
|
const seed = core.seedFromStrategy({ cwd: projectPath });
|
|
20000
20002
|
return mcpJson2(seed);
|
|
20001
20003
|
}
|
|
@@ -20030,7 +20032,7 @@ async function handleWritePulseConfig(input) {
|
|
|
20030
20032
|
return mcpError3(error instanceof Error ? error.message : String(error));
|
|
20031
20033
|
}
|
|
20032
20034
|
const resolvedConfigPath = input.configPath !== void 0 ? path55.isAbsolute(input.configPath) ? input.configPath : path55.join(projectPath, input.configPath) : path55.join(projectPath, "harness.config.json");
|
|
20033
|
-
const core = await import("./dist-
|
|
20035
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
20034
20036
|
try {
|
|
20035
20037
|
core.writePulseConfig(input.config, {
|
|
20036
20038
|
configPath: resolvedConfigPath,
|
|
@@ -20079,7 +20081,7 @@ async function handleAcquireCompoundLock(input) {
|
|
|
20079
20081
|
} catch (error) {
|
|
20080
20082
|
return mcpError4(error instanceof Error ? error.message : String(error));
|
|
20081
20083
|
}
|
|
20082
|
-
const core = await import("./dist-
|
|
20084
|
+
const core = await import("./dist-BWFFVKEW.js");
|
|
20083
20085
|
try {
|
|
20084
20086
|
const handle = core.acquireCompoundLock(
|
|
20085
20087
|
input.category,
|
|
@@ -20445,7 +20447,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
|
|
|
20445
20447
|
shouldRunCheck,
|
|
20446
20448
|
readCheckState,
|
|
20447
20449
|
spawnBackgroundCheck
|
|
20448
|
-
} = await import("./dist-
|
|
20450
|
+
} = await import("./dist-BWFFVKEW.js");
|
|
20449
20451
|
const { CLI_VERSION } = await import("./version-CUI434OP.js");
|
|
20450
20452
|
const configInterval = readConfigInterval(resolvedRoot);
|
|
20451
20453
|
const DEFAULT_INTERVAL = 864e5;
|