@harness-engineering/cli 4.0.1 → 4.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.
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/claude-code/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/claude-code/pre-merge-brief/skill.yaml +67 -0
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/codex/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/codex/pre-merge-brief/skill.yaml +67 -0
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/cursor/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/cursor/pre-merge-brief/skill.yaml +67 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +9 -8
- package/dist/agents/skills/gemini-cli/pre-merge-brief/SKILL.md +86 -0
- package/dist/agents/skills/gemini-cli/pre-merge-brief/skill.yaml +67 -0
- package/dist/{agents-md-VJLYEH2S.js → agents-md-7L4PKKOM.js} +3 -3
- package/dist/analyzer-XRCV63KC-HLTEIKAJ.js +26 -0
- package/dist/{architecture-YQH2NYXY.js → architecture-RCHFDI7E.js} +4 -4
- package/dist/{assess-project-KOTAPAHD.js → assess-project-YUDPNRS6.js} +5 -3
- package/dist/bin/harness-mcp.js +14 -14
- package/dist/bin/harness.js +24 -24
- package/dist/{check-phase-gate-CHU2E3OU.js → check-phase-gate-56GS3A72.js} +4 -4
- package/dist/{chunk-JPVOI7GP.js → chunk-4SKWGVYD.js} +2 -2
- package/dist/{chunk-GHBFNLV2.js → chunk-ABRYIEWJ.js} +923 -614
- package/dist/{chunk-36GQREOE.js → chunk-AU4YPEIE.js} +3 -3
- package/dist/{chunk-OQ6KOQEV.js → chunk-DGVT4DBI.js} +3 -3
- package/dist/{chunk-I3CGCZJF.js → chunk-GLHLXTKC.js} +5 -5
- package/dist/{chunk-4VXFZSYF.js → chunk-GSYBGOY3.js} +1 -1
- package/dist/{chunk-UWVMJEUJ.js → chunk-IGWJRAJT.js} +1 -1
- package/dist/{chunk-YANR2RL7.js → chunk-N4AI2WFH.js} +1 -1
- package/dist/{chunk-5RSXUAMN.js → chunk-NCMJXBEO.js} +1 -1
- package/dist/{chunk-SEA2PFVI.js → chunk-OZSKLJQW.js} +1 -1
- package/dist/{chunk-AX5KGRM6.js → chunk-P4NA5OQX.js} +1 -1
- package/dist/{chunk-7PJCK7UE.js → chunk-RY2U77OY.js} +6 -6
- package/dist/{chunk-6SCYTIF4.js → chunk-RZQZXWEL.js} +32 -7
- package/dist/{chunk-MMLQPHZ5.js → chunk-UACYZCW4.js} +31 -13
- package/dist/{chunk-T746REAE.js → chunk-VG4G3R2V.js} +1 -1
- package/dist/{chunk-7TIJXWG3.js → chunk-XW5XVVMI.js} +2 -2
- package/dist/{chunk-E5EW5HVJ.js → chunk-XZNCONFG.js} +1 -1
- package/dist/{chunk-SDMV4QHM.js → chunk-Y33P35U3.js} +24 -6
- package/dist/{chunk-XAVMTAUT.js → chunk-Y5HPJMTM.js} +18 -2
- package/dist/{chunk-6YFHUIGT.js → chunk-YJYUJSWK.js} +58 -20
- package/dist/{chunk-AAUY53CC.js → chunk-YWRPQZL7.js} +1 -1
- package/dist/{chunk-M7F2PPN3.js → chunk-YXOPQEFZ.js} +2 -2
- package/dist/{chunk-RG3TNIUB.js → chunk-Z4XWWNYX.js} +86 -86
- package/dist/{chunk-EYMOPFSD.js → chunk-ZU6T7W3U.js} +2 -2
- package/dist/{ci-workflow-HO4WKGNG.js → ci-workflow-TFAA5BK7.js} +3 -3
- package/dist/{dist-6D2F2J57.js → dist-MCTEX5QH.js} +4 -2
- package/dist/{docs-FP47JONV.js → docs-BBMAN3CY.js} +4 -4
- package/dist/{engine-YUA6IYOG.js → engine-R2YH74AL.js} +3 -3
- package/dist/{entropy-DBW2INZU.js → entropy-5UP5N6AF.js} +6 -3
- package/dist/{feedback-BPHADTRQ.js → feedback-6MDCCFZL.js} +1 -1
- package/dist/{generate-agent-definitions-KPVGBGDY.js → generate-agent-definitions-KKAN5DB5.js} +4 -4
- package/dist/hooks/sentinel-pre.js +15 -138
- package/dist/index.d.ts +61 -0
- package/dist/index.js +24 -24
- package/dist/{loader-QOJQ6NZM.js → loader-2WT2ZE2T.js} +3 -3
- package/dist/{mcp-ZPX6O767.js → mcp-5V4LPMB3.js} +14 -14
- package/dist/{performance-FXYTGJGQ.js → performance-2N3CFXLR.js} +4 -4
- package/dist/{review-pipeline-2TFQ5OAE.js → review-pipeline-XZIGBU3Q.js} +3 -3
- package/dist/{runtime-XK6ZCHKE.js → runtime-POME3GTR.js} +3 -3
- package/dist/{security-4W2P5ZGI.js → security-QLJLMSIW.js} +1 -1
- package/dist/{state-events-ECQAIZLU.js → state-events-YY5KBZTC.js} +3 -3
- package/dist/{validate-64KTEGIE.js → validate-VZORVK43.js} +4 -4
- package/dist/{validate-cross-check-J5PVGICB.js → validate-cross-check-OYKEDCST.js} +3 -3
- package/package.json +5 -4
- package/dist/analyzer-V633GUHY-OV335HGM.js +0 -26
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
__esm
|
|
13
13
|
} from "./chunk-KFQGP6VL.js";
|
|
14
14
|
|
|
15
|
-
// ../core/dist/chunk-
|
|
15
|
+
// ../core/dist/chunk-JZ7UO3OF.mjs
|
|
16
16
|
import { parse } from "@typescript-eslint/typescript-estree";
|
|
17
17
|
import { access, constants, readFile } from "fs";
|
|
18
18
|
import { promisify } from "util";
|
|
@@ -1021,18 +1021,57 @@ function extractPythonFromImport(child) {
|
|
|
1021
1021
|
kind: "value"
|
|
1022
1022
|
};
|
|
1023
1023
|
}
|
|
1024
|
-
function
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
return { name: left.text, type: "named", location: makeLocation2(child), isReExport: false };
|
|
1032
|
-
}
|
|
1024
|
+
function makePythonExport(name, node) {
|
|
1025
|
+
return { name, type: "named", location: makeLocation2(node), isReExport: false };
|
|
1026
|
+
}
|
|
1027
|
+
function pythonAssignmentName(assignment) {
|
|
1028
|
+
const left = assignment.childForFieldName("left") ?? assignment.children[0];
|
|
1029
|
+
if (left && left.type === "identifier" && !left.text.startsWith("_")) {
|
|
1030
|
+
return left.text;
|
|
1033
1031
|
}
|
|
1034
1032
|
return null;
|
|
1035
1033
|
}
|
|
1034
|
+
function unwrapPythonDefinition(node) {
|
|
1035
|
+
return node.childForFieldName("definition") ?? node.namedChildren.find(
|
|
1036
|
+
(c) => c.type === "function_definition" || c.type === "class_definition"
|
|
1037
|
+
) ?? null;
|
|
1038
|
+
}
|
|
1039
|
+
function publicPythonDefName(node) {
|
|
1040
|
+
const name = node.childForFieldName("name");
|
|
1041
|
+
return name && !name.text.startsWith("_") ? name.text : null;
|
|
1042
|
+
}
|
|
1043
|
+
function collectExpressionStatementExports(node, out) {
|
|
1044
|
+
for (const child of node.namedChildren) {
|
|
1045
|
+
if (child.type !== "assignment") continue;
|
|
1046
|
+
const name = pythonAssignmentName(child);
|
|
1047
|
+
if (name) out.push(makePythonExport(name, child));
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
function collectClassExports(node, out, descendIntoClass) {
|
|
1051
|
+
const name = publicPythonDefName(node);
|
|
1052
|
+
if (name) out.push(makePythonExport(name, node));
|
|
1053
|
+
const body = descendIntoClass ? node.childForFieldName("body") : null;
|
|
1054
|
+
if (!body) return;
|
|
1055
|
+
for (const member of body.namedChildren) {
|
|
1056
|
+
collectPythonExports(member, out, false);
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
function collectPythonExports(node, out, descendIntoClass) {
|
|
1060
|
+
if (node.type === "decorated_definition") {
|
|
1061
|
+
const def = unwrapPythonDefinition(node);
|
|
1062
|
+
if (def) collectPythonExports(def, out, descendIntoClass);
|
|
1063
|
+
} else if (node.type === "expression_statement") {
|
|
1064
|
+
collectExpressionStatementExports(node, out);
|
|
1065
|
+
} else if (node.type === "function_definition") {
|
|
1066
|
+
const name = publicPythonDefName(node);
|
|
1067
|
+
if (name) out.push(makePythonExport(name, node));
|
|
1068
|
+
} else if (node.type === "class_definition") {
|
|
1069
|
+
collectClassExports(node, out, descendIntoClass);
|
|
1070
|
+
} else if (node.type === "assignment") {
|
|
1071
|
+
const name = pythonAssignmentName(node);
|
|
1072
|
+
if (name) out.push(makePythonExport(name, node));
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1036
1075
|
function extractGoImportPath(spec) {
|
|
1037
1076
|
const pathNode = spec.childForFieldName("path") ?? spec.children.find((c) => c.type === "interpreted_string_literal");
|
|
1038
1077
|
return pathNode ? pathNode.text.replace(/"/g, "") : null;
|
|
@@ -1108,8 +1147,8 @@ function getDefaultRegistry() {
|
|
|
1108
1147
|
return registry;
|
|
1109
1148
|
}
|
|
1110
1149
|
var accessAsync, readFileAsync, DEFAULT_FIND_FILES_IGNORE, TypeScriptParser, EXTENSION_MAP, parserCache, initialized, GRAMMAR_MAP, TOP_LEVEL_TYPES, METHOD_TYPES, IDENTIFIER_TYPES, NAME_EXTRACTORS, EXTENSION_BY_LANG, JS_EXT_FALLBACKS, DEFAULT_THRESHOLDS, FUNCTION_PATTERNS, DECISION_PATTERNS, DEFAULT_THRESHOLDS2, pythonStrategy, goStrategy, RUST_USE_ARG_TYPES, RUST_PUB_ITEM_TYPES, rustStrategy, JAVA_IMPORT_TYPES, JAVA_EXPORT_TYPES, javaStrategy, STRATEGIES, TreeSitterParser, ParserRegistry, defaultRegistry;
|
|
1111
|
-
var
|
|
1112
|
-
"../core/dist/chunk-
|
|
1150
|
+
var init_chunk_JZ7UO3OF = __esm({
|
|
1151
|
+
"../core/dist/chunk-JZ7UO3OF.mjs"() {
|
|
1113
1152
|
"use strict";
|
|
1114
1153
|
init_dist();
|
|
1115
1154
|
accessAsync = promisify(access);
|
|
@@ -1394,8 +1433,7 @@ var init_chunk_MUWJHO2S = __esm({
|
|
|
1394
1433
|
extractExports(root) {
|
|
1395
1434
|
const exports = [];
|
|
1396
1435
|
for (const child of root.children) {
|
|
1397
|
-
|
|
1398
|
-
if (exp) exports.push(exp);
|
|
1436
|
+
collectPythonExports(child, exports, true);
|
|
1399
1437
|
}
|
|
1400
1438
|
return exports;
|
|
1401
1439
|
}
|
|
@@ -1605,7 +1643,7 @@ var init_chunk_MUWJHO2S = __esm({
|
|
|
1605
1643
|
}
|
|
1606
1644
|
});
|
|
1607
1645
|
|
|
1608
|
-
// ../core/dist/chunk-
|
|
1646
|
+
// ../core/dist/chunk-IHRT6II2.mjs
|
|
1609
1647
|
import { resolve as resolve2 } from "path";
|
|
1610
1648
|
import { minimatch as minimatch2 } from "minimatch";
|
|
1611
1649
|
import { join, resolve as resolve3 } from "path";
|
|
@@ -3062,10 +3100,10 @@ function generateSuggestions(deadCode, drift, patterns) {
|
|
|
3062
3100
|
};
|
|
3063
3101
|
}
|
|
3064
3102
|
var TS_HINTS, TS_CONVENTIONS, PYTHON_HINTS, PYTHON_CONVENTIONS, DEFAULT_INCLUDE_PATTERNS, BCP47_LOCALE_RE, FILE_REFERENCE_RE, CODE_BLOCK_LANGUAGES, DEFAULT_FORWARD_LOOKING_PATHS, DEFAULT_DRIFT_CONFIG, JS_EXT_FALLBACKS2, FILE_TYPES, EXPORT_TYPES, CONVENTION_DESCRIPTIONS, RULE_CHECKERS, EntropyAnalyzer;
|
|
3065
|
-
var
|
|
3066
|
-
"../core/dist/chunk-
|
|
3103
|
+
var init_chunk_IHRT6II2 = __esm({
|
|
3104
|
+
"../core/dist/chunk-IHRT6II2.mjs"() {
|
|
3067
3105
|
"use strict";
|
|
3068
|
-
|
|
3106
|
+
init_chunk_JZ7UO3OF();
|
|
3069
3107
|
init_dist2();
|
|
3070
3108
|
init_dist2();
|
|
3071
3109
|
TS_HINTS = ['Add "exports" or "main" to package.json', "Create src/index.ts"];
|
|
@@ -3393,7 +3431,7 @@ export {
|
|
|
3393
3431
|
detectComplexityViolations,
|
|
3394
3432
|
detectCouplingViolations,
|
|
3395
3433
|
getDefaultRegistry,
|
|
3396
|
-
|
|
3434
|
+
init_chunk_JZ7UO3OF,
|
|
3397
3435
|
buildSnapshot,
|
|
3398
3436
|
detectDocDrift,
|
|
3399
3437
|
detectDeadCode,
|
|
@@ -3402,5 +3440,5 @@ export {
|
|
|
3402
3440
|
detectSizeBudgetViolations,
|
|
3403
3441
|
generateSuggestions,
|
|
3404
3442
|
EntropyAnalyzer,
|
|
3405
|
-
|
|
3443
|
+
init_chunk_IHRT6II2
|
|
3406
3444
|
};
|
|
@@ -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-MCTEX5QH.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-MCTEX5QH.js");
|
|
118
118
|
const projectRoot = sanitizePath(input.path);
|
|
119
119
|
const manager = new core.SecurityTimelineManager(projectRoot);
|
|
120
120
|
const trendOptions = {};
|