@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.
Files changed (64) hide show
  1. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +9 -8
  2. package/dist/agents/skills/claude-code/pre-merge-brief/SKILL.md +86 -0
  3. package/dist/agents/skills/claude-code/pre-merge-brief/skill.yaml +67 -0
  4. package/dist/agents/skills/codex/harness-autopilot/SKILL.md +9 -8
  5. package/dist/agents/skills/codex/pre-merge-brief/SKILL.md +86 -0
  6. package/dist/agents/skills/codex/pre-merge-brief/skill.yaml +67 -0
  7. package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +9 -8
  8. package/dist/agents/skills/cursor/pre-merge-brief/SKILL.md +86 -0
  9. package/dist/agents/skills/cursor/pre-merge-brief/skill.yaml +67 -0
  10. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +9 -8
  11. package/dist/agents/skills/gemini-cli/pre-merge-brief/SKILL.md +86 -0
  12. package/dist/agents/skills/gemini-cli/pre-merge-brief/skill.yaml +67 -0
  13. package/dist/{agents-md-VJLYEH2S.js → agents-md-7L4PKKOM.js} +3 -3
  14. package/dist/analyzer-XRCV63KC-HLTEIKAJ.js +26 -0
  15. package/dist/{architecture-YQH2NYXY.js → architecture-RCHFDI7E.js} +4 -4
  16. package/dist/{assess-project-KOTAPAHD.js → assess-project-YUDPNRS6.js} +5 -3
  17. package/dist/bin/harness-mcp.js +14 -14
  18. package/dist/bin/harness.js +24 -24
  19. package/dist/{check-phase-gate-CHU2E3OU.js → check-phase-gate-56GS3A72.js} +4 -4
  20. package/dist/{chunk-JPVOI7GP.js → chunk-4SKWGVYD.js} +2 -2
  21. package/dist/{chunk-GHBFNLV2.js → chunk-ABRYIEWJ.js} +923 -614
  22. package/dist/{chunk-36GQREOE.js → chunk-AU4YPEIE.js} +3 -3
  23. package/dist/{chunk-OQ6KOQEV.js → chunk-DGVT4DBI.js} +3 -3
  24. package/dist/{chunk-I3CGCZJF.js → chunk-GLHLXTKC.js} +5 -5
  25. package/dist/{chunk-4VXFZSYF.js → chunk-GSYBGOY3.js} +1 -1
  26. package/dist/{chunk-UWVMJEUJ.js → chunk-IGWJRAJT.js} +1 -1
  27. package/dist/{chunk-YANR2RL7.js → chunk-N4AI2WFH.js} +1 -1
  28. package/dist/{chunk-5RSXUAMN.js → chunk-NCMJXBEO.js} +1 -1
  29. package/dist/{chunk-SEA2PFVI.js → chunk-OZSKLJQW.js} +1 -1
  30. package/dist/{chunk-AX5KGRM6.js → chunk-P4NA5OQX.js} +1 -1
  31. package/dist/{chunk-7PJCK7UE.js → chunk-RY2U77OY.js} +6 -6
  32. package/dist/{chunk-6SCYTIF4.js → chunk-RZQZXWEL.js} +32 -7
  33. package/dist/{chunk-MMLQPHZ5.js → chunk-UACYZCW4.js} +31 -13
  34. package/dist/{chunk-T746REAE.js → chunk-VG4G3R2V.js} +1 -1
  35. package/dist/{chunk-7TIJXWG3.js → chunk-XW5XVVMI.js} +2 -2
  36. package/dist/{chunk-E5EW5HVJ.js → chunk-XZNCONFG.js} +1 -1
  37. package/dist/{chunk-SDMV4QHM.js → chunk-Y33P35U3.js} +24 -6
  38. package/dist/{chunk-XAVMTAUT.js → chunk-Y5HPJMTM.js} +18 -2
  39. package/dist/{chunk-6YFHUIGT.js → chunk-YJYUJSWK.js} +58 -20
  40. package/dist/{chunk-AAUY53CC.js → chunk-YWRPQZL7.js} +1 -1
  41. package/dist/{chunk-M7F2PPN3.js → chunk-YXOPQEFZ.js} +2 -2
  42. package/dist/{chunk-RG3TNIUB.js → chunk-Z4XWWNYX.js} +86 -86
  43. package/dist/{chunk-EYMOPFSD.js → chunk-ZU6T7W3U.js} +2 -2
  44. package/dist/{ci-workflow-HO4WKGNG.js → ci-workflow-TFAA5BK7.js} +3 -3
  45. package/dist/{dist-6D2F2J57.js → dist-MCTEX5QH.js} +4 -2
  46. package/dist/{docs-FP47JONV.js → docs-BBMAN3CY.js} +4 -4
  47. package/dist/{engine-YUA6IYOG.js → engine-R2YH74AL.js} +3 -3
  48. package/dist/{entropy-DBW2INZU.js → entropy-5UP5N6AF.js} +6 -3
  49. package/dist/{feedback-BPHADTRQ.js → feedback-6MDCCFZL.js} +1 -1
  50. package/dist/{generate-agent-definitions-KPVGBGDY.js → generate-agent-definitions-KKAN5DB5.js} +4 -4
  51. package/dist/hooks/sentinel-pre.js +15 -138
  52. package/dist/index.d.ts +61 -0
  53. package/dist/index.js +24 -24
  54. package/dist/{loader-QOJQ6NZM.js → loader-2WT2ZE2T.js} +3 -3
  55. package/dist/{mcp-ZPX6O767.js → mcp-5V4LPMB3.js} +14 -14
  56. package/dist/{performance-FXYTGJGQ.js → performance-2N3CFXLR.js} +4 -4
  57. package/dist/{review-pipeline-2TFQ5OAE.js → review-pipeline-XZIGBU3Q.js} +3 -3
  58. package/dist/{runtime-XK6ZCHKE.js → runtime-POME3GTR.js} +3 -3
  59. package/dist/{security-4W2P5ZGI.js → security-QLJLMSIW.js} +1 -1
  60. package/dist/{state-events-ECQAIZLU.js → state-events-YY5KBZTC.js} +3 -3
  61. package/dist/{validate-64KTEGIE.js → validate-VZORVK43.js} +4 -4
  62. package/dist/{validate-cross-check-J5PVGICB.js → validate-cross-check-OYKEDCST.js} +3 -3
  63. package/package.json +5 -4
  64. package/dist/analyzer-V633GUHY-OV335HGM.js +0 -26
