audit-tools 0.55.6 → 0.55.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audit/cli/lineIndex.d.ts.map +1 -1
- package/dist/audit/cli/lineIndex.js +19 -41
- package/dist/audit/cli/lineIndex.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +5 -2
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +6 -6
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +52 -129
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/extractors/disposition.d.ts.map +1 -1
- package/dist/audit/extractors/disposition.js +14 -38
- package/dist/audit/extractors/disposition.js.map +1 -1
- package/dist/audit/extractors/readFileText.d.ts.map +1 -1
- package/dist/audit/extractors/readFileText.js +34 -5
- package/dist/audit/extractors/readFileText.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +5 -2
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js +28 -22
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketSizing.d.ts +4 -4
- package/dist/audit/orchestrator/reviewPacketSizing.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketSizing.js +5 -5
- package/dist/audit/orchestrator/reviewPacketSizing.js.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.js +10 -5
- package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts +9 -2
- package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.js +14 -22
- package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
- package/dist/audit/orchestrator/scopeIndexBaseline.d.ts.map +1 -1
- package/dist/audit/orchestrator/scopeIndexBaseline.js +7 -29
- package/dist/audit/orchestrator/scopeIndexBaseline.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/conflict.d.ts +6 -2
- package/dist/audit/orchestrator/selectiveDeepening/conflict.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/conflict.js +45 -4
- package/dist/audit/orchestrator/selectiveDeepening/conflict.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/index.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/index.js +4 -4
- package/dist/audit/orchestrator/selectiveDeepening/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +10 -7
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeAcceptance.d.ts.map +1 -1
- package/dist/remediate/phases/closeAcceptance.js +2 -0
- package/dist/remediate/phases/closeAcceptance.js.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts +2 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +10 -9
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
- package/dist/remediate/state/dirtyBaseline.d.ts +10 -0
- package/dist/remediate/state/dirtyBaseline.d.ts.map +1 -0
- package/dist/remediate/state/dirtyBaseline.js +18 -0
- package/dist/remediate/state/dirtyBaseline.js.map +1 -0
- package/dist/remediate/state/store.d.ts +4 -4
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js +8 -0
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostCorroboration.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostCorroboration.js +34 -82
- package/dist/remediate/steps/dispatch/hostCorroboration.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +6 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/finalGate.d.ts.map +1 -1
- package/dist/remediate/steps/finalGate.js +11 -5
- package/dist/remediate/steps/finalGate.js.map +1 -1
- package/dist/remediate/steps/gateCommands.d.ts +1 -0
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +7 -11
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +37 -14
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +12 -5
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +86 -38
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +17 -41
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +260 -227
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/analyzers/binaryFetcher.d.ts +4 -0
- package/dist/shared/analyzers/binaryFetcher.d.ts.map +1 -0
- package/dist/shared/analyzers/binaryFetcher.js +79 -0
- package/dist/shared/analyzers/binaryFetcher.js.map +1 -0
- package/dist/shared/analyzers/binaryVersions.d.ts +5 -0
- package/dist/shared/analyzers/binaryVersions.d.ts.map +1 -0
- package/dist/shared/analyzers/binaryVersions.js +31 -0
- package/dist/shared/analyzers/binaryVersions.js.map +1 -0
- package/dist/shared/analyzers/candidates.d.ts +3 -3
- package/dist/shared/analyzers/candidates.d.ts.map +1 -1
- package/dist/shared/analyzers/candidates.js +35 -12
- package/dist/shared/analyzers/candidates.js.map +1 -1
- package/dist/shared/git.d.ts +28 -1
- package/dist/shared/git.d.ts.map +1 -1
- package/dist/shared/git.js +150 -51
- package/dist/shared/git.js.map +1 -1
- package/dist/shared/gitTrackedPaths.d.ts +39 -0
- package/dist/shared/gitTrackedPaths.d.ts.map +1 -0
- package/dist/shared/gitTrackedPaths.js +29 -0
- package/dist/shared/gitTrackedPaths.js.map +1 -0
- package/dist/shared/index.d.ts +4 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/sourcePath.d.ts +8 -0
- package/dist/shared/io/sourcePath.d.ts.map +1 -0
- package/dist/shared/io/sourcePath.js +38 -0
- package/dist/shared/io/sourcePath.js.map +1 -0
- package/dist/shared/tooling/exec.d.ts +1 -0
- package/dist/shared/tooling/exec.d.ts.map +1 -1
- package/dist/shared/tooling/exec.js +20 -4
- package/dist/shared/tooling/exec.js.map +1 -1
- package/dist/shared/tooling/resolveExecutable.d.ts +10 -0
- package/dist/shared/tooling/resolveExecutable.d.ts.map +1 -0
- package/dist/shared/tooling/resolveExecutable.js +46 -0
- package/dist/shared/tooling/resolveExecutable.js.map +1 -0
- package/dist/shared/validation/citationGrounding.d.ts +1 -1
- package/dist/shared/validation/citationGrounding.d.ts.map +1 -1
- package/dist/shared/validation/citationGrounding.js +24 -11
- package/dist/shared/validation/citationGrounding.js.map +1 -1
- package/dist/shared/validation/findingGrounding.d.ts +1 -1
- package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
- package/dist/shared/validation/findingGrounding.js +11 -23
- package/dist/shared/validation/findingGrounding.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposition.d.ts","sourceRoot":"","sources":["../../../src/audit/extractors/disposition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"disposition.d.ts","sourceRoot":"","sources":["../../../src/audit/extractors/disposition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,KAAK,EAAE,eAAe,EAAuB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAgHtG;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,gBAAgB,GAChB,gBAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,kEAAkE;AAClE,MAAM,WAAW,6BAA8B,SAAQ,eAAe;IACpE,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KACxD,OAAO,CAAC,cAAc,CAAC,CAAC;AAW7B,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,wEAAwE;IACxE,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB;AA6RD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,6BAA6B,CAAC,CAyBxC;AAED,wBAAgB,mBAAmB,CACjC,WAAW,CAAC,EAAE,eAAe,GAC5B,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAIpC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,MAAM,IAAI,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAQtD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeRepoPath, toPosixPath, runTrackedAsync, TRACKED_CHILD_DEADLINE_MS, } from "audit-tools/shared";
|
|
1
|
+
import { readRecursiveTrackedPaths, normalizeRepoPath, toPosixPath, runTrackedAsync, TRACKED_CHILD_DEADLINE_MS, } from "audit-tools/shared";
|
|
2
2
|
import { isNodeModulesOrGit, isPackageManagerCachePath, isTmpPath, isBuildOutput, isVendorPath, isBinaryArtifact, isLicensePath, isLockfilePath, isLogPath, isDocPath, isGeneratedPath, isAuditArtifactPath, isAuditToolOutputArtifact, isGeneratedTestArtifactPath, isGeneratedInstallArtifactPath, isExamplesOrFixturesPath, normalizeExtractorPath, } from "./pathPatterns.js";
|
|
3
3
|
function inferDisposition(path) {
|
|
4
4
|
const normalized = normalizeExtractorPath(path);
|
|
@@ -160,38 +160,20 @@ async function evaluateVcsIgnored(root, candidatePosixPaths, spawn) {
|
|
|
160
160
|
(stderrFirstLine ? `: ${stderrFirstLine}` : ""),
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Enumerates the repository's tracked paths through ONE batched
|
|
165
|
-
* `git ls-files -z --recurse-submodules` invocation (never per-file). Output
|
|
166
|
-
* paths are repo-root (cwd)-relative posix, matching the manifest's normalized
|
|
167
|
-
* candidate paths. Anything other than exit 0 (git absent, not a work tree) =
|
|
168
|
-
* clean fallback — the caller skips the untracked rule. Never throws.
|
|
169
|
-
*
|
|
170
|
-
* `--recurse-submodules` is REQUIRED, and it is one half of an ATOMIC pair: the
|
|
171
|
-
* other half is the same flag on {@link enumerateTrackedFilePaths} in
|
|
172
|
-
* `src/shared/validation/findingGrounding.ts`, the ONE git enumeration behind
|
|
173
|
-
* both grounding corpora. Without it, a parent `ls-files` lists only the gitlink
|
|
174
|
-
* for a first-party submodule, so every file inside one classified as absent
|
|
175
|
-
* from the index — i.e. excluded as `untracked` — while the citation-grounding
|
|
176
|
-
* gate (once it recursed) would have accepted a citation naming it. The two
|
|
177
|
-
* rules must agree about what "tracked" means or a finding grounds against a
|
|
178
|
-
* file the disposition excluded from scope. Never change one without the other;
|
|
179
|
-
* `tests/audit/submodule-tracked-corpus.test.ts` builds a real submodule and
|
|
180
|
-
* pins BOTH halves (each reverts red on its own).
|
|
181
|
-
*/
|
|
163
|
+
/** Domain diagnostics over the shared recursive index authority. */
|
|
182
164
|
async function evaluateTrackedFiles(root, spawn) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const message =
|
|
165
|
+
const result = await readRecursiveTrackedPaths(root, {
|
|
166
|
+
runner: spawn
|
|
167
|
+
? ([command, ...args], { cwd, maxBuffer }) => spawn(command, args, { cwd, maxBuffer })
|
|
168
|
+
: undefined,
|
|
169
|
+
});
|
|
170
|
+
if (result.ok)
|
|
171
|
+
return { ok: true, tracked: new Set(result.paths) };
|
|
172
|
+
if (result.kind === "thrown") {
|
|
173
|
+
const message = result.cause instanceof Error ? result.cause.message : String(result.cause);
|
|
192
174
|
return { ok: false, reason: `git ls-files spawn failed: ${message}` };
|
|
193
175
|
}
|
|
194
|
-
if (result.error) {
|
|
176
|
+
if (result.kind === "error") {
|
|
195
177
|
const code = result.error.code;
|
|
196
178
|
return {
|
|
197
179
|
ok: false,
|
|
@@ -200,13 +182,7 @@ async function evaluateTrackedFiles(root, spawn) {
|
|
|
200
182
|
: `git ls-files failed to start: ${result.error.message}`,
|
|
201
183
|
};
|
|
202
184
|
}
|
|
203
|
-
|
|
204
|
-
return {
|
|
205
|
-
ok: true,
|
|
206
|
-
tracked: new Set((result.stdout ?? "").split("\0").filter((path) => path.length > 0)),
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
const stderrFirstLine = (result.stderr ?? "").trim().split(/\r?\n/, 1)[0] ?? "";
|
|
185
|
+
const stderrFirstLine = result.stderr.trim().split(/\r?\n/, 1)[0] ?? "";
|
|
210
186
|
return {
|
|
211
187
|
ok: false,
|
|
212
188
|
reason: `git ls-files exited ${result.status ?? "by signal"}` +
|
|
@@ -360,7 +336,7 @@ export async function buildFileDisposition(repoManifest, options = {}) {
|
|
|
360
336
|
}
|
|
361
337
|
const candidatePosix = repoManifest.files.map((file) => toPosixPath(file.path));
|
|
362
338
|
const vcsStage = await applyVcsIgnoreRule(baseline, candidatePosix, options.root, options.spawn ?? defaultGitSpawn);
|
|
363
|
-
const untrackedStage = await applyUntrackedRule(vcsStage.files, options.root, options.lsFilesSpawn
|
|
339
|
+
const untrackedStage = await applyUntrackedRule(vcsStage.files, options.root, options.lsFilesSpawn);
|
|
364
340
|
return {
|
|
365
341
|
files: untrackedStage.files,
|
|
366
342
|
vcs_ignore: vcsStage.summary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposition.js","sourceRoot":"","sources":["../../../src/audit/extractors/disposition.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"disposition.js","sourceRoot":"","sources":["../../../src/audit/extractors/disposition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readFileText.d.ts","sourceRoot":"","sources":["../../../src/audit/extractors/readFileText.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"readFileText.d.ts","sourceRoot":"","sources":["../../../src/audit/extractors/readFileText.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAa,CAAC;AAE5C;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
// sites-pinned: tests/audit/read-file-text.test.ts, tests/audit/bounded-reader-integration.test.ts
|
|
2
|
+
import { open } from "node:fs/promises";
|
|
2
3
|
/**
|
|
3
4
|
* Default byte cap for a bounded extractor read: a file larger than this is
|
|
4
5
|
* skipped rather than pulled into memory.
|
|
@@ -10,11 +11,39 @@ export const DEFAULT_MAX_BYTES = 512 * 1024;
|
|
|
10
11
|
* degrades to "no content" rather than aborting the whole pass.
|
|
11
12
|
*/
|
|
12
13
|
export async function defaultReadFileText(absPath, maxBytes) {
|
|
14
|
+
if (!Number.isFinite(maxBytes) || maxBytes < 0)
|
|
15
|
+
return undefined;
|
|
16
|
+
const cap = Math.floor(maxBytes);
|
|
13
17
|
try {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
const handle = await open(absPath, "r");
|
|
19
|
+
try {
|
|
20
|
+
// Admission and content belong to the same handle. Symlinks to regular
|
|
21
|
+
// files remain supported; ordinary open is not a FIFO/time-bound guard.
|
|
22
|
+
const stat = await handle.stat();
|
|
23
|
+
if (!stat.isFile() || stat.size > cap)
|
|
24
|
+
return undefined;
|
|
25
|
+
const buffer = Buffer.allocUnsafe(Math.min(64 * 1024, cap + 1));
|
|
26
|
+
const chunks = [];
|
|
27
|
+
let total = 0;
|
|
28
|
+
for (;;) {
|
|
29
|
+
const length = Math.min(buffer.length, cap - total + 1);
|
|
30
|
+
const { bytesRead } = await handle.read(buffer, 0, length, null);
|
|
31
|
+
if (bytesRead === 0) {
|
|
32
|
+
// Decode once: chunk boundaries may split a UTF-8 sequence.
|
|
33
|
+
return Buffer.concat(chunks, total).toString("utf8");
|
|
34
|
+
}
|
|
35
|
+
total += bytesRead;
|
|
36
|
+
if (total > cap)
|
|
37
|
+
return undefined;
|
|
38
|
+
// Copy initialized bytes only; short reads must not retain/alias the
|
|
39
|
+
// reusable buffer or consume the unfilled part of their allowance.
|
|
40
|
+
chunks.push(Buffer.from(buffer.subarray(0, bytesRead)));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
// The outer catch also covers close failures, including after success.
|
|
45
|
+
await handle.close();
|
|
46
|
+
}
|
|
18
47
|
}
|
|
19
48
|
catch {
|
|
20
49
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readFileText.js","sourceRoot":"","sources":["../../../src/audit/extractors/readFileText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"readFileText.js","sourceRoot":"","sources":["../../../src/audit/extractors/readFileText.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,QAAgB;IAEhB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG;gBAAE,OAAO,SAAS,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,SAAS,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,4DAA4D;oBAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvD,CAAC;gBACD,KAAK,IAAI,SAAS,CAAC;gBACnB,IAAI,KAAK,GAAG,GAAG;oBAAE,OAAO,SAAS,CAAC;gBAClC,qEAAqE;gBACrE,mEAAmE;gBACnE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ArtifactBundle } from "../io/artifacts.js";
|
|
2
2
|
import type { ExecutorRunResult } from "./executorResult.js";
|
|
3
3
|
import type { AnalyzerSetting, AnalyzerConsentTokenGrant, AnalyzerConsentDecisions } from "audit-tools/shared";
|
|
4
|
-
import type { BinaryFetcher, BinaryCommandRunner } from "audit-tools/shared";
|
|
4
|
+
import type { BinaryFetcher, BinaryResolveOptions, SpawnDeadline, BinaryCommandRunner } from "audit-tools/shared";
|
|
5
5
|
/**
|
|
6
6
|
* Advance-level options for the external-analyzer acquisition executor.
|
|
7
7
|
*
|
|
@@ -13,6 +13,8 @@ import type { BinaryFetcher, BinaryCommandRunner } from "audit-tools/shared";
|
|
|
13
13
|
* network or spawning a real process.
|
|
14
14
|
*/
|
|
15
15
|
export interface ExternalAcquisitionAdvanceOptions {
|
|
16
|
+
deadline?: SpawnDeadline;
|
|
17
|
+
resolveExecutable?: BinaryResolveOptions["resolveExecutable"];
|
|
16
18
|
/** Hermeticity gate: acquisition runs ONLY when true. Default off (empty marker). */
|
|
17
19
|
enabled?: boolean;
|
|
18
20
|
/** Injected network fetch for binary acquisition; defaults to a global-fetch adapter. */
|
|
@@ -46,7 +48,8 @@ export interface ExternalAcquisitionAdvanceOptions {
|
|
|
46
48
|
* tool's normalized findings into `external_analyzer_results`. Writes the
|
|
47
49
|
* provenance/staleness marker `external_analyzer_acquisition.json` either way.
|
|
48
50
|
*
|
|
49
|
-
*
|
|
51
|
+
* Runtime failures degrade to status records; registry/status invariant violations
|
|
52
|
+
* throw rather than silently concealing missing or duplicate producers. The
|
|
50
53
|
* disabled path is a pure marker write. `external_analyzer_results.json` is listed
|
|
51
54
|
* in `artifacts_written` only when a tool actually contributed findings, so an
|
|
52
55
|
* unchanged results array never churns its downstreams.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquisitionExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/acquisitionExecutor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"acquisitionExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/acquisitionExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;;;;GASG;AACH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,uFAAuF;IACvF,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sCAAsC,CAC1D,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,iBAAiB,CAAC,CA6F5B"}
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import { runAcquisitionEngine, resolveBinaryCandidates, } from "audit-tools/shared";
|
|
1
|
+
import { runAcquisitionEngine, prepareAcquisition, defaultBinaryFetcher, resolveBinaryCandidates, } from "audit-tools/shared";
|
|
2
2
|
import { EXTERNAL_ANALYZER_CANDIDATES } from "audit-tools/shared";
|
|
3
3
|
import { upsertExternalToolResults, } from "audit-tools/shared";
|
|
4
|
-
/** Global-`fetch`-backed binary fetcher: returns the URL's bytes or null on failure. */
|
|
5
|
-
const defaultBinaryFetcher = async (url) => {
|
|
6
|
-
try {
|
|
7
|
-
const response = await fetch(url);
|
|
8
|
-
if (!response.ok)
|
|
9
|
-
return null;
|
|
10
|
-
return new Uint8Array(await response.arrayBuffer());
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
4
|
/**
|
|
17
5
|
* Slice D — production wiring of the external-analyzer acquisition engine.
|
|
18
6
|
*
|
|
@@ -21,7 +9,8 @@ const defaultBinaryFetcher = async (url) => {
|
|
|
21
9
|
* tool's normalized findings into `external_analyzer_results`. Writes the
|
|
22
10
|
* provenance/staleness marker `external_analyzer_acquisition.json` either way.
|
|
23
11
|
*
|
|
24
|
-
*
|
|
12
|
+
* Runtime failures degrade to status records; registry/status invariant violations
|
|
13
|
+
* throw rather than silently concealing missing or duplicate producers. The
|
|
25
14
|
* disabled path is a pure marker write. `external_analyzer_results.json` is listed
|
|
26
15
|
* in `artifacts_written` only when a tool actually contributed findings, so an
|
|
27
16
|
* unchanged results array never churns its downstreams.
|
|
@@ -44,8 +33,12 @@ export async function runExternalAnalyzerAcquisitionExecutor(bundle, root, optio
|
|
|
44
33
|
};
|
|
45
34
|
}
|
|
46
35
|
const fetcher = options.fetch ?? defaultBinaryFetcher;
|
|
47
|
-
const
|
|
36
|
+
const prepared = prepareAcquisition(EXTERNAL_ANALYZER_CANDIDATES, root, options);
|
|
37
|
+
const candidates = prepared.candidates;
|
|
38
|
+
const engineOptions = prepared.options;
|
|
48
39
|
const { resolvedBinaries, unresolvedStatuses } = await resolveBinaryCandidates(candidates, root, {
|
|
40
|
+
...engineOptions,
|
|
41
|
+
resolveExecutable: options.resolveExecutable,
|
|
49
42
|
fetch: fetcher,
|
|
50
43
|
run: options.run,
|
|
51
44
|
consentToken: options.consentToken,
|
|
@@ -55,12 +48,25 @@ export async function runExternalAnalyzerAcquisitionExecutor(bundle, root, optio
|
|
|
55
48
|
platform: options.platform,
|
|
56
49
|
arch: options.arch,
|
|
57
50
|
});
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
const runnable = candidates.filter(candidate => candidate.runner !== "binary" ||
|
|
52
|
+
Object.hasOwn(resolvedBinaries, candidate.id));
|
|
53
|
+
const { results, statuses } = await runAcquisitionEngine(runnable, root, {
|
|
54
|
+
...engineOptions, resolvedBinaries,
|
|
55
|
+
});
|
|
56
|
+
const candidateIds = new Set(candidates.map(candidate => candidate.id));
|
|
57
|
+
const statusById = new Map();
|
|
58
|
+
for (const status of [...unresolvedStatuses, ...statuses]) {
|
|
59
|
+
if (!candidateIds.has(status.tool))
|
|
60
|
+
throw new Error(`unregistered analyzer status producer: ${status.tool}`);
|
|
61
|
+
if (statusById.has(status.tool))
|
|
62
|
+
throw new Error(`duplicate analyzer status producer: ${status.tool}`);
|
|
63
|
+
statusById.set(status.tool, status);
|
|
64
|
+
}
|
|
65
|
+
const orderedStatuses = candidates.map(candidate => {
|
|
66
|
+
const status = statusById.get(candidate.id);
|
|
67
|
+
if (!status)
|
|
68
|
+
throw new Error(`missing analyzer status producer: ${candidate.id}`);
|
|
69
|
+
return status;
|
|
64
70
|
});
|
|
65
71
|
let mergedResults = bundle.external_analyzer_results;
|
|
66
72
|
for (const toolResults of results) {
|
|
@@ -72,7 +78,7 @@ export async function runExternalAnalyzerAcquisitionExecutor(bundle, root, optio
|
|
|
72
78
|
// resolveBinaryCandidates records a status for every binary that didn't
|
|
73
79
|
// resolve; the engine records one per candidate it ran. Union = exactly one
|
|
74
80
|
// status per candidate (report-skipped-never-silently).
|
|
75
|
-
tool_statuses:
|
|
81
|
+
tool_statuses: orderedStatuses,
|
|
76
82
|
};
|
|
77
83
|
const artifactsWritten = ["external_analyzer_acquisition.json"];
|
|
78
84
|
const updated = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acquisitionExecutor.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/acquisitionExecutor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"acquisitionExecutor.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/acquisitionExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ export declare function sizeIndexFromManifest(repoManifest?: {
|
|
|
16
16
|
/** Estimated content tokens for one task across all of its files. */
|
|
17
17
|
export declare function taskContentTokens(task: AuditTask, sizeIndex?: Record<string, number>, lineIndex?: Record<string, number>): number;
|
|
18
18
|
/**
|
|
19
|
-
* Estimated content tokens across
|
|
20
|
-
*
|
|
21
|
-
* are counted once.
|
|
19
|
+
* Estimated content tokens across file paths using their first owning tasks
|
|
20
|
+
* for the line fallback. Each iterable occurrence contributes; packet callers
|
|
21
|
+
* provide unique paths so shared files are counted once.
|
|
22
22
|
*/
|
|
23
|
-
export declare function fileGroupContentTokens(filePaths: Iterable<string>,
|
|
23
|
+
export declare function fileGroupContentTokens(filePaths: Iterable<string>, firstOwnerByPath: ReadonlyMap<string, AuditTask>, sizeIndex?: Record<string, number>, lineIndex?: Record<string, number>): number;
|
|
24
24
|
export declare function estimateTaskGroupTokens(tasks: AuditTask[], sizeIndex?: Record<string, number>, lineIndex?: Record<string, number>): number;
|
|
25
25
|
//# sourceMappingURL=reviewPacketSizing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewPacketSizing.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPacketSizing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reviewPacketSizing.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPacketSizing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAEL,yBAAyB,EAE1B,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,yBAAyB,EAAE,CAAC;AACrC,eAAO,MAAM,8BAA8B,MAAmC,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,CAAC,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC5E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB;AAsBD,qEAAqE;AACrE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAKR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAOR;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAMR"}
|
|
@@ -36,14 +36,14 @@ export function taskContentTokens(task, sizeIndex, lineIndex) {
|
|
|
36
36
|
return task.file_paths.reduce((sum, path) => sum + pathContentTokens(task, path, sizeIndex, lineIndex), 0);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Estimated content tokens across
|
|
40
|
-
*
|
|
41
|
-
* are counted once.
|
|
39
|
+
* Estimated content tokens across file paths using their first owning tasks
|
|
40
|
+
* for the line fallback. Each iterable occurrence contributes; packet callers
|
|
41
|
+
* provide unique paths so shared files are counted once.
|
|
42
42
|
*/
|
|
43
|
-
export function fileGroupContentTokens(filePaths,
|
|
43
|
+
export function fileGroupContentTokens(filePaths, firstOwnerByPath, sizeIndex, lineIndex) {
|
|
44
44
|
let total = 0;
|
|
45
45
|
for (const path of filePaths) {
|
|
46
|
-
const owner =
|
|
46
|
+
const owner = firstOwnerByPath.get(path);
|
|
47
47
|
total += pathContentTokens(owner, path, sizeIndex, lineIndex);
|
|
48
48
|
}
|
|
49
49
|
return total;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewPacketSizing.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPacketSizing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reviewPacketSizing.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPacketSizing.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAE5B,wEAAwE;AACxE,8EAA8E;AAC9E,4EAA4E;AAE5E,oFAAoF;AACpF,wFAAwF;AACxF,uFAAuF;AACvF,OAAO,EAAE,yBAAyB,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAgC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAA6E;IAE7E,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,MAAM,CAAC,WAAW,CACvB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,KAA4B,EAC5B,IAAY,EACZ,SAAkC,EAClC,SAAkC;IAElC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO,KAAK,GAAG,yBAAyB,CAAC;AAC3C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,iBAAiB,CAC/B,IAAe,EACf,SAAkC,EAClC,SAAkC;IAElC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EACxE,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAA2B,EAC3B,gBAAgD,EAChD,SAAkC,EAClC,SAAkC;IAElC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAkB,EAClB,SAAkC,EAClC,SAAkC;IAElC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,aAAa,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,8BAA8B,GAAG,aAAa,CAAC;AACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewPackets.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPackets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reviewPackets.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPackets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,qBAAqB,EAErB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAYjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,GACxB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAoBD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,EAAE,EACvB,GAAG,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC9B,YAAY,EAAE,CAIhB;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CACzB,UAAU,EAAE,SAAS,EAAE,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,GAAE,SAAS,EAAO,EAC5B,WAAW,CAAC,EAAE,WAAW,GACxB,YAAY,CAgFd;AA+DD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,wBAA6B,GACrC,wBAAwB,CAK1B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,GAAE,wBAAwB,GAAG;IAAE,WAAW,CAAC,EAAE,IAAI,CAAA;CAAO,GAC9D,gBAAgB,CAQlB"}
|
|
@@ -32,12 +32,17 @@ export function buildPacket(inputTasks, packetIndex, lineIndex, sizeIndex, graph
|
|
|
32
32
|
if (tasks.length === 0) {
|
|
33
33
|
throw new Error("Cannot materialize an empty review-packet component.");
|
|
34
34
|
}
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
const firstOwnerByPath = new Map();
|
|
36
|
+
for (const task of tasks) {
|
|
37
|
+
for (const path of task.file_paths) {
|
|
38
|
+
if (!firstOwnerByPath.has(path))
|
|
39
|
+
firstOwnerByPath.set(path, task);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const filePaths = [...firstOwnerByPath.keys()].sort(compareCodeUnits);
|
|
38
43
|
const graphContext = buildPacketGraphContext(filePaths, graphEdges, graphBundle);
|
|
39
44
|
const fileLineCounts = Object.fromEntries(filePaths.map((path) => {
|
|
40
|
-
const owner =
|
|
45
|
+
const owner = firstOwnerByPath.get(path);
|
|
41
46
|
return [path, owner ? lineCountForPath(path, { task: owner, lineIndex }) : 0];
|
|
42
47
|
}));
|
|
43
48
|
const totalLines = Object.values(fileLineCounts).reduce((sum, value) => sum + value, 0);
|
|
@@ -77,7 +82,7 @@ export function buildPacket(inputTasks, packetIndex, lineIndex, sizeIndex, graph
|
|
|
77
82
|
quality: graphContext.quality,
|
|
78
83
|
rationale: `${baseRationale}${graphRationale}`,
|
|
79
84
|
estimated_tokens: ESTIMATED_PACKET_PROMPT_TOKENS +
|
|
80
|
-
fileGroupContentTokens(filePaths,
|
|
85
|
+
fileGroupContentTokens(filePaths, firstOwnerByPath, sizeIndex, lineIndex),
|
|
81
86
|
};
|
|
82
87
|
}
|
|
83
88
|
function planningDataFromProjection(tasks, graph, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewPackets.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPackets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reviewPackets.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/reviewPackets.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,10 +97,16 @@ export declare class BoundedOutputTail {
|
|
|
97
97
|
* OS; the taskkill spawn failing (absent, denied) falls back to SIGKILL rather
|
|
98
98
|
* than leaving the child alive.
|
|
99
99
|
*/
|
|
100
|
-
|
|
100
|
+
type RuntimeCommandChild = {
|
|
101
101
|
pid?: number;
|
|
102
102
|
kill: (signal?: NodeJS.Signals) => boolean;
|
|
103
|
-
}
|
|
103
|
+
};
|
|
104
|
+
/** Injectable control boundary: synthetic unit identities never reach OS APIs. */
|
|
105
|
+
export interface RuntimeCommandProcessControl {
|
|
106
|
+
terminateWindowsTree(child: RuntimeCommandChild): void;
|
|
107
|
+
signalChild(child: RuntimeCommandChild, signal: NodeJS.Signals): void;
|
|
108
|
+
}
|
|
109
|
+
export declare function killRuntimeCommandTree(child: RuntimeCommandChild, platform?: NodeJS.Platform, control?: RuntimeCommandProcessControl): void;
|
|
104
110
|
export declare function runCommand(command: string[], cwd: string, timeoutMs?: number): Promise<{
|
|
105
111
|
status: "confirmed" | "not_confirmed" | "inconclusive";
|
|
106
112
|
summary: string;
|
|
@@ -110,4 +116,5 @@ export declare function resolveRuntimeValidationSpawnCommand(command: string[],
|
|
|
110
116
|
command: string;
|
|
111
117
|
args: string[];
|
|
112
118
|
};
|
|
119
|
+
export {};
|
|
113
120
|
//# sourceMappingURL=runtimeCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAuBA;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAQ1D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAAW,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAiB;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAkB;IAClC,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAK;IACzB,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAK;IAEzB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,IAAI;IA2BZ,6DAA6D;IAC7D,OAAO,CAAC,cAAc;IAQtB;;;OAGG;IACH,IAAI,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAcnE;AA+CD;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"runtimeCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAuBA;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAQ1D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAY,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAAW,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAiB;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAkB;IAClC,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAK;IACzB,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAK;IAEzB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,IAAI;IA2BZ,6DAA6D;IAC7D,OAAO,CAAC,cAAc;IAQtB;;;OAGG;IACH,IAAI,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAcnE;AA+CD;;;;;;;;;;;;;;;;GAgBG;AAEH,KAAK,mBAAmB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,OAAO,CAAA;CAAE,CAAC;AAExF,kFAAkF;AAClF,MAAM,WAAW,4BAA4B;IAC3C,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CACvE;AAmBD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,4BAAmD,GAC3D,IAAI,CAGN;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAmC,GAC7C,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAsGD;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,SAAmC,GAC9C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkDrC"}
|
|
@@ -194,25 +194,12 @@ function commandEvidence(stdout, stderr) {
|
|
|
194
194
|
...shown,
|
|
195
195
|
];
|
|
196
196
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
* node grandchildren running, which is the orphan case the bound exists to
|
|
204
|
-
* prevent. `taskkill /T` walks the tree instead. Everywhere else the executable
|
|
205
|
-
* is spawned DIRECTLY — no wrapper, so no tree of our making — and the signal
|
|
206
|
-
* pair is the whole story. A command that itself forks a daemon on POSIX is
|
|
207
|
-
* beyond what this can promise without a process group, and is left stated
|
|
208
|
-
* rather than silently assumed.
|
|
209
|
-
*
|
|
210
|
-
* `platform` is a parameter so both branches are reachable from a test on either
|
|
211
|
-
* OS; the taskkill spawn failing (absent, denied) falls back to SIGKILL rather
|
|
212
|
-
* than leaving the child alive.
|
|
213
|
-
*/
|
|
214
|
-
export function killRuntimeCommandTree(child, platform = process.platform) {
|
|
215
|
-
if (platform === "win32" && child.pid !== undefined) {
|
|
197
|
+
const nativeProcessControl = {
|
|
198
|
+
terminateWindowsTree(child) {
|
|
199
|
+
if (child.pid === undefined) {
|
|
200
|
+
child.kill("SIGTERM");
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
216
203
|
const reaper = spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], {
|
|
217
204
|
stdio: "ignore",
|
|
218
205
|
windowsHide: true,
|
|
@@ -220,9 +207,14 @@ export function killRuntimeCommandTree(child, platform = process.platform) {
|
|
|
220
207
|
reaper.on("error", () => {
|
|
221
208
|
child.kill("SIGKILL");
|
|
222
209
|
});
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
|
|
210
|
+
},
|
|
211
|
+
signalChild(child, signal) { child.kill(signal); },
|
|
212
|
+
};
|
|
213
|
+
export function killRuntimeCommandTree(child, platform = process.platform, control = nativeProcessControl) {
|
|
214
|
+
if (platform === "win32")
|
|
215
|
+
control.terminateWindowsTree(child);
|
|
216
|
+
else
|
|
217
|
+
control.signalChild(child, "SIGTERM");
|
|
226
218
|
}
|
|
227
219
|
export async function runCommand(command, cwd, timeoutMs = RUNTIME_COMMAND_TIMEOUT_MS) {
|
|
228
220
|
// COR-4a8d9779: fast-fail before spawn so an empty command array produces a
|