@harness-engineering/cli 1.28.1 → 2.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.
Files changed (95) hide show
  1. package/dist/agents/skills/claude-code/harness-compound/SKILL.md +153 -0
  2. package/dist/agents/skills/claude-code/harness-compound/skill.yaml +60 -0
  3. package/dist/agents/skills/claude-code/harness-knowledge-pipeline/SKILL.md +12 -1
  4. package/dist/agents/skills/claude-code/harness-observability/SKILL.md +2 -0
  5. package/dist/agents/skills/claude-code/harness-pulse/SKILL.md +138 -0
  6. package/dist/agents/skills/claude-code/harness-pulse/references/interview.md +77 -0
  7. package/dist/agents/skills/claude-code/harness-pulse/skill.yaml +61 -0
  8. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +25 -1
  9. package/dist/agents/skills/codex/harness-compound/SKILL.md +153 -0
  10. package/dist/agents/skills/codex/harness-compound/skill.yaml +60 -0
  11. package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +12 -1
  12. package/dist/agents/skills/codex/harness-observability/SKILL.md +2 -0
  13. package/dist/agents/skills/codex/harness-pulse/SKILL.md +138 -0
  14. package/dist/agents/skills/codex/harness-pulse/references/interview.md +77 -0
  15. package/dist/agents/skills/codex/harness-pulse/skill.yaml +61 -0
  16. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +25 -1
  17. package/dist/agents/skills/cursor/harness-compound/SKILL.md +153 -0
  18. package/dist/agents/skills/cursor/harness-compound/skill.yaml +60 -0
  19. package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +12 -1
  20. package/dist/agents/skills/cursor/harness-observability/SKILL.md +2 -0
  21. package/dist/agents/skills/cursor/harness-pulse/SKILL.md +138 -0
  22. package/dist/agents/skills/cursor/harness-pulse/references/interview.md +77 -0
  23. package/dist/agents/skills/cursor/harness-pulse/skill.yaml +61 -0
  24. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +25 -1
  25. package/dist/agents/skills/gemini-cli/harness-compound/SKILL.md +153 -0
  26. package/dist/agents/skills/gemini-cli/harness-compound/skill.yaml +60 -0
  27. package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +12 -1
  28. package/dist/agents/skills/gemini-cli/harness-observability/SKILL.md +2 -0
  29. package/dist/agents/skills/gemini-cli/harness-pulse/SKILL.md +138 -0
  30. package/dist/agents/skills/gemini-cli/harness-pulse/references/interview.md +77 -0
  31. package/dist/agents/skills/gemini-cli/harness-pulse/skill.yaml +61 -0
  32. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +25 -1
  33. package/dist/agents/skills/package.json +1 -0
  34. package/dist/agents/skills/tests/fixtures/harness-compound/bug-track-fixture/input.json +10 -0
  35. package/dist/agents/skills/tests/fixtures/harness-compound/duplicate-detection-fixture/docs/solutions/bug-track/integration-issues/stalled-lease-cleanup.md +28 -0
  36. package/dist/agents/skills/tests/fixtures/harness-compound/duplicate-detection-fixture/expected.json +4 -0
  37. package/dist/agents/skills/tests/fixtures/harness-compound/duplicate-detection-fixture/input.json +10 -0
  38. package/dist/agents/skills/tests/fixtures/harness-compound/knowledge-track-fixture/input.json +10 -0
  39. package/dist/agents/skills/tests/harness-compound.test.ts +86 -0
  40. package/dist/{agents-md-6SAMHE7H.js → agents-md-XCAWON2D.js} +3 -3
  41. package/dist/{architecture-5YR52NSV.js → architecture-KERHEEQZ.js} +4 -4
  42. package/dist/{assess-project-5X7TYQFM.js → assess-project-NPYA3UVI.js} +1 -1
  43. package/dist/bin/harness-mcp.js +16 -15
  44. package/dist/bin/harness.js +26 -25
  45. package/dist/{check-phase-gate-PLV2VDOL.js → check-phase-gate-GE5ALEEU.js} +5 -4
  46. package/dist/{chunk-KJD4J54I.js → chunk-4FVHBBPY.js} +6 -1
  47. package/dist/{chunk-PFM3BVVU.js → chunk-AEFZJ543.js} +1 -1
  48. package/dist/{chunk-S2WB4LE7.js → chunk-BMM3GXV6.js} +384 -28
  49. package/dist/{chunk-RYDPFIJY.js → chunk-D5FE4L2O.js} +1 -1
  50. package/dist/{chunk-HT7HYYGT.js → chunk-DRD7LLFC.js} +1 -1
  51. package/dist/{chunk-2IBXUG6J.js → chunk-EFA4OEEN.js} +2 -2
  52. package/dist/{chunk-JZST2WZS.js → chunk-FBQYKH7R.js} +3 -3
  53. package/dist/{chunk-MTPHNOJW.js → chunk-FQAJAM54.js} +506 -242
  54. package/dist/{chunk-R2CBBZA6.js → chunk-GCYGGQFM.js} +1 -1
  55. package/dist/{chunk-7JQ7HLM4.js → chunk-GHPWBWUW.js} +8 -8
  56. package/dist/{chunk-6L2BU4BP.js → chunk-HBQ3BK2E.js} +1 -1
  57. package/dist/{chunk-ZYLBIDLE.js → chunk-IIX5OJES.js} +1 -1
  58. package/dist/{chunk-DXGI7DL3.js → chunk-KTWKW6KJ.js} +1 -1
  59. package/dist/{chunk-6GXSJGSW.js → chunk-LY2TY6NE.js} +3 -3
  60. package/dist/{chunk-JNKALGRM.js → chunk-M4C3ZIGL.js} +5 -5
  61. package/dist/{chunk-RFYF7TJS.js → chunk-MAFI6UWT.js} +1701 -769
  62. package/dist/{chunk-BYS3TQOO.js → chunk-OXFFN3FD.js} +1 -1
  63. package/dist/{chunk-XHOGGZS7.js → chunk-PCX4GPNT.js} +1 -1
  64. package/dist/{chunk-BFBZK6BC.js → chunk-RCHXBL2M.js} +6 -6
  65. package/dist/{chunk-74YADB7T.js → chunk-T7MNLCUD.js} +92 -92
  66. package/dist/{chunk-SITVRO7K.js → chunk-URLDPALI.js} +9 -9
  67. package/dist/{chunk-ELJ2MXMO.js → chunk-UWIOBHZL.js} +9 -9
  68. package/dist/{chunk-QDRBWVVY.js → chunk-WW6AUOA3.js} +2 -2
  69. package/dist/{chunk-5ME3WG3G.js → chunk-YBGVZQQE.js} +5 -5
  70. package/dist/{chunk-YJE23GRZ.js → chunk-YG4ZBGEH.js} +39 -5
  71. package/dist/chunk-ZCZD7FHU.js +16 -0
  72. package/dist/{ci-workflow-7T2XKB3P.js → ci-workflow-A2E2RTOP.js} +3 -3
  73. package/dist/{dist-42AYXCAK.js → dist-D27LJR2T.js} +7 -1
  74. package/dist/{dist-77VNTHWV.js → dist-K22DQUYY.js} +78 -2
  75. package/dist/{docs-MSIJ6SDO.js → docs-GXJOFVCF.js} +5 -4
  76. package/dist/{engine-F4P5RBE4.js → engine-JBUIA2XO.js} +3 -3
  77. package/dist/{entropy-GSUTIORR.js → entropy-Y7LUT4BZ.js} +3 -3
  78. package/dist/{feedback-NST6T4HI.js → feedback-BHOBVKI3.js} +1 -1
  79. package/dist/{generate-agent-definitions-BOUGQIPA.js → generate-agent-definitions-VL3ZVR32.js} +4 -4
  80. package/dist/glob-helper-FZPPTGJN.js +62 -0
  81. package/dist/{graph-loader-IAUPGLRV.js → graph-loader-5MKHAJJF.js} +1 -1
  82. package/dist/index.d.ts +44 -6
  83. package/dist/index.js +26 -25
  84. package/dist/{loader-6QTJC7IN.js → loader-WCKVMDYR.js} +3 -3
  85. package/dist/{mcp-QFBGTUX6.js → mcp-FA2CKHFY.js} +16 -15
  86. package/dist/{performance-B2NAAIE5.js → performance-NISUL5AA.js} +5 -4
  87. package/dist/{review-pipeline-6EYMBS6B.js → review-pipeline-CHE5LJ5D.js} +3 -3
  88. package/dist/{runtime-VFZK6BCZ.js → runtime-3SKKEVPF.js} +3 -3
  89. package/dist/{scan-DB6FNYGG.js → scan-BIJYHOE7.js} +2 -1
  90. package/dist/{security-HRNTYHPM.js → security-MF54MY3P.js} +1 -1
  91. package/dist/templates/orchestrator/harness.orchestrator.md +31 -8
  92. package/dist/{validate-YEMAFWJE.js → validate-SIWFNTXI.js} +4 -4
  93. package/dist/{validate-cross-check-DGHTJFVH.js → validate-cross-check-GBX7B7CQ.js} +3 -3
  94. package/package.json +8 -7
  95. package/dist/glob-helper-VCQXK5XY.js +0 -54
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  listPersonas,
6
6
  loadPersona