@@ -0,0 +1,86 @@
1
+ # Pre-Merge Brief
2
+
3
+ > The harness pointed at the human who clicks merge. A thin wrapper over `harness pre-merge-brief` that composes a senior-facing accountability brief — the diff summary, the multi-persona review verdict (from `review-ci --json`), the curated **Signal status** snapshot, the outcome-eval result, and a derived **"👀 Worth your eyes"** section — and posts it as a single sticky PR comment (upsert by marker). All composition and degradation logic lives in the command; this skill orchestrates invocation, reports which sections degraded, and hands off. Advisory and non-blocking: the brief never flips the review gate.
4
+
5
+ ## When to Use
6
+
7
+ - On every PR, so the senior engineer who merges sees "you are pushing this — here's what deserves your eyes" before they click merge.
8
+ - `on_pr` (dogfooded via the `required-review` workflow, reusing that run's `review-ci --json` artifact) and `manual` (a senior running it locally against the current branch's PR).
9
+ - NOT as a merge gate — the acknowledgment gate is deliberately deferred (spec D3). The brief is advisory; the review gate's exit code is what blocks.
10
+ - NOT a replacement for `review-ci` — this skill CONSUMES the review verdict, it does not re-run the review (spec D1).
11
+ - NOT for recomputing signals a different way — signals come from `@harness-engineering/signals` via the command (spec D2/D6).
12
+
13
+ ## Process
14
+
15
+ ### Phase 1: GATHER — Resolve inputs
16
+
17
+ 1. Locate the `review-ci --json` artifact for this run and record its path for `--from`. In CI it is the JSON the `required-review` workflow's `review-ci` step wrote (e.g. `/tmp/review.json`); locally, run `harness review-ci --json <path>` first if a verdict is wanted. Absent `--from` is tolerated — the review section degrades to "unavailable".
18
+ 2. Resolve the diff range for `--diff` (default `origin/<base>...HEAD` via the command's own resolver). Override only when the base is non-standard.
19
+ 3. Resolve the head sha for `--head` (default `git rev-parse HEAD`) — used for the `execution_outcome` graph lookup. Pre-merge the node is commonly absent, which is the documented degradation path, not an error.
20
+ 4. If posting (`--comment`), confirm `gh` is authenticated. Delivery failure never crashes the command (spec S1): it prints the brief and warns, still exiting 0.
21
+
22
+ ### Phase 2: COMPOSE — Run the command
23
+
24
+ Invoke `harness pre-merge-brief` with the resolved inputs:
25
+
26
+ ```bash
27
+ harness pre-merge-brief --from <review.json> --diff <range> --head <sha> [--comment]
28
+ ```
29
+
30
+ The command builds the six-section brief (marker + header → Diff summary → Review verdict → **Signal status** → Outcome evaluation → **👀 Worth your eyes**) and, with `--comment`, upserts the sticky PR comment by its marker (`<!-- harness:pre-merge-brief -->`) — patching the existing comment in place rather than posting a new one on each push. Without `--comment` it prints the brief to stdout. Each input degrades independently to an explicit "unavailable" line; the command exits 0 on a successful render regardless of which inputs were present.
31
+
32
+ ### Phase 3: REPORT — Surface what matters
33
+
34
+ 1. Report which sections rendered with real data and which degraded to "unavailable / not yet evaluated", so the senior knows the brief's coverage.
35
+ 2. Surface the **"👀 Worth your eyes"** items verbatim — the union of blocking review findings, signals in `warn`/`alert`, and unmet outcome criteria. This is the section the accountable human should read first.
36
+
37
+ ### Phase 4: HANDOFF — Advisory transition
38
+
39
+ Emit the transition via `emit_interaction`. The brief is advisory and non-blocking: it never flips the review gate's pass/fail status (spec D3, D4). In the dogfood workflow the brief step is `continue-on-error`, so a brief failure never fails the PR.
40
+
41
+ ## Harness Integration
42
+
43
+ - **`harness pre-merge-brief`** — the command this skill wraps. Flags: `--from <path>` (review-ci verdict JSON), `--comment` (sticky-upsert to the current branch's PR via `gh`), `--diff <range>`, `--head <sha>`. Pure render (`buildBriefBody`) + injected seams (`postBrief`, `RunGit`, graph store); no `process.exit` in the pure core.
44
+ - **`review-ci`** — upstream producer of the review verdict. This skill reuses its `--json` artifact via `--from`; it never re-runs the review (D1). `review-ci` remains the single source of review truth.
45
+ - **`@harness-engineering/signals`** — the shared leaf package (extracted in spec Phase 1/D6) providing `gatherSignals`. The command computes the Signal status snapshot from it; the CLI does not route signal computation through the dashboard app.
46
+ - **`execution_outcome` graph nodes** — the outcome-eval result, looked up by head sha from `.harness/graph`; commonly absent pre-merge (degrades to "not yet evaluated").
47
+ - **`required-review.yml` (dogfood)** — the `on_pr` delivery path: a `continue-on-error` step runs the brief after the existing `review-ci` run, reusing its artifact (spec Phase 4/D4). Adopter template graduation is a tracked follow-up (D5).
48
+
49
+ ## Gates
50
+
51
+ - **Never re-run the review.** Consume `review-ci --json`; do not invoke the review pipeline from this skill (D1).
52
+ - **Never block the merge.** The brief is advisory; the review gate's exit code is authoritative. No acknowledgment gate in v1 (D3).
53
+ - **Never crash `--comment`.** A `gh`/PR delivery failure prints the brief and warns, still exiting 0 (S1).
54
+ - **Thin wrapper only.** No brief composition, signal computation, or union logic in the skill — all of it lives in the command.
55
+
56
+ ## Success Criteria
57
+
58
+ Maps to spec `docs/changes/senior-accountability-surface/proposal.md`. This skill satisfies criterion #2 (the skill wrapping the command, `on_pr` + `manual`) and supports #1/#3/#4 by driving the command whose pure functions are unit-tested. Introduces no new `harness validate` findings.
59
+
60
+ ## Escalation
61
+
62
+ - **No PR for the current branch (`--comment`).** The command warns and prints the brief to stdout instead of posting, still exiting 0. Surface the warning; do not treat it as a failure.
63
+ - **No review artifact (`--from` missing/absent).** The review-verdict section degrades to "unavailable". If a verdict is wanted, run `harness review-ci --json <path>` first and pass it.
64
+ - **`gh` unauthenticated or API error while posting.** Delivery fails soft (brief printed, one-line stderr warning, exit 0). Fix `gh auth` and re-run; nothing is lost.
65
+ - **Signals or outcome-eval unavailable.** Each degrades independently to its "unavailable"/"not yet evaluated" line — expected pre-merge, not an error. Do not block the brief on them.
66
+ - **Someone asks to make the brief block merges.** That is the deferred acknowledgment gate (spec D3), a separate future spec. Keep the brief advisory; point them at the follow-up roadmap row.
67
+
68
+ ## Examples
69
+
70
+ ### Example: brief on a PR in CI (dogfood)
71
+
72
+ The `required-review.yml` workflow runs `review-ci --json /tmp/review.json`, then this skill's command:
73
+
74
+ ```bash
75
+ harness pre-merge-brief --from /tmp/review.json --diff "origin/main...HEAD" --comment
76
+ ```
77
+
78
+ The brief is composed and upserted as a sticky PR comment. The review found one blocking finding and two `alert` signals, so **👀 Worth your eyes** lists exactly those three; the outcome section shows "not yet evaluated" (no `execution_outcome` node pre-merge). The step is `continue-on-error`, so even if `gh` posting fails the review gate is unaffected.
79
+
80
+ ### Example: senior running it locally
81
+
82
+ ```bash
83
+ harness pre-merge-brief --comment
84
+ ```
85
+
86
+ No `--from`, so the review-verdict section renders "unavailable"; signals are gathered live and the diff summary uses the default `origin/<base>...HEAD` range. The senior sees the current signal status and diff before clicking merge.
@@ -0,0 +1,67 @@
1
+ name: harness-pre-merge-brief
2
+ version: "0.1.0"
3
+ description: >-
4
+ Thin-wrapper skill that runs the `harness pre-merge-brief` command to compose
5
+ and post the senior-facing pre-merge accountability brief — the diff summary,
6
+ the multi-persona review verdict (from review-ci --json), the curated Signal
7
+ status snapshot, the outcome-eval result, and a derived "Worth your eyes"
8
+ section — as a single sticky PR comment (upsert by marker). All composition and
9
+ degradation logic lives in the command; the skill orchestrates invocation,
10
+ communicates which sections degraded to "unavailable", and hands off. Runs on
11
+ on_pr and manual. The harness pointed at the human who clicks merge.
12
+ stability: draft
13
+ cognitive_mode: constructive-architect
14
+ triggers:
15
+ - on_pr
16
+ - manual
17
+ platforms:
18
+ - claude-code
19
+ - gemini-cli
20
+ - cursor
21
+ - codex
22
+ tools:
23
+ - Bash
24
+ - Read
25
+ - Glob
26
+ - Grep
27
+ - emit_interaction
28
+ cli:
29
+ command: harness pre-merge-brief
30
+ args:
31
+ - name: from
32
+ description: Path to the review-ci --json CiReviewResult artifact to reuse
33
+ required: false
34
+ - name: comment
35
+ description: Upsert the brief as a sticky PR comment via gh (by marker)
36
+ required: false
37
+ - name: diff
38
+ description: "git diff range for the diff summary (e.g. origin/main...HEAD)"
39
+ required: false
40
+ - name: head
41
+ description: "head commit sha for the outcome-eval lookup (default: git rev-parse HEAD)"
42
+ required: false
43
+ mcp:
44
+ tool: run_skill
45
+ input:
46
+ skill: harness-pre-merge-brief
47
+ path: string
48
+ type: rigid
49
+ tier: 2
50
+ phases:
51
+ - name: gather
52
+ description: Locate the review-ci --json artifact, resolve the diff range, confirm gh auth for --comment
53
+ required: true
54
+ - name: compose
55
+ description: Run `harness pre-merge-brief` with the resolved inputs; the command builds the brief and (with --comment) upserts the sticky PR comment
56
+ required: true
57
+ - name: report
58
+ description: Report which sections rendered and which degraded to "unavailable"; surface the "Worth your eyes" items
59
+ required: true
60
+ - name: handoff
61
+ description: Emit the transition; the brief is advisory (non-blocking) and never flips the review gate
62
+ required: true
63
+ state:
64
+ persistent: false
65
+ depends_on:
66
+ - harness-code-review
67
+ - outcome-eval
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generateAgentsMd
3
- } from "./chunk-T746REAE.js";
4
- import "./chunk-MMLQPHZ5.js";
5
- import "./chunk-6YFHUIGT.js";
3
+ } from "./chunk-VG4G3R2V.js";
4
+ import "./chunk-UACYZCW4.js";
5
+ import "./chunk-YJYUJSWK.js";
6
6
  import "./chunk-BDGTZRZ6.js";
