@harness-engineering/cli 4.1.0 → 4.2.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 +31 -0
- package/dist/agents/skills/claude-code/harness-catalog-retrospective/SKILL.md +124 -0
- package/dist/agents/skills/claude-code/harness-catalog-retrospective/skill.yaml +48 -0
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +13 -0
- package/dist/agents/skills/claude-code/harness-parallel-agents/SKILL.md +3 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +3 -1
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +31 -0
- package/dist/agents/skills/codex/harness-catalog-retrospective/SKILL.md +124 -0
- package/dist/agents/skills/codex/harness-catalog-retrospective/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-execution/SKILL.md +13 -0
- package/dist/agents/skills/codex/harness-parallel-agents/SKILL.md +3 -0
- package/dist/agents/skills/codex/harness-planning/SKILL.md +3 -1
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +31 -0
- package/dist/agents/skills/cursor/harness-catalog-retrospective/SKILL.md +124 -0
- package/dist/agents/skills/cursor/harness-catalog-retrospective/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-execution/SKILL.md +13 -0
- package/dist/agents/skills/cursor/harness-parallel-agents/SKILL.md +3 -0
- package/dist/agents/skills/cursor/harness-planning/SKILL.md +3 -1
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +31 -0
- package/dist/agents/skills/gemini-cli/harness-catalog-retrospective/SKILL.md +124 -0
- package/dist/agents/skills/gemini-cli/harness-catalog-retrospective/skill.yaml +48 -0
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +13 -0
- package/dist/agents/skills/gemini-cli/harness-parallel-agents/SKILL.md +3 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +3 -1
- package/dist/{agents-md-7L4PKKOM.js → agents-md-BK2UPKUC.js} +4 -4
- package/dist/{analyzer-XRCV63KC-HLTEIKAJ.js → analyzer-XRCV63KC-6T2Z32XC.js} +2 -2
- package/dist/{architecture-RCHFDI7E.js → architecture-7PNQZOWV.js} +5 -5
- package/dist/{assess-project-YUDPNRS6.js → assess-project-2QPCNN7N.js} +1 -1
- package/dist/bin/harness-mcp.js +15 -15
- package/dist/bin/harness.js +26 -26
- package/dist/{check-phase-gate-56GS3A72.js → check-phase-gate-RZUSDB3O.js} +5 -5
- package/dist/{chunk-UACYZCW4.js → chunk-33OU3LYX.js} +351 -4
- package/dist/{chunk-Y5HPJMTM.js → chunk-6STDKKAM.js} +2 -2
- package/dist/{chunk-GLHLXTKC.js → chunk-BJDT3VGQ.js} +6 -6
- package/dist/{chunk-YXOPQEFZ.js → chunk-D5YCPIK6.js} +2 -2
- package/dist/{chunk-Y33P35U3.js → chunk-DBCC7KIW.js} +5 -5
- package/dist/{chunk-XZNCONFG.js → chunk-DVG6DDX6.js} +1 -1
- package/dist/{chunk-GSYBGOY3.js → chunk-DW6HE5DH.js} +2 -2
- package/dist/{chunk-RY2U77OY.js → chunk-E5KJOUHI.js} +7 -7
- package/dist/{chunk-RZQZXWEL.js → chunk-HU7NS7JA.js} +6 -6
- package/dist/{chunk-AU4YPEIE.js → chunk-HUC73DZC.js} +3 -3
- package/dist/{chunk-ZU6T7W3U.js → chunk-J5MFNKE7.js} +2 -2
- package/dist/{chunk-4SKWGVYD.js → chunk-J7H5I4FO.js} +2 -2
- package/dist/{chunk-Z4XWWNYX.js → chunk-K5R2I37T.js} +203 -92
- package/dist/{chunk-YWRPQZL7.js → chunk-KHL6WFRL.js} +2 -2
- package/dist/{chunk-DGVT4DBI.js → chunk-KYFXXEK3.js} +3 -3
- package/dist/{chunk-NCMJXBEO.js → chunk-MHHISNS2.js} +2 -2
- package/dist/{chunk-ABRYIEWJ.js → chunk-RRCS27GT.js} +847 -800
- package/dist/{chunk-YJYUJSWK.js → chunk-RZTLXZHJ.js} +1 -1
- package/dist/{chunk-P4NA5OQX.js → chunk-SI4O2W4H.js} +2 -2
- package/dist/{chunk-BDGTZRZ6.js → chunk-UEXQMI6K.js} +56 -44
- package/dist/{chunk-XW5XVVMI.js → chunk-V2GJE5J5.js} +3 -3
- package/dist/{chunk-VG4G3R2V.js → chunk-VC2B275U.js} +2 -2
- package/dist/{chunk-OZSKLJQW.js → chunk-XACP5P2J.js} +2 -2
- package/dist/{chunk-IGWJRAJT.js → chunk-YTJIRQON.js} +2 -2
- package/dist/{chunk-N4AI2WFH.js → chunk-ZIJABBGZ.js} +2 -2
- package/dist/{ci-workflow-TFAA5BK7.js → ci-workflow-LGN7LHHO.js} +4 -4
- package/dist/{dist-ICW4QUEW.js → dist-FBBADRYS.js} +3 -1
- package/dist/{dist-MCTEX5QH.js → dist-LE5AU7FR.js} +17 -3
- package/dist/{docs-BBMAN3CY.js → docs-3BTPSHKE.js} +5 -5
- package/dist/{engine-R2YH74AL.js → engine-GWGU4AMH.js} +4 -4
- package/dist/{entropy-5UP5N6AF.js → entropy-35XURODP.js} +5 -5
- package/dist/{feedback-6MDCCFZL.js → feedback-NDGZZ37W.js} +1 -1
- package/dist/{generate-agent-definitions-KKAN5DB5.js → generate-agent-definitions-PYZ3E7SP.js} +5 -5
- package/dist/index.js +25 -25
- package/dist/{loader-2WT2ZE2T.js → loader-QK2OJXKB.js} +4 -4
- package/dist/{mcp-5V4LPMB3.js → mcp-Z5YMV7TA.js} +15 -15
- package/dist/{performance-2N3CFXLR.js → performance-VAYOYPVK.js} +5 -5
- package/dist/{review-pipeline-XZIGBU3Q.js → review-pipeline-UETEOWSS.js} +4 -4
- package/dist/{runtime-POME3GTR.js → runtime-J7KFACTK.js} +4 -4
- package/dist/{security-QLJLMSIW.js → security-6AIUZXF5.js} +1 -1
- package/dist/{state-events-YY5KBZTC.js → state-events-XQPHGLG5.js} +4 -4
- package/dist/{validate-VZORVK43.js → validate-ON7YMVLY.js} +5 -5
- package/dist/{validate-cross-check-OYKEDCST.js → validate-cross-check-HKKQA7K5.js} +4 -4
- package/package.json +8 -8
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6STDKKAM.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-33OU3LYX.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UEXQMI6K.js";
|
|
17
17
|
|
|
18
18
|
// src/mcp/tools/docs.ts
|
|
19
19
|
init_dist();
|
|
@@ -50,12 +50,12 @@ async function handleCheckDocs(input) {
|
|
|
50
50
|
const projectPath = sanitizePath(input.path);
|
|
51
51
|
const scope = input.scope ?? "coverage";
|
|
52
52
|
if (scope === "integrity") {
|
|
53
|
-
const { validateKnowledgeMap } = await import("./dist-
|
|
53
|
+
const { validateKnowledgeMap } = await import("./dist-LE5AU7FR.js");
|
|
54
54
|
const result2 = await validateKnowledgeMap(projectPath);
|
|
55
55
|
return resultToMcpResponse(result2);
|
|
56
56
|
}
|
|
57
57
|
if (scope === "all") {
|
|
58
|
-
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-
|
|
58
|
+
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-LE5AU7FR.js");
|
|
59
59
|
const domain2 = input.domain ?? "src";
|
|
60
60
|
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-STFGYKZH.js");
|
|
61
61
|
const store2 = await loadGraphStore2(projectPath);
|
|
@@ -94,7 +94,7 @@ async function handleCheckDocs(input) {
|
|
|
94
94
|
}
|
|
95
95
|
return resultToMcpResponse(Ok({ coverage, integrity }));
|
|
96
96
|
}
|
|
97
|
-
const { checkDocCoverage } = await import("./dist-
|
|
97
|
+
const { checkDocCoverage } = await import("./dist-LE5AU7FR.js");
|
|
98
98
|
const domain = input.domain ?? "src";
|
|
99
99
|
const { loadGraphStore } = await import("./graph-loader-STFGYKZH.js");
|
|
100
100
|
const store = await loadGraphStore(projectPath);
|
|
@@ -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-LE5AU7FR.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-LE5AU7FR.js");
|
|
118
118
|
const projectRoot = sanitizePath(input.path);
|
|
119
119
|
const manager = new core.SecurityTimelineManager(projectRoot);
|
|
120
120
|
const trendOptions = {};
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6STDKKAM.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-33OU3LYX.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UEXQMI6K.js";
|
|
17
17
|
|
|
18
18
|
// src/mcp/tools/entropy.ts
|
|
19
19
|
init_dist();
|
|
@@ -138,7 +138,7 @@ function buildSummaryResponse(report) {
|
|
|
138
138
|
}
|
|
139
139
|
async function handleDetectEntropy(input) {
|
|
140
140
|
try {
|
|
141
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
141
|
+
const { EntropyAnalyzer } = await import("./dist-LE5AU7FR.js");
|
|
142
142
|
const typeFilter = input.type ?? "all";
|
|
143
143
|
const projectPath = sanitizePath(input.path);
|
|
144
144
|
const entropy = loadEntropyConfig(projectPath);
|
|
@@ -164,7 +164,7 @@ async function handleDetectEntropy(input) {
|
|
|
164
164
|
return resultToMcpResponse(result);
|
|
165
165
|
}
|
|
166
166
|
if (!result.ok) return resultToMcpResponse(result);
|
|
167
|
-
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-
|
|
167
|
+
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-LE5AU7FR.js");
|
|
168
168
|
const report = result.value;
|
|
169
169
|
const deadCode = report.deadCode;
|
|
170
170
|
const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6STDKKAM.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-33OU3LYX.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UEXQMI6K.js";
|
|
17
17
|
|
|
18
18
|
// src/mcp/tools/performance.ts
|
|
19
19
|
init_dist();
|
|
@@ -35,7 +35,7 @@ var checkPerformanceDefinition = {
|
|
|
35
35
|
};
|
|
36
36
|
async function handleCheckPerformance(input) {
|
|
37
37
|
try {
|
|
38
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
38
|
+
const { EntropyAnalyzer } = await import("./dist-LE5AU7FR.js");
|
|
39
39
|
const typeFilter = input.type ?? "all";
|
|
40
40
|
const projectPath = sanitizePath(input.path);
|
|
41
41
|
let entryPoints;
|
|
@@ -98,7 +98,7 @@ var getPerfBaselinesDefinition = {
|
|
|
98
98
|
};
|
|
99
99
|
async function handleGetPerfBaselines(input) {
|
|
100
100
|
try {
|
|
101
|
-
const { BaselineManager } = await import("./dist-
|
|
101
|
+
const { BaselineManager } = await import("./dist-LE5AU7FR.js");
|
|
102
102
|
const manager = new BaselineManager(sanitizePath(input.path));
|
|
103
103
|
const baselines = manager.load();
|
|
104
104
|
return resultToMcpResponse(
|
|
@@ -146,7 +146,7 @@ var updatePerfBaselinesDefinition = {
|
|
|
146
146
|
};
|
|
147
147
|
async function handleUpdatePerfBaselines(input) {
|
|
148
148
|
try {
|
|
149
|
-
const { BaselineManager } = await import("./dist-
|
|
149
|
+
const { BaselineManager } = await import("./dist-LE5AU7FR.js");
|
|
150
150
|
const manager = new BaselineManager(sanitizePath(input.path));
|
|
151
151
|
manager.save(input.results, input.commitHash);
|
|
152
152
|
const updated = manager.load();
|
|
@@ -176,7 +176,7 @@ var getCriticalPathsDefinition = {
|
|
|
176
176
|
};
|
|
177
177
|
async function handleGetCriticalPaths(input) {
|
|
178
178
|
try {
|
|
179
|
-
const { CriticalPathResolver } = await import("./dist-
|
|
179
|
+
const { CriticalPathResolver } = await import("./dist-LE5AU7FR.js");
|
|
180
180
|
const resolver = new CriticalPathResolver(sanitizePath(input.path));
|
|
181
181
|
const result = await resolver.resolve();
|
|
182
182
|
return resultToMcpResponse(Ok(result));
|
|
@@ -98,7 +98,7 @@ async function handleAssessProject(input) {
|
|
|
98
98
|
let validateResult = null;
|
|
99
99
|
if (checksToRun.has("validate")) {
|
|
100
100
|
try {
|
|
101
|
-
const { handleValidateProject } = await import("./validate-
|
|
101
|
+
const { handleValidateProject } = await import("./validate-ON7YMVLY.js");
|
|
102
102
|
const result = await handleValidateProject({ path: projectPath });
|
|
103
103
|
const out = parseToolResponse(result, "validate");
|
|
104
104
|
if ("error" in out) {
|
|
@@ -127,7 +127,7 @@ async function handleAssessProject(input) {
|
|
|
127
127
|
parallelChecks.push(
|
|
128
128
|
(async () => {
|
|
129
129
|
try {
|
|
130
|
-
const { handleCheckDependencies } = await import("./architecture-
|
|
130
|
+
const { handleCheckDependencies } = await import("./architecture-7PNQZOWV.js");
|
|
131
131
|
const result = await handleCheckDependencies({ path: projectPath });
|
|
132
132
|
const out = parseToolResponse(result, "deps");
|
|
133
133
|
if ("error" in out) return out.error;
|
|
@@ -155,7 +155,7 @@ async function handleAssessProject(input) {
|
|
|
155
155
|
parallelChecks.push(
|
|
156
156
|
(async () => {
|
|
157
157
|
try {
|
|
158
|
-
const { handleCheckDocs } = await import("./docs-
|
|
158
|
+
const { handleCheckDocs } = await import("./docs-3BTPSHKE.js");
|
|
159
159
|
const result = await handleCheckDocs({ path: projectPath, scope: "coverage" });
|
|
160
160
|
const out = parseToolResponse(result, "docs");
|
|
161
161
|
if ("error" in out) return out.error;
|
|
@@ -183,7 +183,7 @@ async function handleAssessProject(input) {
|
|
|
183
183
|
parallelChecks.push(
|
|
184
184
|
(async () => {
|
|
185
185
|
try {
|
|
186
|
-
const { handleDetectEntropy } = await import("./entropy-
|
|
186
|
+
const { handleDetectEntropy } = await import("./entropy-35XURODP.js");
|
|
187
187
|
const result = await handleDetectEntropy({ path: projectPath, type: "all" });
|
|
188
188
|
const out = parseToolResponse(result, "entropy");
|
|
189
189
|
if ("error" in out) return out.error;
|
|
@@ -214,7 +214,7 @@ async function handleAssessProject(input) {
|
|
|
214
214
|
parallelChecks.push(
|
|
215
215
|
(async () => {
|
|
216
216
|
try {
|
|
217
|
-
const { handleRunSecurityScan } = await import("./security-
|
|
217
|
+
const { handleRunSecurityScan } = await import("./security-6AIUZXF5.js");
|
|
218
218
|
const result = await handleRunSecurityScan({ path: projectPath });
|
|
219
219
|
const out = parseToolResponse(result, "security");
|
|
220
220
|
if ("error" in out) return out.error;
|
|
@@ -247,7 +247,7 @@ async function handleAssessProject(input) {
|
|
|
247
247
|
parallelChecks.push(
|
|
248
248
|
(async () => {
|
|
249
249
|
try {
|
|
250
|
-
const { handleCheckPerformance } = await import("./performance-
|
|
250
|
+
const { handleCheckPerformance } = await import("./performance-VAYOYPVK.js");
|
|
251
251
|
const result = await handleCheckPerformance({ path: projectPath });
|
|
252
252
|
if ("isError" in result && result.isError) {
|
|
253
253
|
const msg = result.content[0]?.text ?? "Performance check failed";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveProjectConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XACP5P2J.js";
|
|
4
4
|
import {
|
|
5
5
|
sanitizePath
|
|
6
6
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
@@ -49,7 +49,7 @@ async function handleValidateProject(input) {
|
|
|
49
49
|
checks.config = "pass";
|
|
50
50
|
const config = configResult.value;
|
|
51
51
|
try {
|
|
52
|
-
const core = await import("./dist-
|
|
52
|
+
const core = await import("./dist-LE5AU7FR.js");
|
|
53
53
|
if (typeof core.validateFileStructure === "function" && Array.isArray(config.conventions)) {
|
|
54
54
|
const conventions = config.conventions;
|
|
55
55
|
const structureResult = await core.validateFileStructure(projectPath, conventions);
|
|
@@ -68,7 +68,7 @@ async function handleValidateProject(input) {
|
|
|
68
68
|
} catch {
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
|
-
const core = await import("./dist-
|
|
71
|
+
const core = await import("./dist-LE5AU7FR.js");
|
|
72
72
|
if (typeof core.validateAgentsMap === "function") {
|
|
73
73
|
const agentsMapPath = path.join(projectPath, "AGENTS.md");
|
|
74
74
|
const agentsResult = await core.validateAgentsMap(agentsMapPath);
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
init_dist,
|
|
6
6
|
paginate
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-33OU3LYX.js";
|
|
8
8
|
|
|
9
9
|
// src/mcp/tools/review-pipeline.ts
|
|
10
10
|
init_dist();
|
|
@@ -84,7 +84,7 @@ var runCodeReviewDefinition = {
|
|
|
84
84
|
};
|
|
85
85
|
async function handleRunCodeReview(input) {
|
|
86
86
|
try {
|
|
87
|
-
const { parseDiff, runReviewPipeline } = await import("./dist-
|
|
87
|
+
const { parseDiff, runReviewPipeline } = await import("./dist-LE5AU7FR.js");
|
|
88
88
|
const parseResult = parseDiff(input.diff);
|
|
89
89
|
if (!parseResult.ok) {
|
|
90
90
|
return {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-RC3OI5NK.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveProjectConfig
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-XACP5P2J.js";
|
|
7
7
|
import {
|
|
8
8
|
sanitizePath
|
|
9
9
|
} from "./chunk-W6Y7ZW3Y.js";
|
|
@@ -38,7 +38,7 @@ async function handleCheckDependencies(input) {
|
|
|
38
38
|
const configResult = resolveProjectConfig(projectPath);
|
|
39
39
|
if (!configResult.ok) return resultToMcpResponse(configResult);
|
|
40
40
|
try {
|
|
41
|
-
const { validateDependencies, TypeScriptParser } = await import("./dist-
|
|
41
|
+
const { validateDependencies, TypeScriptParser } = await import("./dist-LE5AU7FR.js");
|
|
42
42
|
const config = configResult.value;
|
|
43
43
|
const rawLayers = Array.isArray(config.layers) ? config.layers : [];
|
|
44
44
|
const layers = rawLayers.map((l) => ({
|