7
- } from "./chunk-HT7HYYGT.js";
7
+ } from "./chunk-DRD7LLFC.js";
8
8
  import {
9
9
  GENERATED_HEADER_AGENT,
10
10
  VALID_PLATFORMS,
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  findConfigFile,
9
9
  loadConfig
10
- } from "./chunk-KJD4J54I.js";
10
+ } from "./chunk-4FVHBBPY.js";
11
11
  import {
12
12
  init_dist
13
- } from "./chunk-RFYF7TJS.js";
13
+ } from "./chunk-MAFI6UWT.js";
14
14
  import {
15
15
  Ok
16
16
  } from "./chunk-RL4VMEXL.js";
@@ -35,7 +35,7 @@ var checkPerformanceDefinition = {
35
35
  };
36
36
  async function handleCheckPerformance(input) {
37
37
  try {
38
- const { EntropyAnalyzer } = await import("./dist-77VNTHWV.js");
38
+ const { EntropyAnalyzer } = await import("./dist-K22DQUYY.js");
39
39
  const typeFilter = input.type ?? "all";
40
40
  const projectPath = sanitizePath(input.path);
41
41
  let entryPoints;
@@ -58,10 +58,10 @@ async function handleCheckPerformance(input) {
58
58
  });
59
59
  let graphOptions;
60
60
  try {
61
- const { loadGraphStore } = await import("./graph-loader-IAUPGLRV.js");
61
+ const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
62
62
  const store = await loadGraphStore(projectPath);
63
63
  if (store) {
64
- const { GraphComplexityAdapter, GraphCouplingAdapter } = await import("./dist-42AYXCAK.js");
64
+ const { GraphComplexityAdapter, GraphCouplingAdapter } = await import("./dist-D27LJR2T.js");
65
65
  const complexityAdapter = new GraphComplexityAdapter(store);
66
66
  const couplingAdapter = new GraphCouplingAdapter(store);
67
67
  graphOptions = {
@@ -98,7 +98,7 @@ var getPerfBaselinesDefinition = {
98
98
  };
99
99
  async function handleGetPerfBaselines(input) {
100
100
  try {
101
- const { BaselineManager } = await import("./dist-77VNTHWV.js");
101
+ const { BaselineManager } = await import("./dist-K22DQUYY.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-77VNTHWV.js");
149
+ const { BaselineManager } = await import("./dist-K22DQUYY.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-77VNTHWV.js");
179
+ const { CriticalPathResolver } = await import("./dist-K22DQUYY.js");
180
180
  const resolver = new CriticalPathResolver(sanitizePath(input.path));
181
181
  const result = await resolver.resolve();
182
182
  return resultToMcpResponse(Ok(result));
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-RFYF7TJS.js";
3
+ } from "./chunk-MAFI6UWT.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-RFYF7TJS.js";
3
+ } from "./chunk-MAFI6UWT.js";
4
4
  import {
5
5
  Err,
6
6
  Ok
@@ -15,7 +15,7 @@ function evictIfNeeded() {
15
15
  }
16
16
  }
17
17
  async function doLoadGraphStore(projectRoot) {
18
- const { GraphStore } = await import("./dist-42AYXCAK.js");
18
+ const { GraphStore } = await import("./dist-D27LJR2T.js");
19
19
  const graphDir = path.join(projectRoot, ".harness", "graph");
20
20
  const store = new GraphStore();
21
21
  const loaded = await store.load(graphDir);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveProjectConfig
3
- } from "./chunk-BYS3TQOO.js";
3
+ } from "./chunk-OXFFN3FD.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-77VNTHWV.js");
52
+ const core = await import("./dist-K22DQUYY.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-77VNTHWV.js");
71
+ const core = await import("./dist-K22DQUYY.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);
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-W6Y7ZW3Y.js";
7
7
  import {
8
8
  init_dist
9
- } from "./chunk-RFYF7TJS.js";
9
+ } from "./chunk-MAFI6UWT.js";
10
10
  import {
11
11
  Ok
12
12
  } from "./chunk-RL4VMEXL.js";
@@ -14,10 +14,10 @@ import {
14
14
  // src/mcp/tools/entropy.ts
15
15
  init_dist();
16
16
  async function loadEntropyGraphOptions(projectPath) {
17
- const { loadGraphStore } = await import("./graph-loader-IAUPGLRV.js");
17
+ const { loadGraphStore } = await import("./graph-loader-5MKHAJJF.js");
18
18
  const store = await loadGraphStore(projectPath);
19
19
  if (!store) return void 0;
20
- const { GraphEntropyAdapter } = await import("./dist-42AYXCAK.js");
20
+ const { GraphEntropyAdapter } = await import("./dist-D27LJR2T.js");
21
21
  const adapter = new GraphEntropyAdapter(store);
22
22
  const driftData = adapter.computeDriftData();
23
23
  const deadCodeData = adapter.computeDeadCodeData();
@@ -127,7 +127,7 @@ function buildSummaryResponse(report) {
127
127
  }
128
128
  async function handleDetectEntropy(input) {
129
129
  try {
130
- const { EntropyAnalyzer } = await import("./dist-77VNTHWV.js");
130
+ const { EntropyAnalyzer } = await import("./dist-K22DQUYY.js");
131
131
  const typeFilter = input.type ?? "all";
132
132
  const analyzer = new EntropyAnalyzer({
133
133
  rootDir: sanitizePath(input.path),
@@ -146,7 +146,7 @@ async function handleDetectEntropy(input) {
146
146
  return resultToMcpResponse(result);
147
147
  }
148
148
  if (!result.ok) return resultToMcpResponse(result);
149
- const { createFixes, applyFixes, generateSuggestions } = await import("./dist-77VNTHWV.js");
149
+ const { createFixes, applyFixes, generateSuggestions } = await import("./dist-K22DQUYY.js");
150
150
  const report = result.value;
151
151
  const deadCode = report.deadCode;
152
152
  const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;