7
7
  import "./chunk-WZJR6SOI.js";
8
8
  import "./chunk-QCLOIUMX.js";
@@ -0,0 +1,26 @@
1
+ import {
2
+ EntropyAnalyzer,
3
+ init_chunk_IHRT6II2,
4
+ init_chunk_JZ7UO3OF
5
+ } from "./chunk-YJYUJSWK.js";
6
+ import "./chunk-BDGTZRZ6.js";
7
+ import "./chunk-WZJR6SOI.js";
8
+ import {
9
+ init_chunk_7P6ASYW6
10
+ } from "./chunk-XARGEOJV.js";
11
+ import {
12
+ __esm
13
+ } from "./chunk-KFQGP6VL.js";
14
+
15
+ // ../core/dist/analyzer-XRCV63KC.mjs
16
+ var init_analyzer_XRCV63KC = __esm({
17
+ "../core/dist/analyzer-XRCV63KC.mjs"() {
18
+ init_chunk_IHRT6II2();
19
+ init_chunk_JZ7UO3OF();
20
+ init_chunk_7P6ASYW6();
21
+ }
22
+ });
23
+ init_analyzer_XRCV63KC();
24
+ export {
25
+ EntropyAnalyzer
26
+ };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  checkDependenciesDefinition,
3
3
  handleCheckDependencies
