@harness-engineering/cli 4.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/claude-code/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/claude-code/pre-merge-brief/skill.yaml +67 -0
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/codex/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/codex/pre-merge-brief/skill.yaml +67 -0
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/cursor/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/cursor/pre-merge-brief/skill.yaml +67 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/gemini-cli/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/gemini-cli/pre-merge-brief/skill.yaml +67 -0
- package/dist/{agents-md-VJLYEH2S.js → agents-md-7L4PKKOM.js} +3 -3
- package/dist/analyzer-XRCV63KC-HLTEIKAJ.js +26 -0
- package/dist/{architecture-YQH2NYXY.js → architecture-RCHFDI7E.js} +4 -4
- package/dist/{assess-project-KOTAPAHD.js → assess-project-YUDPNRS6.js} +5 -3
- package/dist/bin/harness-mcp.js +14 -14
- package/dist/bin/harness.js +24 -24
- package/dist/{check-phase-gate-CHU2E3OU.js → check-phase-gate-56GS3A72.js} +4 -4
- package/dist/{chunk-JPVOI7GP.js → chunk-4SKWGVYD.js} +2 -2
- package/dist/{chunk-GHBFNLV2.js → chunk-ABRYIEWJ.js} +923 -614
- package/dist/{chunk-36GQREOE.js → chunk-AU4YPEIE.js} +3 -3
- package/dist/{chunk-OQ6KOQEV.js → chunk-DGVT4DBI.js} +3 -3
- package/dist/{chunk-I3CGCZJF.js → chunk-GLHLXTKC.js} +5 -5
- package/dist/{chunk-4VXFZSYF.js → chunk-GSYBGOY3.js} +1 -1
- package/dist/{chunk-UWVMJEUJ.js → chunk-IGWJRAJT.js} +1 -1
- package/dist/{chunk-YANR2RL7.js → chunk-N4AI2WFH.js} +1 -1
- package/dist/{chunk-5RSXUAMN.js → chunk-NCMJXBEO.js} +1 -1
- package/dist/{chunk-SEA2PFVI.js → chunk-OZSKLJQW.js} +1 -1
- package/dist/{chunk-AX5KGRM6.js → chunk-P4NA5OQX.js} +1 -1
- package/dist/{chunk-7PJCK7UE.js → chunk-RY2U77OY.js} +6 -6
- package/dist/{chunk-6SCYTIF4.js → chunk-RZQZXWEL.js} +32 -7
- package/dist/{chunk-MMLQPHZ5.js → chunk-UACYZCW4.js} +31 -13
- package/dist/{chunk-T746REAE.js → chunk-VG4G3R2V.js} +1 -1
- package/dist/{chunk-7TIJXWG3.js → chunk-XW5XVVMI.js} +2 -2
- package/dist/{chunk-E5EW5HVJ.js → chunk-XZNCONFG.js} +1 -1
- package/dist/{chunk-SDMV4QHM.js → chunk-Y33P35U3.js} +24 -6
- package/dist/{chunk-XAVMTAUT.js → chunk-Y5HPJMTM.js} +18 -2
- package/dist/{chunk-6YFHUIGT.js → chunk-YJYUJSWK.js} +58 -20
- package/dist/{chunk-AAUY53CC.js → chunk-YWRPQZL7.js} +1 -1
- package/dist/{chunk-M7F2PPN3.js → chunk-YXOPQEFZ.js} +2 -2
- package/dist/{chunk-RG3TNIUB.js → chunk-Z4XWWNYX.js} +86 -86
- package/dist/{chunk-EYMOPFSD.js → chunk-ZU6T7W3U.js} +2 -2
- package/dist/{ci-workflow-HO4WKGNG.js → ci-workflow-TFAA5BK7.js} +3 -3
- package/dist/{dist-6D2F2J57.js → dist-MCTEX5QH.js} +4 -2
- package/dist/{docs-FP47JONV.js → docs-BBMAN3CY.js} +4 -4
- package/dist/{engine-YUA6IYOG.js → engine-R2YH74AL.js} +3 -3
- package/dist/{entropy-DBW2INZU.js → entropy-5UP5N6AF.js} +6 -3
- package/dist/{feedback-BPHADTRQ.js → feedback-6MDCCFZL.js} +1 -1
- package/dist/{generate-agent-definitions-KPVGBGDY.js → generate-agent-definitions-KKAN5DB5.js} +4 -4
- package/dist/hooks/sentinel-pre.js +15 -138
- package/dist/index.d.ts +61 -0
- package/dist/index.js +24 -24
- package/dist/{loader-QOJQ6NZM.js → loader-2WT2ZE2T.js} +3 -3
- package/dist/{mcp-ZPX6O767.js → mcp-5V4LPMB3.js} +14 -14
- package/dist/{performance-FXYTGJGQ.js → performance-2N3CFXLR.js} +4 -4
- package/dist/{review-pipeline-2TFQ5OAE.js → review-pipeline-XZIGBU3Q.js} +3 -3
- package/dist/{runtime-XK6ZCHKE.js → runtime-POME3GTR.js} +3 -3
- package/dist/{security-4W2P5ZGI.js → security-QLJLMSIW.js} +1 -1
- package/dist/{state-events-ECQAIZLU.js → state-events-YY5KBZTC.js} +3 -3
- package/dist/{validate-64KTEGIE.js → validate-VZORVK43.js} +4 -4
- package/dist/{validate-cross-check-J5PVGICB.js → validate-cross-check-OYKEDCST.js} +3 -3
- package/package.json +5 -4
- package/dist/analyzer-V633GUHY-OV335HGM.js +0 -26
|
@@ -5,30 +5,30 @@ import {
|
|
|
5
5
|
handleCreateSelfReview,
|
|
6
6
|
handleRequestPeerReview,
|
|
7
7
|
requestPeerReviewDefinition
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DGVT4DBI.js";
|
|
9
9
|
import {
|
|
10
10
|
getSecurityTrendsDefinition,
|
|
11
11
|
handleGetSecurityTrends,
|
|
12
12
|
handleRunSecurityScan,
|
|
13
13
|
runSecurityScanDefinition
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YXOPQEFZ.js";
|
|
15
15
|
import {
|
|
16
16
|
handleRunCodeReview,
|
|
17
17
|
runCodeReviewDefinition,
|
|
18
18
|
sortFindingsBySeverity
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZU6T7W3U.js";
|
|
20
20
|
import {
|
|
21
21
|
assessProjectDefinition,
|
|
22
22
|
handleAssessProject
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-RZQZXWEL.js";
|
|
24
24
|
import {
|
|
25
25
|
checkDocsDefinition,
|
|
26
26
|
handleCheckDocs
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-GLHLXTKC.js";
|
|
28
28
|
import {
|
|
29
29
|
detectEntropyDefinition,
|
|
30
30
|
handleDetectEntropy
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-Y33P35U3.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-RY2U77OY.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-AU4YPEIE.js";
|
|
61
61
|
import {
|
|
62
62
|
checkDependenciesDefinition,
|
|
63
63
|
handleCheckDependencies
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-4SKWGVYD.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-OZSKLJQW.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-Y5HPJMTM.js";
|
|
97
97
|
import {
|
|
98
98
|
logger
|
|
99
99
|
} from "./chunk-EBJQ6N4M.js";
|
|
@@ -129,7 +129,7 @@ import {
|
|
|
129
129
|
scanForInjection,
|
|
130
130
|
serializeEnvelope,
|
|
131
131
|
writeTaint
|
|
132
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-UACYZCW4.js";
|
|
133
133
|
import {
|
|
134
134
|
Err,
|
|
135
135
|
INDEXED_FILE_KINDS,
|
|
@@ -745,7 +745,7 @@ async function handleInsightsSummary(input) {
|
|
|
745
745
|
const skip = Array.isArray(input.skip) ? input.skip.filter(
|
|
746
746
|
(k) => typeof k === "string" && INSIGHTS_KEYS.includes(k)
|
|
747
747
|
) : void 0;
|
|
748
|
-
const { composeInsights } = await import("./dist-
|
|
748
|
+
const { composeInsights } = await import("./dist-MCTEX5QH.js");
|
|
749
749
|
const report = await composeInsights(projectPath, {
|
|
750
750
|
...skip && skip.length > 0 && { skip }
|
|
751
751
|
});
|
|
@@ -921,7 +921,7 @@ ${skippedMsg}`
|
|
|
921
921
|
async function handleInitProject(input) {
|
|
922
922
|
const i = input;
|
|
923
923
|
try {
|
|
924
|
-
const { TemplateEngine } = await import("./engine-
|
|
924
|
+
const { TemplateEngine } = await import("./engine-R2YH74AL.js");
|
|
925
925
|
const engine = new TemplateEngine(resolveTemplatesDir());
|
|
926
926
|
const safePath = sanitizePath(i.path);
|
|
927
927
|
const detected = tryDetectFramework(engine, safePath, i);
|
|
@@ -943,7 +943,7 @@ var listPersonasDefinition = {
|
|
|
943
943
|
inputSchema: { type: "object", properties: {} }
|
|
944
944
|
};
|
|
945
945
|
async function handleListPersonas() {
|
|
946
|
-
const { listPersonas } = await import("./loader-
|
|
946
|
+
const { listPersonas } = await import("./loader-2WT2ZE2T.js");
|
|
947
947
|
const result = listPersonas(resolvePersonasDir());
|
|
948
948
|
return resultToMcpResponse(result);
|
|
949
949
|
}
|
|
@@ -967,10 +967,10 @@ async function handleGeneratePersonaArtifacts(input) {
|
|
|
967
967
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
|
|
968
968
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
|
|
969
969
|
}
|
|
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-
|
|
970
|
+
const { loadPersona } = await import("./loader-2WT2ZE2T.js");
|
|
971
|
+
const { generateRuntime } = await import("./runtime-POME3GTR.js");
|
|
972
|
+
const { generateAgentsMd } = await import("./agents-md-7L4PKKOM.js");
|
|
973
|
+
const { generateCIWorkflow } = await import("./ci-workflow-TFAA5BK7.js");
|
|
974
974
|
const personasDir = resolvePersonasDir();
|
|
975
975
|
const filePath = path4.join(personasDir, `${input.name}.yaml`);
|
|
976
976
|
if (!filePath.startsWith(personasDir)) {
|
|
@@ -1025,7 +1025,7 @@ async function handleRunPersona(input) {
|
|
|
1025
1025
|
if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
|
|
1026
1026
|
return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
|
|
1027
1027
|
}
|
|
1028
|
-
const { loadPersona } = await import("./loader-
|
|
1028
|
+
const { loadPersona } = await import("./loader-2WT2ZE2T.js");
|
|
1029
1029
|
const { runPersona } = await import("./runner-AAEF2TXY.js");
|
|
1030
1030
|
const { executeSkill } = await import("./skill-executor-BGUCAVBU.js");
|
|
1031
1031
|
const personasDir = resolvePersonasDir();
|
|
@@ -1548,7 +1548,7 @@ async function handleRunSkill(input) {
|
|
|
1548
1548
|
}
|
|
1549
1549
|
if (input.path) {
|
|
1550
1550
|
const projectPath = sanitizePath(input.path);
|
|
1551
|
-
const { readHarnessState, isEmptyHarnessState } = await import("./state-events-
|
|
1551
|
+
const { readHarnessState, isEmptyHarnessState } = await import("./state-events-YY5KBZTC.js");
|
|
1552
1552
|
const stateResult = await readHarnessState(projectPath);
|
|
1553
1553
|
if (stateResult.ok && !isEmptyHarnessState(stateResult.value)) {
|
|
1554
1554
|
const stateContent = JSON.stringify(stateResult.value, null, 2);
|
|
@@ -1747,7 +1747,7 @@ import * as path11 from "path";
|
|
|
1747
1747
|
async function autoSyncRoadmap(projectPath) {
|
|
1748
1748
|
try {
|
|
1749
1749
|
if (!roadmapSourceExists(projectPath)) return;
|
|
1750
|
-
const { syncRoadmap, applySyncChanges } = await import("./dist-
|
|
1750
|
+
const { syncRoadmap, applySyncChanges } = await import("./dist-MCTEX5QH.js");
|
|
1751
1751
|
const store = resolveRoadmapStore({ projectRoot: projectPath });
|
|
1752
1752
|
const loaded = await store.load();
|
|
1753
1753
|
if (!loaded.ok) return;
|
|
@@ -1778,7 +1778,7 @@ async function triggerExternalSync(projectPath) {
|
|
|
1778
1778
|
console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
|
|
1779
1779
|
return;
|
|
1780
1780
|
}
|
|
1781
|
-
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-
|
|
1781
|
+
const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-MCTEX5QH.js");
|
|
1782
1782
|
const adapter = new GitHubIssuesSyncAdapter({
|
|
1783
1783
|
token,
|
|
1784
1784
|
config: trackerConfig
|
|
@@ -1898,14 +1898,14 @@ var manageStateDefinition = {
|
|
|
1898
1898
|
}
|
|
1899
1899
|
};
|
|
1900
1900
|
async function handleShow(projectPath, input) {
|
|
1901
|
-
const { readHarnessState } = await import("./state-events-
|
|
1901
|
+
const { readHarnessState } = await import("./state-events-YY5KBZTC.js");
|
|
1902
1902
|
return resultToMcpResponse(
|
|
1903
1903
|
await readHarnessState(projectPath, { stream: input.stream, session: input.session })
|
|
1904
1904
|
);
|
|
1905
1905
|
}
|
|
1906
1906
|
async function handleLearn(projectPath, input) {
|
|
1907
1907
|
if (!input.learning) return mcpError("Error: learning is required for learn action");
|
|
1908
|
-
const { appendLearning } = await import("./dist-
|
|
1908
|
+
const { appendLearning } = await import("./dist-MCTEX5QH.js");
|
|
1909
1909
|
const result = await appendLearning(
|
|
1910
1910
|
projectPath,
|
|
1911
1911
|
input.learning,
|
|
@@ -1920,7 +1920,7 @@ async function handleLearn(projectPath, input) {
|
|
|
1920
1920
|
async function handleFailure(projectPath, input) {
|
|
1921
1921
|
if (!input.description) return mcpError("Error: description is required for failure action");
|
|
1922
1922
|
if (!input.failureType) return mcpError("Error: failureType is required for failure action");
|
|
1923
|
-
const { appendFailure } = await import("./dist-
|
|
1923
|
+
const { appendFailure } = await import("./dist-MCTEX5QH.js");
|
|
1924
1924
|
const result = await appendFailure(
|
|
1925
1925
|
projectPath,
|
|
1926
1926
|
input.description,
|
|
@@ -1939,13 +1939,13 @@ async function handleFailure(projectPath, input) {
|
|
|
1939
1939
|
return resultToMcpResponse(Ok({ recorded: true }));
|
|
1940
1940
|
}
|
|
1941
1941
|
async function handleArchive(projectPath, input) {
|
|
1942
|
-
const { archiveFailures } = await import("./dist-
|
|
1942
|
+
const { archiveFailures } = await import("./dist-MCTEX5QH.js");
|
|
1943
1943
|
const result = await archiveFailures(projectPath, input.stream, input.session);
|
|
1944
1944
|
if (!result.ok) return resultToMcpResponse(result);
|
|
1945
1945
|
return resultToMcpResponse(Ok({ archived: true }));
|
|
1946
1946
|
}
|
|
1947
1947
|
async function handleReset(projectPath, input) {
|
|
1948
|
-
const { eventSourcing } = await import("./dist-
|
|
1948
|
+
const { eventSourcing } = await import("./dist-MCTEX5QH.js");
|
|
1949
1949
|
const result = await eventSourcing.resetEventLog(projectPath, {
|
|
1950
1950
|
stream: input.stream,
|
|
1951
1951
|
session: input.session
|
|
@@ -1954,7 +1954,7 @@ async function handleReset(projectPath, input) {
|
|
|
1954
1954
|
return resultToMcpResponse(Ok({ reset: true }));
|
|
1955
1955
|
}
|
|
1956
1956
|
async function handleGate(projectPath, input) {
|
|
1957
|
-
const { runMechanicalGate } = await import("./dist-
|
|
1957
|
+
const { runMechanicalGate } = await import("./dist-MCTEX5QH.js");
|
|
1958
1958
|
const result = await runMechanicalGate(projectPath);
|
|
1959
1959
|
if (result.ok) {
|
|
1960
1960
|
await emitSkillEvent(projectPath, {
|
|
@@ -1974,7 +1974,7 @@ async function handleGate(projectPath, input) {
|
|
|
1974
1974
|
}
|
|
1975
1975
|
async function handleSaveHandoff(projectPath, input) {
|
|
1976
1976
|
if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
|
|
1977
|
-
const { saveHandoff } = await import("./dist-
|
|
1977
|
+
const { saveHandoff } = await import("./dist-MCTEX5QH.js");
|
|
1978
1978
|
const result = await saveHandoff(
|
|
1979
1979
|
projectPath,
|
|
1980
1980
|
input.handoff,
|
|
@@ -1996,7 +1996,7 @@ async function handleSaveHandoff(projectPath, input) {
|
|
|
1996
1996
|
return resultToMcpResponse(Ok({ saved: true }));
|
|
1997
1997
|
}
|
|
1998
1998
|
async function handleLoadHandoff(projectPath, input) {
|
|
1999
|
-
const { loadHandoff } = await import("./dist-
|
|
1999
|
+
const { loadHandoff } = await import("./dist-MCTEX5QH.js");
|
|
2000
2000
|
return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
|
|
2001
2001
|
}
|
|
2002
2002
|
async function handleAppendEntry(projectPath, input) {
|
|
@@ -2004,7 +2004,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
2004
2004
|
if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
|
|
2005
2005
|
if (!input.content) return mcpError("Error: content is required for append_entry action");
|
|
2006
2006
|
if (input.session) {
|
|
2007
|
-
const { appendSessionEntry } = await import("./dist-
|
|
2007
|
+
const { appendSessionEntry } = await import("./dist-MCTEX5QH.js");
|
|
2008
2008
|
const result = await appendSessionEntry(
|
|
2009
2009
|
projectPath,
|
|
2010
2010
|
input.session,
|
|
@@ -2018,7 +2018,7 @@ async function handleAppendEntry(projectPath, input) {
|
|
|
2018
2018
|
return mcpError("Error: session is required for non-decisions sections");
|
|
2019
2019
|
}
|
|
2020
2020
|
const { randomUUID: randomUUID10 } = await import("crypto");
|
|
2021
|
-
const { emitCoreEvent } = await import("./state-events-
|
|
2021
|
+
const { emitCoreEvent } = await import("./state-events-YY5KBZTC.js");
|
|
2022
2022
|
const r = await emitCoreEvent(
|
|
2023
2023
|
projectPath,
|
|
2024
2024
|
{
|
|
@@ -2036,7 +2036,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
2036
2036
|
if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
|
|
2037
2037
|
if (!input.newStatus)
|
|
2038
2038
|
return mcpError("Error: newStatus is required for update_entry_status action");
|
|
2039
|
-
const { updateSessionEntryStatus } = await import("./dist-
|
|
2039
|
+
const { updateSessionEntryStatus } = await import("./dist-MCTEX5QH.js");
|
|
2040
2040
|
const result = await updateSessionEntryStatus(
|
|
2041
2041
|
projectPath,
|
|
2042
2042
|
input.session,
|
|
@@ -2046,7 +2046,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
2046
2046
|
);
|
|
2047
2047
|
if (result.ok && input.section === "decisions" && input.newStatus === "resolved") {
|
|
2048
2048
|
try {
|
|
2049
|
-
const { emitApprovalResolved } = await import("./state-events-
|
|
2049
|
+
const { emitApprovalResolved } = await import("./state-events-YY5KBZTC.js");
|
|
2050
2050
|
await emitApprovalResolved(projectPath, input.entryId, input.newStatus, {
|
|
2051
2051
|
stream: input.stream
|
|
2052
2052
|
});
|
|
@@ -2058,7 +2058,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
|
|
|
2058
2058
|
async function handleReadSection(projectPath, input) {
|
|
2059
2059
|
if (!input.session) return mcpError("Error: session is required for read_section action");
|
|
2060
2060
|
if (!input.section) return mcpError("Error: section is required for read_section action");
|
|
2061
|
-
const { readSessionSection } = await import("./dist-
|
|
2061
|
+
const { readSessionSection } = await import("./dist-MCTEX5QH.js");
|
|
2062
2062
|
const result = await readSessionSection(
|
|
2063
2063
|
projectPath,
|
|
2064
2064
|
input.session,
|
|
@@ -2068,13 +2068,13 @@ async function handleReadSection(projectPath, input) {
|
|
|
2068
2068
|
}
|
|
2069
2069
|
async function handleReadSections(projectPath, input) {
|
|
2070
2070
|
if (!input.session) return mcpError("Error: session is required for read_sections action");
|
|
2071
|
-
const { readSessionSections } = await import("./dist-
|
|
2071
|
+
const { readSessionSections } = await import("./dist-MCTEX5QH.js");
|
|
2072
2072
|
const result = await readSessionSections(projectPath, input.session);
|
|
2073
2073
|
return resultToMcpResponse(result);
|
|
2074
2074
|
}
|
|
2075
2075
|
async function handleArchiveSession(projectPath, input) {
|
|
2076
2076
|
if (!input.session) return mcpError("Error: session is required for archive_session action");
|
|
2077
|
-
const { archiveSession } = await import("./dist-
|
|
2077
|
+
const { archiveSession } = await import("./dist-MCTEX5QH.js");
|
|
2078
2078
|
const { buildArchiveHooks } = await import("@harness-engineering/orchestrator");
|
|
2079
2079
|
const hooks = buildArchiveHooks({ projectPath });
|
|
2080
2080
|
const result = await archiveSession(projectPath, input.session, { hooks });
|
|
@@ -2117,7 +2117,7 @@ async function handlePhaseComplete(projectPath, input) {
|
|
|
2117
2117
|
async function handleTaskTransition(projectPath, input) {
|
|
2118
2118
|
if (!input.taskId) return mcpError("Error: taskId is required for task-transition action");
|
|
2119
2119
|
if (!input.toLane) return mcpError("Error: toLane is required for task-transition action");
|
|
2120
|
-
const { eventSourcing } = await import("./dist-
|
|
2120
|
+
const { eventSourcing } = await import("./dist-MCTEX5QH.js");
|
|
2121
2121
|
const scope = { stream: input.stream, session: input.session };
|
|
2122
2122
|
if (input.dependsOn) {
|
|
2123
2123
|
const reg = await eventSourcing.registerTask(projectPath, input.taskId, input.dependsOn, scope);
|
|
@@ -2181,7 +2181,7 @@ var listStreamsDefinition = {
|
|
|
2181
2181
|
};
|
|
2182
2182
|
async function handleListStreams(input) {
|
|
2183
2183
|
try {
|
|
2184
|
-
const { listStreams, loadStreamIndex } = await import("./dist-
|
|
2184
|
+
const { listStreams, loadStreamIndex } = await import("./dist-MCTEX5QH.js");
|
|
2185
2185
|
const projectPath = sanitizePath(input.path);
|
|
2186
2186
|
const indexResult = await loadStreamIndex(projectPath);
|
|
2187
2187
|
const streamsResult = await listStreams(projectPath);
|
|
@@ -2219,7 +2219,7 @@ var checkPhaseGateDefinition = {
|
|
|
2219
2219
|
};
|
|
2220
2220
|
async function handleCheckPhaseGate(input) {
|
|
2221
2221
|
try {
|
|
2222
|
-
const { runCheckPhaseGate } = await import("./check-phase-gate-
|
|
2222
|
+
const { runCheckPhaseGate } = await import("./check-phase-gate-56GS3A72.js");
|
|
2223
2223
|
const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
|
|
2224
2224
|
if (result.ok) {
|
|
2225
2225
|
return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
|
|
@@ -2275,7 +2275,7 @@ async function handleValidateCrossCheck(input) {
|
|
|
2275
2275
|
};
|
|
2276
2276
|
}
|
|
2277
2277
|
try {
|
|
2278
|
-
const { runCrossCheck } = await import("./validate-cross-check-
|
|
2278
|
+
const { runCrossCheck } = await import("./validate-cross-check-OYKEDCST.js");
|
|
2279
2279
|
const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
|
|
2280
2280
|
if (!specsDir.startsWith(projectPath)) {
|
|
2281
2281
|
return {
|
|
@@ -3098,8 +3098,8 @@ async function handleGenerateSlashCommands(input) {
|
|
|
3098
3098
|
// src/mcp/resources/state.ts
|
|
3099
3099
|
async function getStateResource(projectRoot) {
|
|
3100
3100
|
try {
|
|
3101
|
-
const { migrateToStreams } = await import("./dist-
|
|
3102
|
-
const { readHarnessState } = await import("./state-events-
|
|
3101
|
+
const { migrateToStreams } = await import("./dist-MCTEX5QH.js");
|
|
3102
|
+
const { readHarnessState } = await import("./state-events-YY5KBZTC.js");
|
|
3103
3103
|
await migrateToStreams(projectRoot);
|
|
3104
3104
|
const result = await readHarnessState(projectRoot);
|
|
3105
3105
|
if (result.ok) {
|
|
@@ -3132,7 +3132,7 @@ function graphNotFoundError() {
|
|
|
3132
3132
|
content: [
|
|
3133
3133
|
{
|
|
3134
3134
|
type: "text",
|
|
3135
|
-
text: "No graph found. Run `harness scan` or use `ingest_source` tool first."
|
|
3135
|
+
text: "No graph found. Run `harness graph scan` or use `ingest_source` tool first."
|
|
3136
3136
|
}
|
|
3137
3137
|
],
|
|
3138
3138
|
isError: true
|
|
@@ -4048,7 +4048,7 @@ async function getGraphResource(projectRoot) {
|
|
|
4048
4048
|
if (!store) {
|
|
4049
4049
|
return JSON.stringify({
|
|
4050
4050
|
status: "no_graph",
|
|
4051
|
-
message: "No knowledge graph found. Run harness scan to build one."
|
|
4051
|
+
message: "No knowledge graph found. Run harness graph scan to build one."
|
|
4052
4052
|
});
|
|
4053
4053
|
}
|
|
4054
4054
|
const lastScanTimestamp = await readLastScanTimestamp(projectRoot);
|
|
@@ -4119,7 +4119,7 @@ var generateAgentDefinitionsDefinition = {
|
|
|
4119
4119
|
}
|
|
4120
4120
|
};
|
|
4121
4121
|
async function handleGenerateAgentDefinitions(input) {
|
|
4122
|
-
const { generateAgentDefinitions } = await import("./generate-agent-definitions-
|
|
4122
|
+
const { generateAgentDefinitions } = await import("./generate-agent-definitions-KKAN5DB5.js");
|
|
4123
4123
|
const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
|
|
4124
4124
|
const results = generateAgentDefinitions({
|
|
4125
4125
|
platforms: [...platforms],
|
|
@@ -4836,7 +4836,7 @@ async function handleManageRoadmap(input) {
|
|
|
4836
4836
|
release,
|
|
4837
4837
|
promoteFeature,
|
|
4838
4838
|
groomRoadmap
|
|
4839
|
-
} = await import("./dist-
|
|
4839
|
+
} = await import("./dist-MCTEX5QH.js");
|
|
4840
4840
|
const { Ok: Ok2 } = await import("./dist-ICW4QUEW.js");
|
|
4841
4841
|
const projectPath = projectPathPre;
|
|
4842
4842
|
const deps = {
|
|
@@ -5280,7 +5280,7 @@ async function handleTransition(validInput, projectPath, id) {
|
|
|
5280
5280
|
const transition = transitionResult.data;
|
|
5281
5281
|
const prompt = renderTransition(transition);
|
|
5282
5282
|
try {
|
|
5283
|
-
const { saveHandoff } = await import("./dist-
|
|
5283
|
+
const { saveHandoff } = await import("./dist-MCTEX5QH.js");
|
|
5284
5284
|
await saveHandoff(
|
|
5285
5285
|
projectPath,
|
|
5286
5286
|
{
|
|
@@ -5361,7 +5361,7 @@ async function handleEmitInteraction(input) {
|
|
|
5361
5361
|
}
|
|
5362
5362
|
async function recordInteraction(projectPath, id, type, decision, stream) {
|
|
5363
5363
|
try {
|
|
5364
|
-
const { emitCoreEvent, emitUserInputCaptured, emitApprovalRequested } = await import("./state-events-
|
|
5364
|
+
const { emitCoreEvent, emitUserInputCaptured, emitApprovalRequested } = await import("./state-events-YY5KBZTC.js");
|
|
5365
5365
|
await emitCoreEvent(
|
|
5366
5366
|
projectPath,
|
|
5367
5367
|
{
|
|
@@ -5522,10 +5522,10 @@ async function handleGatherContext(input) {
|
|
|
5522
5522
|
input.include ?? ["state", "learnings", "handoff", "graph", "validation", "businessKnowledge"]
|
|
5523
5523
|
);
|
|
5524
5524
|
const errors = [];
|
|
5525
|
-
const statePromise = includeSet.has("state") ? import("./state-events-
|
|
5525
|
+
const statePromise = includeSet.has("state") ? import("./state-events-YY5KBZTC.js").then(
|
|
5526
5526
|
(m) => m.readHarnessState(projectPath, { session: input.session })
|
|
5527
5527
|
) : Promise.resolve(null);
|
|
5528
|
-
const learningsPromise = includeSet.has("learnings") ? import("./dist-
|
|
5528
|
+
const learningsPromise = includeSet.has("learnings") ? import("./dist-MCTEX5QH.js").then(
|
|
5529
5529
|
(core) => core.loadBudgetedLearnings(projectPath, {
|
|
5530
5530
|
intent: input.intent,
|
|
5531
5531
|
tokenBudget: input.learningsBudget ?? 1e3,
|
|
@@ -5534,7 +5534,7 @@ async function handleGatherContext(input) {
|
|
|
5534
5534
|
...input.depth !== void 0 && { depth: input.depth }
|
|
5535
5535
|
})
|
|
5536
5536
|
) : Promise.resolve(null);
|
|
5537
|
-
const handoffPromise = includeSet.has("handoff") ? import("./dist-
|
|
5537
|
+
const handoffPromise = includeSet.has("handoff") ? import("./dist-MCTEX5QH.js").then(
|
|
5538
5538
|
(core) => core.loadHandoff(projectPath, void 0, input.session)
|
|
5539
5539
|
) : Promise.resolve(null);
|
|
5540
5540
|
const graphPromise = includeSet.has("graph") ? (async () => {
|
|
@@ -5578,15 +5578,15 @@ async function handleGatherContext(input) {
|
|
|
5578
5578
|
context: contextBlocks
|
|
5579
5579
|
};
|
|
5580
5580
|
})() : Promise.resolve(null);
|
|
5581
|
-
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-
|
|
5581
|
+
const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-MCTEX5QH.js").then(
|
|
5582
5582
|
(core) => core.readSessionSections(projectPath, input.session)
|
|
5583
5583
|
) : Promise.resolve(null);
|
|
5584
5584
|
const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
|
|
5585
|
-
const eventsPromise = shouldIncludeEvents ? import("./state-events-
|
|
5585
|
+
const eventsPromise = shouldIncludeEvents ? import("./state-events-YY5KBZTC.js").then(
|
|
5586
5586
|
(m) => m.readAuditTimeline(projectPath, { session: input.session })
|
|
5587
5587
|
) : Promise.resolve(null);
|
|
5588
5588
|
const validationPromise = includeSet.has("validation") ? (async () => {
|
|
5589
|
-
const { handleValidateProject: handleValidateProject2 } = await import("./validate-
|
|
5589
|
+
const { handleValidateProject: handleValidateProject2 } = await import("./validate-VZORVK43.js");
|
|
5590
5590
|
const result = await handleValidateProject2({ path: projectPath });
|
|
5591
5591
|
const first = result.content[0];
|
|
5592
5592
|
return first ? JSON.parse(first.text) : null;
|
|
@@ -5689,7 +5689,7 @@ async function handleGatherContext(input) {
|
|
|
5689
5689
|
};
|
|
5690
5690
|
if (input.session) {
|
|
5691
5691
|
try {
|
|
5692
|
-
const core = await import("./dist-
|
|
5692
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
5693
5693
|
core.updateSessionIndex(
|
|
5694
5694
|
projectPath,
|
|
5695
5695
|
input.session,
|
|
@@ -5887,7 +5887,7 @@ async function handleReviewChanges(input) {
|
|
|
5887
5887
|
}
|
|
5888
5888
|
}
|
|
5889
5889
|
async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5890
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-
|
|
5890
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-6MDCCFZL.js");
|
|
5891
5891
|
const result = await handleAnalyzeDiff2({ diff, path: projectPath });
|
|
5892
5892
|
const firstContent = result.content[0];
|
|
5893
5893
|
if (!firstContent) throw new Error("Empty analyze_diff response");
|
|
@@ -5922,7 +5922,7 @@ function extractFileCount(diffParsed) {
|
|
|
5922
5922
|
return files?.length ?? 0;
|
|
5923
5923
|
}
|
|
5924
5924
|
async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
|
|
5925
|
-
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-
|
|
5925
|
+
const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-6MDCCFZL.js");
|
|
5926
5926
|
const [diffResult, reviewResult] = await Promise.all([
|
|
5927
5927
|
handleAnalyzeDiff2({ diff, path: projectPath }),
|
|
5928
5928
|
handleCreateSelfReview2({ path: projectPath, diff })
|
|
@@ -5957,7 +5957,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
|
|
|
5957
5957
|
};
|
|
5958
5958
|
}
|
|
5959
5959
|
async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
|
|
5960
|
-
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-
|
|
5960
|
+
const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-XZIGBU3Q.js");
|
|
5961
5961
|
const result = await handleRunCodeReview2({
|
|
5962
5962
|
path: projectPath,
|
|
5963
5963
|
diff,
|
|
@@ -6252,7 +6252,7 @@ async function handleDetectStaleConstraints(input) {
|
|
|
6252
6252
|
]
|
|
6253
6253
|
};
|
|
6254
6254
|
}
|
|
6255
|
-
const { detectStaleConstraints } = await import("./dist-
|
|
6255
|
+
const { detectStaleConstraints } = await import("./dist-MCTEX5QH.js");
|
|
6256
6256
|
const result = detectStaleConstraints(
|
|
6257
6257
|
store,
|
|
6258
6258
|
windowDays,
|
|
@@ -6383,10 +6383,10 @@ function countCriticalFindings(securityData) {
|
|
|
6383
6383
|
return findings.filter((f) => f.severity === "error").length;
|
|
6384
6384
|
}
|
|
6385
6385
|
async function runHealthChecks(projectPath) {
|
|
6386
|
-
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-
|
|
6387
|
-
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-
|
|
6388
|
-
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-
|
|
6389
|
-
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-
|
|
6386
|
+
const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-YUDPNRS6.js");
|
|
6387
|
+
const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-RCHFDI7E.js");
|
|
6388
|
+
const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-5UP5N6AF.js");
|
|
6389
|
+
const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-QLJLMSIW.js");
|
|
6390
6390
|
const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
|
|
6391
6391
|
handleAssessProject2({
|
|
6392
6392
|
path: projectPath,
|
|
@@ -7220,7 +7220,7 @@ async function handleGetDecayTrends(input) {
|
|
|
7220
7220
|
};
|
|
7221
7221
|
}
|
|
7222
7222
|
try {
|
|
7223
|
-
const core = await import("./dist-
|
|
7223
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
7224
7224
|
const { TimelineManager } = core;
|
|
7225
7225
|
const manager = new TimelineManager(projectPath);
|
|
7226
7226
|
const timeline = manager.load();
|
|
@@ -7355,7 +7355,7 @@ async function handleCodeOutline(input) {
|
|
|
7355
7355
|
};
|
|
7356
7356
|
}
|
|
7357
7357
|
try {
|
|
7358
|
-
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-
|
|
7358
|
+
const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-MCTEX5QH.js");
|
|
7359
7359
|
const { stat } = await import("fs/promises");
|
|
7360
7360
|
const stats = await stat(targetPath).catch(() => null);
|
|
7361
7361
|
if (stats?.isFile()) {
|
|
@@ -7374,7 +7374,7 @@ async function handleCodeOutline(input) {
|
|
|
7374
7374
|
})
|
|
7375
7375
|
);
|
|
7376
7376
|
fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
7377
|
-
const { paginate: paginate2 } = await import("./dist-
|
|
7377
|
+
const { paginate: paginate2 } = await import("./dist-MCTEX5QH.js");
|
|
7378
7378
|
const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
|
|
7379
7379
|
const results = [];
|
|
7380
7380
|
for (const entry of paged.items) {
|
|
@@ -7447,7 +7447,7 @@ async function handleCodeSearch(input) {
|
|
|
7447
7447
|
};
|
|
7448
7448
|
}
|
|
7449
7449
|
try {
|
|
7450
|
-
const { searchSymbols } = await import("./dist-
|
|
7450
|
+
const { searchSymbols } = await import("./dist-MCTEX5QH.js");
|
|
7451
7451
|
const result = await searchSymbols(input.query, directory, input.glob);
|
|
7452
7452
|
const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
|
|
7453
7453
|
for (const match of result.matches) {
|
|
@@ -7516,7 +7516,7 @@ async function handleCodeUnfold(input) {
|
|
|
7516
7516
|
}
|
|
7517
7517
|
try {
|
|
7518
7518
|
if (input.symbol) {
|
|
7519
|
-
const { unfoldSymbol } = await import("./dist-
|
|
7519
|
+
const { unfoldSymbol } = await import("./dist-MCTEX5QH.js");
|
|
7520
7520
|
const result = await unfoldSymbol(filePath, input.symbol);
|
|
7521
7521
|
const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
|
|
7522
7522
|
` : `${result.file}:${result.startLine}-${result.endLine}
|
|
@@ -7524,7 +7524,7 @@ async function handleCodeUnfold(input) {
|
|
|
7524
7524
|
return { content: [{ type: "text", text: header + result.content }] };
|
|
7525
7525
|
}
|
|
7526
7526
|
if (input.startLine != null && input.endLine != null) {
|
|
7527
|
-
const { unfoldRange } = await import("./dist-
|
|
7527
|
+
const { unfoldRange } = await import("./dist-MCTEX5QH.js");
|
|
7528
7528
|
const result = await unfoldRange(filePath, input.startLine, input.endLine);
|
|
7529
7529
|
const header = `${result.file}:${result.startLine}-${result.endLine}
|
|
7530
7530
|
`;
|
|
@@ -7580,7 +7580,7 @@ async function handleCheckTraceability(input) {
|
|
|
7580
7580
|
content: [
|
|
7581
7581
|
{
|
|
7582
7582
|
type: "text",
|
|
7583
|
-
text: "No graph found. Run `harness scan` or use `ingest_source` tool first."
|
|
7583
|
+
text: "No graph found. Run `harness graph scan` or use `ingest_source` tool first."
|
|
7584
7584
|
}
|
|
7585
7585
|
],
|
|
7586
7586
|
isError: true
|
|
@@ -7598,7 +7598,7 @@ async function handleCheckTraceability(input) {
|
|
|
7598
7598
|
type: "text",
|
|
7599
7599
|
text: JSON.stringify({
|
|
7600
7600
|
status: "no-requirements",
|
|
7601
|
-
message: "No requirement nodes found in graph. Run `harness scan` to ingest spec requirements."
|
|
7601
|
+
message: "No requirement nodes found in graph. Run `harness graph scan` to ingest spec requirements."
|
|
7602
7602
|
})
|
|
7603
7603
|
}
|
|
7604
7604
|
]
|
|
@@ -7709,7 +7709,7 @@ async function handlePredictFailures(input) {
|
|
|
7709
7709
|
};
|
|
7710
7710
|
}
|
|
7711
7711
|
try {
|
|
7712
|
-
const core = await import("./dist-
|
|
7712
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
7713
7713
|
const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
|
|
7714
7714
|
const manager = new TimelineManager(projectPath);
|
|
7715
7715
|
const includeRoadmap = input.includeRoadmap !== false;
|
|
@@ -8599,7 +8599,7 @@ async function handleIntentMode(projectPath, intent, pipeline, budget, filterCon
|
|
|
8599
8599
|
content: [
|
|
8600
8600
|
{
|
|
8601
8601
|
type: "text",
|
|
8602
|
-
text: "No graph found. Run `harness scan` or use `ingest_source` tool first."
|
|
8602
|
+
text: "No graph found. Run `harness graph scan` or use `ingest_source` tool first."
|
|
8603
8603
|
}
|
|
8604
8604
|
],
|
|
8605
8605
|
isError: true
|
|
@@ -8818,7 +8818,7 @@ async function handleDetectConstraintEmergence(input) {
|
|
|
8818
8818
|
}
|
|
8819
8819
|
const nodePath = await import("path");
|
|
8820
8820
|
const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
|
|
8821
|
-
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-
|
|
8821
|
+
const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-MCTEX5QH.js");
|
|
8822
8822
|
const manager = new ViolationHistoryManager(historyPath);
|
|
8823
8823
|
const history = manager.load();
|
|
8824
8824
|
const options = { windowWeeks, minOccurrences };
|
|
@@ -8906,7 +8906,7 @@ async function handleRunCIChecks(input) {
|
|
|
8906
8906
|
};
|
|
8907
8907
|
}
|
|
8908
8908
|
try {
|
|
8909
|
-
const { runCIChecks } = await import("./dist-
|
|
8909
|
+
const { runCIChecks } = await import("./dist-MCTEX5QH.js");
|
|
8910
8910
|
const skip = input.checks ? VALID_CHECKS.filter((c) => !input.checks.includes(c)) : [];
|
|
8911
8911
|
const result = await runCIChecks({
|
|
8912
8912
|
projectRoot: projectPath,
|
|
@@ -8968,7 +8968,7 @@ async function handleGenerateBlueprint(input) {
|
|
|
8968
8968
|
};
|
|
8969
8969
|
}
|
|
8970
8970
|
try {
|
|
8971
|
-
const { ProjectScanner } = await import("./dist-
|
|
8971
|
+
const { ProjectScanner } = await import("./dist-MCTEX5QH.js");
|
|
8972
8972
|
const scanner = new ProjectScanner(projectPath);
|
|
8973
8973
|
const data = await scanner.scan();
|
|
8974
8974
|
return {
|
|
@@ -9171,7 +9171,7 @@ function validateProposalCrossFields(input) {
|
|
|
9171
9171
|
}
|
|
9172
9172
|
async function loadCoreProposalApi() {
|
|
9173
9173
|
try {
|
|
9174
|
-
const core = await import("./dist-
|
|
9174
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
9175
9175
|
return {
|
|
9176
9176
|
createProposal: core.createProposal,
|
|
9177
9177
|
ProposalConflictError: core.ProposalConflictError
|
|
@@ -19765,7 +19765,7 @@ async function handleValidateStrategy(input) {
|
|
|
19765
19765
|
} catch (error) {
|
|
19766
19766
|
return mcpError2(error instanceof Error ? error.message : String(error));
|
|
19767
19767
|
}
|
|
19768
|
-
const { validateStrategy } = await import("./dist-
|
|
19768
|
+
const { validateStrategy } = await import("./dist-MCTEX5QH.js");
|
|
19769
19769
|
const result = await validateStrategy(projectPath);
|
|
19770
19770
|
if (!result.ok) {
|
|
19771
19771
|
return mcpJson({ present: true, valid: false, error: result.error.message });
|
|
@@ -19790,7 +19790,7 @@ async function handleReadStrategy(input) {
|
|
|
19790
19790
|
} catch (error) {
|
|
19791
19791
|
return mcpError2(error instanceof Error ? error.message : String(error));
|
|
19792
19792
|
}
|
|
19793
|
-
const core = await import("./dist-
|
|
19793
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
19794
19794
|
const validation = await core.validateStrategy(projectPath);
|
|
19795
19795
|
if (!validation.ok) {
|
|
19796
19796
|
return mcpJson({ present: true, valid: false, error: validation.error.message });
|
|
@@ -19842,7 +19842,7 @@ async function handleWriteStrategy(input) {
|
|
|
19842
19842
|
} catch (error) {
|
|
19843
19843
|
return mcpError2(error instanceof Error ? error.message : String(error));
|
|
19844
19844
|
}
|
|
19845
|
-
const core = await import("./dist-
|
|
19845
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
19846
19846
|
try {
|
|
19847
19847
|
core.writeStrategyDoc(input.doc, {
|
|
19848
19848
|
cwd: projectPath,
|
|
@@ -19886,7 +19886,7 @@ async function handleSeedPulseFromStrategy(input) {
|
|
|
19886
19886
|
} catch (error) {
|
|
19887
19887
|
return mcpError3(error instanceof Error ? error.message : String(error));
|
|
19888
19888
|
}
|
|
19889
|
-
const core = await import("./dist-
|
|
19889
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
19890
19890
|
const seed = core.seedFromStrategy({ cwd: projectPath });
|
|
19891
19891
|
return mcpJson2(seed);
|
|
19892
19892
|
}
|
|
@@ -19921,7 +19921,7 @@ async function handleWritePulseConfig(input) {
|
|
|
19921
19921
|
return mcpError3(error instanceof Error ? error.message : String(error));
|
|
19922
19922
|
}
|
|
19923
19923
|
const resolvedConfigPath = input.configPath !== void 0 ? path55.isAbsolute(input.configPath) ? input.configPath : path55.join(projectPath, input.configPath) : path55.join(projectPath, "harness.config.json");
|
|
19924
|
-
const core = await import("./dist-
|
|
19924
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
19925
19925
|
try {
|
|
19926
19926
|
core.writePulseConfig(input.config, {
|
|
19927
19927
|
configPath: resolvedConfigPath,
|
|
@@ -19970,7 +19970,7 @@ async function handleAcquireCompoundLock(input) {
|
|
|
19970
19970
|
} catch (error) {
|
|
19971
19971
|
return mcpError4(error instanceof Error ? error.message : String(error));
|
|
19972
19972
|
}
|
|
19973
|
-
const core = await import("./dist-
|
|
19973
|
+
const core = await import("./dist-MCTEX5QH.js");
|
|
19974
19974
|
try {
|
|
19975
19975
|
const handle = core.acquireCompoundLock(
|
|
19976
19976
|
input.category,
|
|
@@ -20334,7 +20334,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
|
|
|
20334
20334
|
shouldRunCheck,
|
|
20335
20335
|
readCheckState,
|
|
20336
20336
|
spawnBackgroundCheck
|
|
20337
|
-
} = await import("./dist-
|
|
20337
|
+
} = await import("./dist-MCTEX5QH.js");
|
|
20338
20338
|
const { CLI_VERSION } = await import("./version-CUI434OP.js");
|
|
20339
20339
|
const configInterval = readConfigInterval(resolvedRoot);
|
|
20340
20340
|
const DEFAULT_INTERVAL = 864e5;
|