@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.
Files changed (75) hide show
  1. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +31 -0
  2. package/dist/agents/skills/claude-code/harness-catalog-retrospective/SKILL.md +124 -0
  3. package/dist/agents/skills/claude-code/harness-catalog-retrospective/skill.yaml +48 -0
  4. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +13 -0
  5. package/dist/agents/skills/claude-code/harness-parallel-agents/SKILL.md +3 -0
  6. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +3 -1
  7. package/dist/agents/skills/codex/harness-autopilot/SKILL.md +31 -0
  8. package/dist/agents/skills/codex/harness-catalog-retrospective/SKILL.md +124 -0
  9. package/dist/agents/skills/codex/harness-catalog-retrospective/skill.yaml +48 -0
  10. package/dist/agents/skills/codex/harness-execution/SKILL.md +13 -0
  11. package/dist/agents/skills/codex/harness-parallel-agents/SKILL.md +3 -0
  12. package/dist/agents/skills/codex/harness-planning/SKILL.md +3 -1
  13. package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +31 -0
  14. package/dist/agents/skills/cursor/harness-catalog-retrospective/SKILL.md +124 -0
  15. package/dist/agents/skills/cursor/harness-catalog-retrospective/skill.yaml +48 -0
  16. package/dist/agents/skills/cursor/harness-execution/SKILL.md +13 -0
  17. package/dist/agents/skills/cursor/harness-parallel-agents/SKILL.md +3 -0
  18. package/dist/agents/skills/cursor/harness-planning/SKILL.md +3 -1
  19. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +31 -0
  20. package/dist/agents/skills/gemini-cli/harness-catalog-retrospective/SKILL.md +124 -0
  21. package/dist/agents/skills/gemini-cli/harness-catalog-retrospective/skill.yaml +48 -0
  22. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +13 -0
  23. package/dist/agents/skills/gemini-cli/harness-parallel-agents/SKILL.md +3 -0
  24. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +3 -1
  25. package/dist/{agents-md-7L4PKKOM.js → agents-md-BK2UPKUC.js} +4 -4
  26. package/dist/{analyzer-XRCV63KC-HLTEIKAJ.js → analyzer-XRCV63KC-6T2Z32XC.js} +2 -2
  27. package/dist/{architecture-RCHFDI7E.js → architecture-7PNQZOWV.js} +5 -5
  28. package/dist/{assess-project-YUDPNRS6.js → assess-project-2QPCNN7N.js} +1 -1
  29. package/dist/bin/harness-mcp.js +15 -15
  30. package/dist/bin/harness.js +26 -26
  31. package/dist/{check-phase-gate-56GS3A72.js → check-phase-gate-RZUSDB3O.js} +5 -5
  32. package/dist/{chunk-UACYZCW4.js → chunk-33OU3LYX.js} +351 -4
  33. package/dist/{chunk-Y5HPJMTM.js → chunk-6STDKKAM.js} +2 -2
  34. package/dist/{chunk-GLHLXTKC.js → chunk-BJDT3VGQ.js} +6 -6
  35. package/dist/{chunk-YXOPQEFZ.js → chunk-D5YCPIK6.js} +2 -2
  36. package/dist/{chunk-Y33P35U3.js → chunk-DBCC7KIW.js} +5 -5
  37. package/dist/{chunk-XZNCONFG.js → chunk-DVG6DDX6.js} +1 -1
  38. package/dist/{chunk-GSYBGOY3.js → chunk-DW6HE5DH.js} +2 -2
  39. package/dist/{chunk-RY2U77OY.js → chunk-E5KJOUHI.js} +7 -7
  40. package/dist/{chunk-RZQZXWEL.js → chunk-HU7NS7JA.js} +6 -6
  41. package/dist/{chunk-AU4YPEIE.js → chunk-HUC73DZC.js} +3 -3
  42. package/dist/{chunk-ZU6T7W3U.js → chunk-J5MFNKE7.js} +2 -2
  43. package/dist/{chunk-4SKWGVYD.js → chunk-J7H5I4FO.js} +2 -2
  44. package/dist/{chunk-Z4XWWNYX.js → chunk-K5R2I37T.js} +203 -92
  45. package/dist/{chunk-YWRPQZL7.js → chunk-KHL6WFRL.js} +2 -2
  46. package/dist/{chunk-DGVT4DBI.js → chunk-KYFXXEK3.js} +3 -3
  47. package/dist/{chunk-NCMJXBEO.js → chunk-MHHISNS2.js} +2 -2
  48. package/dist/{chunk-ABRYIEWJ.js → chunk-RRCS27GT.js} +847 -800
  49. package/dist/{chunk-YJYUJSWK.js → chunk-RZTLXZHJ.js} +1 -1
  50. package/dist/{chunk-P4NA5OQX.js → chunk-SI4O2W4H.js} +2 -2
  51. package/dist/{chunk-BDGTZRZ6.js → chunk-UEXQMI6K.js} +56 -44
  52. package/dist/{chunk-XW5XVVMI.js → chunk-V2GJE5J5.js} +3 -3
  53. package/dist/{chunk-VG4G3R2V.js → chunk-VC2B275U.js} +2 -2
  54. package/dist/{chunk-OZSKLJQW.js → chunk-XACP5P2J.js} +2 -2
  55. package/dist/{chunk-IGWJRAJT.js → chunk-YTJIRQON.js} +2 -2
  56. package/dist/{chunk-N4AI2WFH.js → chunk-ZIJABBGZ.js} +2 -2
  57. package/dist/{ci-workflow-TFAA5BK7.js → ci-workflow-LGN7LHHO.js} +4 -4
  58. package/dist/{dist-ICW4QUEW.js → dist-FBBADRYS.js} +3 -1
  59. package/dist/{dist-MCTEX5QH.js → dist-LE5AU7FR.js} +17 -3
  60. package/dist/{docs-BBMAN3CY.js → docs-3BTPSHKE.js} +5 -5
  61. package/dist/{engine-R2YH74AL.js → engine-GWGU4AMH.js} +4 -4
  62. package/dist/{entropy-5UP5N6AF.js → entropy-35XURODP.js} +5 -5
  63. package/dist/{feedback-6MDCCFZL.js → feedback-NDGZZ37W.js} +1 -1
  64. package/dist/{generate-agent-definitions-KKAN5DB5.js → generate-agent-definitions-PYZ3E7SP.js} +5 -5
  65. package/dist/index.js +25 -25
  66. package/dist/{loader-2WT2ZE2T.js → loader-QK2OJXKB.js} +4 -4
  67. package/dist/{mcp-5V4LPMB3.js → mcp-Z5YMV7TA.js} +15 -15
  68. package/dist/{performance-2N3CFXLR.js → performance-VAYOYPVK.js} +5 -5
  69. package/dist/{review-pipeline-XZIGBU3Q.js → review-pipeline-UETEOWSS.js} +4 -4
  70. package/dist/{runtime-POME3GTR.js → runtime-J7KFACTK.js} +4 -4
  71. package/dist/{security-QLJLMSIW.js → security-6AIUZXF5.js} +1 -1
  72. package/dist/{state-events-YY5KBZTC.js → state-events-XQPHGLG5.js} +4 -4
  73. package/dist/{validate-VZORVK43.js → validate-ON7YMVLY.js} +5 -5
  74. package/dist/{validate-cross-check-OYKEDCST.js → validate-cross-check-HKKQA7K5.js} +4 -4
  75. package/package.json +8 -8
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-Y5HPJMTM.js";
10
+ } from "./chunk-6STDKKAM.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-UACYZCW4.js";
13
+ } from "./chunk-33OU3LYX.js";
14
14
  import {
15
15
  Ok
16
- } from "./chunk-BDGTZRZ6.js";
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-Y5HPJMTM.js";
10
+ } from "./chunk-6STDKKAM.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-UACYZCW4.js";
13
+ } from "./chunk-33OU3LYX.js";
14
14
  import {
15
15
  Ok
16
- } from "./chunk-BDGTZRZ6.js";
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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;
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-NCMJXBEO.js";
7
+ } from "./chunk-MHHISNS2.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-UACYZCW4.js";
3
+ } from "./chunk-33OU3LYX.js";
4
4
  import {
5
5
  Ok
6
- } from "./chunk-BDGTZRZ6.js";
6
+ } from "./chunk-UEXQMI6K.js";
7
7
 
8
8
  // src/commands/validate-cross-check.ts
9
9
  init_dist();
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-Y5HPJMTM.js";
10
+ } from "./chunk-6STDKKAM.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-UACYZCW4.js";
13
+ } from "./chunk-33OU3LYX.js";
14
14
  import {
15
15
  Ok
16
- } from "./chunk-BDGTZRZ6.js";
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-VZORVK43.js");
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-RCHFDI7E.js");
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-BBMAN3CY.js");
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-5UP5N6AF.js");
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-QLJLMSIW.js");
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-2N3CFXLR.js");
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-OZSKLJQW.js";
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-MCTEX5QH.js");
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-MCTEX5QH.js");
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-UACYZCW4.js";
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-MCTEX5QH.js");
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-OZSKLJQW.js";
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-MCTEX5QH.js");
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) => ({