4
- } from "./chunk-JPVOI7GP.js";
4
+ } from "./chunk-4SKWGVYD.js";
5
5
  import "./chunk-RC3OI5NK.js";
6
- import "./chunk-SEA2PFVI.js";
6
+ import "./chunk-OZSKLJQW.js";
7
7
  import "./chunk-W6Y7ZW3Y.js";
8
- import "./chunk-MMLQPHZ5.js";
9
- import "./chunk-6YFHUIGT.js";
8
+ import "./chunk-UACYZCW4.js";
9
+ import "./chunk-YJYUJSWK.js";
10
10
  import "./chunk-BDGTZRZ6.js";
11
11
  import "./chunk-WZJR6SOI.js";
12
12
  import "./chunk-QCLOIUMX.js";
@@ -1,13 +1,15 @@
1
1
  import {
2
2
  assessProjectDefinition,
3
3
  handleAssessProject,
4
- parseToolResponse
5
- } from "./chunk-6SCYTIF4.js";
4
+ parseToolResponse,
5
+ resolveLintCommand
6
+ } from "./chunk-RZQZXWEL.js";
6
7
  import "./chunk-RC3OI5NK.js";
7
8
  import "./chunk-W6Y7ZW3Y.js";
8
9
  import "./chunk-KFQGP6VL.js";
