audit-tools 0.32.6 → 0.32.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/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +5 -5
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +7 -1
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +26 -0
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +8 -1
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/extractors/fileInventory.d.ts.map +1 -1
- package/dist/audit/extractors/fileInventory.js +12 -2
- package/dist/audit/extractors/fileInventory.js.map +1 -1
- package/dist/audit/quota/hostLimits.d.ts +3 -2
- package/dist/audit/quota/hostLimits.d.ts.map +1 -1
- package/dist/audit/quota/hostLimits.js +2 -2
- package/dist/audit/quota/hostLimits.js.map +1 -1
- package/dist/audit/quota/index.d.ts +16 -16
- package/dist/remediate/contractPipeline/changeClassification.d.ts +7 -4
- package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/changeClassification.js +37 -5
- package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts +14 -4
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +57 -4
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.d.ts +6 -4
- package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.js +83 -7
- package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts +3 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.js +3 -1
- package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +1 -1
- package/dist/remediate/index.d.ts +5 -3
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +7 -5
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/quota/hostLimits.d.ts +3 -2
- package/dist/remediate/quota/hostLimits.d.ts.map +1 -1
- package/dist/remediate/quota/hostLimits.js +2 -2
- package/dist/remediate/quota/hostLimits.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +3 -2
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +3 -3
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +7 -13
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +10 -3
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +62 -0
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +31 -6
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/triage.d.ts +30 -5
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +65 -19
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +6 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +5 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/auditToolsPaths.d.ts +15 -1
- package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
- package/dist/shared/io/auditToolsPaths.js +23 -3
- package/dist/shared/io/auditToolsPaths.js.map +1 -1
- package/dist/shared/io/repoRoot.d.ts +28 -0
- package/dist/shared/io/repoRoot.d.ts.map +1 -0
- package/dist/shared/io/repoRoot.js +39 -0
- package/dist/shared/io/repoRoot.js.map +1 -0
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +68 -17
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +9 -2
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +19 -4
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/types.d.ts +13 -0
- package/dist/shared/providers/types.d.ts.map +1 -1
- package/dist/shared/quota/capacity.d.ts +7 -7
- package/dist/shared/quota/codexHostConfig.d.ts +24 -0
- package/dist/shared/quota/codexHostConfig.d.ts.map +1 -0
- package/dist/shared/quota/codexHostConfig.js +49 -0
- package/dist/shared/quota/codexHostConfig.js.map +1 -0
- package/dist/shared/quota/hostLimits.d.ts +4 -7
- package/dist/shared/quota/hostLimits.d.ts.map +1 -1
- package/dist/shared/quota/hostLimits.js +18 -11
- package/dist/shared/quota/hostLimits.js.map +1 -1
- package/dist/shared/quota/types.d.ts +4 -4
- package/dist/shared/quota/types.d.ts.map +1 -1
- package/dist/shared/quota/types.js +7 -0
- package/dist/shared/quota/types.js.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +12 -0
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/docs/audit-pkg/contracts.md +1 -1
- package/docs/audit-pkg/development.md +6 -4
- package/docs/audit-pkg/operator-guide.md +3 -3
- package/docs/audit-pkg/product.md +1 -1
- package/docs/audit-pkg/release.md +13 -9
- package/package.json +6 -5
- package/remediate-code.mjs +3 -1
- package/skills/audit-code/SKILL.md +8 -4
- package/skills/audit-code/audit-code.prompt.md +15 -18
- package/skills/audit-code/opencode-command-template.txt +4 -5
- package/skills/remediate-code/remediate-code.prompt.md +9 -5
- package/wrapper/audit-code-wrapper-install-hosts.mjs +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex's documented default concurrent-subagent ceiling: `[agents].max_threads`
|
|
3
|
+
* defaults to 6 when unset (OpenAI Codex config reference / subagents docs). This
|
|
4
|
+
* is a real product default, NOT a value we invented — but Codex Desktop exposes
|
|
5
|
+
* no environment variable for it, so when the config file is silent we fall back
|
|
6
|
+
* to this constant and label the source `known_default` (never `environment`).
|
|
7
|
+
*/
|
|
8
|
+
export declare const CODEX_DEFAULT_MAX_THREADS = 6;
|
|
9
|
+
/** Injectable reader — returns the config file text, throws when it is absent. */
|
|
10
|
+
export type ReadTextFile = (filePath: string) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Discover Codex's configured concurrent-subagent ceiling from its own config
|
|
13
|
+
* file: `~/.codex/config.toml` `[agents].max_threads`. This is the honest
|
|
14
|
+
* discovery source for the Codex cap — Codex does not surface it via env, but it
|
|
15
|
+
* IS a user-configurable value in Codex's config, so we read it there rather than
|
|
16
|
+
* assume. Returns null (caller applies {@link CODEX_DEFAULT_MAX_THREADS}) when the
|
|
17
|
+
* file is missing/unreadable/malformed or the key is absent or not a positive
|
|
18
|
+
* integer. Never throws — a bad config degrades to "no discovered value".
|
|
19
|
+
*/
|
|
20
|
+
export declare function readCodexConfiguredMaxThreads(options?: {
|
|
21
|
+
configPath?: string;
|
|
22
|
+
readText?: ReadTextFile;
|
|
23
|
+
}): number | null;
|
|
24
|
+
//# sourceMappingURL=codexHostConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codexHostConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/codexHostConfig.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,GAAG,MAAM,GAAG,IAAI,CA2BhB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { parse as parseToml } from "smol-toml";
|
|
5
|
+
/**
|
|
6
|
+
* Codex's documented default concurrent-subagent ceiling: `[agents].max_threads`
|
|
7
|
+
* defaults to 6 when unset (OpenAI Codex config reference / subagents docs). This
|
|
8
|
+
* is a real product default, NOT a value we invented — but Codex Desktop exposes
|
|
9
|
+
* no environment variable for it, so when the config file is silent we fall back
|
|
10
|
+
* to this constant and label the source `known_default` (never `environment`).
|
|
11
|
+
*/
|
|
12
|
+
export const CODEX_DEFAULT_MAX_THREADS = 6;
|
|
13
|
+
/**
|
|
14
|
+
* Discover Codex's configured concurrent-subagent ceiling from its own config
|
|
15
|
+
* file: `~/.codex/config.toml` `[agents].max_threads`. This is the honest
|
|
16
|
+
* discovery source for the Codex cap — Codex does not surface it via env, but it
|
|
17
|
+
* IS a user-configurable value in Codex's config, so we read it there rather than
|
|
18
|
+
* assume. Returns null (caller applies {@link CODEX_DEFAULT_MAX_THREADS}) when the
|
|
19
|
+
* file is missing/unreadable/malformed or the key is absent or not a positive
|
|
20
|
+
* integer. Never throws — a bad config degrades to "no discovered value".
|
|
21
|
+
*/
|
|
22
|
+
export function readCodexConfiguredMaxThreads(options) {
|
|
23
|
+
const configPath = options?.configPath ?? path.join(homedir(), ".codex", "config.toml");
|
|
24
|
+
const readText = options?.readText ?? ((p) => readFileSync(p, "utf8"));
|
|
25
|
+
let raw;
|
|
26
|
+
try {
|
|
27
|
+
raw = readText(configPath);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return null; // no config file → no discovered value
|
|
31
|
+
}
|
|
32
|
+
let parsed;
|
|
33
|
+
try {
|
|
34
|
+
parsed = parseToml(raw);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null; // malformed TOML degrades to no value (never throws)
|
|
38
|
+
}
|
|
39
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
40
|
+
return null;
|
|
41
|
+
const agents = parsed.agents;
|
|
42
|
+
if (!agents || typeof agents !== "object" || Array.isArray(agents))
|
|
43
|
+
return null;
|
|
44
|
+
const value = agents.max_threads;
|
|
45
|
+
return typeof value === "number" && Number.isInteger(value) && value > 0
|
|
46
|
+
? value
|
|
47
|
+
: null;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=codexHostConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codexHostConfig.js","sourceRoot":"","sources":["../../../src/shared/quota/codexHostConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAK3C;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAG7C;IACC,MAAM,UAAU,GACd,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/E,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACtD,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,qDAAqD;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhF,MAAM,MAAM,GAAI,MAAkC,CAAC,MAAM,CAAC;IAC1D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhF,MAAM,KAAK,GAAI,MAAkC,CAAC,WAAW,CAAC;IAC9D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACtE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import type { SessionConfig } from "../types/sessionConfig.js";
|
|
2
2
|
import type { HostConcurrencyLimit } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* present. Exported so tests assert against the constant rather than a literal.
|
|
7
|
-
*/
|
|
8
|
-
export declare const CODEX_DESKTOP_ACTIVE_SUBAGENT_LIMIT = 6;
|
|
9
|
-
export declare function detectHostActiveSubagentLimit(envPrefix: string, env?: NodeJS.ProcessEnv): HostConcurrencyLimit | null;
|
|
3
|
+
/** Reads Codex's configured `[agents].max_threads`, or null when unset. Injectable for tests. */
|
|
4
|
+
export type ReadCodexMaxThreads = () => number | null;
|
|
5
|
+
export declare function detectHostActiveSubagentLimit(envPrefix: string, env?: NodeJS.ProcessEnv, readCodexMaxThreads?: ReadCodexMaxThreads): HostConcurrencyLimit | null;
|
|
10
6
|
export declare function resolveHostActiveSubagentLimit(options: {
|
|
11
7
|
envPrefix: string;
|
|
12
8
|
explicitLimit?: number | null;
|
|
13
9
|
sessionConfig: SessionConfig;
|
|
14
10
|
env?: NodeJS.ProcessEnv;
|
|
11
|
+
readCodexMaxThreads?: ReadCodexMaxThreads;
|
|
15
12
|
}): HostConcurrencyLimit | null;
|
|
16
13
|
//# sourceMappingURL=hostLimits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostLimits.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/hostLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"hostLimits.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/hostLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD,iGAAiG;AACjG,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAatD,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,mBAAmB,GAAE,mBAA2D,GAC/E,oBAAoB,GAAG,IAAI,CAkC7B;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,GAAG,oBAAoB,GAAG,IAAI,CA0B9B"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Codex Desktop does not report its concurrency via env, so we apply this known
|
|
3
|
-
* fixed active-subagent ceiling when the Codex Desktop originator override is
|
|
4
|
-
* present. Exported so tests assert against the constant rather than a literal.
|
|
5
|
-
*/
|
|
6
|
-
export const CODEX_DESKTOP_ACTIVE_SUBAGENT_LIMIT = 6;
|
|
1
|
+
import { CODEX_DEFAULT_MAX_THREADS, readCodexConfiguredMaxThreads, } from "./codexHostConfig.js";
|
|
7
2
|
function parsePositiveInteger(value) {
|
|
8
3
|
if (typeof value === "number") {
|
|
9
4
|
return Number.isInteger(value) && value > 0 ? value : null;
|
|
@@ -16,7 +11,7 @@ function parsePositiveInteger(value) {
|
|
|
16
11
|
const parsed = Number(trimmed);
|
|
17
12
|
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : null;
|
|
18
13
|
}
|
|
19
|
-
export function detectHostActiveSubagentLimit(envPrefix, env = process.env) {
|
|
14
|
+
export function detectHostActiveSubagentLimit(envPrefix, env = process.env, readCodexMaxThreads = () => readCodexConfiguredMaxThreads()) {
|
|
20
15
|
const explicitEnvLimit = parsePositiveInteger(env[`${envPrefix}_HOST_MAX_ACTIVE_SUBAGENTS`] ??
|
|
21
16
|
env.CODEX_MAX_ACTIVE_SUBAGENTS);
|
|
22
17
|
if (explicitEnvLimit !== null) {
|
|
@@ -27,10 +22,22 @@ export function detectHostActiveSubagentLimit(envPrefix, env = process.env) {
|
|
|
27
22
|
};
|
|
28
23
|
}
|
|
29
24
|
if (env.CODEX_INTERNAL_ORIGINATOR_OVERRIDE === "Codex Desktop") {
|
|
25
|
+
// Codex exposes no env var for its concurrency, but `[agents].max_threads`
|
|
26
|
+
// in `~/.codex/config.toml` IS its real user-configurable ceiling — discover
|
|
27
|
+
// it there. Only when that config is silent do we fall back to Codex's
|
|
28
|
+
// documented default, labelled `known_default` (not a fake env reading).
|
|
29
|
+
const discovered = readCodexMaxThreads();
|
|
30
|
+
if (discovered !== null) {
|
|
31
|
+
return {
|
|
32
|
+
active_subagents: discovered,
|
|
33
|
+
source: "discovered_config",
|
|
34
|
+
description: "Codex agents.max_threads from ~/.codex/config.toml.",
|
|
35
|
+
};
|
|
36
|
+
}
|
|
30
37
|
return {
|
|
31
|
-
active_subagents:
|
|
32
|
-
source: "
|
|
33
|
-
description: "Codex
|
|
38
|
+
active_subagents: CODEX_DEFAULT_MAX_THREADS,
|
|
39
|
+
source: "known_default",
|
|
40
|
+
description: "Codex documented default agents.max_threads (config file silent).",
|
|
34
41
|
};
|
|
35
42
|
}
|
|
36
43
|
return null;
|
|
@@ -52,6 +59,6 @@ export function resolveHostActiveSubagentLimit(options) {
|
|
|
52
59
|
description: "Host active subagent limit from session-config.",
|
|
53
60
|
};
|
|
54
61
|
}
|
|
55
|
-
return detectHostActiveSubagentLimit(options.envPrefix, options.env);
|
|
62
|
+
return detectHostActiveSubagentLimit(options.envPrefix, options.env, options.readCodexMaxThreads ?? (() => readCodexConfiguredMaxThreads()));
|
|
56
63
|
}
|
|
57
64
|
//# sourceMappingURL=hostLimits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostLimits.js","sourceRoot":"","sources":["../../../src/shared/quota/hostLimits.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hostLimits.js","sourceRoot":"","sources":["../../../src/shared/quota/hostLimits.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAK9B,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAAiB,EACjB,MAAyB,OAAO,CAAC,GAAG,EACpC,sBAA2C,GAAG,EAAE,CAAC,6BAA6B,EAAE;IAEhF,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,GAAG,CAAC,GAAG,SAAS,4BAA4B,CAAC;QAC3C,GAAG,CAAC,0BAA0B,CACjC,CAAC;IACF,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO;YACL,gBAAgB,EAAE,gBAAgB;YAClC,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,8CAA8C;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,kCAAkC,KAAK,eAAe,EAAE,CAAC;QAC/D,2EAA2E;QAC3E,6EAA6E;QAC7E,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO;gBACL,gBAAgB,EAAE,UAAU;gBAC5B,MAAM,EAAE,mBAAmB;gBAC3B,WAAW,EAAE,qDAAqD;aACnE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,gBAAgB,EAAE,yBAAyB;YAC3C,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,mEAAmE;SACjF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAM9C;IACC,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO;YACL,gBAAgB,EAAE,OAAO,CAAC,aAAa;YACvC,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,oBAAoB,CAC1C,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,0BAA0B;QACrD,OAAO,CAAC,aAAa,CAAC,gBAAgB,CACzC,CAAC;IACF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,gBAAgB,EAAE,eAAe;YACjC,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,iDAAiD;SAC/D,CAAC;IACJ,CAAC;IAED,OAAO,6BAA6B,CAClC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,6BAA6B,EAAE,CAAC,CACvE,CAAC;AACJ,CAAC"}
|
|
@@ -3,18 +3,18 @@ export declare const LimitSourceSchema: z.ZodEnum<["explicit_config", "discovere
|
|
|
3
3
|
export type LimitSource = z.infer<typeof LimitSourceSchema>;
|
|
4
4
|
export declare const LimitConfidenceSchema: z.ZodEnum<["high", "medium", "low"]>;
|
|
5
5
|
export type LimitConfidence = z.infer<typeof LimitConfidenceSchema>;
|
|
6
|
-
export declare const HostConcurrencyLimitSourceSchema: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment"]>;
|
|
6
|
+
export declare const HostConcurrencyLimitSourceSchema: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment", "discovered_config", "known_default"]>;
|
|
7
7
|
export type HostConcurrencyLimitSource = z.infer<typeof HostConcurrencyLimitSourceSchema>;
|
|
8
8
|
export declare const HostConcurrencyLimitSchema: z.ZodObject<{
|
|
9
9
|
active_subagents: z.ZodNumber;
|
|
10
|
-
source: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment"]>;
|
|
10
|
+
source: z.ZodEnum<["cli_flags", "host_reported", "session_config", "environment", "discovered_config", "known_default"]>;
|
|
11
11
|
description: z.ZodString;
|
|
12
12
|
}, "strict", z.ZodTypeAny, {
|
|
13
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
13
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
14
14
|
active_subagents: number;
|
|
15
15
|
description: string;
|
|
16
16
|
}, {
|
|
17
|
-
source: "cli_flags" | "host_reported" | "session_config" | "environment";
|
|
17
|
+
source: "cli_flags" | "host_reported" | "session_config" | "environment" | "discovered_config" | "known_default";
|
|
18
18
|
active_subagents: number;
|
|
19
19
|
description: string;
|
|
20
20
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,gHAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,sCAAoC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gCAAgC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,gHAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,sCAAoC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gCAAgC,kHAY3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAM5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,8FAQ/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,cAAc,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7E;;;OAGG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAMpB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
|
|
@@ -13,6 +13,13 @@ export const HostConcurrencyLimitSourceSchema = z.enum([
|
|
|
13
13
|
"host_reported",
|
|
14
14
|
"session_config",
|
|
15
15
|
"environment",
|
|
16
|
+
// Read from a host's own config file (e.g. Codex `~/.codex/config.toml`
|
|
17
|
+
// `[agents].max_threads`) — a real discovered value, not an env reading.
|
|
18
|
+
"discovered_config",
|
|
19
|
+
// A documented product default applied when the host exposes no configurable
|
|
20
|
+
// signal (e.g. Codex's default `agents.max_threads` of 6). Honestly labelled
|
|
21
|
+
// as a known constant rather than masquerading as an environment reading.
|
|
22
|
+
"known_default",
|
|
16
23
|
]);
|
|
17
24
|
export const HostConcurrencyLimitSchema = z
|
|
18
25
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,iBAAiB;IACjB,uBAAuB;IACvB,WAAW;IACX,kBAAkB;IAClB,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrD,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,aAAa;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,iBAAiB;IACjB,uBAAuB;IACvB,WAAW;IACX,kBAAkB;IAClB,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrD,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,wEAAwE;IACxE,yEAAyE;IACzE,mBAAmB;IACnB,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,eAAe;CAChB,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,gCAAgC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC;KACD,MAAM,EAAE,CAAC;AA8BZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,KAAK;IACL,KAAK;IACL,cAAc;IACd,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AA6BH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC"}
|
|
@@ -72,6 +72,18 @@ export interface OpenAiCompatibleConfig {
|
|
|
72
72
|
* provider retries once without it, so leaving it on is safe for any endpoint.
|
|
73
73
|
*/
|
|
74
74
|
response_format_json?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Plumb the worker's canonical JSON Schema into the request as a per-field
|
|
77
|
+
* emit-time constraint (`response_format: {type:"json_schema"}` for OpenAI /
|
|
78
|
+
* vLLM structured outputs, plus `guided_json` / `nvext.guided_json` for NIM /
|
|
79
|
+
* vLLM guided decoding) whenever the dispatch site supplies a schema (CE-004
|
|
80
|
+
* build lever). ON by default (nullish: enabled unless explicitly `false`) — it
|
|
81
|
+
* is ADDITIVE and degrades cleanly: if the endpoint rejects the schema form
|
|
82
|
+
* (HTTP 400/422) the provider retries with a plain `json_object`, then without
|
|
83
|
+
* any `response_format`, so leaving it on is safe for any endpoint. Set `false`
|
|
84
|
+
* to force the weaker `json_object`-only behavior.
|
|
85
|
+
*/
|
|
86
|
+
guided_json?: boolean;
|
|
75
87
|
/** Inline current contents of prompt-referenced files so edits are grounded. Default true. */
|
|
76
88
|
include_referenced_files?: boolean;
|
|
77
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,aAAa;IACb,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,aAAa;IACb,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAyGjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,mBAAmB;IACxC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB;IACnB,OAAO;IACP,UAAU;IACV,kBAAkB;IAClB,qBAAqB;CACb,CAAC;AAuLX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,WAAW;IACX,WAAW;IACX,MAAM;IACN,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -116,7 +116,7 @@ artifacts are shaped by:
|
|
|
116
116
|
Normal packet flow:
|
|
117
117
|
|
|
118
118
|
```text
|
|
119
|
-
audit-code next-step --host-can-dispatch-subagents
|
|
119
|
+
audit-code next-step --host-can-dispatch-subagents
|
|
120
120
|
backend prepares dispatch-plan.json
|
|
121
121
|
conversation launches one worker per dispatch-plan entry
|
|
122
122
|
worker reads entry.prompt_path
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
- `examples/`: validated artifact examples
|
|
8
8
|
- `skills/audit-code/`: canonical prompt and skill-facing instructions
|
|
9
9
|
- `dispatch/`: packet-dispatch support data
|
|
10
|
-
- `tests/`:
|
|
11
|
-
- `dist/`: checked
|
|
10
|
+
- `tests/`: vitest-based test suite and regression coverage
|
|
11
|
+
- `dist/`: build output (gitignored, not checked in) produced by `npm run build` / the `prepack` script;
|
|
12
|
+
shipped only in the packed npm tarball
|
|
12
13
|
|
|
13
14
|
## Agent handoff
|
|
14
15
|
|
|
@@ -106,6 +107,7 @@ real host (`prepare-dispatch` → worker reviews each packet → `submit-packet`
|
|
|
106
107
|
checkout. On Windows, runtime validation runs package-manager shims (`npm`,
|
|
107
108
|
`npx`, `pnpm`, `yarn`) through the command shell so `.cmd` wrappers execute
|
|
108
109
|
reliably — keep that covered when changing runtime command execution. If the
|
|
109
|
-
final `audit-report.md` cannot be
|
|
110
|
-
permissions, completion still succeeds and the
|
|
110
|
+
final `audit-report.md` cannot be promoted from `.audit-tools/audit/` to
|
|
111
|
+
`.audit-tools/audit-report.md` due to local permissions, completion still succeeds and the
|
|
112
|
+
pre-promotion copy under `.audit-tools/audit/` is authoritative.
|
|
111
113
|
</content>
|
|
@@ -199,9 +199,9 @@ and `yarn` through the Windows command shell automatically. A runtime
|
|
|
199
199
|
`not_confirmed` result can still be environmental when the target repo command
|
|
200
200
|
starts but cannot write its own build output.
|
|
201
201
|
|
|
202
|
-
If final report promotion to
|
|
203
|
-
permissions, the audit can still complete. Use the
|
|
204
|
-
|
|
202
|
+
If final report promotion to `.audit-tools/audit-report.md` is blocked by local
|
|
203
|
+
permissions, the audit can still complete. Use the copy at `.audit-tools/audit/audit-report.md`
|
|
204
|
+
and run `audit-code validate`.
|
|
205
205
|
|
|
206
206
|
Run `audit-code validate` after editing session config so command-template
|
|
207
207
|
issues fail before a long audit run.
|
|
@@ -30,7 +30,7 @@ The supported user-facing surfaces are:
|
|
|
30
30
|
5. `audit-code install` for explicit repair or force refresh
|
|
31
31
|
6. `audit-code` as the repo-local backend fallback
|
|
32
32
|
|
|
33
|
-
Anything below `dist
|
|
33
|
+
Anything below `dist/` is backend or development interface.
|
|
34
34
|
|
|
35
35
|
## Product model
|
|
36
36
|
|
|
@@ -11,12 +11,15 @@ npm run verify:release
|
|
|
11
11
|
|
|
12
12
|
`verify:release` covers:
|
|
13
13
|
|
|
14
|
-
- TypeScript typecheck
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- packaged
|
|
14
|
+
- TypeScript typecheck (`check`)
|
|
15
|
+
- dead-code export gate (`check:deadcode`)
|
|
16
|
+
- doc-manifest reconciliation gate (`check:doc-manifest`)
|
|
17
|
+
- full automated test suite (`test`)
|
|
18
|
+
- host-install verification for both bins (`verify:hosts`, `verify:remediate-hosts`)
|
|
19
|
+
- packaged-install smoke coverage for both bins (`smoke:packaged-audit-code`, `smoke:packaged-remediate-code`)
|
|
20
|
+
|
|
21
|
+
Linked-install smoke coverage (`smoke:linked-audit-code`, `smoke:linked-remediate-code`) is available as a
|
|
22
|
+
standalone command but is not part of the `verify:release` chain.
|
|
20
23
|
|
|
21
24
|
For live child-process output while debugging smoke tests:
|
|
22
25
|
|
|
@@ -75,9 +78,10 @@ Full maintainer flow:
|
|
|
75
78
|
npm run release:patch:publish
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
That command checks the worktree, runs
|
|
79
|
-
|
|
80
|
-
`
|
|
81
|
+
That command checks the worktree, runs a fast local typecheck gate (`npm run check` — not the full
|
|
82
|
+
`verify:release` suite, which already ran via CI/the `/ship` preflight), bumps the version, commits,
|
|
83
|
+
tags, pushes `main` and the tag, creates the GitHub Release, waits for `publish-package.yml`, and
|
|
84
|
+
confirms the new npm version resolves.
|
|
81
85
|
|
|
82
86
|
Minor and major publish variants:
|
|
83
87
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "audit-tools",
|
|
3
|
-
"version": "0.32.
|
|
3
|
+
"version": "0.32.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Portable hybrid code auditing + remediation orchestrators for arbitrary repositories.",
|
|
6
6
|
"type": "module",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
41
41
|
"test": "npm run build && vitest run",
|
|
42
42
|
"test:single": "npm run build && vitest run",
|
|
43
|
-
"verify:
|
|
43
|
+
"verify:checks": "npm run check && npm run check:deadcode && npm run check:doc-manifest && npm run build && npm run verify:hosts && npm run verify:remediate-hosts && npm run smoke:packaged-audit-code && npm run smoke:packaged-remediate-code",
|
|
44
|
+
"verify:release": "npm run verify:checks && vitest run",
|
|
44
45
|
"check:deadcode": "knip --no-config-hints",
|
|
45
46
|
"check:doc-manifest": "node scripts/check-doc-manifest.mjs",
|
|
46
47
|
"verify:hosts": "node scripts/audit/verify-hosts.mjs",
|
|
@@ -68,7 +69,8 @@
|
|
|
68
69
|
"commander": "^13.0.0",
|
|
69
70
|
"smol-toml": "^1.6.1",
|
|
70
71
|
"yaml": "^2.9.0",
|
|
71
|
-
"zod": "^3.25.76"
|
|
72
|
+
"zod": "^3.25.76",
|
|
73
|
+
"zod-to-json-schema": "^3.24.6"
|
|
72
74
|
},
|
|
73
75
|
"devDependencies": {
|
|
74
76
|
"@types/node": "^24.3.0",
|
|
@@ -78,8 +80,7 @@
|
|
|
78
80
|
"tsx": "^4.19.0",
|
|
79
81
|
"typescript": "^5.9.2",
|
|
80
82
|
"vitest": "^3.0.0",
|
|
81
|
-
"web-tree-sitter": "^0.25.10"
|
|
82
|
-
"zod-to-json-schema": "^3.24.6"
|
|
83
|
+
"web-tree-sitter": "^0.25.10"
|
|
83
84
|
},
|
|
84
85
|
"repository": {
|
|
85
86
|
"type": "git",
|
package/remediate-code.mjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// Thin wrapper: locates the built dist and delegates to it.
|
|
3
|
-
//
|
|
3
|
+
// Interprets the installer verbs (install, ensure, verify-install, install-host)
|
|
4
|
+
// locally via the B2 bootstrap; every other verb (e.g. next-step) is forwarded
|
|
5
|
+
// to dist/remediate/index.js.
|
|
4
6
|
|
|
5
7
|
import { fileURLToPath } from "url";
|
|
6
8
|
import { pathToFileURL } from "url";
|
|
@@ -66,19 +66,17 @@ can dispatch to *right now* on every `next-step` call so the backend sizes revie
|
|
|
66
66
|
packets to your real model instead of a conservative 32k floor.
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
audit-code next-step --host-
|
|
69
|
+
audit-code next-step --host-models '[{"rank":"small","context_tokens":32000,"output_tokens":8000},{"rank":"standard","context_tokens":200000,"output_tokens":32000},{"rank":"deep","context_tokens":200000,"output_tokens":64000}]'
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
Or with a single dispatch model:
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
-
audit-code next-step --host-
|
|
75
|
+
audit-code next-step --host-context-tokens 200000 --host-output-tokens 32000
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
Key flags:
|
|
79
79
|
|
|
80
|
-
- `--host-max-active-subagents` — parallel subagent capacity (via the `Agent`/`task`
|
|
81
|
-
tool). Without it the backend assumes serial dispatch.
|
|
82
80
|
- `--host-models` — ordered JSON array (lowest rank first) of models you can dispatch
|
|
83
81
|
subagents to *right now*, one entry per relative rank
|
|
84
82
|
(`"small"`, `"standard"`, `"deep"`). Ranks are relative capability labels — never
|
|
@@ -87,6 +85,12 @@ Key flags:
|
|
|
87
85
|
- `--host-context-tokens` / `--host-output-tokens` — single-model shorthand. When
|
|
88
86
|
`--host-models` is also given, the roster wins.
|
|
89
87
|
|
|
88
|
+
Do **not** report a parallel-subagent count — the backend owns concurrency (its
|
|
89
|
+
token-budget gate plus any hard host cap it can detect, e.g. Codex
|
|
90
|
+
`[agents].max_threads`), and runs uncapped when it detects none. An operator with
|
|
91
|
+
a genuine fixed machine limit may pass `--host-max-active-subagents N` as an
|
|
92
|
+
optional override; it is never a value to guess.
|
|
93
|
+
|
|
90
94
|
When a step prompt tells you to continue, repeat `audit-code next-step` with the
|
|
91
95
|
same capability flags and follow only the newly returned `prompt_path`. Stop when
|
|
92
96
|
the current step prompt tells you to stop.
|
|
@@ -29,9 +29,6 @@ handshake**: report what you can dispatch to *right now* on every `next-step`
|
|
|
29
29
|
call, so the backend sizes review packets to your real model instead of a
|
|
30
30
|
conservative 32k floor. Report:
|
|
31
31
|
|
|
32
|
-
- `--host-max-active-subagents` — how many review subagents you can run in
|
|
33
|
-
parallel (via the `Agent`/`task` tool). Without it the backend assumes serial
|
|
34
|
-
dispatch and sizes waves to one packet at a time.
|
|
35
32
|
- `--host-models` — an ordered JSON array (lowest rank first) of the models you
|
|
36
33
|
can dispatch subagents to *right now*, one entry per relative rank:
|
|
37
34
|
`{"rank": "small"|"standard"|"deep", "context_tokens": N, "output_tokens": N}`.
|
|
@@ -48,25 +45,31 @@ conservative 32k floor. Report:
|
|
|
48
45
|
model. When `--host-models` is also given, the roster wins. Omit both and
|
|
49
46
|
dispatch falls back to the conservative 32k default (many tiny packets).
|
|
50
47
|
|
|
48
|
+
Do **not** report a parallel-subagent count. The backend owns concurrency: it
|
|
49
|
+
sizes how many subagents run at once from its own token-budget gate and from any
|
|
50
|
+
hard host cap it can detect (e.g. Codex's `~/.codex/config.toml`
|
|
51
|
+
`[agents].max_threads`). When it detects no hard cap it runs without one — you
|
|
52
|
+
never supply or guess a number. (An operator with a genuine fixed parallel limit
|
|
53
|
+
for this machine may pass `--host-max-active-subagents N` as an optional
|
|
54
|
+
override; it is not part of the handshake and is never something to invent.)
|
|
55
|
+
|
|
51
56
|
```bash
|
|
52
|
-
audit-code next-step --host-
|
|
57
|
+
audit-code next-step --host-models '[{"rank":"small","context_tokens":32000,"output_tokens":8000},{"rank":"standard","context_tokens":200000,"output_tokens":32000},{"rank":"deep","context_tokens":200000,"output_tokens":64000}]'
|
|
53
58
|
```
|
|
54
59
|
|
|
55
60
|
Or with a single dispatch model:
|
|
56
61
|
|
|
57
62
|
```bash
|
|
58
|
-
audit-code next-step --host-
|
|
63
|
+
audit-code next-step --host-context-tokens 200000 --host-output-tokens 32000
|
|
59
64
|
```
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
there. The token values should match the window of the model(s) dispatching the
|
|
64
|
-
packets (e.g. 200000 / 32000 for a 200k-context model).
|
|
66
|
+
The token values should match the window of the model(s) dispatching the packets
|
|
67
|
+
(e.g. 200000 / 32000 for a 200k-context model).
|
|
65
68
|
|
|
66
69
|
When developing `audit-tools` itself, from the repo root use:
|
|
67
70
|
|
|
68
71
|
```bash
|
|
69
|
-
node audit-code.mjs next-step --host-
|
|
72
|
+
node audit-code.mjs next-step --host-context-tokens 200000 --host-output-tokens 32000
|
|
70
73
|
```
|
|
71
74
|
|
|
72
75
|
Read the returned JSON only far enough to find `prompt_path`, then read and
|
|
@@ -98,14 +101,8 @@ directory. It contains `repo_root`, `auditable_file_count`, `git_available`, and
|
|
|
98
101
|
- If `mis_scope_smells` is empty, the echo is informational only — continue
|
|
99
102
|
automatically without interrupting the workflow.
|
|
100
103
|
|
|
101
|
-
Use MCP tools only as a compatibility adapter when direct shell access to
|
|
102
|
-
`audit-code next-step` is unavailable. The MCP `start_audit` and
|
|
103
|
-
`continue_audit` tools return the same one-step contract; they are not a
|
|
104
|
-
separate orchestration path.
|
|
105
|
-
|
|
106
104
|
When a step prompt tells you to continue, run `audit-code next-step` again with
|
|
107
|
-
the same capability flags (`--host-
|
|
108
|
-
`--host-
|
|
109
|
-
returned `prompt_path`.
|
|
105
|
+
the same capability flags (`--host-models`, `--host-context-tokens`,
|
|
106
|
+
`--host-output-tokens`) and follow only the newly returned `prompt_path`.
|
|
110
107
|
|
|
111
108
|
Stop when the current step prompt tells you to stop.
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
Use `audit-code next-step` as the primary interface to the audit workflow.
|
|
4
4
|
|
|
5
5
|
1. Run `audit-code next-step` directly when shell access is available.
|
|
6
|
-
2.
|
|
7
|
-
3.
|
|
8
|
-
4.
|
|
9
|
-
5. Stop when the step instructions say to stop.
|
|
6
|
+
2. Read `prompt_content` in the response and follow it.
|
|
7
|
+
3. When a step completes (not blocked), run `audit-code next-step` again.
|
|
8
|
+
4. Stop when the step instructions say to stop.
|
|
10
9
|
|
|
11
10
|
Use the `task` tool or equivalent for subagent dispatch when the step tells you to fan out review work.
|
|
12
11
|
|
|
13
|
-
If
|
|
12
|
+
If shell access to `audit-code next-step` is unavailable, stop and report that no next-step interface is connected.
|
|
@@ -55,9 +55,13 @@ Every `next-step` call is also the **capability handshake**: report what you can
|
|
|
55
55
|
dispatch to *right now* so the backend sizes remediation waves and per-worker
|
|
56
56
|
context to your real model instead of a conservative 32k floor. Report:
|
|
57
57
|
|
|
58
|
-
- `--host-can-dispatch-subagents`
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
- `--host-can-dispatch-subagents` — whether you can run callable subagents at all
|
|
59
|
+
(via the `Agent`/`task` tool). Without it the backend runs remediation serially.
|
|
60
|
+
Do **not** report a parallel-worker count: the backend owns concurrency (its
|
|
61
|
+
token-budget gate plus any hard host cap it can detect, e.g. Codex
|
|
62
|
+
`[agents].max_threads`) and runs uncapped when it detects none. An operator with
|
|
63
|
+
a genuine fixed machine limit may pass `--host-max-concurrent N` as an optional
|
|
64
|
+
override; it is never a value to guess.
|
|
61
65
|
- `--host-models` — an ordered JSON array (lowest rank first) of the models you
|
|
62
66
|
can dispatch workers to *right now*, one entry per relative rank:
|
|
63
67
|
`{"rank": "small"|"standard"|"deep", "context_tokens": N, "output_tokens": N}`.
|
|
@@ -74,13 +78,13 @@ context to your real model instead of a conservative 32k floor. Report:
|
|
|
74
78
|
value.
|
|
75
79
|
|
|
76
80
|
```bash
|
|
77
|
-
remediate-code next-step --input <path> --host-
|
|
81
|
+
remediate-code next-step --input <path> --host-can-dispatch-subagents --host-models '[{"rank":"standard","context_tokens":200000,"output_tokens":32000},{"rank":"deep","context_tokens":200000,"output_tokens":64000}]'
|
|
78
82
|
```
|
|
79
83
|
|
|
80
84
|
Or with a single dispatch model:
|
|
81
85
|
|
|
82
86
|
```bash
|
|
83
|
-
remediate-code next-step --input <path> --host-
|
|
87
|
+
remediate-code next-step --input <path> --host-can-dispatch-subagents --host-context-tokens 200000 --host-output-tokens 32000
|
|
84
88
|
```
|
|
85
89
|
|
|
86
90
|
Read the returned JSON only far enough to find `prompt_path`, then read and
|
|
@@ -104,7 +104,7 @@ function toRepoRelativePath(root, targetPath) {
|
|
|
104
104
|
return value.length > 0 ? value : '.';
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
function buildInstallDirective(relativePromptPath) {
|
|
107
|
+
export function buildInstallDirective(relativePromptPath) {
|
|
108
108
|
return [
|
|
109
109
|
INSTALL_MARKER_START,
|
|
110
110
|
'## /audit-code',
|