audit-tools 0.45.0 → 0.46.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/README.md +15 -2
- package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.js +11 -1
- package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
- package/dist/audit/cli/cleanupCommand.d.ts +25 -0
- package/dist/audit/cli/cleanupCommand.d.ts.map +1 -1
- package/dist/audit/cli/cleanupCommand.js +69 -0
- package/dist/audit/cli/cleanupCommand.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +52 -76
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
- package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
- package/dist/audit/cli/fanoutLanes.js +6 -1
- package/dist/audit/cli/fanoutLanes.js.map +1 -1
- package/dist/audit/cli/laneSubmissions.d.ts +13 -0
- package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
- package/dist/audit/cli/laneSubmissions.js +38 -27
- package/dist/audit/cli/laneSubmissions.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +8 -6
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +3 -2
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +37 -35
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +1 -1
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +2 -9
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
- package/dist/audit/cli/sampleRunCommand.js +12 -1
- package/dist/audit/cli/sampleRunCommand.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +9 -1
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +6 -6
- package/dist/audit/contracts/workerSchemas.d.ts +36 -26
- package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
- package/dist/audit/contracts/workerSchemas.js +11 -1
- package/dist/audit/contracts/workerSchemas.js.map +1 -1
- package/dist/audit/contracts/wrapperResponse.d.ts +52 -28
- package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
- package/dist/audit/contracts/wrapperResponse.js +8 -5
- package/dist/audit/contracts/wrapperResponse.js.map +1 -1
- package/dist/audit/decompose/sources.d.ts.map +1 -1
- package/dist/audit/decompose/sources.js +21 -5
- package/dist/audit/decompose/sources.js.map +1 -1
- package/dist/audit/extractors/analyzers/registry.d.ts +8 -5
- package/dist/audit/extractors/analyzers/registry.d.ts.map +1 -1
- package/dist/audit/extractors/analyzers/registry.js +28 -7
- package/dist/audit/extractors/analyzers/registry.js.map +1 -1
- package/dist/audit/extractors/designAssessment.js +1 -1
- package/dist/audit/extractors/gitHistory.d.ts +1 -1
- package/dist/audit/extractors/gitHistory.js +1 -1
- package/dist/audit/extractors/graph.d.ts +1 -1
- package/dist/audit/extractors/graph.js +1 -1
- package/dist/audit/extractors/risk.d.ts +1 -1
- package/dist/audit/extractors/risk.js +1 -1
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +5 -5
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +11 -6
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +14 -10
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +49 -24
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +14 -0
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts +20 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.js +77 -15
- package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.js +1 -1
- package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +18 -4
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/executors.d.ts +54 -0
- package/dist/audit/orchestrator/executors.d.ts.map +1 -1
- package/dist/audit/orchestrator/executors.js +352 -0
- package/dist/audit/orchestrator/executors.js.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.d.ts +20 -11
- package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.js +17 -11
- package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
- package/dist/audit/orchestrator/localCommands.d.ts +24 -1
- package/dist/audit/orchestrator/localCommands.d.ts.map +1 -1
- package/dist/audit/orchestrator/localCommands.js +44 -9
- package/dist/audit/orchestrator/localCommands.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts +13 -0
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +13 -0
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts +32 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.js +90 -3
- package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
- package/dist/audit/orchestrator/structureExecutors.js +1 -1
- package/dist/audit/orchestrator/structureExecutors.js.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +11 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js +25 -9
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts +0 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.js +2 -1
- package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
- package/dist/audit/types.d.ts +18 -18
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +1 -0
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/contractPipeline/semanticProjection.d.ts +5 -4
- package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/semanticProjection.js +34 -19
- package/dist/remediate/contractPipeline/semanticProjection.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +3 -2
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +37 -2
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +100 -31
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +2 -2
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +61 -19
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +13 -0
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +82 -3
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +297 -139
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +37 -7
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/types/options.d.ts +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +61 -28
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +83 -24
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +8 -2
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +4 -4
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/constitutionalDocPaths.d.ts.map +1 -1
- package/dist/shared/constitutionalDocPaths.js +7 -0
- package/dist/shared/constitutionalDocPaths.js.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +44 -3
- package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.js +53 -7
- package/dist/shared/engine/obligationEngine.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +8 -0
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +42 -2
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js +111 -3
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/triage.d.ts +15 -0
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +33 -2
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +13 -9
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +14 -7
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/fileLock.d.ts.map +1 -1
- package/dist/shared/io/fileLock.js +22 -3
- package/dist/shared/io/fileLock.js.map +1 -1
- package/dist/shared/io/frictionCapture.d.ts +73 -19
- package/dist/shared/io/frictionCapture.d.ts.map +1 -1
- package/dist/shared/io/frictionCapture.js +21 -30
- package/dist/shared/io/frictionCapture.js.map +1 -1
- package/dist/shared/io/lockedJsonStore.d.ts +24 -3
- package/dist/shared/io/lockedJsonStore.d.ts.map +1 -1
- package/dist/shared/io/lockedJsonStore.js +35 -7
- package/dist/shared/io/lockedJsonStore.js.map +1 -1
- package/dist/shared/io/stepContractWriter.d.ts +3 -3
- package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
- package/dist/shared/io/stepContractWriter.js +97 -13
- package/dist/shared/io/stepContractWriter.js.map +1 -1
- package/dist/shared/submission/expectedSubmissions.d.ts +18 -0
- package/dist/shared/submission/expectedSubmissions.d.ts.map +1 -1
- package/dist/shared/submission/expectedSubmissions.js +17 -0
- package/dist/shared/submission/expectedSubmissions.js.map +1 -1
- package/dist/shared/submission/handRecovery.d.ts.map +1 -1
- package/dist/shared/submission/handRecovery.js +9 -11
- package/dist/shared/submission/handRecovery.js.map +1 -1
- package/dist/shared/submission/hostHandoffCore.d.ts +155 -0
- package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -0
- package/dist/shared/submission/hostHandoffCore.js +210 -0
- package/dist/shared/submission/hostHandoffCore.js.map +1 -0
- package/dist/shared/submission/submissionLedger.d.ts +5 -1
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +33 -3
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/tooling/commandShape.d.ts +29 -0
- package/dist/shared/tooling/commandShape.d.ts.map +1 -1
- package/dist/shared/tooling/commandShape.js +82 -10
- package/dist/shared/tooling/commandShape.js.map +1 -1
- package/dist/shared/tooling/exec.d.ts +32 -0
- package/dist/shared/tooling/exec.d.ts.map +1 -1
- package/dist/shared/tooling/exec.js +189 -0
- package/dist/shared/tooling/exec.js.map +1 -1
- package/docs/audit-pkg/contracts.md +2 -1
- package/docs/audit-pkg/operator-guide.md +5 -2
- package/docs/audit-pkg/product.md +22 -6
- package/package.json +10 -6
- package/schemas/audit-code-v1alpha1.schema.json +297 -0
- package/schemas/audit_result.schema.json +4 -0
- package/schemas/audit_results.schema.json +4 -0
- package/scripts/shared/install-host-assets.mjs +8 -5
- package/skills/audit-code/SKILL.md +4 -2
- package/skills/audit-code/audit-code.prompt.md +5 -2
- package/skills/audit-code/opencode-command-template.txt +1 -1
- package/wrapper/audit-code-wrapper-lib.mjs +81 -16
- package/wrapper/installer-verb-help.mjs +14 -4
- package/docs/audit-pkg/development.md +0 -113
- package/docs/audit-pkg/release.md +0 -140
|
@@ -3,12 +3,12 @@ import type { AnalyzerSetting } from "../analyzerPolicy.js";
|
|
|
3
3
|
import { type ExternalAnalyzerParseOutcome, type ExternalAnalyzerResults, type ExternalAnalyzerToolStatus } from "./types.js";
|
|
4
4
|
import { type BinarySpec, type BinaryResolveOptions } from "./binaryAcquisition.js";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* External analyzer acquisition engine.
|
|
7
7
|
*
|
|
8
8
|
* On-demand acquisition + ephemeral execution of mature, ecosystem-native
|
|
9
9
|
* analyzers (eslint, ruff, cargo-clippy, …). Distinct from the in-tree
|
|
10
10
|
* `LanguageAnalyzer` registry (which enriches the regex floor from a resolved
|
|
11
|
-
* npm package directory):
|
|
11
|
+
* npm package directory): this engine *runs an external tool as a subprocess* and
|
|
12
12
|
* normalizes its native output through the EXISTING adapter seam
|
|
13
13
|
* (`normalizeExternal.ts`) into {@link ExternalAnalyzerResults}, which then
|
|
14
14
|
* re-enters the graph/risk artifacts through the shared
|
|
@@ -23,7 +23,7 @@ import { type BinarySpec, type BinaryResolveOptions } from "./binaryAcquisition.
|
|
|
23
23
|
* its `AnalyzerSetting` (auto|ephemeral|permanent) — even a `permanent`,
|
|
24
24
|
* pre-installed tool cannot spawn without consent (CE-005). The small
|
|
25
25
|
* value-curated DEFAULT set runs without prompting.
|
|
26
|
-
* - **Own-vs-acquire boundary.** git-history is OWNED
|
|
26
|
+
* - **Own-vs-acquire boundary.** git-history is OWNED in-house and is rejected at
|
|
27
27
|
* registration — never acquired here. Secret scanning is ACQUIRED (gitleaks).
|
|
28
28
|
* - **Run-safety gate written once** (`runSafetyGate`): capability-probe, pin
|
|
29
29
|
* version, read-only/sandboxed argv, degrade-to-empty.
|
|
@@ -32,13 +32,13 @@ import { type BinarySpec, type BinaryResolveOptions } from "./binaryAcquisition.
|
|
|
32
32
|
* throws and never silently drops the candidate.
|
|
33
33
|
*/
|
|
34
34
|
/**
|
|
35
|
-
* Tool ids OWNED
|
|
35
|
+
* Tool ids OWNED in-house and never acquired. Only git-history mining is OWNED — it
|
|
36
36
|
* is a truly-agnostic signal with no ecosystem tool. Secret scanning is ACQUIRED
|
|
37
37
|
* (gitleaks), not owned, so it is deliberately NOT listed here.
|
|
38
38
|
*/
|
|
39
39
|
export declare const OWNED_TOOL_IDS: Set<string>;
|
|
40
40
|
/**
|
|
41
|
-
* Ecosystem runners
|
|
41
|
+
* Ecosystem runners this engine knows how to drive. `npx`/`pipx`/`cargo`/`bundle` acquire
|
|
42
42
|
* + run a pinned package ephemerally; `binary` runs a standalone release binary
|
|
43
43
|
* resolved (and downloaded-if-absent) by the binary-acquisition seam.
|
|
44
44
|
*/
|
|
@@ -78,7 +78,7 @@ export interface ExternalAnalyzerCandidate {
|
|
|
78
78
|
purpose?: string;
|
|
79
79
|
/**
|
|
80
80
|
* Build the read-only argv for the tool given the resolved runner argv prefix
|
|
81
|
-
* and repo root. MUST NOT request fixes/writes —
|
|
81
|
+
* and repo root. MUST NOT request fixes/writes — acquisition is observe-only.
|
|
82
82
|
*/
|
|
83
83
|
buildArgv(runnerPrefix: string[], root: string): string[];
|
|
84
84
|
/**
|
|
@@ -118,8 +118,14 @@ export declare function detectDockerEcosystem(root: string): boolean;
|
|
|
118
118
|
* sense when that directory exists, so its presence is the ecosystem marker.
|
|
119
119
|
*/
|
|
120
120
|
export declare function detectGithubActionsEcosystem(root: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* The async command-runner seam. Analyzer spawns run on
|
|
123
|
+
* {@link runTrackedAsync} (the shared exec boundary's async twin) so a stalled
|
|
124
|
+
* child cannot block the event loop and starve the liveness/file-lock
|
|
125
|
+
* heartbeats; tests inject an async fake at this seam.
|
|
126
|
+
*/
|
|
121
127
|
export interface AcquisitionRunner {
|
|
122
|
-
(argv: string[], cwd: string): RunTrackedResult
|
|
128
|
+
(argv: string[], cwd: string): Promise<RunTrackedResult>;
|
|
123
129
|
}
|
|
124
130
|
/** A recorded, durable operator decision for one analyzer. */
|
|
125
131
|
export type AnalyzerConsentDecision = "granted" | "declined";
|
|
@@ -127,8 +133,10 @@ export type AnalyzerConsentDecision = "granted" | "declined";
|
|
|
127
133
|
export type AnalyzerConsentDecisions = Record<string, AnalyzerConsentDecision>;
|
|
128
134
|
/**
|
|
129
135
|
* A consent token SCOPED to the analyzers the operator was actually offered. This is
|
|
130
|
-
*
|
|
136
|
+
* THE form a caller issues: the grant names its tools, so a grant obtained by
|
|
131
137
|
* offering one analyzer cannot silently admit an analyzer the operator never saw.
|
|
138
|
+
* The former unscoped bare-string form is retired — a run-wide token is expressed
|
|
139
|
+
* as a grant naming every candidate the run offered.
|
|
132
140
|
*/
|
|
133
141
|
export interface AnalyzerConsentTokenGrant {
|
|
134
142
|
/** Opaque per-run value; never persisted (pinned by the strict AnalyzerPolicy schema). */
|
|
@@ -136,23 +144,15 @@ export interface AnalyzerConsentTokenGrant {
|
|
|
136
144
|
/** The candidate ids this grant authorizes, and only those. */
|
|
137
145
|
readonly tools: readonly string[];
|
|
138
146
|
}
|
|
139
|
-
/**
|
|
140
|
-
* What a caller may present as consent for this run.
|
|
141
|
-
*
|
|
142
|
-
* ⚠ The bare-string form is UNSCOPED — it authorizes every undecided candidate in the
|
|
143
|
-
* run. It remains accepted only because retiring it is a caller-side change owned by
|
|
144
|
-
* the acquisition entry point's own node; new callers should issue an
|
|
145
|
-
* {@link AnalyzerConsentTokenGrant}, which the chokepoint enforces per candidate.
|
|
146
|
-
*/
|
|
147
|
-
export type AnalyzerConsentTokenInput = string | AnalyzerConsentTokenGrant;
|
|
148
147
|
export interface AcquisitionEngineOptions {
|
|
149
148
|
/**
|
|
150
|
-
* Per-run consent
|
|
151
|
-
* candidate whose setting is ephemeral/permanent) that has no recorded
|
|
152
|
-
* decision. Absent ⇒ only the DEFAULT set runs; everything else is
|
|
153
|
-
* `skipped` with a consent note. A
|
|
149
|
+
* Per-run, tool-SCOPED consent grant. REQUIRED to spawn any non-DEFAULT candidate
|
|
150
|
+
* (and any candidate whose setting is ephemeral/permanent) that has no recorded
|
|
151
|
+
* "granted" decision. Absent ⇒ only the DEFAULT set runs; everything else is
|
|
152
|
+
* reported `skipped` with a consent note. A grant admits ONLY the candidates it
|
|
153
|
+
* names — and NEVER overrides a recorded "declined".
|
|
154
154
|
*/
|
|
155
|
-
consentToken?:
|
|
155
|
+
consentToken?: AnalyzerConsentTokenGrant;
|
|
156
156
|
/** Per-analyzer settings (auto|ephemeral|permanent|skip|repo). */
|
|
157
157
|
analyzers?: Record<string, AnalyzerSetting>;
|
|
158
158
|
/**
|
|
@@ -206,18 +206,51 @@ export declare const ANALYZER_DENIAL_REASONS: {
|
|
|
206
206
|
* runs unprompted, a recorded `"granted"` admits, and finally a consent token
|
|
207
207
|
* admits the candidate it was issued for.
|
|
208
208
|
*/
|
|
209
|
-
export declare function admitSpawn(candidate: ExternalAnalyzerCandidate, setting: AnalyzerSetting, consentToken:
|
|
209
|
+
export declare function admitSpawn(candidate: ExternalAnalyzerCandidate, setting: AnalyzerSetting, consentToken: AnalyzerConsentTokenGrant | undefined, recordedDecision?: AnalyzerConsentDecision): string | undefined;
|
|
210
|
+
/**
|
|
211
|
+
* Local (non-analyzer) spawn admission for the deterministic executors that run
|
|
212
|
+
* repo tooling in place — formatters, syntax resolvers. The decline-first rule
|
|
213
|
+
* is ONE rule regardless of WHAT spawns: a recorded operator `declined` for a
|
|
214
|
+
* tool id vetoes every spawn of that id, exactly as {@link admitSpawn} does for
|
|
215
|
+
* acquired analyzers, and nothing overrides it. Everything else about a local
|
|
216
|
+
* command (resolution order, fallbacks) stays its executor's own business; this
|
|
217
|
+
* gate adds only the veto, so "the operator said no to this tool" can never
|
|
218
|
+
* resolve into a spawn.
|
|
219
|
+
*
|
|
220
|
+
* Deliberately narrower than {@link admitSpawn}: a formatter is not an acquired
|
|
221
|
+
* analyzer — there is no per-run consent offer and no DEFAULT-set notion, only
|
|
222
|
+
* the operator's own refusal. The FULL argv is passed, not just `command`, so
|
|
223
|
+
* the reduction sees a `process.execPath` invocation's script
|
|
224
|
+
* (`node …/prettier.cjs` is `prettier`, never `node` — keying the executable
|
|
225
|
+
* alone would let a recorded decline of `prettier` sail past the repo-local
|
|
226
|
+
* `node_modules` arm). An arm whose real tool sits deeper in the argv than the
|
|
227
|
+
* script (`python -m black`, `uvx black`, `pipx run black`) cannot be derived
|
|
228
|
+
* — pass its id as `declaredToolId`; a declared id always wins over derivation.
|
|
229
|
+
*/
|
|
230
|
+
export declare function admitLocalSpawn(argv: readonly string[], recordedDecisions: AnalyzerConsentDecisions | undefined, declaredToolId?: string): string | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* Reduce a local spawn's ARGV to its registry key: the executable's basename
|
|
233
|
+
* with any launcher suffix stripped. `C:\repo\node_modules\.bin\prettier.cmd`,
|
|
234
|
+
* `/usr/bin/prettier`, and `prettier` all reduce to `prettier`. For a
|
|
235
|
+
* `process.execPath` invocation (`node <script>`) the SCRIPT name is the key,
|
|
236
|
+
* since that is the tool actually running. A runner-prefix arm whose real tool
|
|
237
|
+
* is a later argv token (`python -m black`, `uvx black`, `pipx run black`)
|
|
238
|
+
* deliberately does NOT reduce to that tool — the caller declares its id
|
|
239
|
+
* instead ({@link admitLocalSpawn}), because argv archaeology cannot tell a
|
|
240
|
+
* tool argument from an ordinary flag.
|
|
241
|
+
*/
|
|
242
|
+
export declare function localToolIdFor(argv: readonly string[]): string;
|
|
210
243
|
/**
|
|
211
244
|
* The run-safety gate, written once: capability-probe the runner, then (if the
|
|
212
245
|
* probe passes) the caller may spawn the pinned, read-only argv. Returns the
|
|
213
246
|
* probe outcome so a missing runner degrades to an empty result + a status.
|
|
214
247
|
*/
|
|
215
|
-
export declare function runSafetyGate(candidate: ExternalAnalyzerCandidate, run: AcquisitionRunner, root: string): {
|
|
248
|
+
export declare function runSafetyGate(candidate: ExternalAnalyzerCandidate, run: AcquisitionRunner, root: string): Promise<{
|
|
216
249
|
ok: true;
|
|
217
250
|
} | {
|
|
218
251
|
ok: false;
|
|
219
252
|
reason: string;
|
|
220
|
-
}
|
|
253
|
+
}>;
|
|
221
254
|
export interface AcquisitionOutcome {
|
|
222
255
|
results: ExternalAnalyzerResults;
|
|
223
256
|
status: ExternalAnalyzerToolStatus;
|
|
@@ -227,9 +260,9 @@ export interface AcquisitionOutcome {
|
|
|
227
260
|
* output through the adapter seam. Never throws; always returns exactly one
|
|
228
261
|
* {@link ExternalAnalyzerToolStatus} alongside the (possibly empty) results.
|
|
229
262
|
*/
|
|
230
|
-
export declare function runExternalAnalyzer(candidate: ExternalAnalyzerCandidate, root: string, options?: AcquisitionEngineOptions): AcquisitionOutcome
|
|
263
|
+
export declare function runExternalAnalyzer(candidate: ExternalAnalyzerCandidate, root: string, options?: AcquisitionEngineOptions): Promise<AcquisitionOutcome>;
|
|
231
264
|
/**
|
|
232
|
-
* Register external analyzer candidates, rejecting any whose id is OWNED
|
|
265
|
+
* Register external analyzer candidates, rejecting any whose id is OWNED in-house
|
|
233
266
|
* (git-history/secret-scan). Returns the accepted candidates; the own-vs-acquire
|
|
234
267
|
* boundary is enforced HERE so an owned tool can never enter the engine.
|
|
235
268
|
*/
|
|
@@ -257,5 +290,5 @@ export interface RunAllOutcome {
|
|
|
257
290
|
* collecting one status per candidate. Owned tools are rejected at registration;
|
|
258
291
|
* each survivor passes through the spawn-admission chokepoint and run-safety gate.
|
|
259
292
|
*/
|
|
260
|
-
export declare function runAcquisitionEngine(candidates: ExternalAnalyzerCandidate[], root: string, options?: AcquisitionEngineOptions): RunAllOutcome
|
|
293
|
+
export declare function runAcquisitionEngine(candidates: ExternalAnalyzerCandidate[], root: string, options?: AcquisitionEngineOptions): Promise<RunAllOutcome>;
|
|
261
294
|
//# sourceMappingURL=acquisitionEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquisitionEngine.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"acquisitionEngine.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { existsSync, readFileSync, rmSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import {
|
|
3
|
+
import { runTrackedAsync } from "../tooling/exec.js";
|
|
4
4
|
import { normalizeGenericExternalResults, normalizeGenericExternalEdges, } from "./normalizeExternal.js";
|
|
5
5
|
import { readParseOutcome, } from "./types.js";
|
|
6
6
|
import { resolveBinary, } from "./binaryAcquisition.js";
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* External analyzer acquisition engine.
|
|
9
9
|
*
|
|
10
10
|
* On-demand acquisition + ephemeral execution of mature, ecosystem-native
|
|
11
11
|
* analyzers (eslint, ruff, cargo-clippy, …). Distinct from the in-tree
|
|
12
12
|
* `LanguageAnalyzer` registry (which enriches the regex floor from a resolved
|
|
13
|
-
* npm package directory):
|
|
13
|
+
* npm package directory): this engine *runs an external tool as a subprocess* and
|
|
14
14
|
* normalizes its native output through the EXISTING adapter seam
|
|
15
15
|
* (`normalizeExternal.ts`) into {@link ExternalAnalyzerResults}, which then
|
|
16
16
|
* re-enters the graph/risk artifacts through the shared
|
|
@@ -25,7 +25,7 @@ import { resolveBinary, } from "./binaryAcquisition.js";
|
|
|
25
25
|
* its `AnalyzerSetting` (auto|ephemeral|permanent) — even a `permanent`,
|
|
26
26
|
* pre-installed tool cannot spawn without consent (CE-005). The small
|
|
27
27
|
* value-curated DEFAULT set runs without prompting.
|
|
28
|
-
* - **Own-vs-acquire boundary.** git-history is OWNED
|
|
28
|
+
* - **Own-vs-acquire boundary.** git-history is OWNED in-house and is rejected at
|
|
29
29
|
* registration — never acquired here. Secret scanning is ACQUIRED (gitleaks).
|
|
30
30
|
* - **Run-safety gate written once** (`runSafetyGate`): capability-probe, pin
|
|
31
31
|
* version, read-only/sandboxed argv, degrade-to-empty.
|
|
@@ -34,7 +34,7 @@ import { resolveBinary, } from "./binaryAcquisition.js";
|
|
|
34
34
|
* throws and never silently drops the candidate.
|
|
35
35
|
*/
|
|
36
36
|
/**
|
|
37
|
-
* Tool ids OWNED
|
|
37
|
+
* Tool ids OWNED in-house and never acquired. Only git-history mining is OWNED — it
|
|
38
38
|
* is a truly-agnostic signal with no ecosystem tool. Secret scanning is ACQUIRED
|
|
39
39
|
* (gitleaks), not owned, so it is deliberately NOT listed here.
|
|
40
40
|
*/
|
|
@@ -114,20 +114,15 @@ export const ANALYZER_DENIAL_REASONS = {
|
|
|
114
114
|
consent_token_scope: "consent token was not issued for this analyzer (scoped consent covers other tools only)",
|
|
115
115
|
};
|
|
116
116
|
/**
|
|
117
|
-
* Does this consent
|
|
117
|
+
* Does this consent grant authorize THIS candidate?
|
|
118
118
|
*
|
|
119
|
-
* A
|
|
120
|
-
* tool A cannot admit tool B.
|
|
121
|
-
*
|
|
122
|
-
* point that still issues one, and is deliberately reported distinctly here so the
|
|
123
|
-
* unscoped case is visible rather than indistinguishable from a scoped grant.
|
|
119
|
+
* A grant authorizes exactly the tools it names — a grant obtained by offering
|
|
120
|
+
* tool A cannot admit tool B. There is deliberately no run-wide form: a caller
|
|
121
|
+
* that was authorized for everything issues a grant naming everything it offered.
|
|
124
122
|
*/
|
|
125
123
|
function consentTokenAdmits(consentToken, candidateId) {
|
|
126
124
|
if (consentToken === undefined || consentToken === null)
|
|
127
125
|
return "absent";
|
|
128
|
-
if (typeof consentToken === "string") {
|
|
129
|
-
return consentToken.trim().length > 0 ? "admit" : "absent";
|
|
130
|
-
}
|
|
131
126
|
if (typeof consentToken.value !== "string" || consentToken.value.trim().length === 0) {
|
|
132
127
|
return "absent";
|
|
133
128
|
}
|
|
@@ -167,18 +162,77 @@ export function admitSpawn(candidate, setting, consentToken, recordedDecision) {
|
|
|
167
162
|
return ANALYZER_DENIAL_REASONS.consent_token_scope;
|
|
168
163
|
return ANALYZER_DENIAL_REASONS.consent_not_decided;
|
|
169
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Local (non-analyzer) spawn admission for the deterministic executors that run
|
|
167
|
+
* repo tooling in place — formatters, syntax resolvers. The decline-first rule
|
|
168
|
+
* is ONE rule regardless of WHAT spawns: a recorded operator `declined` for a
|
|
169
|
+
* tool id vetoes every spawn of that id, exactly as {@link admitSpawn} does for
|
|
170
|
+
* acquired analyzers, and nothing overrides it. Everything else about a local
|
|
171
|
+
* command (resolution order, fallbacks) stays its executor's own business; this
|
|
172
|
+
* gate adds only the veto, so "the operator said no to this tool" can never
|
|
173
|
+
* resolve into a spawn.
|
|
174
|
+
*
|
|
175
|
+
* Deliberately narrower than {@link admitSpawn}: a formatter is not an acquired
|
|
176
|
+
* analyzer — there is no per-run consent offer and no DEFAULT-set notion, only
|
|
177
|
+
* the operator's own refusal. The FULL argv is passed, not just `command`, so
|
|
178
|
+
* the reduction sees a `process.execPath` invocation's script
|
|
179
|
+
* (`node …/prettier.cjs` is `prettier`, never `node` — keying the executable
|
|
180
|
+
* alone would let a recorded decline of `prettier` sail past the repo-local
|
|
181
|
+
* `node_modules` arm). An arm whose real tool sits deeper in the argv than the
|
|
182
|
+
* script (`python -m black`, `uvx black`, `pipx run black`) cannot be derived
|
|
183
|
+
* — pass its id as `declaredToolId`; a declared id always wins over derivation.
|
|
184
|
+
*/
|
|
185
|
+
export function admitLocalSpawn(argv, recordedDecisions, declaredToolId) {
|
|
186
|
+
const id = declaredToolId ?? localToolIdFor(argv);
|
|
187
|
+
if (recordedDecisions?.[id] === "declined") {
|
|
188
|
+
return ANALYZER_DENIAL_REASONS.consent_declined;
|
|
189
|
+
}
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
function lastPathSegment(pathLike) {
|
|
193
|
+
const segments = pathLike.split(/[\\/]/u);
|
|
194
|
+
return segments[segments.length - 1] ?? pathLike;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Strip the suffixes a tool id hides behind: the Windows shim extensions
|
|
198
|
+
* (`.cmd`/`.bat`/`.exe`/`.com`) and the JS script extensions a `node <script>`
|
|
199
|
+
* invocation runs through (`.js`/`.cjs`/`.mjs`). `prettier.cjs` — the actual
|
|
200
|
+
* entrypoint inside the prettier package — has to reduce to `prettier`, or a
|
|
201
|
+
* recorded decline of `prettier` never matches the arm that runs it.
|
|
202
|
+
*/
|
|
203
|
+
function stripLauncherSuffix(executableName) {
|
|
204
|
+
return executableName.replace(/\.(cmd|bat|exe|com|cjs|mjs|js)$/iu, "");
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Reduce a local spawn's ARGV to its registry key: the executable's basename
|
|
208
|
+
* with any launcher suffix stripped. `C:\repo\node_modules\.bin\prettier.cmd`,
|
|
209
|
+
* `/usr/bin/prettier`, and `prettier` all reduce to `prettier`. For a
|
|
210
|
+
* `process.execPath` invocation (`node <script>`) the SCRIPT name is the key,
|
|
211
|
+
* since that is the tool actually running. A runner-prefix arm whose real tool
|
|
212
|
+
* is a later argv token (`python -m black`, `uvx black`, `pipx run black`)
|
|
213
|
+
* deliberately does NOT reduce to that tool — the caller declares its id
|
|
214
|
+
* instead ({@link admitLocalSpawn}), because argv archaeology cannot tell a
|
|
215
|
+
* tool argument from an ordinary flag.
|
|
216
|
+
*/
|
|
217
|
+
export function localToolIdFor(argv) {
|
|
218
|
+
const [first = "", second = ""] = argv;
|
|
219
|
+
if (first === process.execPath && second.length > 0) {
|
|
220
|
+
return stripLauncherSuffix(lastPathSegment(second));
|
|
221
|
+
}
|
|
222
|
+
return stripLauncherSuffix(lastPathSegment(first));
|
|
223
|
+
}
|
|
170
224
|
/**
|
|
171
225
|
* The run-safety gate, written once: capability-probe the runner, then (if the
|
|
172
226
|
* probe passes) the caller may spawn the pinned, read-only argv. Returns the
|
|
173
227
|
* probe outcome so a missing runner degrades to an empty result + a status.
|
|
174
228
|
*/
|
|
175
|
-
export function runSafetyGate(candidate, run, root) {
|
|
229
|
+
export async function runSafetyGate(candidate, run, root) {
|
|
176
230
|
// Pinned version is mandatory for reproducibility — a candidate without a
|
|
177
231
|
// pinned tool spec is never executed (degrades to empty + status).
|
|
178
232
|
if (!candidate.spec || candidate.spec.trim().length === 0) {
|
|
179
233
|
return { ok: false, reason: `tool '${candidate.id}' has no pinned version spec` };
|
|
180
234
|
}
|
|
181
|
-
const probe = run(runnerProbeArgv(candidate.runner), root);
|
|
235
|
+
const probe = await run(runnerProbeArgv(candidate.runner), root);
|
|
182
236
|
if (probe.error || probe.status !== 0) {
|
|
183
237
|
return {
|
|
184
238
|
ok: false,
|
|
@@ -198,7 +252,7 @@ function settingFor(analyzers, id) {
|
|
|
198
252
|
* output through the adapter seam. Never throws; always returns exactly one
|
|
199
253
|
* {@link ExternalAnalyzerToolStatus} alongside the (possibly empty) results.
|
|
200
254
|
*/
|
|
201
|
-
export function runExternalAnalyzer(candidate, root, options = {}) {
|
|
255
|
+
export async function runExternalAnalyzer(candidate, root, options = {}) {
|
|
202
256
|
if (OWNED_TOOL_IDS.has(candidate.id)) {
|
|
203
257
|
// Defence in depth — registration already rejects these.
|
|
204
258
|
return {
|
|
@@ -207,11 +261,14 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
|
|
|
207
261
|
tool: candidate.id,
|
|
208
262
|
resolved: false,
|
|
209
263
|
status: "skipped",
|
|
210
|
-
error: "owned
|
|
264
|
+
error: "owned in-house (git-history/secret-scan); never acquired",
|
|
211
265
|
},
|
|
212
266
|
};
|
|
213
267
|
}
|
|
214
|
-
|
|
268
|
+
// The async shared runner (runTrackedAsync), never the synchronous twin: a
|
|
269
|
+
// synchronous child would block this loop and starve every liveness /
|
|
270
|
+
// file-lock heartbeat in the process for the length of one stalled probe.
|
|
271
|
+
const run = options.run ?? ((argv, cwd) => runTrackedAsync(argv, { cwd }));
|
|
215
272
|
const log = options.log ?? (() => { });
|
|
216
273
|
const setting = settingFor(options.analyzers, candidate.id);
|
|
217
274
|
if (!candidate.detect(root)) {
|
|
@@ -252,7 +309,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
|
|
|
252
309
|
prefix = [resolved];
|
|
253
310
|
}
|
|
254
311
|
else {
|
|
255
|
-
const gate = runSafetyGate(candidate, run, root);
|
|
312
|
+
const gate = await runSafetyGate(candidate, run, root);
|
|
256
313
|
if (!gate.ok) {
|
|
257
314
|
log("[f5] %s safety gate failed: %s", candidate.id, gate.reason);
|
|
258
315
|
return {
|
|
@@ -266,7 +323,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
|
|
|
266
323
|
const command = argv.join(" ");
|
|
267
324
|
let result;
|
|
268
325
|
try {
|
|
269
|
-
result = run(argv, root);
|
|
326
|
+
result = await run(argv, root);
|
|
270
327
|
}
|
|
271
328
|
catch (error) {
|
|
272
329
|
return {
|
|
@@ -438,7 +495,7 @@ export function runExternalAnalyzer(candidate, root, options = {}) {
|
|
|
438
495
|
};
|
|
439
496
|
}
|
|
440
497
|
/**
|
|
441
|
-
* Register external analyzer candidates, rejecting any whose id is OWNED
|
|
498
|
+
* Register external analyzer candidates, rejecting any whose id is OWNED in-house
|
|
442
499
|
* (git-history/secret-scan). Returns the accepted candidates; the own-vs-acquire
|
|
443
500
|
* boundary is enforced HERE so an owned tool can never enter the engine.
|
|
444
501
|
*/
|
|
@@ -510,12 +567,14 @@ export async function resolveBinaryCandidates(candidates, root, options = {}) {
|
|
|
510
567
|
* collecting one status per candidate. Owned tools are rejected at registration;
|
|
511
568
|
* each survivor passes through the spawn-admission chokepoint and run-safety gate.
|
|
512
569
|
*/
|
|
513
|
-
export function runAcquisitionEngine(candidates, root, options = {}) {
|
|
570
|
+
export async function runAcquisitionEngine(candidates, root, options = {}) {
|
|
514
571
|
const registered = registerExternalAnalyzers(candidates);
|
|
515
572
|
const results = [];
|
|
516
573
|
const statuses = [];
|
|
517
574
|
for (const candidate of registered) {
|
|
518
|
-
|
|
575
|
+
// Sequential by design: one analyzer at a time keeps the spawn set bounded
|
|
576
|
+
// and the status order deterministic (registration order).
|
|
577
|
+
const outcome = await runExternalAnalyzer(candidate, root, options);
|
|
519
578
|
statuses.push(outcome.status);
|
|
520
579
|
if (outcome.results.results.length > 0 || outcome.results.graph_edges?.length) {
|
|
521
580
|
results.push(outcome.results);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquisitionEngine.js","sourceRoot":"","sources":["../../../src/shared/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acquisitionEngine.js","sourceRoot":"","sources":["../../../src/shared/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,9 +38,15 @@ import { type RunTrackedResult } from "../tooling/exec.js";
|
|
|
38
38
|
export interface BinaryFetcher {
|
|
39
39
|
(url: string): Promise<Uint8Array | null>;
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Injected command runner (probe PATH, run `tar`). THE async runner contract —
|
|
43
|
+
* the same seam shape as the acquisition engine's {@link AcquisitionRunner} —
|
|
44
|
+
* defaulting to the shared {@link runTrackedAsync}. There is no synchronous twin:
|
|
45
|
+
* a synchronous `tar`/probe under a held file lock would block the event loop and
|
|
46
|
+
* starve that lock's mtime heartbeat.
|
|
47
|
+
*/
|
|
42
48
|
export interface BinaryCommandRunner {
|
|
43
|
-
(argv: string[], cwd: string): RunTrackedResult
|
|
49
|
+
(argv: string[], cwd: string): Promise<RunTrackedResult>;
|
|
44
50
|
}
|
|
45
51
|
/** Pinned, os/arch-aware description of one acquirable release binary. */
|
|
46
52
|
export interface BinarySpec {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binaryAcquisition.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/binaryAcquisition.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"binaryAcquisition.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/binaryAcquisition.ts"],"names":[],"mappings":"AAcA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1D;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjE;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,gFAAgF;IAChF,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,GAChB,sBAAsB,GACtB,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;IACzD,sFAAsF;IACtF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA+ID,kFAAkF;AAClF,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAMf;AAMD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAiJ3B"}
|
|
@@ -3,7 +3,7 @@ import { chmodSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, st
|
|
|
3
3
|
import { isAbsolute, join, relative } from "node:path";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import { AUDIT_TOOLS_DIRNAME } from "../io/auditToolsPaths.js";
|
|
6
|
-
import {
|
|
6
|
+
import { runTrackedAsync } from "../tooling/exec.js";
|
|
7
7
|
/**
|
|
8
8
|
* Per-USER cache root, deliberately NOT the system temp dir. Defaults to
|
|
9
9
|
* `~/.audit-tools/bincache`; `AUDIT_TOOLS_BINARY_CACHE` overrides it so a run can be
|
|
@@ -137,11 +137,11 @@ function sha256(bytes) {
|
|
|
137
137
|
export async function resolveBinary(spec, options = {}) {
|
|
138
138
|
const platform = options.platform ?? process.platform;
|
|
139
139
|
const arch = options.arch ?? process.arch;
|
|
140
|
-
const run = options.run ?? ((argv, cwd) =>
|
|
140
|
+
const run = options.run ?? ((argv, cwd) => runTrackedAsync(argv, { cwd }));
|
|
141
141
|
const cacheDir = options.cacheDir ?? defaultCacheDir();
|
|
142
142
|
// 1. PATH — already installed. Nothing below this point runs, so a tool the machine
|
|
143
143
|
// already has must not cause a cache directory to be created as a side effect.
|
|
144
|
-
const probe = run(spec.versionProbeArgs, process.cwd());
|
|
144
|
+
const probe = await run(spec.versionProbeArgs, process.cwd());
|
|
145
145
|
if (!probe.error && probe.status === 0) {
|
|
146
146
|
return { status: "path", command: spec.binaryName };
|
|
147
147
|
}
|
|
@@ -226,7 +226,7 @@ export async function resolveBinary(spec, options = {}) {
|
|
|
226
226
|
mkdirSync(versionDir, { recursive: true });
|
|
227
227
|
const archivePath = join(versionDir, assetName);
|
|
228
228
|
writeFileSync(archivePath, assetBytes);
|
|
229
|
-
const extract = run(["tar", "-xf", archivePath, "-C", versionDir], versionDir);
|
|
229
|
+
const extract = await run(["tar", "-xf", archivePath, "-C", versionDir], versionDir);
|
|
230
230
|
rmSync(archivePath, { force: true });
|
|
231
231
|
if (extract.error || extract.status !== 0) {
|
|
232
232
|
// Whatever tar managed to write before failing must NOT survive as a cache hit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binaryAcquisition.js","sourceRoot":"","sources":["../../../src/shared/analyzers/binaryAcquisition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,EACN,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"binaryAcquisition.js","sourceRoot":"","sources":["../../../src/shared/analyzers/binaryAcquisition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constitutionalDocPaths.d.ts","sourceRoot":"","sources":["../../src/shared/constitutionalDocPaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constitutionalDocPaths.d.ts","sourceRoot":"","sources":["../../src/shared/constitutionalDocPaths.ts"],"names":[],"mappings":"AAgDA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAarD,CAAC;AAOF;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
|
@@ -31,6 +31,13 @@
|
|
|
31
31
|
// *normative goals docs* ("never silently rewritten to match code").
|
|
32
32
|
// • the rest of `spec/audit/*` — the manifest's *package docs (audit)* row
|
|
33
33
|
// calls them "the normative `spec/audit/*`".
|
|
34
|
+
// EXCEPT `spec/audit/*.generated.md`: a whole-file generator render (e.g.
|
|
35
|
+
// `scripts/shared/generate-executor-producers.mjs`) is a projection of code,
|
|
36
|
+
// never a normative statement. It is edited by re-running its generator, so
|
|
37
|
+
// the refusal buys nothing and would demand an owner override on every edit
|
|
38
|
+
// to the registry it renders. Protect that registry, not its render — and
|
|
39
|
+
// the generator REFUSES a `*.generated.md` entry, so this is not a rule
|
|
40
|
+
// someone has to remember.
|
|
34
41
|
// The list is deliberately NOT padded out to cover `spec/` wholesale: an
|
|
35
42
|
// over-broad refusal trains the override into a reflex, and an override that is
|
|
36
43
|
// always used has stopped signalling anything.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constitutionalDocPaths.js","sourceRoot":"","sources":["../../src/shared/constitutionalDocPaths.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,uBAAuB;AACvB,EAAE;AACF,iFAAiF;AACjF,yEAAyE;AACzE,yEAAyE;AACzE,+EAA+E;AAC/E,kFAAkF;AAClF,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,2EAA2E;AAC3E,0DAA0D;AAC1D,6EAA6E;AAC7E,8EAA8E;AAC9E,+DAA+D;AAC/D,EAAE;AACF,yEAAyE;AACzE,oDAAoD;AACpD,4EAA4E;AAC5E,oEAAoE;AACpE,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,0DAA0D;AAC1D,iFAAiF;AACjF,yEAAyE;AACzE,6EAA6E;AAC7E,iDAAiD;AACjD,yEAAyE;AACzE,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,gEAAgE;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,WAAW;IACX,WAAW;IACX,+BAA+B;IAC/B,kCAAkC;IAClC,4BAA4B;IAC5B,iCAAiC;IACjC,2BAA2B;IAC3B,8BAA8B;IAC9B,mCAAmC;IACnC,gCAAgC;IAChC,oCAAoC;IACpC,qCAAqC;CACtC,CAAC;AAEF,0EAA0E;AAC1E,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"constitutionalDocPaths.js","sourceRoot":"","sources":["../../src/shared/constitutionalDocPaths.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,uBAAuB;AACvB,EAAE;AACF,iFAAiF;AACjF,yEAAyE;AACzE,yEAAyE;AACzE,+EAA+E;AAC/E,kFAAkF;AAClF,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,2EAA2E;AAC3E,0DAA0D;AAC1D,6EAA6E;AAC7E,8EAA8E;AAC9E,+DAA+D;AAC/D,EAAE;AACF,yEAAyE;AACzE,oDAAoD;AACpD,4EAA4E;AAC5E,oEAAoE;AACpE,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,0DAA0D;AAC1D,iFAAiF;AACjF,yEAAyE;AACzE,6EAA6E;AAC7E,iDAAiD;AACjD,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,+BAA+B;AAC/B,yEAAyE;AACzE,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,gEAAgE;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,WAAW;IACX,WAAW;IACX,+BAA+B;IAC/B,kCAAkC;IAClC,4BAA4B;IAC5B,iCAAiC;IACjC,2BAA2B;IAC3B,8BAA8B;IAC9B,mCAAmC;IACnC,gCAAgC;IAChC,oCAAoC;IACpC,qCAAqC;CACtC,CAAC;AAEF,0EAA0E;AAC1E,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC"}
|