9
10
  export {
10
11
  assessProjectDefinition,
11
12
  handleAssessProject,
12
- parseToolResponse
13
+ parseToolResponse,
14
+ resolveLintCommand
13
15
  };
@@ -1,32 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  startServer
4
- } from "../chunk-RG3TNIUB.js";
5
- import "../chunk-OQ6KOQEV.js";
6
- import "../chunk-M7F2PPN3.js";
7
- import "../chunk-EYMOPFSD.js";
8
- import "../chunk-6SCYTIF4.js";
9
- import "../chunk-I3CGCZJF.js";
10
- import "../chunk-SDMV4QHM.js";
11
- import "../chunk-7PJCK7UE.js";
4
+ } from "../chunk-Z4XWWNYX.js";
5
+ import "../chunk-DGVT4DBI.js";
6
+ import "../chunk-YXOPQEFZ.js";
7
+ import "../chunk-ZU6T7W3U.js";
8
+ import "../chunk-RZQZXWEL.js";
9
+ import "../chunk-GLHLXTKC.js";
10
+ import "../chunk-Y33P35U3.js";
11
+ import "../chunk-RY2U77OY.js";
12
12
  import "../chunk-IOW3MW2K.js";
13
13
  import "../chunk-3ISINLYT.js";
14
14
  import "../chunk-4U5LDFCY.js";
