@lannguyensi/harness 0.37.0 → 0.39.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/CHANGELOG.md +35 -1
- package/dist/cli/add/index.js +10 -2
- package/dist/cli/add/index.js.map +1 -1
- package/dist/cli/add/mutate.d.ts +2 -0
- package/dist/cli/add/mutate.js.map +1 -1
- package/dist/cli/adopt/derive.d.ts +11 -1
- package/dist/cli/adopt/derive.js +28 -2
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.js +21 -13
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/apply.js +31 -3
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +43 -0
- package/dist/cli/apply/generate-settings.js +53 -0
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/audit.d.ts +7 -0
- package/dist/cli/audit.js +11 -1
- package/dist/cli/audit.js.map +1 -1
- package/dist/cli/diff/git.d.ts +13 -0
- package/dist/cli/diff/git.js +25 -0
- package/dist/cli/diff/git.js.map +1 -1
- package/dist/cli/diff/index.d.ts +7 -0
- package/dist/cli/diff/index.js +82 -7
- package/dist/cli/diff/index.js.map +1 -1
- package/dist/cli/doctor/format.js +21 -0
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.d.ts +33 -0
- package/dist/cli/doctor/index.js +103 -35
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +23 -0
- package/dist/cli/explain.js +7 -0
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +1 -1
- package/dist/cli/init/profiles.js +9 -0
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.d.ts +1 -1
- package/dist/cli/init/templates.js +19 -0
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/loader.js +9 -1
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/pack/hook-bootstrap.d.ts +60 -0
- package/dist/cli/pack/hook-bootstrap.js +116 -0
- package/dist/cli/pack/hook-bootstrap.js.map +1 -0
- package/dist/cli/pack/hook-branch-protection.js +14 -53
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.js +20 -50
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-codex-stop.js +2 -13
- package/dist/cli/pack/hook-codex-stop.js.map +1 -1
- package/dist/cli/pack/hook-codex-user-prompt-submit.js +2 -13
- package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +1 -1
- package/dist/cli/pack/hook-post-tool-use.js +4 -32
- package/dist/cli/pack/hook-post-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +32 -93
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-runtime-reality.js +3 -13
- package/dist/cli/pack/hook-runtime-reality.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js +2 -13
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js +25 -57
- package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
- package/dist/cli/pack/hook-stay-in-scope.js +3 -23
- package/dist/cli/pack/hook-stay-in-scope.js.map +1 -1
- package/dist/cli/pack/hook-track-active-claim.js +4 -32
- package/dist/cli/pack/hook-track-active-claim.js.map +1 -1
- package/dist/cli/policy/intercept.d.ts +10 -0
- package/dist/cli/policy/intercept.js +60 -24
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +24 -0
- package/dist/cli/validate/checks.js +138 -0
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/io/merge-settings.d.ts +23 -1
- package/dist/io/merge-settings.js +120 -10
- package/dist/io/merge-settings.js.map +1 -1
- package/dist/io/read-regular-file.d.ts +32 -0
- package/dist/io/read-regular-file.js +34 -0
- package/dist/io/read-regular-file.js.map +1 -0
- package/dist/policies/index.d.ts +1 -1
- package/dist/policies/index.js +1 -1
- package/dist/policies/index.js.map +1 -1
- package/dist/policies/ledger-client.d.ts +41 -0
- package/dist/policies/ledger-client.js +199 -94
- package/dist/policies/ledger-client.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +4 -3
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +11 -20
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +21 -0
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +44 -20
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +2 -2
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/intercept.d.ts +18 -0
- package/dist/runtime/intercept.js +53 -9
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/ledger-record.d.ts +24 -0
- package/dist/runtime/ledger-record.js +50 -0
- package/dist/runtime/ledger-record.js.map +1 -1
- package/dist/schema/grounding.js +22 -0
- package/dist/schema/grounding.js.map +1 -1
- package/dist/schema/index.js +41 -4
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/memory.js +9 -0
- package/dist/schema/memory.js.map +1 -1
- package/dist/schema/risk.js +10 -6
- package/dist/schema/risk.js.map +1 -1
- package/package.json +5 -1
|
@@ -43,7 +43,12 @@
|
|
|
43
43
|
// - Within an event, groups sorted by (matcher, command).
|
|
44
44
|
// - Within a group, the inner hooks[] preserves matcher-grouping order
|
|
45
45
|
// and is sorted by command for the same reason.
|
|
46
|
+
import { expandHome } from "../../runtime/expand-home.js";
|
|
46
47
|
export const DEFAULT_BUDGET_MS = 30_000;
|
|
48
|
+
/** The manifest `tools.mcp[]` entry name that grounding enforcement keys off. */
|
|
49
|
+
export const GROUNDING_MCP_SERVER_NAME = "grounding-mcp";
|
|
50
|
+
/** The env var grounding-mcp's ledger-bridge reads for the evidence-ledger DB path. */
|
|
51
|
+
export const EVIDENCE_LEDGER_DB_ENV = "EVIDENCE_LEDGER_DB";
|
|
47
52
|
export function generateSettings(manifest) {
|
|
48
53
|
return generateSettingsWithWarnings(manifest).root;
|
|
49
54
|
}
|
|
@@ -74,6 +79,7 @@ export function generateSettingsWithWarnings(manifest, extras = {}) {
|
|
|
74
79
|
out.hooks[event] = buildGroups(hooks);
|
|
75
80
|
}
|
|
76
81
|
const mcp = buildMcpServers(manifest.tools.mcp, warnings);
|
|
82
|
+
projectGroundingEnv(manifest, mcp, extras.homeDir);
|
|
77
83
|
if (Object.keys(mcp).length > 0)
|
|
78
84
|
out.mcpServers = mcp;
|
|
79
85
|
const permissions = compactPermissions(extras.packPermissions);
|
|
@@ -147,6 +153,53 @@ export function buildMcpServers(entries, warnings) {
|
|
|
147
153
|
}
|
|
148
154
|
return out;
|
|
149
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Wire the manifest's `grounding:` section into the grounding-mcp server
|
|
158
|
+
* entry (task 129e1b94, harness-review-2026-07-01/grounding-decorative).
|
|
159
|
+
*
|
|
160
|
+
* `grounding.evidence_ledger.path` becomes the `EVIDENCE_LEDGER_DB` env on
|
|
161
|
+
* the `tools.mcp[grounding-mcp]` entry — the exact variable grounding-mcp's
|
|
162
|
+
* ledger-bridge reads (agent-grounding
|
|
163
|
+
* packages/grounding-mcp/src/ledger-bridge.ts). This makes `grounding:` the
|
|
164
|
+
* section that CONFIGURES the grounding-mcp entry instead of a decorative
|
|
165
|
+
* namesake, resolving the naming collision the 2026-07-01 review flagged.
|
|
166
|
+
*
|
|
167
|
+
* Rules:
|
|
168
|
+
* - Projection only fires when a grounding-mcp entry exists; without one
|
|
169
|
+
* there is no consumer (doctor surfaces that inertness separately).
|
|
170
|
+
* - An operator-declared `env.EVIDENCE_LEDGER_DB` on the entry wins — an
|
|
171
|
+
* explicit override is never clobbered (doctor warns when it diverges
|
|
172
|
+
* from `grounding.evidence_ledger.path`).
|
|
173
|
+
* - The projected value is `~`-expanded to an absolute path, so the
|
|
174
|
+
* literal-tilde child-process footgun (agent-tasks/42d224a6, the very
|
|
175
|
+
* warning above in buildMcpServers) cannot re-enter via this path.
|
|
176
|
+
* - `retention_days`, `policies_source`, and `session.*` stay RESERVED:
|
|
177
|
+
* nothing consumes them yet (evidence-ledger has no retention pruning),
|
|
178
|
+
* and projecting an env no server reads would be decorative again. See
|
|
179
|
+
* the status comments in src/schema/grounding.ts.
|
|
180
|
+
*/
|
|
181
|
+
export function projectGroundingEnv(manifest, mcp, homeDir) {
|
|
182
|
+
const server = mcp[GROUNDING_MCP_SERVER_NAME];
|
|
183
|
+
if (!server)
|
|
184
|
+
return;
|
|
185
|
+
const env = server.env ?? {};
|
|
186
|
+
// Truthiness (not `=== undefined`) on purpose: an empty-string operator
|
|
187
|
+
// "override" would project an empty ledger path, which guarantees a
|
|
188
|
+
// broken ledger — treat it as absent and let the manifest value apply.
|
|
189
|
+
if (!env[EVIDENCE_LEDGER_DB_ENV]) {
|
|
190
|
+
env[EVIDENCE_LEDGER_DB_ENV] = groundingLedgerEnvValue(manifest, homeDir);
|
|
191
|
+
server.env = env;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* The value apply projects for `EVIDENCE_LEDGER_DB`: the manifest's
|
|
196
|
+
* `grounding.evidence_ledger.path`, `~`-expanded to an absolute path.
|
|
197
|
+
* Shared with adopt's manifest→settings projection so the apply→adopt
|
|
198
|
+
* round-trip stays drift-free by construction.
|
|
199
|
+
*/
|
|
200
|
+
export function groundingLedgerEnvValue(manifest, homeDir) {
|
|
201
|
+
return expandHome(manifest.grounding.evidence_ledger.path, homeDir);
|
|
202
|
+
}
|
|
150
203
|
// Translate manifest `memory.router` into a synthetic UserPromptSubmit
|
|
151
204
|
// hook so per-prompt context augmentation actually fires alongside the
|
|
152
205
|
// understanding-gate hook. Returns null when memory.router is absent or
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-settings.js","sourceRoot":"","sources":["../../../src/cli/apply/generate-settings.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,iFAAiF;AACjF,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,EAAE;AACF,uFAAuF;AACvF,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,kCAAkC;AAClC,6EAA6E;AAC7E,0EAA0E;AAC1E,mDAAmD;AACnD,4EAA4E;AAC5E,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AACvE,oEAAoE;AACpE,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AACvE,wEAAwE;AACxE,0CAA0C;AAC1C,EAAE;AACF,0EAA0E;AAC1E,gBAAgB;AAChB,uEAAuE;AACvE,0DAA0D;AAC1D,4DAA4D;AAC5D,yEAAyE;AACzE,oDAAoD;
|
|
1
|
+
{"version":3,"file":"generate-settings.js","sourceRoot":"","sources":["../../../src/cli/apply/generate-settings.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/audit.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ export interface AuditDecisionRow {
|
|
|
36
36
|
reason: string;
|
|
37
37
|
ledgerTag: string;
|
|
38
38
|
extractValues: Record<string, string>;
|
|
39
|
+
/**
|
|
40
|
+
* True when the policy's `when:` matched only via the fail-closed
|
|
41
|
+
* unclassified rule (M7). Absent when the action was classified or the
|
|
42
|
+
* policy had no `when:` block, or on rows recorded before M7.
|
|
43
|
+
* Appears in JSON output and annotates the reason column in table output.
|
|
44
|
+
*/
|
|
45
|
+
whenUnclassifiedFallback?: boolean;
|
|
39
46
|
}
|
|
40
47
|
export interface AuditResult {
|
|
41
48
|
output: string;
|
package/dist/cli/audit.js
CHANGED
|
@@ -58,6 +58,11 @@ function rowsFromEntries(entries) {
|
|
|
58
58
|
reason: payload.reason,
|
|
59
59
|
ledgerTag: payload.ledgerTag,
|
|
60
60
|
extractValues: payload.extractValues,
|
|
61
|
+
// M7: carry the fail-closed flag through to the row so both the JSON
|
|
62
|
+
// and table surfaces can surface it (field in JSON, annotation in table).
|
|
63
|
+
...(payload.whenUnclassifiedFallback === true && {
|
|
64
|
+
whenUnclassifiedFallback: true,
|
|
65
|
+
}),
|
|
61
66
|
}));
|
|
62
67
|
}
|
|
63
68
|
function formatTable(rows) {
|
|
@@ -66,8 +71,13 @@ function formatTable(rows) {
|
|
|
66
71
|
const header = ["timestamp", "policy", "outcome", "reason"];
|
|
67
72
|
// Reasons are normally single-line; flatten just in case so the column
|
|
68
73
|
// alignment doesn't break on a newline buried in a future policy's reason.
|
|
74
|
+
// M7: annotate with [unclassified-fallback] when the fail-closed flag is
|
|
75
|
+
// set, so the human table reflects the same information the JSON field does.
|
|
69
76
|
const flatten = (s) => s.replace(/\s+/g, " ").trim();
|
|
70
|
-
const data = rows.map((r) =>
|
|
77
|
+
const data = rows.map((r) => {
|
|
78
|
+
const reasonCell = flatten(r.reason) + (r.whenUnclassifiedFallback ? " [unclassified-fallback]" : "");
|
|
79
|
+
return [r.timestamp, r.name, r.outcome, reasonCell];
|
|
80
|
+
});
|
|
71
81
|
const widths = header.map((h, i) => Math.max(h.length, ...data.map((row) => row[i].length)));
|
|
72
82
|
const fmt = (cells) => cells.map((c, i) => c.padEnd(widths[i])).join(" ").trimEnd();
|
|
73
83
|
const lines = [];
|
package/dist/cli/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/cli/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,mBAAmB,GAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAE/D,MAAM,aAAa,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/cli/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/diff/git.d.ts
CHANGED
|
@@ -4,3 +4,16 @@ export interface GitContext {
|
|
|
4
4
|
}
|
|
5
5
|
export declare function locateGitContext(manifestPath: string): GitContext;
|
|
6
6
|
export declare function readManifestAtRef(ctx: GitContext, ref: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Repo-relative path for `absPath` in git's forward-slash form, or null
|
|
9
|
+
* when the file lives outside the repo work tree (e.g. an override layer
|
|
10
|
+
* under a ~/.harness home that is not the manifest's repo).
|
|
11
|
+
*/
|
|
12
|
+
export declare function repoRelativePath(ctx: GitContext, absPath: string): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Read a repo file at a git ref, or null when it does not exist at that
|
|
15
|
+
* ref. Callers must have validated the ref itself first (the base-manifest
|
|
16
|
+
* read via {@link readManifestAtRef} hard-errors on a bad ref), so a null
|
|
17
|
+
* here means "file absent at ref", not "bad ref".
|
|
18
|
+
*/
|
|
19
|
+
export declare function readFileAtRefOrNull(ctx: GitContext, ref: string, relPath: string): string | null;
|
package/dist/cli/diff/git.js
CHANGED
|
@@ -29,4 +29,29 @@ export function readManifestAtRef(ctx, ref) {
|
|
|
29
29
|
throw new HarnessExitError(`cannot read ${ctx.manifestRelPath} at git ref "${ref}": ${message}`, EX_USAGE);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Repo-relative path for `absPath` in git's forward-slash form, or null
|
|
34
|
+
* when the file lives outside the repo work tree (e.g. an override layer
|
|
35
|
+
* under a ~/.harness home that is not the manifest's repo).
|
|
36
|
+
*/
|
|
37
|
+
export function repoRelativePath(ctx, absPath) {
|
|
38
|
+
const rel = path.relative(ctx.root, path.resolve(absPath));
|
|
39
|
+
if (rel.startsWith("..") || path.isAbsolute(rel))
|
|
40
|
+
return null;
|
|
41
|
+
return rel.split(path.sep).join("/");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read a repo file at a git ref, or null when it does not exist at that
|
|
45
|
+
* ref. Callers must have validated the ref itself first (the base-manifest
|
|
46
|
+
* read via {@link readManifestAtRef} hard-errors on a bad ref), so a null
|
|
47
|
+
* here means "file absent at ref", not "bad ref".
|
|
48
|
+
*/
|
|
49
|
+
export function readFileAtRefOrNull(ctx, ref, relPath) {
|
|
50
|
+
try {
|
|
51
|
+
return runGit(["show", `${ref}:${relPath}`], ctx.root);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
32
57
|
//# sourceMappingURL=git.js.map
|
package/dist/cli/diff/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/diff/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAO9E,SAAS,MAAM,CAAC,IAAc,EAAE,GAAW;IACzC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;QAC/B,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,2BAA2B,GAAG,mCAAoC,GAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAChG,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,GAAW;IAC5D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAI,GAAmC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAK,GAAa,CAAC,OAAO,CAAC;QAC9F,MAAM,IAAI,gBAAgB,CACxB,eAAe,GAAG,CAAC,eAAe,gBAAgB,GAAG,MAAM,OAAO,EAAE,EACpE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/diff/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAO9E,SAAS,MAAM,CAAC,IAAc,EAAE,GAAW;IACzC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;QAC/B,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CACxB,2BAA2B,GAAG,mCAAoC,GAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAChG,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,GAAW;IAC5D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAI,GAAmC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAK,GAAa,CAAC,OAAO,CAAC;QAC9F,MAAM,IAAI,gBAAgB,CACxB,eAAe,GAAG,CAAC,eAAe,gBAAgB,GAAG,MAAM,OAAO,EAAE,EACpE,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAe,EAAE,OAAe;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAe,EACf,GAAW,EACX,OAAe;IAEf,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/cli/diff/index.d.ts
CHANGED
|
@@ -9,6 +9,13 @@ export interface DiffResult {
|
|
|
9
9
|
output: string;
|
|
10
10
|
before: Manifest;
|
|
11
11
|
after: Manifest;
|
|
12
|
+
/**
|
|
13
|
+
* Override-layer diagnostics (task b2660f9e): one entry per active
|
|
14
|
+
* layer that is not versioned in the manifest's repo and was therefore
|
|
15
|
+
* treated as constant on both sides of the comparison. Callers print
|
|
16
|
+
* these to stderr so the diff on stdout stays clean.
|
|
17
|
+
*/
|
|
18
|
+
warnings: string[];
|
|
12
19
|
}
|
|
13
20
|
export declare function diff(opts: DiffOptions): DiffResult;
|
|
14
21
|
export { diffManifests, formatDiff } from "./engine.js";
|
package/dist/cli/diff/index.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
1
2
|
import { parse as parseYaml } from "yaml";
|
|
3
|
+
import { OverrideMergeError, applyLayers } from "../../overrides/merge.js";
|
|
2
4
|
import { ManifestParseError, parseManifest } from "../../schema/index.js";
|
|
3
5
|
import { EX_NOINPUT, EX_USAGE, HarnessExitError } from "../exit-codes.js";
|
|
4
6
|
import { loadManifest, resolvePaths } from "../loader.js";
|
|
5
7
|
import { diffManifests, formatDiff } from "./engine.js";
|
|
6
|
-
import { locateGitContext, readManifestAtRef } from "./git.js";
|
|
7
|
-
function
|
|
8
|
-
let parsed;
|
|
8
|
+
import { locateGitContext, readFileAtRefOrNull, readManifestAtRef, repoRelativePath, } from "./git.js";
|
|
9
|
+
function parseRefYaml(raw, label) {
|
|
9
10
|
try {
|
|
10
|
-
|
|
11
|
+
return parseYaml(raw);
|
|
11
12
|
}
|
|
12
13
|
catch (err) {
|
|
13
|
-
throw new HarnessExitError(
|
|
14
|
+
throw new HarnessExitError(`${label} is not valid YAML: ${err.message}`, EX_NOINPUT);
|
|
14
15
|
}
|
|
16
|
+
}
|
|
17
|
+
function parseRefSchema(parsed) {
|
|
15
18
|
try {
|
|
16
19
|
return parseManifest(parsed);
|
|
17
20
|
}
|
|
@@ -22,6 +25,73 @@ function parseRefManifest(raw) {
|
|
|
22
25
|
throw err;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Build the "before" manifest for `--since <ref>` with the SAME override
|
|
30
|
+
* layers the working side gets from loadManifest (task b2660f9e). Without
|
|
31
|
+
* this the ref side was override-naive while the working side was
|
|
32
|
+
* override-merged, so every override key appeared as a phantom diff.
|
|
33
|
+
*
|
|
34
|
+
* Per-layer ref semantics:
|
|
35
|
+
* - versioned in this repo and present at the ref → read at the ref
|
|
36
|
+
* (true history of the layer);
|
|
37
|
+
* - versioned but absent at the ref → the layer was added since; the ref
|
|
38
|
+
* side goes without it, which IS a real effective-config change;
|
|
39
|
+
* - not versioned in this repo (e.g. a ~/.harness home outside the
|
|
40
|
+
* manifest's repo) → current content is applied to BOTH sides: the
|
|
41
|
+
* layer is constant across the comparison and cancels out. A base
|
|
42
|
+
* change masked by such an override does not change effective config,
|
|
43
|
+
* so not reporting it is correct for an effective-config diff. Surfaced
|
|
44
|
+
* via `warnings` so the operator knows the layer has no history here.
|
|
45
|
+
*
|
|
46
|
+
* Known limitation: a versioned layer REMOVED since the ref is not
|
|
47
|
+
* detected — only layers resolvable on the current filesystem are
|
|
48
|
+
* enumerated, so the removed layer's keys do not show as effective-config
|
|
49
|
+
* changes. Closing it needs at-ref layer enumeration (git ls-tree) and is
|
|
50
|
+
* consciously out of scope here.
|
|
51
|
+
*/
|
|
52
|
+
function buildRefManifest(ctx, since, refRaw, layerPaths, warnings) {
|
|
53
|
+
const refLayerRaws = [];
|
|
54
|
+
for (const layerPath of layerPaths) {
|
|
55
|
+
const rel = repoRelativePath(ctx, layerPath);
|
|
56
|
+
if (rel === null) {
|
|
57
|
+
warnings.push(`override layer ${layerPath} is not versioned in this repo; ` +
|
|
58
|
+
`treating its current content as constant on both sides of the comparison`);
|
|
59
|
+
let raw;
|
|
60
|
+
try {
|
|
61
|
+
raw = fs.readFileSync(layerPath, "utf8");
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
// Mirror the working-side loader's clean failure instead of a bare
|
|
65
|
+
// Node error: resolvePaths saw the file, but it can vanish or turn
|
|
66
|
+
// unreadable between that existsSync and this read.
|
|
67
|
+
throw new HarnessExitError(`override layer could not be read: ${layerPath}: ${err.message}`, EX_NOINPUT);
|
|
68
|
+
}
|
|
69
|
+
refLayerRaws.push(parseRefYaml(raw, `override layer ${layerPath}`));
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const atRef = readFileAtRefOrNull(ctx, since, rel);
|
|
73
|
+
if (atRef === null)
|
|
74
|
+
continue; // layer added since <ref>: a real change
|
|
75
|
+
refLayerRaws.push(parseRefYaml(atRef, `override layer ${rel} at git ref "${since}"`));
|
|
76
|
+
}
|
|
77
|
+
const baseRaw = parseRefYaml(refRaw, "manifest at git ref");
|
|
78
|
+
if (refLayerRaws.length === 0)
|
|
79
|
+
return parseRefSchema(baseRaw);
|
|
80
|
+
try {
|
|
81
|
+
return parseRefSchema(applyLayers(baseRaw, ...refLayerRaws));
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
// A shape conflict between the REF-time base and a layer is a new
|
|
85
|
+
// error surface the override-naive ref path never had (e.g. the base's
|
|
86
|
+
// name-keyed list became plain since the ref). Scope the message to
|
|
87
|
+
// the ref so the operator knows it is the historical merge, not the
|
|
88
|
+
// working manifest, that failed.
|
|
89
|
+
if (err instanceof OverrideMergeError) {
|
|
90
|
+
throw new HarnessExitError(`override merge at git ref "${since}" failed: ${err.message}`, EX_NOINPUT);
|
|
91
|
+
}
|
|
92
|
+
throw err;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
25
95
|
export function diff(opts) {
|
|
26
96
|
if (!opts.since) {
|
|
27
97
|
throw new HarnessExitError("harness diff requires --since <ref>; --since-apply lands in Phase 3", EX_USAGE);
|
|
@@ -29,11 +99,16 @@ export function diff(opts) {
|
|
|
29
99
|
const resolved = resolvePaths(opts);
|
|
30
100
|
const ctx = locateGitContext(resolved.base);
|
|
31
101
|
const refRaw = readManifestAtRef(ctx, opts.since);
|
|
32
|
-
const
|
|
102
|
+
const warnings = [];
|
|
103
|
+
const layerPaths = [
|
|
104
|
+
...resolved.machineLayers,
|
|
105
|
+
...(resolved.projectLayer ? [resolved.projectLayer] : []),
|
|
106
|
+
];
|
|
107
|
+
const before = buildRefManifest(ctx, opts.since, refRaw, layerPaths, warnings);
|
|
33
108
|
const { manifest: after } = loadManifest(opts);
|
|
34
109
|
const changes = diffManifests(before, after);
|
|
35
110
|
const output = formatDiff(changes);
|
|
36
|
-
return { changes, output, before, after };
|
|
111
|
+
return { changes, output, before, after, warnings };
|
|
37
112
|
}
|
|
38
113
|
export { diffManifests, formatDiff } from "./engine.js";
|
|
39
114
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/diff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAsB,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/diff/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -284,6 +284,26 @@ function formatSummary(report) {
|
|
|
284
284
|
out.push(` ${report.warningCount} ${warnLabel}`);
|
|
285
285
|
return out;
|
|
286
286
|
}
|
|
287
|
+
// Grounding wiring section (task 129e1b94): rendered only when the report
|
|
288
|
+
// carries a grounding section, i.e. an enabled grounding-mcp entry exists.
|
|
289
|
+
// Manifests that don't use grounding stay silent, same policy as the Risk
|
|
290
|
+
// Gate section above.
|
|
291
|
+
function formatGroundingSection(report) {
|
|
292
|
+
const g = report.grounding;
|
|
293
|
+
if (g === undefined)
|
|
294
|
+
return [];
|
|
295
|
+
const out = ["", "Grounding"];
|
|
296
|
+
const source = g.envOverride !== null ? "operator env override" : "grounding.evidence_ledger.path";
|
|
297
|
+
out.push(` evidence ledger: ${g.ledgerPath} (${source})`);
|
|
298
|
+
if (g.warnings.length === 0) {
|
|
299
|
+
out.push(" ✓ ledger path writable; grounding: projects EVIDENCE_LEDGER_DB onto grounding-mcp");
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
for (const w of g.warnings)
|
|
303
|
+
out.push(` ⚠ ${w}`);
|
|
304
|
+
}
|
|
305
|
+
return out;
|
|
306
|
+
}
|
|
287
307
|
export function format(report) {
|
|
288
308
|
const lines = [formatHeader(report)];
|
|
289
309
|
lines.push(...formatManifestSection(report));
|
|
@@ -295,6 +315,7 @@ export function format(report) {
|
|
|
295
315
|
lines.push(...formatPolicyPacksSection(report));
|
|
296
316
|
lines.push(...formatWorkflowsSection(report));
|
|
297
317
|
lines.push(...formatRiskGateSection(report));
|
|
318
|
+
lines.push(...formatGroundingSection(report));
|
|
298
319
|
lines.push(...formatCodexTargetSection(report));
|
|
299
320
|
lines.push(...formatRogueLedgerSection(report));
|
|
300
321
|
lines.push(...formatSummary(report));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/cli/doctor/format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,SAAS,OAAO,CAAC,CAAiB,EAAE,OAAgB;IAClD,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,OAAO;gBACZ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,iCAAiC;gBAClD,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC;QAC7D,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACzD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,kEAAkE;YAClE,8DAA8D;YAC9D,wDAAwD;YACxD,MAAM,KAAK,GACT,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,YAAY;gBAC9B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,OAAO,CAAC;YACzC,OAAO,SAAS,CAAC,CAAC,IAAI,yDAAyD,KAAK,GAAG,CAAC;QAC1F,CAAC;QACD,KAAK,cAAc;YACjB,OAAO,SAAS,CAAC,CAAC,IAAI,qCAAqC,CAAC;QAC9D,KAAK,UAAU;YACb,OAAO,SAAS,CAAC,CAAC,IAAI,sBAAsB,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,gBAAgB,GAAG,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,OAAO,WAAW,OAAO,eAAe,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,eAAe,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;AACxH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IACjD,gEAAgE;IAChE,qEAAqE;IACrE,kEAAkE;IAClE,iEAAiE;IACjE,wEAAwE;IACxE,+BAA+B;IAC/B,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CACN,OAAO,MAAM,CAAC,QAAQ,CAAC,mBAAmB,+CAA+C,CAC1F,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,sEAAsE;AACtE,qEAAqE;AACrE,iEAAiE;AACjE,gCAAgC;AAChC,SAAS,wBAAwB,CAAC,MAAoB;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7C,OAAO;QACL,EAAE;QACF,aAAa;QACb,uBAAuB,GAAG,CAAC,MAAM,kBAAkB;QACnD,uFAAuF;QACvF,2DAA2D,GAAG,CAAC,mBAAmB,EAAE;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,uEAAuE;IACvE,kEAAkE;IAClE,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;IACzC,GAAG,CAAC,IAAI,CAAC,gBAAgB,QAAQ,YAAY,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IACrE,GAAG,CAAC,IAAI,CACN,aAAa,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,mBAAmB,GAAG,CAC/M,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAoB;IAC/C,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,OAAO,MAAM,aAAa,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,IAAI,oCAAoC,CAAC,CAAC;QACxF,CAAC;aAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CACN,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,wEAAwE,CAClH,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,IACE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EACxC,CAAC;QACD,mEAAmE;IACrE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzE,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IACjD,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CACN,OAAO,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,WAAW,CAAC,SAAS,cAAc,CAAC,CAAC,WAAW,CAAC,MAAM,oFAAoF,CACjL,CAAC;YACF,GAAG,CAAC,IAAI,CACN,yMAAyM,CAC1M,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mEAAmE;AACnE,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,qEAAqE;AACrE,wEAAwE;AACxE,SAAS,wBAAwB,CAAC,MAAoB;IACpD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IACzF,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAC/B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,GAAG,CAAC,IAAI,CACN,oJAAoJ,CACrJ,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,GACT,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CACN,6JAA6J,CAC9J,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CACN,oLAAoL,CACrL,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAoB;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACxC,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1F,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW;YAC1B,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/E,CAAC,CAAC,yBAAyB,CAAC;QAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,WAAW,MAAM,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,iEAAiE;AACjE,qEAAqE;AACrE,qBAAqB;AACrB,SAAS,qBAAqB,CAAC,MAAoB;IACjD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,EAAE,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACxC,GAAG,CAAC,IAAI,CACN,KAAK,EAAE,CAAC,WAAW,cAAc,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;QAClE,GAAG,EAAE,CAAC,SAAS,wBAAwB,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;QACxE,GAAG,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,aAAa,CACnF,CAAC;IACF,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,uEAAuE;IACvE,qEAAqE;IACrE,6DAA6D;IAC7D,GAAG,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IACtG,GAAG,CAAC,IAAI,CACN,mGAAmG,CACpG,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoB;IACpD,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,CAAS;IACjC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoB;IACpD,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClD,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,GAAG,CAAC,IAAI,CACN,uFAAuF,CACxF,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,kCAAkC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,MAAoB;IACzC,MAAM,GAAG,GAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,MAAM,KAAK,GAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/cli/doctor/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type McpProbe } from "../../probes/mcp.js";
|
|
2
|
+
import { type GitIgnoreProbe } from "../validate/checks.js";
|
|
2
3
|
import { type LoaderOptions } from "../loader.js";
|
|
3
4
|
import { type RunCodexCheckOptions } from "./codex.js";
|
|
4
5
|
import { type NpmExec } from "./npm-bin-path.js";
|
|
@@ -34,8 +35,40 @@ export interface DoctorOptions extends LoaderOptions {
|
|
|
34
35
|
* this and the real `npm` is spawned.
|
|
35
36
|
*/
|
|
36
37
|
npmBinExec?: NpmExec;
|
|
38
|
+
/**
|
|
39
|
+
* Test-injection knob for the solution-acceptance knob-ignored check
|
|
40
|
+
* (task 24f6ceb9). Defaults to a real `git check-ignore` probe against
|
|
41
|
+
* the process cwd; `shallow` runs degrade it to `() => null` (no spawn),
|
|
42
|
+
* mirroring how the version probe degrades. An explicit probe wins over
|
|
43
|
+
* `shallow` so tests can exercise the check without paying for spawns.
|
|
44
|
+
*/
|
|
45
|
+
gitIgnoreProbe?: GitIgnoreProbe;
|
|
37
46
|
}
|
|
38
47
|
export { isDoctorTarget, KNOWN_DOCTOR_TARGETS };
|
|
48
|
+
/**
|
|
49
|
+
* Declared-but-not-live policy pack check. `expandPolicyPacks` silently
|
|
50
|
+
* skips a pack whose `source:` token is unrecognised or whose builtin
|
|
51
|
+
* `name:` doesn't resolve in the registry — its hooks never reach
|
|
52
|
+
* `settings.json`, so the operator's gate is inert. Surface each gap
|
|
53
|
+
* as a doctor error so the misconfig is impossible to miss.
|
|
54
|
+
*
|
|
55
|
+
* Skipped (`enabled: false`) packs are NOT checked: they're not
|
|
56
|
+
* expected to be live, and flagging them would flood the report.
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* Sentinel "cannot tell" probe: shallow runs answer every ignoredness
|
|
60
|
+
* question with `null` instead of spawning `git check-ignore`. Exported
|
|
61
|
+
* (with the resolver below) so a test can pin the no-spawn contract by
|
|
62
|
+
* identity instead of mocking `node:child_process`.
|
|
63
|
+
*/
|
|
64
|
+
export declare const NULL_GIT_IGNORE_PROBE: GitIgnoreProbe;
|
|
65
|
+
/**
|
|
66
|
+
* Probe resolution order: an explicit (test) probe always wins; `shallow`
|
|
67
|
+
* degrades to the no-spawn sentinel, mirroring how the npm-bin probe and
|
|
68
|
+
* MCP probes degrade; otherwise the real `git check-ignore` probe runs
|
|
69
|
+
* against the process cwd.
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveGitIgnoreProbe(opts: Pick<DoctorOptions, "gitIgnoreProbe" | "shallow">): GitIgnoreProbe;
|
|
39
72
|
export declare function doctor(opts?: DoctorOptions): Promise<DoctorReport>;
|
|
40
73
|
export { format } from "./format.js";
|
|
41
74
|
export type * from "./types.js";
|