@harness-engineering/cli 1.20.0 → 1.21.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-accessibility/skill.yaml +20 -0
- package/dist/agents/skills/claude-code/harness-design/skill.yaml +20 -0
- package/dist/agents/skills/claude-code/harness-design-mobile/skill.yaml +20 -0
- package/dist/agents/skills/claude-code/harness-design-system/skill.yaml +22 -0
- package/dist/agents/skills/claude-code/harness-design-web/skill.yaml +22 -0
- package/dist/agents/skills/claude-code/harness-diagnostics/skill.yaml +19 -0
- package/dist/agents/skills/claude-code/harness-git-workflow/skill.yaml +15 -0
- package/dist/agents/skills/claude-code/harness-i18n/skill.yaml +22 -0
- package/dist/agents/skills/claude-code/harness-i18n-process/skill.yaml +15 -0
- package/dist/agents/skills/claude-code/harness-i18n-workflow/skill.yaml +19 -0
- package/dist/agents/skills/claude-code/harness-perf-tdd/skill.yaml +20 -0
- package/dist/agents/skills/claude-code/harness-pre-commit-review/skill.yaml +18 -0
- package/dist/agents/skills/claude-code/harness-security-review/skill.yaml +23 -0
- package/dist/agents/skills/codex/harness-accessibility/skill.yaml +20 -0
- package/dist/agents/skills/codex/harness-design/skill.yaml +20 -0
- package/dist/agents/skills/codex/harness-design-mobile/skill.yaml +20 -0
- package/dist/agents/skills/codex/harness-design-system/skill.yaml +22 -0
- package/dist/agents/skills/codex/harness-design-web/skill.yaml +22 -0
- package/dist/agents/skills/codex/harness-diagnostics/skill.yaml +19 -0
- package/dist/agents/skills/codex/harness-git-workflow/skill.yaml +15 -0
- package/dist/agents/skills/codex/harness-i18n/skill.yaml +22 -0
- package/dist/agents/skills/codex/harness-i18n-process/skill.yaml +15 -0
- package/dist/agents/skills/codex/harness-i18n-workflow/skill.yaml +19 -0
- package/dist/agents/skills/codex/harness-perf-tdd/skill.yaml +20 -0
- package/dist/agents/skills/codex/harness-pre-commit-review/skill.yaml +18 -0
- package/dist/agents/skills/codex/harness-security-review/skill.yaml +23 -0
- package/dist/agents/skills/cursor/harness-accessibility/skill.yaml +20 -0
- package/dist/agents/skills/cursor/harness-design/skill.yaml +20 -0
- package/dist/agents/skills/cursor/harness-design-mobile/skill.yaml +20 -0
- package/dist/agents/skills/cursor/harness-design-system/skill.yaml +22 -0
- package/dist/agents/skills/cursor/harness-design-web/skill.yaml +22 -0
- package/dist/agents/skills/cursor/harness-diagnostics/skill.yaml +19 -0
- package/dist/agents/skills/cursor/harness-git-workflow/skill.yaml +15 -0
- package/dist/agents/skills/cursor/harness-i18n/skill.yaml +22 -0
- package/dist/agents/skills/cursor/harness-i18n-process/skill.yaml +15 -0
- package/dist/agents/skills/cursor/harness-i18n-workflow/skill.yaml +19 -0
- package/dist/agents/skills/cursor/harness-perf-tdd/skill.yaml +20 -0
- package/dist/agents/skills/cursor/harness-pre-commit-review/skill.yaml +18 -0
- package/dist/agents/skills/cursor/harness-security-review/skill.yaml +23 -0
- package/dist/agents/skills/gemini-cli/harness-accessibility/skill.yaml +20 -0
- package/dist/agents/skills/gemini-cli/harness-design/skill.yaml +20 -0
- package/dist/agents/skills/gemini-cli/harness-design-mobile/skill.yaml +20 -0
- package/dist/agents/skills/gemini-cli/harness-design-system/skill.yaml +22 -0
- package/dist/agents/skills/gemini-cli/harness-design-web/skill.yaml +22 -0
- package/dist/agents/skills/gemini-cli/harness-diagnostics/skill.yaml +19 -0
- package/dist/agents/skills/gemini-cli/harness-git-workflow/skill.yaml +15 -0
- package/dist/agents/skills/gemini-cli/harness-i18n/skill.yaml +22 -0
- package/dist/agents/skills/gemini-cli/harness-i18n-process/skill.yaml +15 -0
- package/dist/agents/skills/gemini-cli/harness-i18n-workflow/skill.yaml +19 -0
- package/dist/agents/skills/gemini-cli/harness-perf-tdd/skill.yaml +20 -0
- package/dist/agents/skills/gemini-cli/harness-pre-commit-review/skill.yaml +18 -0
- package/dist/agents/skills/gemini-cli/harness-security-review/skill.yaml +23 -0
- package/dist/{agents-md-WHXVPOK2.js → agents-md-TDTLYAQU.js} +1 -1
- package/dist/{architecture-45YCLD26.js → architecture-NANP4XPE.js} +2 -2
- package/dist/bin/harness-mcp.js +11 -11
- package/dist/bin/harness.js +13 -13
- package/dist/{check-phase-gate-2VXVOUJ5.js → check-phase-gate-I4NQOCSU.js} +3 -3
- package/dist/{chunk-V73TEHIF.js → chunk-6GEYPBDU.js} +3 -3
- package/dist/{chunk-PDOSLTWP.js → chunk-7G2ZUTZA.js} +1 -1
- package/dist/{chunk-LEWXD6PR.js → chunk-H6LXAH66.js} +1 -1
- package/dist/{chunk-A33LHIRD.js → chunk-HUDEBSR2.js} +1 -1
- package/dist/{chunk-45ZJPG24.js → chunk-L6LTNZQZ.js} +1 -1
- package/dist/{chunk-LVJ7SCD7.js → chunk-SPUK5W4W.js} +2 -2
- package/dist/{chunk-YDOGGQSF.js → chunk-SZ5TGZMI.js} +1 -1
- package/dist/{chunk-YL4UHE52.js → chunk-TMSGI27F.js} +134 -110
- package/dist/{chunk-RJFWCL6M.js → chunk-UEKQ5G3V.js} +14 -14
- package/dist/{chunk-PDEEQJHH.js → chunk-UVJFBKCX.js} +5 -5
- package/dist/{chunk-4U4V7A6U.js → chunk-WXI5ONCU.js} +2 -2
- package/dist/{chunk-H6KZAGHZ.js → chunk-YF5ROTWR.js} +4 -4
- package/dist/{chunk-IC5CZSHF.js → chunk-YZYBQZVL.js} +10 -6
- package/dist/{ci-workflow-HWX5OVLI.js → ci-workflow-Z4IUJBZL.js} +1 -1
- package/dist/{dist-WHL3NN5S.js → dist-KV2ICL5X.js} +1 -1
- package/dist/{docs-FJFY7GF2.js → docs-2PCZVSGB.js} +3 -3
- package/dist/{engine-R5BZHIZB.js → engine-EOXMI5MD.js} +1 -1
- package/dist/{entropy-Y2GE4MYS.js → entropy-VGXXBIGX.js} +2 -2
- package/dist/{feedback-FKZ7GMPO.js → feedback-VTSPL3O7.js} +1 -1
- package/dist/{generate-agent-definitions-LN3A45OL.js → generate-agent-definitions-QICSCGXB.js} +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.js +13 -13
- package/dist/{loader-2TBQUFWX.js → loader-7S4FYAPP.js} +1 -1
- package/dist/{mcp-I7UP73GV.js → mcp-DF25USTE.js} +11 -11
- package/dist/{performance-BSOMMWK5.js → performance-RV4DUMFI.js} +3 -3
- package/dist/{review-pipeline-KUBHP3RV.js → review-pipeline-7KQJB4SI.js} +1 -1
- package/dist/{runtime-BN7KGJAO.js → runtime-XKOHGGRC.js} +1 -1
- package/dist/{security-3T4JGDZP.js → security-NLWTMK3G.js} +1 -1
- package/dist/{validate-R5WGB2AV.js → validate-VHFE6J6O.js} +2 -2
- package/dist/{validate-cross-check-76Z5P6EX.js → validate-cross-check-PFRKABCS.js} +1 -1
- package/package.json +4 -4
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
OutputMode,
|
|
7
7
|
createCheckPhaseGateCommand,
|
|
8
8
|
findFiles
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7G2ZUTZA.js";
|
|
10
10
|
import {
|
|
11
11
|
createGenerateAgentDefinitionsCommand,
|
|
12
12
|
generateAgentDefinitions
|
|
@@ -50,14 +50,14 @@ import {
|
|
|
50
50
|
handleGetImpact,
|
|
51
51
|
handleOrphanDeletion,
|
|
52
52
|
persistToolingConfig
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-TMSGI27F.js";
|
|
54
54
|
import {
|
|
55
55
|
VALID_PLATFORMS
|
|
56
56
|
} from "./chunk-CJDVBBPB.js";
|
|
57
57
|
import {
|
|
58
58
|
findConfigFile,
|
|
59
59
|
resolveConfig
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-SZ5TGZMI.js";
|
|
61
61
|
import {
|
|
62
62
|
resolveGlobalSkillsDir,
|
|
63
63
|
resolvePersonasDir,
|
|
@@ -135,7 +135,7 @@ import {
|
|
|
135
135
|
validateKnowledgeMap,
|
|
136
136
|
writeConfig,
|
|
137
137
|
writeLockfile
|
|
138
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-YZYBQZVL.js";
|
|
139
139
|
import {
|
|
140
140
|
Err,
|
|
141
141
|
Ok
|
|
@@ -221,7 +221,7 @@ function createValidateCommand() {
|
|
|
221
221
|
process.exit(result.error.exitCode);
|
|
222
222
|
}
|
|
223
223
|
if (opts.crossCheck) {
|
|
224
|
-
const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-
|
|
224
|
+
const { runCrossCheck: runCrossCheck2 } = await import("./validate-cross-check-PFRKABCS.js");
|
|
225
225
|
const cwd = process.cwd();
|
|
226
226
|
const specsDir = path.join(cwd, "docs", "specs");
|
|
227
227
|
const plansDir = path.join(cwd, "docs", "plans");
|
|
@@ -578,7 +578,7 @@ function registerBenchCommand(perf) {
|
|
|
578
578
|
perf.command("bench [glob]").description("Run benchmarks via vitest bench").action(async (glob, _opts, cmd) => {
|
|
579
579
|
const globalOpts = cmd.optsWithGlobals();
|
|
580
580
|
const cwd = process.cwd();
|
|
581
|
-
const { BenchmarkRunner } = await import("./dist-
|
|
581
|
+
const { BenchmarkRunner } = await import("./dist-KV2ICL5X.js");
|
|
582
582
|
const runner = new BenchmarkRunner();
|
|
583
583
|
const benchFiles = runner.discover(cwd, glob);
|
|
584
584
|
if (benchFiles.length === 0) {
|
|
@@ -646,7 +646,7 @@ function registerBaselinesCommands(perf) {
|
|
|
646
646
|
baselines.command("update").description("Update baselines from latest benchmark run").action(async (_opts, cmd) => {
|
|
647
647
|
const globalOpts = cmd.optsWithGlobals();
|
|
648
648
|
const cwd = process.cwd();
|
|
649
|
-
const { BenchmarkRunner } = await import("./dist-
|
|
649
|
+
const { BenchmarkRunner } = await import("./dist-KV2ICL5X.js");
|
|
650
650
|
const runner = new BenchmarkRunner();
|
|
651
651
|
const manager = new BaselineManager(cwd);
|
|
652
652
|
logger.info("Running benchmarks to update baselines...");
|
|
@@ -679,7 +679,7 @@ function registerReportCommand(perf) {
|
|
|
679
679
|
perf.command("report").description("Full performance report with metrics, trends, and hotspots").action(async (_opts, cmd) => {
|
|
680
680
|
const globalOpts = cmd.optsWithGlobals();
|
|
681
681
|
const cwd = process.cwd();
|
|
682
|
-
const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-
|
|
682
|
+
const { EntropyAnalyzer: EntropyAnalyzer2 } = await import("./dist-KV2ICL5X.js");
|
|
683
683
|
const analyzer = new EntropyAnalyzer2({
|
|
684
684
|
rootDir: path5.resolve(cwd),
|
|
685
685
|
analyze: { complexity: true, coupling: true }
|
|
@@ -5095,7 +5095,7 @@ function createGraphCommand() {
|
|
|
5095
5095
|
import { Command as Command50 } from "commander";
|
|
5096
5096
|
function createMcpCommand() {
|
|
5097
5097
|
return new Command50("mcp").description("Start the MCP (Model Context Protocol) server on stdio").option("--tools <tools...>", "Only register the specified tools (used by Cursor integration)").action(async (opts) => {
|
|
5098
|
-
const { startServer: startServer2 } = await import("./mcp-
|
|
5098
|
+
const { startServer: startServer2 } = await import("./mcp-DF25USTE.js");
|
|
5099
5099
|
await startServer2(opts.tools);
|
|
5100
5100
|
});
|
|
5101
5101
|
}
|
|
@@ -6594,7 +6594,7 @@ function createIntegrationsCommand() {
|
|
|
6594
6594
|
// src/commands/usage.ts
|
|
6595
6595
|
import { Command as Command67 } from "commander";
|
|
6596
6596
|
async function loadAndPriceRecords(cwd, includeClaudeSessions = false) {
|
|
6597
|
-
const { readCostRecords, loadPricingData, calculateCost, parseCCRecords } = await import("./dist-
|
|
6597
|
+
const { readCostRecords, loadPricingData, calculateCost, parseCCRecords } = await import("./dist-KV2ICL5X.js");
|
|
6598
6598
|
const records = readCostRecords(cwd);
|
|
6599
6599
|
if (includeClaudeSessions) {
|
|
6600
6600
|
const ccRecords = parseCCRecords();
|
|
@@ -6638,7 +6638,7 @@ function registerDailyCommand(usage) {
|
|
|
6638
6638
|
}
|
|
6639
6639
|
return;
|
|
6640
6640
|
}
|
|
6641
|
-
const { aggregateByDay } = await import("./dist-
|
|
6641
|
+
const { aggregateByDay } = await import("./dist-KV2ICL5X.js");
|
|
6642
6642
|
const dailyData = aggregateByDay(records);
|
|
6643
6643
|
const limited = dailyData.slice(0, days);
|
|
6644
6644
|
if (globalOpts.json) {
|
|
@@ -6674,7 +6674,7 @@ function registerSessionsCommand(usage) {
|
|
|
6674
6674
|
}
|
|
6675
6675
|
return;
|
|
6676
6676
|
}
|
|
6677
|
-
const { aggregateBySession } = await import("./dist-
|
|
6677
|
+
const { aggregateBySession } = await import("./dist-KV2ICL5X.js");
|
|
6678
6678
|
const sessionData = aggregateBySession(records);
|
|
6679
6679
|
const limited = sessionData.slice(0, limit);
|
|
6680
6680
|
if (globalOpts.json) {
|
|
@@ -6703,7 +6703,7 @@ function registerSessionCommand(usage) {
|
|
|
6703
6703
|
const globalOpts = cmd.optsWithGlobals();
|
|
6704
6704
|
const cwd = process.cwd();
|
|
6705
6705
|
const records = await loadAndPriceRecords(cwd, globalOpts.includeClaudeSessions);
|
|
6706
|
-
const { aggregateBySession } = await import("./dist-
|
|
6706
|
+
const { aggregateBySession } = await import("./dist-KV2ICL5X.js");
|
|
6707
6707
|
const sessionData = aggregateBySession(records);
|
|
6708
6708
|
const match = sessionData.find((s) => s.sessionId === id);
|
|
6709
6709
|
if (!match) {
|
|
@@ -6769,7 +6769,7 @@ function registerLatestCommand(usage) {
|
|
|
6769
6769
|
}
|
|
6770
6770
|
return;
|
|
6771
6771
|
}
|
|
6772
|
-
const { aggregateBySession } = await import("./dist-
|
|
6772
|
+
const { aggregateBySession } = await import("./dist-KV2ICL5X.js");
|
|
6773
6773
|
const sessionData = aggregateBySession(records);
|
|
6774
6774
|
const latest = sessionData[0];
|
|
6775
6775
|
if (!latest) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findConfigFile,
|
|
3
3
|
loadConfig
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SZ5TGZMI.js";
|
|
5
5
|
import {
|
|
6
6
|
resultToMcpResponse
|
|
7
7
|
} from "./chunk-IDZNPTYD.js";
|
|
@@ -31,7 +31,7 @@ var checkPerformanceDefinition = {
|
|
|
31
31
|
};
|
|
32
32
|
async function handleCheckPerformance(input) {
|
|
33
33
|
try {
|
|
34
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
34
|
+
const { EntropyAnalyzer } = await import("./dist-KV2ICL5X.js");
|
|
35
35
|
const typeFilter = input.type ?? "all";
|
|
36
36
|
const projectPath = sanitizePath(input.path);
|
|
37
37
|
let entryPoints;
|
|
@@ -94,7 +94,7 @@ var getPerfBaselinesDefinition = {
|
|
|
94
94
|
};
|
|
95
95
|
async function handleGetPerfBaselines(input) {
|
|
96
96
|
try {
|
|
97
|
-
const { BaselineManager } = await import("./dist-
|
|
97
|
+
const { BaselineManager } = await import("./dist-KV2ICL5X.js");
|
|
98
98
|
const manager = new BaselineManager(sanitizePath(input.path));
|
|
99
99
|
const baselines = manager.load();
|
|
100
100
|
return resultToMcpResponse(
|
|
@@ -142,7 +142,7 @@ var updatePerfBaselinesDefinition = {
|
|
|
142
142
|
};
|
|
143
143
|
async function handleUpdatePerfBaselines(input) {
|
|
144
144
|
try {
|
|
145
|
-
const { BaselineManager } = await import("./dist-
|
|
145
|
+
const { BaselineManager } = await import("./dist-KV2ICL5X.js");
|
|
146
146
|
const manager = new BaselineManager(sanitizePath(input.path));
|
|
147
147
|
manager.save(input.results, input.commitHash);
|
|
148
148
|
const updated = manager.load();
|
|
@@ -172,7 +172,7 @@ var getCriticalPathsDefinition = {
|
|
|
172
172
|
};
|
|
173
173
|
async function handleGetCriticalPaths(input) {
|
|
174
174
|
try {
|
|
175
|
-
const { CriticalPathResolver } = await import("./dist-
|
|
175
|
+
const { CriticalPathResolver } = await import("./dist-KV2ICL5X.js");
|
|
176
176
|
const resolver = new CriticalPathResolver(sanitizePath(input.path));
|
|
177
177
|
const result = await resolver.resolve();
|
|
178
178
|
return resultToMcpResponse(Ok(result));
|
|
@@ -123,7 +123,7 @@ function buildSummaryResponse(report) {
|
|
|
123
123
|
}
|
|
124
124
|
async function handleDetectEntropy(input) {
|
|
125
125
|
try {
|
|
126
|
-
const { EntropyAnalyzer } = await import("./dist-
|
|
126
|
+
const { EntropyAnalyzer } = await import("./dist-KV2ICL5X.js");
|
|
127
127
|
const typeFilter = input.type ?? "all";
|
|
128
128
|
const analyzer = new EntropyAnalyzer({
|
|
129
129
|
rootDir: sanitizePath(input.path),
|
|
@@ -142,7 +142,7 @@ async function handleDetectEntropy(input) {
|
|
|
142
142
|
return resultToMcpResponse(result);
|
|
143
143
|
}
|
|
144
144
|
if (!result.ok) return resultToMcpResponse(result);
|
|
145
|
-
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-
|
|
145
|
+
const { createFixes, applyFixes, generateSuggestions } = await import("./dist-KV2ICL5X.js");
|
|
146
146
|
const report = result.value;
|
|
147
147
|
const deadCode = report.deadCode;
|
|
148
148
|
const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findConfigFile,
|
|
3
3
|
loadConfig
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SZ5TGZMI.js";
|
|
5
5
|
import {
|
|
6
6
|
resultToMcpResponse
|
|
7
7
|
} from "./chunk-IDZNPTYD.js";
|
|
@@ -46,12 +46,12 @@ async function handleCheckDocs(input) {
|
|
|
46
46
|
const projectPath = sanitizePath(input.path);
|
|
47
47
|
const scope = input.scope ?? "coverage";
|
|
48
48
|
if (scope === "integrity") {
|
|
49
|
-
const { validateKnowledgeMap } = await import("./dist-
|
|
49
|
+
const { validateKnowledgeMap } = await import("./dist-KV2ICL5X.js");
|
|
50
50
|
const result2 = await validateKnowledgeMap(projectPath);
|
|
51
51
|
return resultToMcpResponse(result2);
|
|
52
52
|
}
|
|
53
53
|
if (scope === "all") {
|
|
54
|
-
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-
|
|
54
|
+
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-KV2ICL5X.js");
|
|
55
55
|
const domain2 = input.domain ?? "src";
|
|
56
56
|
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KMHDQYDT.js");
|
|
57
57
|
const store2 = await loadGraphStore2(projectPath);
|
|
@@ -90,7 +90,7 @@ async function handleCheckDocs(input) {
|
|
|
90
90
|
}
|
|
91
91
|
return resultToMcpResponse(Ok({ coverage, integrity }));
|
|
92
92
|
}
|
|
93
|
-
const { checkDocCoverage } = await import("./dist-
|
|
93
|
+
const { checkDocCoverage } = await import("./dist-KV2ICL5X.js");
|
|
94
94
|
const domain = input.domain ?? "src";
|
|
95
95
|
const { loadGraphStore } = await import("./graph-loader-KMHDQYDT.js");
|
|
96
96
|
const store = await loadGraphStore(projectPath);
|
|
@@ -11980,6 +11980,13 @@ function labelsForStatus(status, config) {
|
|
|
11980
11980
|
return [...base];
|
|
11981
11981
|
}
|
|
11982
11982
|
var RETRY_DEFAULTS = { maxRetries: 5, baseDelayMs: 1e3 };
|
|
11983
|
+
function parseRepoParts(repo) {
|
|
11984
|
+
const parts = (repo ?? "").split("/");
|
|
11985
|
+
if (parts.length !== 2 || !parts[0] || !parts[1]) {
|
|
11986
|
+
throw new Error(`Invalid repo format: "${repo}". Expected "owner/repo".`);
|
|
11987
|
+
}
|
|
11988
|
+
return { owner: parts[0], repo: parts[1] };
|
|
11989
|
+
}
|
|
11983
11990
|
function sleep(ms) {
|
|
11984
11991
|
return new Promise((resolve5) => setTimeout(resolve5, ms));
|
|
11985
11992
|
}
|
|
@@ -12023,12 +12030,9 @@ var GitHubIssuesSyncAdapter = class {
|
|
|
12023
12030
|
maxRetries: options.maxRetries ?? RETRY_DEFAULTS.maxRetries,
|
|
12024
12031
|
baseDelayMs: options.baseDelayMs ?? RETRY_DEFAULTS.baseDelayMs
|
|
12025
12032
|
};
|
|
12026
|
-
const
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
}
|
|
12030
|
-
this.owner = repoParts[0];
|
|
12031
|
-
this.repo = repoParts[1];
|
|
12033
|
+
const { owner, repo } = parseRepoParts(options.config.repo);
|
|
12034
|
+
this.owner = owner;
|
|
12035
|
+
this.repo = repo;
|
|
12032
12036
|
}
|
|
12033
12037
|
/**
|
|
12034
12038
|
* Fetch all GitHub milestones and build the name -> ID cache.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
checkDocsDefinition,
|
|
3
3
|
handleCheckDocs
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-YF5ROTWR.js";
|
|
5
|
+
import "./chunk-SZ5TGZMI.js";
|
|
6
6
|
import "./chunk-IDZNPTYD.js";
|
|
7
7
|
import "./chunk-W6Y7ZW3Y.js";
|
|
8
8
|
import "./chunk-3WGJMBKH.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-YZYBQZVL.js";
|
|
10
10
|
import "./chunk-ERS5EVUZ.js";
|
|
11
11
|
export {
|
|
12
12
|
checkDocsDefinition,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
detectEntropyDefinition,
|
|
3
3
|
handleDetectEntropy
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WXI5ONCU.js";
|
|
5
5
|
import "./chunk-IDZNPTYD.js";
|
|
6
6
|
import "./chunk-W6Y7ZW3Y.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-YZYBQZVL.js";
|
|
8
8
|
import "./chunk-ERS5EVUZ.js";
|
|
9
9
|
export {
|
|
10
10
|
detectEntropyDefinition,
|
package/dist/{generate-agent-definitions-LN3A45OL.js → generate-agent-definitions-QICSCGXB.js}
RENAMED
|
@@ -7,7 +7,7 @@ import "./chunk-KET4QQZB.js";
|
|
|
7
7
|
import "./chunk-CJDVBBPB.js";
|
|
8
8
|
import "./chunk-N5G5QMS3.js";
|
|
9
9
|
import "./chunk-3WGJMBKH.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-YZYBQZVL.js";
|
|
11
11
|
import "./chunk-ERS5EVUZ.js";
|
|
12
12
|
export {
|
|
13
13
|
createGenerateAgentDefinitionsCommand,
|
package/dist/index.d.ts
CHANGED
|
@@ -713,15 +713,15 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
713
713
|
thresholds: z.ZodDefault<z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>;
|
|
714
714
|
modules: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>>;
|
|
715
715
|
}, "strip", z.ZodTypeAny, {
|
|
716
|
+
thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
717
|
+
modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
716
718
|
enabled: boolean;
|
|
717
719
|
baselinePath: string;
|
|
718
|
-
thresholds: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
719
|
-
modules: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
720
720
|
}, {
|
|
721
|
+
thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
722
|
+
modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
721
723
|
enabled?: boolean | undefined;
|
|
722
724
|
baselinePath?: string | undefined;
|
|
723
|
-
thresholds?: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
724
|
-
modules?: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
725
725
|
}>>;
|
|
726
726
|
/** Skill loading, suggestion, and tier override settings */
|
|
727
727
|
skills: z.ZodOptional<z.ZodObject<{
|
|
@@ -900,10 +900,10 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
900
900
|
dismissed: string[];
|
|
901
901
|
} | undefined;
|
|
902
902
|
architecture?: {
|
|
903
|
+
thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
904
|
+
modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
903
905
|
enabled: boolean;
|
|
904
906
|
baselinePath: string;
|
|
905
|
-
thresholds: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
906
|
-
modules: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
907
907
|
} | undefined;
|
|
908
908
|
roadmap?: {
|
|
909
909
|
tracker?: {
|
|
@@ -1029,10 +1029,10 @@ declare const HarnessConfigSchema: z.ZodObject<{
|
|
|
1029
1029
|
dismissed?: string[] | undefined;
|
|
1030
1030
|
} | undefined;
|
|
1031
1031
|
architecture?: {
|
|
1032
|
+
thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
1033
|
+
modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
1032
1034
|
enabled?: boolean | undefined;
|
|
1033
1035
|
baselinePath?: string | undefined;
|
|
1034
|
-
thresholds?: Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
1035
|
-
modules?: Record<string, Partial<Record<"circular-deps" | "layer-violations" | "complexity" | "coupling" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
1036
1036
|
} | undefined;
|
|
1037
1037
|
roadmap?: {
|
|
1038
1038
|
tracker?: {
|
|
@@ -1504,6 +1504,8 @@ type ToolDefinition = {
|
|
|
1504
1504
|
name: string;
|
|
1505
1505
|
description: string;
|
|
1506
1506
|
inputSchema: Record<string, unknown>;
|
|
1507
|
+
/** When true, output scanning is skipped for this tool (internal content, not external). */
|
|
1508
|
+
trustedOutput?: boolean;
|
|
1507
1509
|
};
|
|
1508
1510
|
declare function getToolDefinitions(): ToolDefinition[];
|
|
1509
1511
|
declare function createHarnessServer(projectRoot?: string, toolFilter?: string[]): Server;
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
runScan,
|
|
13
13
|
runUninstall,
|
|
14
14
|
runUninstallConstraints
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UEKQ5G3V.js";
|
|
16
16
|
import {
|
|
17
17
|
generateCIWorkflow
|
|
18
18
|
} from "./chunk-SD3SQOZ2.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
OutputFormatter,
|
|
21
21
|
OutputMode,
|
|
22
22
|
runCheckPhaseGate
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-7G2ZUTZA.js";
|
|
24
24
|
import {
|
|
25
25
|
AGENT_DESCRIPTIONS,
|
|
26
26
|
DEFAULT_TOOLS,
|
|
@@ -63,23 +63,23 @@ import {
|
|
|
63
63
|
generateSlashCommands,
|
|
64
64
|
getToolDefinitions,
|
|
65
65
|
startServer
|
|
66
|
-
} from "./chunk-
|
|
67
|
-
import "./chunk-
|
|
68
|
-
import "./chunk-
|
|
69
|
-
import "./chunk-
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
66
|
+
} from "./chunk-TMSGI27F.js";
|
|
67
|
+
import "./chunk-WXI5ONCU.js";
|
|
68
|
+
import "./chunk-UVJFBKCX.js";
|
|
69
|
+
import "./chunk-6GEYPBDU.js";
|
|
70
|
+
import "./chunk-H6LXAH66.js";
|
|
71
|
+
import "./chunk-L6LTNZQZ.js";
|
|
72
72
|
import "./chunk-CJDVBBPB.js";
|
|
73
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-SPUK5W4W.js";
|
|
74
74
|
import "./chunk-CZZXE6BL.js";
|
|
75
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-HUDEBSR2.js";
|
|
76
76
|
import "./chunk-H7Y5CKTM.js";
|
|
77
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-YF5ROTWR.js";
|
|
78
78
|
import {
|
|
79
79
|
findConfigFile,
|
|
80
80
|
loadConfig,
|
|
81
81
|
resolveConfig
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-SZ5TGZMI.js";
|
|
83
83
|
import "./chunk-IDZNPTYD.js";
|
|
84
84
|
import "./chunk-W6Y7ZW3Y.js";
|
|
85
85
|
import "./chunk-N5G5QMS3.js";
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
import {
|
|
97
97
|
TemplateEngine
|
|
98
98
|
} from "./chunk-YLN34N65.js";
|
|
99
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-YZYBQZVL.js";
|
|
100
100
|
import "./chunk-ERS5EVUZ.js";
|
|
101
101
|
export {
|
|
102
102
|
AGENT_DESCRIPTIONS,
|
|
@@ -2,21 +2,21 @@ import {
|
|
|
2
2
|
createHarnessServer,
|
|
3
3
|
getToolDefinitions,
|
|
4
4
|
startServer
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-TMSGI27F.js";
|
|
6
|
+
import "./chunk-WXI5ONCU.js";
|
|
7
|
+
import "./chunk-UVJFBKCX.js";
|
|
8
|
+
import "./chunk-6GEYPBDU.js";
|
|
9
|
+
import "./chunk-H6LXAH66.js";
|
|
10
|
+
import "./chunk-L6LTNZQZ.js";
|
|
11
11
|
import "./chunk-CJDVBBPB.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-SPUK5W4W.js";
|
|
13
13
|
import "./chunk-CZZXE6BL.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-HUDEBSR2.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveProjectConfig
|
|
17
17
|
} from "./chunk-H7Y5CKTM.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-YF5ROTWR.js";
|
|
19
|
+
import "./chunk-SZ5TGZMI.js";
|
|
20
20
|
import {
|
|
21
21
|
resultToMcpResponse
|
|
22
22
|
} from "./chunk-IDZNPTYD.js";
|
|
@@ -24,7 +24,7 @@ import "./chunk-W6Y7ZW3Y.js";
|
|
|
24
24
|
import "./chunk-N5G5QMS3.js";
|
|
25
25
|
import "./chunk-3WGJMBKH.js";
|
|
26
26
|
import "./chunk-HKUX2X7O.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-YZYBQZVL.js";
|
|
28
28
|
import "./chunk-ERS5EVUZ.js";
|
|
29
29
|
export {
|
|
30
30
|
createHarnessServer,
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
handleGetPerfBaselines,
|
|
8
8
|
handleUpdatePerfBaselines,
|
|
9
9
|
updatePerfBaselinesDefinition
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-UVJFBKCX.js";
|
|
11
|
+
import "./chunk-SZ5TGZMI.js";
|
|
12
12
|
import "./chunk-IDZNPTYD.js";
|
|
13
13
|
import "./chunk-W6Y7ZW3Y.js";
|
|
14
14
|
import "./chunk-3WGJMBKH.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-YZYBQZVL.js";
|
|
16
16
|
import "./chunk-ERS5EVUZ.js";
|
|
17
17
|
export {
|
|
18
18
|
checkPerformanceDefinition,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handleValidateProject,
|
|
3
3
|
validateToolDefinition
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SPUK5W4W.js";
|
|
5
5
|
import "./chunk-H7Y5CKTM.js";
|
|
6
6
|
import "./chunk-W6Y7ZW3Y.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-YZYBQZVL.js";
|
|
8
8
|
import "./chunk-ERS5EVUZ.js";
|
|
9
9
|
export {
|
|
10
10
|
handleValidateProject,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harness-engineering/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"description": "CLI for Harness Engineering toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"web-tree-sitter": "^0.24.7",
|
|
38
38
|
"yaml": "^2.8.3",
|
|
39
39
|
"zod": "^3.25.76",
|
|
40
|
-
"@harness-engineering/core": "0.19.0",
|
|
41
40
|
"@harness-engineering/graph": "0.3.5",
|
|
42
41
|
"@harness-engineering/linter-gen": "0.1.4",
|
|
43
|
-
"@harness-engineering/
|
|
44
|
-
"@harness-engineering/orchestrator": "0.2.5"
|
|
42
|
+
"@harness-engineering/core": "0.19.0",
|
|
43
|
+
"@harness-engineering/orchestrator": "0.2.5",
|
|
44
|
+
"@harness-engineering/types": "0.8.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^22.19.15",
|