15
- import "../chunk-36GQREOE.js";
16
- import "../chunk-JPVOI7GP.js";
15
+ import "../chunk-AU4YPEIE.js";
16
+ import "../chunk-4SKWGVYD.js";
17
17
  import "../chunk-RC3OI5NK.js";
18
- import "../chunk-SEA2PFVI.js";
18
+ import "../chunk-OZSKLJQW.js";
19
19
  import "../chunk-W6Y7ZW3Y.js";
20
20
  import "../chunk-WBVCN35T.js";
21
21
  import "../chunk-UTJJJDNN.js";
22
22
  import "../chunk-HIK6OEUF.js";
23
23
  import "../chunk-Y6SUQC32.js";
24
- import "../chunk-XAVMTAUT.js";
24
+ import "../chunk-Y5HPJMTM.js";
25
25
  import "../chunk-ZCZD7FHU.js";
26
26
  import "../chunk-EBJQ6N4M.js";
27
27
  import "../chunk-3WGJMBKH.js";
28
- import "../chunk-MMLQPHZ5.js";
29
- import "../chunk-6YFHUIGT.js";
28
+ import "../chunk-UACYZCW4.js";
29
+ import "../chunk-YJYUJSWK.js";
30
30
  import "../chunk-BDGTZRZ6.js";
31
31
  import "../chunk-WZJR6SOI.js";
32
32
  import "../chunk-QCLOIUMX.js";
@@ -3,40 +3,40 @@ import {
3
3
  createProgram,
4
4
  installCommandTelemetry,
5
5
  printFirstRunWelcome
6
- } from "../chunk-GHBFNLV2.js";
7
- import "../chunk-YANR2RL7.js";
8
- import "../chunk-T746REAE.js";
9
- import "../chunk-AX5KGRM6.js";
10
- import "../chunk-AAUY53CC.js";
11
- import "../chunk-4VXFZSYF.js";
12
- import "../chunk-E5EW5HVJ.js";
6
+ } from "../chunk-ABRYIEWJ.js";
7
+ import "../chunk-N4AI2WFH.js";
8
+ import "../chunk-VG4G3R2V.js";
9
+ import "../chunk-P4NA5OQX.js";
10
+ import "../chunk-YWRPQZL7.js";
11
+ import "../chunk-GSYBGOY3.js";
12
+ import "../chunk-XZNCONFG.js";
13
13
  import "../chunk-KET4QQZB.js";
14
14
  import "../chunk-YYFSFSB3.js";
15
- import "../chunk-UWVMJEUJ.js";
15
+ import "../chunk-IGWJRAJT.js";
16
16
  import "../chunk-CQ553GZO.js";
17
17
  import "../chunk-ZP5E7YET.js";
18
- import "../chunk-5RSXUAMN.js";
18
+ import "../chunk-NCMJXBEO.js";
19
19
  import "../chunk-GISMXMVL.js";
20
20
  import "../chunk-V3ZQUCRH.js";
21
21
  import "../chunk-TEFCFC4H.js";
