@harness-engineering/cli 2.7.0 → 2.7.1
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/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/codex/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/cursor/naming-craft/SKILL.md +74 -2
- package/dist/agents/skills/gemini-cli/naming-craft/SKILL.md +74 -2
- package/dist/{agents-md-267R2NUJ.js → agents-md-FKMKH6ZF.js} +3 -3
- package/dist/{analyzer-VY6DJVOU-WYKV3TTW.js → analyzer-H3AHBFSL-KPOPJYRB.js} +7 -7
- package/dist/{architecture-ZTEHGIHD.js → architecture-LUR2I67H.js} +4 -4
- package/dist/{assess-project-OKDW3YSK.js → assess-project-OJWECOP2.js} +1 -1
- package/dist/bin/harness-mcp.js +14 -14
- package/dist/bin/harness.js +23 -23
- package/dist/{check-phase-gate-YJWFDW66.js → check-phase-gate-HS5KYLRO.js} +4 -4
- package/dist/{chunk-MQG7FHXX.js → chunk-7AF6C5GE.js} +3 -3
- package/dist/{chunk-4EGPFB7V.js → chunk-7PLIWP7U.js} +961 -256
- package/dist/{chunk-WOXR6I3R.js → chunk-B2VAYLYI.js} +1 -1
- package/dist/{chunk-67RP7MLR.js → chunk-CZPOPMMI.js} +2 -2
- package/dist/{chunk-OLTVDPA2.js → chunk-FC4JPM6W.js} +2 -2
- package/dist/{chunk-CXAHK5PJ.js → chunk-FEKBXX2J.js} +6 -6
- package/dist/{chunk-B4OLYXZ4.js → chunk-FXZI6NJ2.js} +39 -4
- package/dist/{chunk-6T5AYG5S.js → chunk-GGSNWH7P.js} +2 -2
- package/dist/{chunk-ZKA3TGYS.js → chunk-INBTDBV2.js} +1 -1
- package/dist/{chunk-HMMSWRWR.js → chunk-KN3EMDZ5.js} +2 -2
- package/dist/{chunk-OQE6ME2Z.js → chunk-LECXPXS3.js} +1 -1
- package/dist/{chunk-HLPY3RHE.js → chunk-LGYXR2KZ.js} +799 -515
- package/dist/{chunk-QUPC37UB.js → chunk-LYIPI2SJ.js} +3 -3
- package/dist/{chunk-S7GEONXL.js → chunk-N5NSSLMU.js} +1 -1
- package/dist/{chunk-P7EO7USC.js → chunk-NIVWM7OW.js} +5 -5
- package/dist/{chunk-PARV3G2F.js → chunk-O2ASYKA6.js} +1 -1
- package/dist/{chunk-XTIPZUPR.js → chunk-PTHX545Q.js} +1 -1
- package/dist/{chunk-B3B64OPD.js → chunk-RJ2WEES5.js} +1 -1
- package/dist/{chunk-TIZ3L6CU.js → chunk-VI4IS55S.js} +6 -6
- package/dist/{chunk-VG6UK6G6.js → chunk-VSIRUZQP.js} +1 -1
- package/dist/{chunk-IY2TZLY5.js → chunk-WZY5U6NS.js} +4 -4
- package/dist/{chunk-W3PDVZ4I.js → chunk-Y4T6ENKQ.js} +8 -8
- package/dist/{chunk-Z2GUITAS.js → chunk-Z3TMCCZB.js} +3 -3
- package/dist/{ci-workflow-YGTQTNVC.js → ci-workflow-MDSTHJOY.js} +3 -3
- package/dist/{dist-XIJWWQ5N.js → dist-72ID44UE.js} +2 -2
- package/dist/{docs-KCTLXK2G.js → docs-2RFOJ6XY.js} +4 -4
- package/dist/{engine-J64WPH5K.js → engine-BSFKOGPN.js} +3 -3
- package/dist/{entropy-M27JUL3V.js → entropy-3UX6644G.js} +3 -3
- package/dist/{feedback-W25QO3OL.js → feedback-CVCFYND4.js} +1 -1
- package/dist/{generate-agent-definitions-RNMU5U5R.js → generate-agent-definitions-HZ3XENWO.js} +4 -4
- package/dist/index.d.ts +425 -6
- package/dist/index.js +23 -23
- package/dist/{loader-HZKJ5ABV.js → loader-6RHWU5FH.js} +3 -3
- package/dist/{mcp-NEAPIDTT.js → mcp-OYR26JDI.js} +14 -14
- package/dist/{performance-3AVQUDRG.js → performance-JJMIRXCH.js} +4 -4
- package/dist/{review-pipeline-KA7SGUXJ.js → review-pipeline-BHQZIXWZ.js} +3 -3
- package/dist/{runtime-IP6FVV5M.js → runtime-DALTAVTN.js} +3 -3
- package/dist/{security-EAR4FJWI.js → security-RMLMYFPB.js} +1 -1
- package/dist/{validate-EVH3UXIC.js → validate-R7DZRDFK.js} +4 -4
- package/dist/{validate-cross-check-SNE3SQOB.js → validate-cross-check-AUUZFNVL.js} +3 -3
- package/package.json +4 -4
|
@@ -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-72ID44UE.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-72ID44UE.js");
|
|
118
118
|
const projectRoot = sanitizePath(input.path);
|
|
119
119
|
const manager = new core.SecurityTimelineManager(projectRoot);
|
|
120
120
|
const trendOptions = {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FXZI6NJ2.js";
|
|
4
4
|
import {
|
|
5
5
|
logger
|
|
6
6
|
} from "./chunk-EBJQ6N4M.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-3WGJMBKH.js";
|
|
10
10
|
import {
|
|
11
11
|
init_dist
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WZY5U6NS.js";
|
|
13
13
|
import {
|
|
14
14
|
Ok
|
|
15
15
|
} from "./chunk-OH3NXXUY.js";
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-FXZI6NJ2.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WZY5U6NS.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
16
|
} from "./chunk-OH3NXXUY.js";
|
|
@@ -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-72ID44UE.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-72ID44UE.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-72ID44UE.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-72ID44UE.js");
|
|
180
180
|
const resolver = new CriticalPathResolver(sanitizePath(input.path));
|
|
181
181
|
const result = await resolver.resolve();
|
|
182
182
|
return resultToMcpResponse(Ok(result));
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-3WGJMBKH.js";
|
|
8
8
|
import {
|
|
9
9
|
init_dist as init_dist2
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WZY5U6NS.js";
|
|
11
11
|
import {
|
|
12
12
|
Err,
|
|
13
13
|
Ok
|
|
@@ -29,6 +29,7 @@ import * as path from "path";
|
|
|
29
29
|
init_dist2();
|
|
30
30
|
init_dist();
|
|
31
31
|
import { z } from "zod";
|
|
32
|
+
import { BackendDefSchema, RoutingConfigSchema } from "@harness-engineering/orchestrator";
|
|
32
33
|
var LayerSchema = z.object({
|
|
33
34
|
/** Human-readable name of the layer */
|
|
34
35
|
name: z.string(),
|
|
@@ -55,7 +56,21 @@ var AgentConfigSchema = z.object({
|
|
|
55
56
|
/** Maximum execution time in milliseconds */
|
|
56
57
|
timeout: z.number().default(3e5),
|
|
57
58
|
/** Optional list of skill IDs pre-authorized for the agent */
|
|
58
|
-
skills: z.array(z.string()).optional()
|
|
59
|
+
skills: z.array(z.string()).optional(),
|
|
60
|
+
/**
|
|
61
|
+
* Named backend definitions (Spec 2 — multi-backend routing).
|
|
62
|
+
*
|
|
63
|
+
* Each entry maps a backend name (chosen by the project) to a backend
|
|
64
|
+
* type plus its connection details (model, endpoint, apiKey, etc.).
|
|
65
|
+
* Referenced from `craft.llm.backend`, from orchestrator routing rules,
|
|
66
|
+
* and from any future subsystem that needs a configured LLM backend.
|
|
67
|
+
*
|
|
68
|
+
* Schema is re-exported from @harness-engineering/orchestrator so this
|
|
69
|
+
* file and the orchestrator runtime validate against the same source.
|
|
70
|
+
*/
|
|
71
|
+
backends: z.record(z.string(), BackendDefSchema).optional(),
|
|
72
|
+
/** Routing rules for orchestrator agent dispatch. */
|
|
73
|
+
routing: RoutingConfigSchema.optional()
|
|
59
74
|
});
|
|
60
75
|
var EntropyConfigSchema = z.object({
|
|
61
76
|
/** Explicit entry points for reachability analysis (overrides auto-detection) */
|
|
@@ -351,6 +366,24 @@ var ComplianceConfigSchema = z.object({
|
|
|
351
366
|
/** Branch naming convention settings */
|
|
352
367
|
branching: BranchingConfigSchema.default({})
|
|
353
368
|
});
|
|
369
|
+
var CraftConfigSchema = z.object({
|
|
370
|
+
llm: z.object({
|
|
371
|
+
/**
|
|
372
|
+
* Name of an entry in `agent.backends` to route craft LLM calls
|
|
373
|
+
* through. Supported backend types: claude, anthropic, openai,
|
|
374
|
+
* local, pi, mock. (gemini is declared in agent.backends but is
|
|
375
|
+
* not yet wired through the craft adapter.)
|
|
376
|
+
*/
|
|
377
|
+
backend: z.string().optional(),
|
|
378
|
+
/**
|
|
379
|
+
* Special-case mode that doesn't correspond to a backend def.
|
|
380
|
+
* - `in-session` — defer prompts to the calling chat session
|
|
381
|
+
* via the two-step MCP flow (collect → finalize).
|
|
382
|
+
* - `mock` — deterministic mock provider, for tests / smoke runs.
|
|
383
|
+
*/
|
|
384
|
+
mode: z.enum(["in-session", "mock"]).optional()
|
|
385
|
+
}).optional()
|
|
386
|
+
});
|
|
354
387
|
var HarnessConfigSchema = z.object({
|
|
355
388
|
/** Configuration schema version */
|
|
356
389
|
version: z.literal(1),
|
|
@@ -402,6 +435,8 @@ var HarnessConfigSchema = z.object({
|
|
|
402
435
|
phaseGates: PhaseGatesConfigSchema.optional(),
|
|
403
436
|
/** Design system consistency settings */
|
|
404
437
|
design: DesignConfigSchema.optional(),
|
|
438
|
+
/** Shared configuration for craft-pipeline ceiling skills (LLM-judgment) */
|
|
439
|
+
craft: CraftConfigSchema.optional(),
|
|
405
440
|
/** Internationalization (i18n) settings */
|
|
406
441
|
i18n: I18nConfigSchema.optional(),
|
|
407
442
|
/** Code review settings */
|
|
@@ -453,7 +488,7 @@ var HarnessConfigSchema = z.object({
|
|
|
453
488
|
connectors: z.record(z.string(), z.record(z.string(), z.unknown())).default({})
|
|
454
489
|
}).optional(),
|
|
455
490
|
/**
|
|
456
|
-
*
|
|
491
|
+
* Disk-hygiene rules consumed by `harness cleanup-sessions --all`.
|
|
457
492
|
* Keys correspond to registered target names (sessions, cache, maintenance,
|
|
458
493
|
* dashboard-state, snapshots, analyzer-output); values override the default
|
|
459
494
|
* TTL in hours. Unknown keys are ignored (forward-compatible).
|
|
@@ -462,7 +497,7 @@ var HarnessConfigSchema = z.object({
|
|
|
462
497
|
ttlHours: z.record(z.string(), z.number().positive()).optional()
|
|
463
498
|
}).optional(),
|
|
464
499
|
/**
|
|
465
|
-
*
|
|
500
|
+
* Pre-launch OSV malware guard configuration.
|
|
466
501
|
* `enabled: false` disables the guard; `strict: true` reverses the default
|
|
467
502
|
* fail-open posture on OSV.dev network errors.
|
|
468
503
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveProjectConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VSIRUZQP.js";
|
|
4
4
|
import {
|
|
5
5
|
resultToMcpResponse
|
|
6
6
|
} from "./chunk-RC3OI5NK.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-72ID44UE.js");
|
|
42
42
|
const config = configResult.value;
|
|
43
43
|
const rawLayers = Array.isArray(config.layers) ? config.layers : [];
|
|
44
44
|
const layers = rawLayers.map((l) => ({
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
init_dist,
|
|
6
6
|
paginate
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WZY5U6NS.js";
|
|
8
8
|
|
|
9
9
|
// src/mcp/tools/review-pipeline.ts
|
|
10
10
|
init_dist();
|
|
@@ -79,7 +79,7 @@ var runCodeReviewDefinition = {
|
|
|
79
79
|
};
|
|
80
80
|
async function handleRunCodeReview(input) {
|
|
81
81
|
try {
|
|
82
|
-
const { parseDiff, runReviewPipeline } = await import("./dist-
|
|
82
|
+
const { parseDiff, runReviewPipeline } = await import("./dist-72ID44UE.js");
|
|
83
83
|
const parseResult = parseDiff(input.diff);
|
|
84
84
|
if (!parseResult.ok) {
|
|
85
85
|
return {
|