@harness-engineering/cli 2.8.0 → 3.0.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/harness-audit-harness-strength/SKILL.md +188 -0
- package/dist/agents/skills/claude-code/harness-audit-harness-strength/skill.yaml +54 -0
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +28 -14
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-git-workflow/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-ideate/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-knowledge-pipeline/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-roadmap/SKILL.md +62 -4
- package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +2 -0
- package/dist/agents/skills/claude-code/harness-test-advisor/SKILL.md +80 -2
- package/dist/agents/skills/claude-code/harness-test-advisor/skill.yaml +4 -1
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +27 -25
- package/dist/agents/skills/claude-code/initialize-harness-project/skill.yaml +1 -0
- package/dist/agents/skills/claude-code/outcome-eval/SKILL.md +97 -0
- package/dist/agents/skills/claude-code/outcome-eval/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-audit-harness-strength/SKILL.md +188 -0
- package/dist/agents/skills/codex/harness-audit-harness-strength/skill.yaml +54 -0
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +28 -14
- package/dist/agents/skills/codex/harness-execution/SKILL.md +1 -1
- package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-ideate/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-roadmap/SKILL.md +62 -4
- package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +2 -0
- package/dist/agents/skills/codex/harness-test-advisor/SKILL.md +80 -2
- package/dist/agents/skills/codex/harness-test-advisor/skill.yaml +4 -1
- package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +27 -25
- package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +1 -0
- package/dist/agents/skills/codex/outcome-eval/SKILL.md +97 -0
- package/dist/agents/skills/codex/outcome-eval/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-audit-harness-strength/SKILL.md +188 -0
- package/dist/agents/skills/cursor/harness-audit-harness-strength/skill.yaml +54 -0
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +28 -14
- package/dist/agents/skills/cursor/harness-execution/SKILL.md +1 -1
- package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-ideate/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +62 -4
- package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +2 -0
- package/dist/agents/skills/cursor/harness-test-advisor/SKILL.md +80 -2
- package/dist/agents/skills/cursor/harness-test-advisor/skill.yaml +4 -1
- package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +27 -25
- package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +1 -0
- package/dist/agents/skills/cursor/outcome-eval/SKILL.md +97 -0
- package/dist/agents/skills/cursor/outcome-eval/skill.yaml +51 -0
- package/dist/agents/skills/gemini-cli/harness-audit-harness-strength/SKILL.md +188 -0
- package/dist/agents/skills/gemini-cli/harness-audit-harness-strength/skill.yaml +54 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +28 -14
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-git-workflow/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-ideate/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-roadmap/SKILL.md +62 -4
- package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +2 -0
- package/dist/agents/skills/gemini-cli/harness-test-advisor/SKILL.md +80 -2
- package/dist/agents/skills/gemini-cli/harness-test-advisor/skill.yaml +4 -1
- package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +27 -25
- package/dist/agents/skills/gemini-cli/initialize-harness-project/skill.yaml +1 -0
- package/dist/agents/skills/gemini-cli/outcome-eval/SKILL.md +97 -0
- package/dist/agents/skills/gemini-cli/outcome-eval/skill.yaml +51 -0
- package/dist/agents/skills/tests/harness-test-advisor.test.ts +94 -0
- package/dist/{agents-md-WMJO5HSM.js → agents-md-XOJE5ETA.js} +2 -2
- package/dist/{architecture-EVYVGPRZ.js → architecture-JEZPJ725.js} +3 -3
- package/dist/{assess-project-KZG563SO.js → assess-project-RHXOQNMM.js} +1 -1
- package/dist/bin/harness-mcp.js +13 -13
- package/dist/bin/harness.js +22 -22
- package/dist/{check-phase-gate-MK364VXS.js → check-phase-gate-GNDOMS35.js} +3 -3
- package/dist/{chunk-VBNJAKUH.js → chunk-3ISHDWO7.js} +1 -1
- package/dist/{chunk-UJFNIWC7.js → chunk-527G27VI.js} +2 -2
- package/dist/{chunk-5XL5QJ5B.js → chunk-6WQCLCBO.js} +1 -1
- package/dist/{chunk-UXPWSV3B.js → chunk-BYVT5LVO.js} +3 -3
- package/dist/{chunk-HRSE6IQD.js → chunk-DE5U6KOL.js} +1 -1
- package/dist/{chunk-B7KMTHN3.js → chunk-GGKRA7A7.js} +1 -1
- package/dist/{chunk-STESM73J.js → chunk-GSP2XIVS.js} +1 -1
- package/dist/{chunk-KBCPELBC.js → chunk-HEIMJJI4.js} +2 -2
- package/dist/{chunk-KI6PHH6Q.js → chunk-HWTUUQOW.js} +3 -3
- package/dist/{chunk-2SNRCAC3.js → chunk-KAJOS3BA.js} +2 -2
- package/dist/{chunk-C7J55C6E.js → chunk-MGUPSE6D.js} +5 -5
- package/dist/{chunk-GOHWCHCS.js → chunk-N24HCQA4.js} +2243 -776
- package/dist/{chunk-EEFRPEWT.js → chunk-NWLGL3IR.js} +1 -1
- package/dist/{chunk-UUO4K7NX.js → chunk-ONCPJGHY.js} +6 -6
- package/dist/{chunk-X4EFYVCZ.js → chunk-PC2R5RUJ.js} +1 -1
- package/dist/{chunk-7EQAZKJ5.js → chunk-QBC7DI4Q.js} +1 -1
- package/dist/{chunk-UBZQE3JN.js → chunk-UX3PQKVZ.js} +7 -2
- package/dist/{chunk-CAQPSFPT.js → chunk-WWEVS7RO.js} +453 -91
- package/dist/{chunk-4BDOSCNY.js → chunk-XFU6SB2Q.js} +1015 -648
- package/dist/{chunk-LADPYELQ.js → chunk-XX4OLNWQ.js} +2 -2
- package/dist/{chunk-FZ5MBXEG.js → chunk-YQSYCBAH.js} +6 -6
- package/dist/{chunk-ACOOG3UW.js → chunk-Z4AWEIBY.js} +3 -3
- package/dist/{ci-workflow-IW2H5DC4.js → ci-workflow-ORZ4F45F.js} +2 -2
- package/dist/{dist-JCFK263L.js → dist-LHINSVK4.js} +85 -1
- package/dist/{docs-7CP6VV42.js → docs-AU3DXFFO.js} +3 -3
- package/dist/{engine-MKJEBWU7.js → engine-6GPWOYQH.js} +2 -2
- package/dist/{entropy-6JOZJYG7.js → entropy-VLKDRMRT.js} +2 -2
- package/dist/{feedback-T65AEJEG.js → feedback-YXYY44ZC.js} +1 -1
- package/dist/{generate-agent-definitions-4VI4YTO2.js → generate-agent-definitions-XIHQPKG3.js} +3 -3
- package/dist/hooks/cost-tracker.js +29 -6
- package/dist/index.d.ts +8 -8
- package/dist/index.js +22 -22
- package/dist/{loader-AWTHHE3A.js → loader-YAN56MT3.js} +2 -2
- package/dist/{mcp-JBIBINO2.js → mcp-RK3SFVYB.js} +13 -13
- package/dist/{performance-NCOUDOMW.js → performance-64DPTLLQ.js} +3 -3
- package/dist/{review-pipeline-YIC6JPMY.js → review-pipeline-NENG6LW7.js} +2 -2
- package/dist/{runtime-5MHV4UEE.js → runtime-FFIIRT2T.js} +2 -2
- package/dist/{security-VZPJNIDP.js → security-3PIBN35B.js} +1 -1
- package/dist/templates/basic/harness.config.json.hbs +34 -0
- package/dist/templates/ci/README.md +86 -0
- package/dist/templates/ci/required-review.ruleset.json +20 -0
- package/dist/templates/ci/required-review.yml.hbs +57 -0
- package/dist/templates/ci/template.json +5 -0
- package/dist/templates/intermediate/harness.config.json.hbs +36 -0
- package/dist/templates/orchestrator/harness.orchestrator.md +9 -0
- package/dist/{tool-tiers-B7JC2XC3.js → tool-tiers-OKK5FE57.js} +2 -0
- package/dist/{validate-7BE4VTFI.js → validate-7IAF2ES3.js} +3 -3
- package/dist/{validate-cross-check-F7GEBRDH.js → validate-cross-check-QPSAOZKD.js} +2 -2
- package/package.json +7 -7
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: outcome-eval
|
|
2
|
+
version: '0.1.0'
|
|
3
|
+
description: >-
|
|
4
|
+
LLM-judgment skill that produces a structured, confidence-rated verdict on
|
|
5
|
+
whether an implementation satisfied its spec. Reads the spec's acceptance
|
|
6
|
+
section, the change diff, and test output; emits an OutcomeVerdict
|
|
7
|
+
(SATISFIED | NOT_SATISFIED | INCONCLUSIVE) with confidence, rationale, and
|
|
8
|
+
unmet criteria. Authority is derived in TypeScript, never from the LLM: a
|
|
9
|
+
high-confidence NOT_SATISFIED blocks ship; every other verdict is advisory.
|
|
10
|
+
The verdict persists as an execution_outcome node and feeds skill-effectiveness
|
|
11
|
+
baselines. The harness's first blocking post-execution spec-satisfaction gate.
|
|
12
|
+
stability: draft
|
|
13
|
+
cognitive_mode: constructive-architect
|
|
14
|
+
triggers:
|
|
15
|
+
- manual
|
|
16
|
+
- on_pr
|
|
17
|
+
platforms:
|
|
18
|
+
- claude-code
|
|
19
|
+
tools:
|
|
20
|
+
- Bash
|
|
21
|
+
- Read
|
|
22
|
+
- Glob
|
|
23
|
+
- Grep
|
|
24
|
+
mcp:
|
|
25
|
+
tool: outcome_eval
|
|
26
|
+
# specPath, diff, and testOutput are ALL required. diff/testOutput are the
|
|
27
|
+
# evidence the judge reasons over: omitting them degrades the verdict to
|
|
28
|
+
# INCONCLUSIVE/advisory (never blocking), so the agent MUST supply them.
|
|
29
|
+
input:
|
|
30
|
+
specPath: 'string (required) — absolute or repo-relative path to the spec markdown to judge against'
|
|
31
|
+
diff: 'string (required) — unified diff of the change under judgment (git diff); omission degrades the verdict to INCONCLUSIVE/advisory'
|
|
32
|
+
testOutput: 'string (required) — captured test-runner stdout+stderr; omission degrades the verdict to INCONCLUSIVE/advisory'
|
|
33
|
+
model: 'string (optional) — model override for the outcome-eval LLM call'
|
|
34
|
+
path: 'string (optional) — project root used to resolve the knowledge graph (default cwd)'
|
|
35
|
+
type: rigid
|
|
36
|
+
tier: 2
|
|
37
|
+
phases:
|
|
38
|
+
- name: gather
|
|
39
|
+
description: Collect the unified diff (git diff), capture test output, resolve the spec path
|
|
40
|
+
required: true
|
|
41
|
+
- name: resolve
|
|
42
|
+
description: Resolve the judgment section (Success Criteria -> User-Visible Behavior -> Overview)
|
|
43
|
+
required: true
|
|
44
|
+
- name: judge
|
|
45
|
+
description: Invoke OutcomeEvaluator.evaluate(); LLM returns verdict/confidence/rationale/unmetCriteria; authority derived in TS
|
|
46
|
+
required: true
|
|
47
|
+
- name: gate
|
|
48
|
+
description: Render the verdict; on a blocking verdict (NOT_SATISFIED + high confidence) halt before Ship
|
|
49
|
+
required: true
|
|
50
|
+
state:
|
|
51
|
+
persistent: false
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// agents/skills/tests/harness-test-advisor.test.ts
|
|
2
|
+
//
|
|
3
|
+
// Contract tests for the harness-test-advisor skill. Locks in the Coverage
|
|
4
|
+
// Audit mode contract from GH issue 488: skill exposes an audit entry point,
|
|
5
|
+
// SKILL.md documents the three audit phases (INVENTORY, QUALITY REVIEW,
|
|
6
|
+
// GAP REPORT), and the canary plugin agents are named as the remediation
|
|
7
|
+
// path. Generic schema/structure/parity checks live in the sibling
|
|
8
|
+
// *.test.ts files.
|
|
9
|
+
|
|
10
|
+
import { describe, it, expect } from 'vitest';
|
|
11
|
+
import { readFileSync } from 'fs';
|
|
12
|
+
import { resolve, dirname } from 'path';
|
|
13
|
+
import { fileURLToPath } from 'url';
|
|
14
|
+
import { parse } from 'yaml';
|
|
15
|
+
|
|
16
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
|
+
const SKILLS_DIR = resolve(__dirname, '..');
|
|
18
|
+
|
|
19
|
+
const SKILL_NAME = 'harness-test-advisor';
|
|
20
|
+
const PLATFORMS = ['claude-code', 'gemini-cli', 'cursor', 'codex'] as const;
|
|
21
|
+
|
|
22
|
+
function readSkillYaml(platform: string): Record<string, unknown> {
|
|
23
|
+
const path = resolve(SKILLS_DIR, platform, SKILL_NAME, 'skill.yaml');
|
|
24
|
+
return parse(readFileSync(path, 'utf-8'));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function readSkillMd(platform: string): string {
|
|
28
|
+
return readFileSync(resolve(SKILLS_DIR, platform, SKILL_NAME, 'SKILL.md'), 'utf-8');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
describe('harness-test-advisor Coverage Audit metadata', () => {
|
|
32
|
+
it.each(PLATFORMS)('%s skill.yaml exposes an audit CLI arg', (platform) => {
|
|
33
|
+
const meta = readSkillYaml(platform) as {
|
|
34
|
+
cli: { args: Array<{ name: string }> };
|
|
35
|
+
};
|
|
36
|
+
const argNames = meta.cli.args.map((a) => a.name);
|
|
37
|
+
expect(argNames).toContain('audit');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it.each(PLATFORMS)(
|
|
41
|
+
'%s skill.yaml description advertises coverage audit alongside selection',
|
|
42
|
+
(platform) => {
|
|
43
|
+
const meta = readSkillYaml(platform) as { description: string };
|
|
44
|
+
expect(meta.description).toMatch(/coverage/i);
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
describe('harness-test-advisor SKILL.md surfaces Coverage Audit mode', () => {
|
|
50
|
+
it.each(PLATFORMS)('%s SKILL.md advertises Coverage Audit in When to Use', (platform) => {
|
|
51
|
+
const body = readSkillMd(platform);
|
|
52
|
+
const whenToUse = body.split('## Prerequisites')[0] ?? '';
|
|
53
|
+
expect(whenToUse).toMatch(/Coverage Audit/);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const AUDIT_PHASES = ['INVENTORY', 'QUALITY REVIEW', 'GAP REPORT'];
|
|
57
|
+
|
|
58
|
+
it.each(PLATFORMS)('%s SKILL.md declares the three Coverage Audit phases', (platform) => {
|
|
59
|
+
const body = readSkillMd(platform);
|
|
60
|
+
for (const phase of AUDIT_PHASES) {
|
|
61
|
+
expect(body, `missing Coverage Audit phase "${phase}" in ${platform}`).toContain(phase);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
const CANARY_SKILLS = [
|
|
66
|
+
'canary:canary-review-test',
|
|
67
|
+
'canary:canary-write-test',
|
|
68
|
+
'canary:canary-pick-framework',
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
it.each(PLATFORMS)('%s SKILL.md routes audit follow-ups to canary plugin skills', (platform) => {
|
|
72
|
+
const body = readSkillMd(platform);
|
|
73
|
+
for (const skill of CANARY_SKILLS) {
|
|
74
|
+
expect(body, `missing canary skill reference "${skill}" in ${platform}`).toContain(skill);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
describe('harness-test-advisor wires the canary MCP tools (deterministic path)', () => {
|
|
80
|
+
// The audit probes the canary CLI for graceful degradation and uses the
|
|
81
|
+
// deterministic framework recommender — separate from the generative plugin path.
|
|
82
|
+
const CANARY_MCP_TOOLS = ['canary_probe', 'canary_recommend_framework'];
|
|
83
|
+
|
|
84
|
+
it.each(PLATFORMS)('%s SKILL.md declares an audit PROBE phase', (platform) => {
|
|
85
|
+
expect(readSkillMd(platform)).toMatch(/Audit Phase 0: PROBE/);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it.each(PLATFORMS)('%s SKILL.md references both canary MCP tools', (platform) => {
|
|
89
|
+
const body = readSkillMd(platform);
|
|
90
|
+
for (const tool of CANARY_MCP_TOOLS) {
|
|
91
|
+
expect(body, `missing canary MCP tool "${tool}" in ${platform}`).toContain(tool);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
checkDependenciesDefinition,
|
|
3
3
|
handleCheckDependencies
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-527G27VI.js";
|
|
5
|
+
import "./chunk-DE5U6KOL.js";
|
|
6
6
|
import "./chunk-RC3OI5NK.js";
|
|
7
7
|
import "./chunk-W6Y7ZW3Y.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-N24HCQA4.js";
|
|
9
9
|
import "./chunk-N55WOGN3.js";
|
|
10
10
|
import "./chunk-BDGTZRZ6.js";
|
|
11
11
|
import "./chunk-PP6ZRL5T.js";
|
package/dist/bin/harness-mcp.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
startServer
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-WWEVS7RO.js";
|
|
5
|
+
import "../chunk-HEIMJJI4.js";
|
|
6
|
+
import "../chunk-XX4OLNWQ.js";
|
|
7
|
+
import "../chunk-YQSYCBAH.js";
|
|
8
|
+
import "../chunk-Z4AWEIBY.js";
|
|
9
|
+
import "../chunk-ONCPJGHY.js";
|
|
10
10
|
import "../chunk-IOW3MW2K.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-BYVT5LVO.js";
|
|
12
12
|
import "../chunk-3ISINLYT.js";
|
|
13
13
|
import "../chunk-CLI4K2CH.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-HWTUUQOW.js";
|
|
15
|
+
import "../chunk-527G27VI.js";
|
|
16
|
+
import "../chunk-DE5U6KOL.js";
|
|
17
|
+
import "../chunk-MGUPSE6D.js";
|
|
18
18
|
import "../chunk-RC3OI5NK.js";
|
|
19
19
|
import "../chunk-W6Y7ZW3Y.js";
|
|
20
20
|
import "../chunk-27AJKSQY.js";
|
|
21
21
|
import "../chunk-6B6UN6SG.js";
|
|
22
22
|
import "../chunk-HIK6OEUF.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-GGKRA7A7.js";
|
|
24
24
|
import "../chunk-ZCZD7FHU.js";
|
|
25
25
|
import "../chunk-EBJQ6N4M.js";
|
|
26
26
|
import "../chunk-3WGJMBKH.js";
|
|
27
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-N24HCQA4.js";
|
|
28
28
|
import "../chunk-N55WOGN3.js";
|
|
29
29
|
import "../chunk-BDGTZRZ6.js";
|
|
30
30
|
import "../chunk-PP6ZRL5T.js";
|
package/dist/bin/harness.js
CHANGED
|
@@ -3,38 +3,38 @@ import {
|
|
|
3
3
|
createProgram,
|
|
4
4
|
installCommandTelemetry,
|
|
5
5
|
printFirstRunWelcome
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-XFU6SB2Q.js";
|
|
7
|
+
import "../chunk-6WQCLCBO.js";
|
|
8
|
+
import "../chunk-QBC7DI4Q.js";
|
|
9
|
+
import "../chunk-GSP2XIVS.js";
|
|
10
|
+
import "../chunk-3ISHDWO7.js";
|
|
11
|
+
import "../chunk-NWLGL3IR.js";
|
|
12
12
|
import "../chunk-KET4QQZB.js";
|
|
13
13
|
import "../chunk-2N4OENGE.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-UX3PQKVZ.js";
|
|
15
15
|
import "../chunk-CQ553GZO.js";
|
|
16
16
|
import "../chunk-ZP5E7YET.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-PC2R5RUJ.js";
|
|
18
18
|
import "../chunk-GISMXMVL.js";
|
|
19
19
|
import "../chunk-WWACIIBA.js";
|
|
20
20
|
import "../chunk-TEFCFC4H.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-KAJOS3BA.js";
|
|
22
22
|
import {
|
|
23
23
|
dispatchSkillsFromGit
|
|
24
|
-
} from "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
24
|
+
} from "../chunk-WWEVS7RO.js";
|
|
25
|
+
import "../chunk-HEIMJJI4.js";
|
|
26
|
+
import "../chunk-XX4OLNWQ.js";
|
|
27
|
+
import "../chunk-YQSYCBAH.js";
|
|
28
|
+
import "../chunk-Z4AWEIBY.js";
|
|
29
|
+
import "../chunk-ONCPJGHY.js";
|
|
30
30
|
import "../chunk-IOW3MW2K.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-BYVT5LVO.js";
|
|
32
32
|
import "../chunk-3ISINLYT.js";
|
|
33
33
|
import "../chunk-CLI4K2CH.js";
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
34
|
+
import "../chunk-HWTUUQOW.js";
|
|
35
|
+
import "../chunk-527G27VI.js";
|
|
36
|
+
import "../chunk-DE5U6KOL.js";
|
|
37
|
+
import "../chunk-MGUPSE6D.js";
|
|
38
38
|
import "../chunk-RC3OI5NK.js";
|
|
39
39
|
import "../chunk-W6Y7ZW3Y.js";
|
|
40
40
|
import "../chunk-27AJKSQY.js";
|
|
@@ -43,7 +43,7 @@ import "../chunk-HIK6OEUF.js";
|
|
|
43
43
|
import {
|
|
44
44
|
findConfigFile,
|
|
45
45
|
loadConfig
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-GGKRA7A7.js";
|
|
47
47
|
import "../chunk-ZCZD7FHU.js";
|
|
48
48
|
import "../chunk-EBJQ6N4M.js";
|
|
49
49
|
import {
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
readCheckState,
|
|
57
57
|
shouldRunCheck,
|
|
58
58
|
spawnBackgroundCheck
|
|
59
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-N24HCQA4.js";
|
|
60
60
|
import {
|
|
61
61
|
CLI_VERSION
|
|
62
62
|
} from "../chunk-BM3PWGXQ.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCheckPhaseGateCommand,
|
|
3
3
|
runCheckPhaseGate
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-KAJOS3BA.js";
|
|
5
|
+
import "./chunk-GGKRA7A7.js";
|
|
6
6
|
import "./chunk-ZCZD7FHU.js";
|
|
7
7
|
import "./chunk-EBJQ6N4M.js";
|
|
8
8
|
import "./chunk-3WGJMBKH.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-N24HCQA4.js";
|
|
10
10
|
import "./chunk-N55WOGN3.js";
|
|
11
11
|
import "./chunk-BDGTZRZ6.js";
|
|
12
12
|
import "./chunk-PP6ZRL5T.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveProjectConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DE5U6KOL.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-LHINSVK4.js");
|
|
42
42
|
const config = configResult.value;
|
|
43
43
|
const rawLayers = Array.isArray(config.layers) ? config.layers : [];
|
|
44
44
|
const layers = rawLayers.map((l) => ({
|
|
@@ -33,7 +33,7 @@ var createSelfReviewDefinition = {
|
|
|
33
33
|
};
|
|
34
34
|
async function handleCreateSelfReview(input) {
|
|
35
35
|
try {
|
|
36
|
-
const { parseDiff, createSelfReview } = await import("./dist-
|
|
36
|
+
const { parseDiff, createSelfReview } = await import("./dist-LHINSVK4.js");
|
|
37
37
|
const parseResult = parseDiff(input.diff);
|
|
38
38
|
if (!parseResult.ok) {
|
|
39
39
|
return resultToMcpResponse(parseResult);
|
|
@@ -119,7 +119,7 @@ var analyzeDiffDefinition = {
|
|
|
119
119
|
};
|
|
120
120
|
async function handleAnalyzeDiff(input) {
|
|
121
121
|
try {
|
|
122
|
-
const { parseDiff, analyzeDiff } = await import("./dist-
|
|
122
|
+
const { parseDiff, analyzeDiff } = await import("./dist-LHINSVK4.js");
|
|
123
123
|
const parseResult = parseDiff(input.diff);
|
|
124
124
|
if (!parseResult.ok) {
|
|
125
125
|
return resultToMcpResponse(parseResult);
|
|
@@ -195,7 +195,7 @@ var requestPeerReviewDefinition = {
|
|
|
195
195
|
};
|
|
196
196
|
async function handleRequestPeerReview(input) {
|
|
197
197
|
try {
|
|
198
|
-
const { parseDiff, requestPeerReview } = await import("./dist-
|
|
198
|
+
const { parseDiff, requestPeerReview } = await import("./dist-LHINSVK4.js");
|
|
199
199
|
const parseResult = parseDiff(input.diff);
|
|
200
200
|
if (!parseResult.ok) {
|
|
201
201
|
return resultToMcpResponse(parseResult);
|
|
@@ -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-LHINSVK4.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-LHINSVK4.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
|
resolveProjectConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DE5U6KOL.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-
|
|
52
|
+
const core = await import("./dist-LHINSVK4.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-
|
|
71
|
+
const core = await import("./dist-LHINSVK4.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);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GGKRA7A7.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-N24HCQA4.js";
|
|
13
13
|
import {
|
|
14
14
|
Ok
|
|
15
15
|
} from "./chunk-BDGTZRZ6.js";
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
findConfigFile,
|
|
9
9
|
loadConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GGKRA7A7.js";
|
|
11
11
|
import {
|
|
12
12
|
init_dist
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-N24HCQA4.js";
|
|
14
14
|
import {
|
|
15
15
|
Ok
|
|
16
16
|
} from "./chunk-BDGTZRZ6.js";
|
|
@@ -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-
|
|
53
|
+
const { validateKnowledgeMap } = await import("./dist-LHINSVK4.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-
|
|
58
|
+
const { checkDocCoverage: checkDocCoverage2, validateKnowledgeMap } = await import("./dist-LHINSVK4.js");
|
|
59
59
|
const domain2 = input.domain ?? "src";
|
|
60
60
|
const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-HHXN5FLP.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-
|
|
97
|
+
const { checkDocCoverage } = await import("./dist-LHINSVK4.js");
|
|
98
98
|
const domain = input.domain ?? "src";
|
|
99
99
|
const { loadGraphStore } = await import("./graph-loader-HHXN5FLP.js");
|
|
100
100
|
const store = await loadGraphStore(projectPath);
|