22
- import "../chunk-7TIJXWG3.js";
22
+ import "../chunk-XW5XVVMI.js";
23
23
  import {
24
24
  dispatchSkillsFromGit
25
- } from "../chunk-RG3TNIUB.js";
26
- import "../chunk-OQ6KOQEV.js";
27
- import "../chunk-M7F2PPN3.js";
28
- import "../chunk-EYMOPFSD.js";
29
- import "../chunk-6SCYTIF4.js";
30
- import "../chunk-I3CGCZJF.js";
31
- import "../chunk-SDMV4QHM.js";
32
- import "../chunk-7PJCK7UE.js";
25
+ } from "../chunk-Z4XWWNYX.js";
26
+ import "../chunk-DGVT4DBI.js";
27
+ import "../chunk-YXOPQEFZ.js";
28
+ import "../chunk-ZU6T7W3U.js";
29
+ import "../chunk-RZQZXWEL.js";
30
+ import "../chunk-GLHLXTKC.js";
31
+ import "../chunk-Y33P35U3.js";
32
+ import "../chunk-RY2U77OY.js";
33
33
  import "../chunk-IOW3MW2K.js";
34
34
  import "../chunk-3ISINLYT.js";
35
35
  import "../chunk-4U5LDFCY.js";
36
- import "../chunk-36GQREOE.js";
37
- import "../chunk-JPVOI7GP.js";
36
+ import "../chunk-AU4YPEIE.js";
37
+ import "../chunk-4SKWGVYD.js";
38
38
  import "../chunk-RC3OI5NK.js";
39
- import "../chunk-SEA2PFVI.js";
39
+ import "../chunk-OZSKLJQW.js";
40
40
  import "../chunk-W6Y7ZW3Y.js";
41
41
  import "../chunk-WBVCN35T.js";
42
42
  import "../chunk-UTJJJDNN.js";
@@ -45,7 +45,7 @@ import "../chunk-Y6SUQC32.js";
45
45
  import {
46
46
  findConfigFile,
47
47
  loadConfig
48
- } from "../chunk-XAVMTAUT.js";
48
+ } from "../chunk-Y5HPJMTM.js";
49
49
  import "../chunk-ZCZD7FHU.js";
50
50
  import "../chunk-EBJQ6N4M.js";
51
51
  import {
@@ -58,11 +58,11 @@ import {
58
58
  readCheckState,
59
59
  shouldRunCheck,
60
60
  spawnBackgroundCheck
61
- } from "../chunk-MMLQPHZ5.js";
61
+ } from "../chunk-UACYZCW4.js";
62
62
  import {
63
63
  CLI_VERSION
64
64
  } from "../chunk-BM3PWGXQ.js";
65
- import "../chunk-6YFHUIGT.js";
65
+ import "../chunk-YJYUJSWK.js";
66
66
  import "../chunk-BDGTZRZ6.js";
67
67
  import "../chunk-WZJR6SOI.js";
68
68
  import "../chunk-QCLOIUMX.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createCheckPhaseGateCommand,
3
3
  runCheckPhaseGate
4
- } from "./chunk-7TIJXWG3.js";
4
+ } from "./chunk-XW5XVVMI.js";
5
5
  import "./chunk-Y6SUQC32.js";
6
- import "./chunk-XAVMTAUT.js";
6
+ import "./chunk-Y5HPJMTM.js";
7
7
  import "./chunk-ZCZD7FHU.js";
8
8
  import "./chunk-EBJQ6N4M.js";
9
9
  import "./chunk-3WGJMBKH.js";
10
- import "./chunk-MMLQPHZ5.js";
11
- import "./chunk-6YFHUIGT.js";
10
+ import "./chunk-UACYZCW4.js";
11
+ import "./chunk-YJYUJSWK.js";
12
12
  import "./chunk-BDGTZRZ6.js";
13
13
  import "./chunk-WZJR6SOI.js";
14
14
  import "./chunk-QCLOIUMX.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RC3OI5NK.js";
4
4
  import {
5
5
  resolveProjectConfig
6
- } from "./chunk-SEA2PFVI.js";
6
+ } from "./chunk-OZSKLJQW.js";
7
7
  import {
8
8
  sanitizePath
9
9
  } from "./chunk-W6Y7ZW3Y.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-6D2F2J57.js");
41
+ const { validateDependencies, TypeScriptParser } = await import("./dist-MCTEX5QH.js");
42
42
  const config = configResult.value;
43
43
  const rawLayers = Array.isArray(config.layers) ? config.layers : [];
44
44
  const layers = rawLayers.map((l) => ({