audit-tools 0.34.32 → 0.34.34
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/dispatch/packetPrompt.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/packetPrompt.js +12 -1
- package/dist/audit/cli/dispatch/packetPrompt.js.map +1 -1
- package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
- package/dist/audit/cli/hybridDispatch.js +4 -1
- package/dist/audit/cli/hybridDispatch.js.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.d.ts +9 -8
- package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.js +9 -5
- package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +8 -2
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/statusCommand.d.ts.map +1 -1
- package/dist/audit/cli/statusCommand.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +6 -0
- package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
- package/dist/audit/contracts/workerSchemas.js +5 -0
- package/dist/audit/contracts/workerSchemas.js.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.js +1 -1
- package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
- package/dist/audit/types.d.ts +15 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js +13 -0
- package/dist/audit/types.js.map +1 -1
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +25 -0
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +4 -11
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/contractPipeline/idRegistry.d.ts +20 -0
- package/dist/remediate/contractPipeline/idRegistry.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/idRegistry.js +24 -0
- package/dist/remediate/contractPipeline/idRegistry.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.d.ts +5 -5
- package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.js +8 -9
- package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.js +3 -3
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
- package/dist/shared/dispatch/costRank.d.ts +9 -16
- package/dist/shared/dispatch/costRank.d.ts.map +1 -1
- package/dist/shared/dispatch/costRank.js +9 -14
- package/dist/shared/dispatch/costRank.js.map +1 -1
- package/dist/shared/providers/auditorSources.d.ts +32 -9
- package/dist/shared/providers/auditorSources.d.ts.map +1 -1
- package/dist/shared/providers/auditorSources.js +77 -50
- package/dist/shared/providers/auditorSources.js.map +1 -1
- package/dist/shared/providers/identity.d.ts +1 -1
- package/dist/shared/providers/identity.js +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +5 -6
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/reviewSnapshot.d.ts +8 -3
- package/dist/shared/providers/reviewSnapshot.d.ts.map +1 -1
- package/dist/shared/providers/reviewSnapshot.js +47 -9
- package/dist/shared/providers/reviewSnapshot.js.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.js +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
- package/dist/shared/quota/accountId.d.ts +13 -16
- package/dist/shared/quota/accountId.d.ts.map +1 -1
- package/dist/shared/quota/accountId.js +13 -19
- package/dist/shared/quota/accountId.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +35 -2
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +29 -13
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/compositeQuotaSource.d.ts +1 -1
- package/dist/shared/quota/compositeQuotaSource.js +1 -1
- package/dist/shared/quota/coverage.d.ts +1 -1
- package/dist/shared/quota/coverage.js +1 -1
- package/dist/shared/quota/quotaSource.d.ts +1 -1
- package/dist/shared/repair/brokeredDispatch.d.ts +1 -1
- package/dist/shared/types/sessionConfig.d.ts +13 -9
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
- package/dist/shared/validation/sessionConfig.js +26 -2
- package/dist/shared/validation/sessionConfig.js.map +1 -1
- package/docs/audit-pkg/development.md +7 -10
- package/docs/audit-pkg/operator-guide.md +4 -1
- package/docs/audit-pkg/release.md +94 -3
- package/package.json +9 -5
- package/schemas/audit_result.schema.json +3 -0
- package/schemas/audit_results.schema.json +3 -0
|
@@ -46,4 +46,24 @@ export declare function isBlockId(value: string): boolean;
|
|
|
46
46
|
* than silently producing a wrong node id).
|
|
47
47
|
*/
|
|
48
48
|
export declare function fromBlockId(value: string): string | null;
|
|
49
|
+
/** The one prefix every derived obligation id carries. */
|
|
50
|
+
export declare const OBLIGATION_PREFIX = "OBL-";
|
|
51
|
+
/**
|
|
52
|
+
* Lowercase-hyphenate a module name into the id fragment obligation ids encode.
|
|
53
|
+
*
|
|
54
|
+
* The ENCODER (`derive.ts`, minting `OBL-<slug>-…`) and the DECODERS (phase
|
|
55
|
+
* resolution, write-scope inheritance) must agree exactly, or an obligation
|
|
56
|
+
* resolves to no module and its node silently loses its phase and file scope.
|
|
57
|
+
* They previously agreed by way of two identical implementations and a comment
|
|
58
|
+
* saying they must stay in lockstep — a drift test made of memory. One
|
|
59
|
+
* implementation, here with the rest of the id authority, cannot drift.
|
|
60
|
+
*/
|
|
61
|
+
export declare function moduleSlug(name: string): string;
|
|
62
|
+
/**
|
|
63
|
+
* Mint a derived obligation id from a module name and a suffix — the ONLY place
|
|
64
|
+
* the `OBL-<slug>-<suffix>` shape is applied, so the decoders above are matching
|
|
65
|
+
* a format with a single author. Callers still pass the result through
|
|
66
|
+
* `mintUniqueId` for collision disambiguation.
|
|
67
|
+
*/
|
|
68
|
+
export declare function obligationId(moduleName: string, suffix: string): string;
|
|
49
69
|
//# sourceMappingURL=idRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idRegistry.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/idRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,gFAAgF;AAChF,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExD"}
|
|
1
|
+
{"version":3,"file":"idRegistry.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/idRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,gFAAgF;AAChF,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExD;AAED,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
|
@@ -54,4 +54,28 @@ export function isBlockId(value) {
|
|
|
54
54
|
export function fromBlockId(value) {
|
|
55
55
|
return isBlockId(value) ? value.slice(CP_BLOCK_PREFIX.length) : null;
|
|
56
56
|
}
|
|
57
|
+
/** The one prefix every derived obligation id carries. */
|
|
58
|
+
export const OBLIGATION_PREFIX = "OBL-";
|
|
59
|
+
/**
|
|
60
|
+
* Lowercase-hyphenate a module name into the id fragment obligation ids encode.
|
|
61
|
+
*
|
|
62
|
+
* The ENCODER (`derive.ts`, minting `OBL-<slug>-…`) and the DECODERS (phase
|
|
63
|
+
* resolution, write-scope inheritance) must agree exactly, or an obligation
|
|
64
|
+
* resolves to no module and its node silently loses its phase and file scope.
|
|
65
|
+
* They previously agreed by way of two identical implementations and a comment
|
|
66
|
+
* saying they must stay in lockstep — a drift test made of memory. One
|
|
67
|
+
* implementation, here with the rest of the id authority, cannot drift.
|
|
68
|
+
*/
|
|
69
|
+
export function moduleSlug(name) {
|
|
70
|
+
return name.toLowerCase().replace(/[^a-z0-9]+/gu, "-").replace(/^-+|-+$/gu, "");
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Mint a derived obligation id from a module name and a suffix — the ONLY place
|
|
74
|
+
* the `OBL-<slug>-<suffix>` shape is applied, so the decoders above are matching
|
|
75
|
+
* a format with a single author. Callers still pass the result through
|
|
76
|
+
* `mintUniqueId` for collision disambiguation.
|
|
77
|
+
*/
|
|
78
|
+
export function obligationId(moduleName, suffix) {
|
|
79
|
+
return `${OBLIGATION_PREFIX}${moduleSlug(moduleName) || "module"}-${suffix}`;
|
|
80
|
+
}
|
|
57
81
|
//# sourceMappingURL=idRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idRegistry.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/idRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAyB,EACzB,KAAa;IAEb,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,GAAG,eAAe,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"idRegistry.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/idRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAyB,EACzB,KAAa;IAEb,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,GAAG,eAAe,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,MAAc;IAC7D,OAAO,GAAG,iBAAiB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;AAC/E,CAAC"}
|
|
@@ -48,12 +48,12 @@ export interface PhaseCut {
|
|
|
48
48
|
*/
|
|
49
49
|
export declare function derivePhaseCut(modules: PhaseCutModule[]): PhaseCut;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
51
|
+
* The id fragment obligation ids encode — re-exported from the id registry,
|
|
52
|
+
* which owns both this and the mint that produces `OBL-<slug>-…`, so encoder and
|
|
53
|
+
* decoder cannot drift. Kept exported here because this module is where the
|
|
54
|
+
* node→phase decoders live and import it from.
|
|
55
55
|
*/
|
|
56
|
-
export
|
|
56
|
+
export { moduleSlug } from "./idRegistry.js";
|
|
57
57
|
/**
|
|
58
58
|
* Resolve the phase ordinal for an implementation-DAG node from the obligation
|
|
59
59
|
* ids it discharges. Every derived obligation id is `OBL-<moduleSlug>-…`, so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phaseCut.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"phaseCut.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oFAAoF;IACpF,SAAS,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AASD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,CAiElE;AAED;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,WAAW,EAAE,MAAM,GAClB,MAAM,CAkBR;AAwED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,GAAG,cAAc,EAAE,CAqBxF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAmB3D"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* their highest acyclic dependency (named-sorted, fail toward a LATER tier so a
|
|
18
18
|
* cyclic module never front-runs a real foundation it transitively needs).
|
|
19
19
|
*/
|
|
20
|
+
import { OBLIGATION_PREFIX } from "./idRegistry.js";
|
|
20
21
|
/** Stable label for a tier ordinal. */
|
|
21
22
|
function phaseName(ordinal, lastOrdinal) {
|
|
22
23
|
if (ordinal === 0)
|
|
@@ -92,14 +93,12 @@ export function derivePhaseCut(modules) {
|
|
|
92
93
|
return { phases, has_cycle: hasCycle, module_phase };
|
|
93
94
|
}
|
|
94
95
|
/**
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
96
|
+
* The id fragment obligation ids encode — re-exported from the id registry,
|
|
97
|
+
* which owns both this and the mint that produces `OBL-<slug>-…`, so encoder and
|
|
98
|
+
* decoder cannot drift. Kept exported here because this module is where the
|
|
99
|
+
* node→phase decoders live and import it from.
|
|
99
100
|
*/
|
|
100
|
-
export
|
|
101
|
-
return name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
102
|
-
}
|
|
101
|
+
export { moduleSlug } from "./idRegistry.js";
|
|
103
102
|
/**
|
|
104
103
|
* Resolve the phase ordinal for an implementation-DAG node from the obligation
|
|
105
104
|
* ids it discharges. Every derived obligation id is `OBL-<moduleSlug>-…`, so the
|
|
@@ -119,9 +118,9 @@ export function phaseOrdinalForObligations(obligationIds, slugToOrdinal, lastOrd
|
|
|
119
118
|
let max = -1;
|
|
120
119
|
let matchedAny = false;
|
|
121
120
|
for (const id of obligationIds) {
|
|
122
|
-
if (!id.startsWith(
|
|
121
|
+
if (!id.startsWith(OBLIGATION_PREFIX))
|
|
123
122
|
continue;
|
|
124
|
-
const rest = id.slice(
|
|
123
|
+
const rest = id.slice(OBLIGATION_PREFIX.length);
|
|
125
124
|
for (const slug of slugsByLength) {
|
|
126
125
|
if (rest === slug || rest.startsWith(`${slug}-`)) {
|
|
127
126
|
max = Math.max(max, slugToOrdinal.get(slug) ?? 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phaseCut.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"phaseCut.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/phaseCut.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA4BpD,uCAAuC;AACvC,SAAS,SAAS,CAAC,OAAe,EAAE,WAAmB;IACrD,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IACxC,IAAI,OAAO,KAAK,WAAW;QAAE,OAAO,aAAa,CAAC;IAClD,OAAO,aAAa,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,qFAAqF;IACrF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,IAAI,EACN,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,kFAAkF;IAClF,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,8EAA8E;YAC9E,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;QAChB,gFAAgF;QAChF,kEAAkE;QAClE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE;QAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC/C,MAAM,CAAC,IAAI,CAAC;YACV,OAAO;YACP,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;YACrC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI;QAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAgC,EAChC,aAAkC,EAClC,WAAmB;IAEnB,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,aAAa,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACpF,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,SAAS;QAChD,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;gBACjD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;AACxC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAEjE,kFAAkF;AAClF,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC3D,0EAA0E;YAC1E,wDAAwD;YACxD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gCAAgC,CACvC,gBAAyB;IAEzB,MAAM,IAAI,GAAG,gBAA8D,CAAC;IAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,oCAAoC;IACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,wCAAwC;IACzF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,CAAC,GAAG,GAA8D,CAAC;QACzE,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,IAAI,QAAQ,KAAK,IAAI;oBAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,gBAAyB;IACpE,MAAM,IAAI,GAAG,gBAA8D,CAAC;IAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,YAAY,GAAG,gCAAgC,CAAC,gBAAgB,CAAC,CAAC;IACxE,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,CAAC,GAAG,GAAmD,CAAC;QAC9D,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAI,IAA+B,CAAC,QAAQ,CAAC;gBAC3D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,GAAa;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvG,CAAC;IACF,OAAO;;;;;;;;EAQP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;oBAME,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uLAAuL,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnO,CAAC"}
|
|
@@ -120,7 +120,7 @@ export async function buildConfirmedPools(input) {
|
|
|
120
120
|
// the IDENTICAL pool shapes — the spill topology can't drift. `primaryProviderName`
|
|
121
121
|
// is the ACTUAL configured backend so the unconditional primary fold builds the
|
|
122
122
|
// source for the real provider; remediate's draw admits command-shaped primaries.
|
|
123
|
-
const { pools: sourcePools, zeroedByExclusion } = await buildSourcePools({
|
|
123
|
+
const { pools: sourcePools, zeroedByExclusion, dropped } = await buildSourcePools({
|
|
124
124
|
sessionConfig,
|
|
125
125
|
primaryProviderName: actualProviderName,
|
|
126
126
|
quotaSource,
|
|
@@ -133,7 +133,7 @@ export async function buildConfirmedPools(input) {
|
|
|
133
133
|
// This is the branch where a zeroing is FATAL rather than degrading (there is no
|
|
134
134
|
// host to fall back to), so the fact must survive the early return.
|
|
135
135
|
if (input.hostCanDispatch === false)
|
|
136
|
-
return { pools: sourcePools, zeroedByExclusion };
|
|
136
|
+
return { pools: sourcePools, zeroedByExclusion, dropped };
|
|
137
137
|
// D1 cross-class dedup: a folded source colliding with the host's pool identity
|
|
138
138
|
// (same provider+account — attended provider=codex=host) keeps exactly ONE pool.
|
|
139
139
|
const dedup = dedupHostAndSourcePools({
|
|
@@ -142,7 +142,7 @@ export async function buildConfirmedPools(input) {
|
|
|
142
142
|
// Remediate policy: command-shaped workers are engine-drivable here (H3).
|
|
143
143
|
commandWorkers: true,
|
|
144
144
|
});
|
|
145
|
-
return { pools: [...dedup.hostPools, ...dedup.sourcePools], zeroedByExclusion };
|
|
145
|
+
return { pools: [...dedup.hostPools, ...dedup.sourcePools], zeroedByExclusion, dropped };
|
|
146
146
|
}
|
|
147
147
|
export async function buildDispatchQuota(runId, phase, schedule, admissionPackets,
|
|
148
148
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waveScheduling.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/waveScheduling.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"waveScheduling.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/waveScheduling.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,24 +130,13 @@ export interface CostCandidate {
|
|
|
130
130
|
* on the Gate-0 suggestion surface, not by its catalog price.
|
|
131
131
|
*/
|
|
132
132
|
declaredCost?: number | null;
|
|
133
|
-
/**
|
|
134
|
-
* Optional live quota-saturation marker: `true` when this candidate's pool is out
|
|
135
|
-
* of usable headroom (exhausted budget / in active cooldown). A saturated candidate
|
|
136
|
-
* is DEMOTED below every healthy candidate in the suggested order — a STABLE
|
|
137
|
-
* partition that preserves each group's internal cost order — and echoed on the
|
|
138
|
-
* output. Absent/`false` = healthy = current behavior; with no saturated candidate
|
|
139
|
-
* the partition is a no-op, so "no quota signal" changes nothing.
|
|
140
|
-
*/
|
|
141
|
-
saturated?: boolean;
|
|
142
133
|
}
|
|
143
134
|
/** A candidate with its resolved price + the tool's suggested position. */
|
|
144
135
|
export interface OrderedCostCandidate extends CostCandidate {
|
|
145
136
|
/** Blended $/Mtok, or `undefined` when the dataset can't price it. */
|
|
146
137
|
blended_price?: number;
|
|
147
138
|
price_known: boolean;
|
|
148
|
-
/**
|
|
149
|
-
saturated: boolean;
|
|
150
|
-
/** 0-based suggested position (ascending cost; saturated candidates demoted last). */
|
|
139
|
+
/** 0-based suggested position (ascending cost). */
|
|
151
140
|
suggested_order: number;
|
|
152
141
|
}
|
|
153
142
|
/**
|
|
@@ -155,10 +144,14 @@ export interface OrderedCostCandidate extends CostCandidate {
|
|
|
155
144
|
* candidates first (cheapest $/Mtok first), unknown-price candidates after,
|
|
156
145
|
* ordered among themselves by capability tier (cheaper tier first). Cost-equal
|
|
157
146
|
* candidates break by `capabilityRank` (lower = more capable, first), then by the
|
|
158
|
-
* input `key` for a deterministic tail.
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
147
|
+
* input `key` for a deterministic tail. The operator approves or reorders this;
|
|
148
|
+
* the confirmed order becomes rung 1.
|
|
149
|
+
*
|
|
150
|
+
* Deliberately NOT quota-aware: Gate-0 is `PRIORITY[0]`, so no live cooldown exists
|
|
151
|
+
* to read yet, and this suggestion IS the persisted order — a transient cooldown
|
|
152
|
+
* observed here would demote a pool for the whole run. Admission safety is enforced
|
|
153
|
+
* downstream against LIVE headroom (`admissionPoolsFromSummaries`), where the signal
|
|
154
|
+
* is current; this function is a sort key, never an admission gate.
|
|
162
155
|
*/
|
|
163
156
|
export declare function suggestCostOrdering(candidates: CostCandidate[]): OrderedCostCandidate[];
|
|
164
157
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"costRank.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/costRank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,eAAe,UAAY,CAAC;AACzC,eAAO,MAAM,uBAAuB,UAAY,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAA4C,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUzF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,SAAS,CAEpB;AAED,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mDAAmD;IACnD,IAAI,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA0B3D;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"costRank.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/costRank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,eAAe,UAAY,CAAC;AACzC,eAAO,MAAM,uBAAuB,UAAY,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAA4C,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUzF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,SAAS,CAEpB;AAED,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mDAAmD;IACnD,IAAI,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA0B3D;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,oBAAoB,EAAE,CA+BvF;AAqBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACjD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,MAAM,GAAG,IAAI,CAIf;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAClG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrB"}
|
|
@@ -114,10 +114,14 @@ export function deriveCostRank(input) {
|
|
|
114
114
|
* candidates first (cheapest $/Mtok first), unknown-price candidates after,
|
|
115
115
|
* ordered among themselves by capability tier (cheaper tier first). Cost-equal
|
|
116
116
|
* candidates break by `capabilityRank` (lower = more capable, first), then by the
|
|
117
|
-
* input `key` for a deterministic tail.
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
117
|
+
* input `key` for a deterministic tail. The operator approves or reorders this;
|
|
118
|
+
* the confirmed order becomes rung 1.
|
|
119
|
+
*
|
|
120
|
+
* Deliberately NOT quota-aware: Gate-0 is `PRIORITY[0]`, so no live cooldown exists
|
|
121
|
+
* to read yet, and this suggestion IS the persisted order — a transient cooldown
|
|
122
|
+
* observed here would demote a pool for the whole run. Admission safety is enforced
|
|
123
|
+
* downstream against LIVE headroom (`admissionPoolsFromSummaries`), where the signal
|
|
124
|
+
* is current; this function is a sort key, never an admission gate.
|
|
121
125
|
*/
|
|
122
126
|
export function suggestCostOrdering(candidates) {
|
|
123
127
|
const priced = candidates.map((c) => {
|
|
@@ -144,19 +148,10 @@ export function suggestCostOrdering(candidates) {
|
|
|
144
148
|
compareCapability(a.candidate.capabilityRank, b.candidate.capabilityRank) ||
|
|
145
149
|
compareKey(a.candidate.key, b.candidate.key);
|
|
146
150
|
});
|
|
147
|
-
|
|
148
|
-
// healthy candidates first (preserving their cost order), saturated after (preserving
|
|
149
|
-
// theirs). filter() is stable, so intra-group cost order is untouched; with no
|
|
150
|
-
// saturated candidate this is a plain copy (current behavior).
|
|
151
|
-
const partitioned = [
|
|
152
|
-
...sorted.filter((e) => e.candidate.saturated !== true),
|
|
153
|
-
...sorted.filter((e) => e.candidate.saturated === true),
|
|
154
|
-
];
|
|
155
|
-
return partitioned.map((entry, index) => ({
|
|
151
|
+
return sorted.map((entry, index) => ({
|
|
156
152
|
...entry.candidate,
|
|
157
153
|
blended_price: entry.price,
|
|
158
154
|
price_known: entry.price !== undefined,
|
|
159
|
-
saturated: entry.candidate.saturated === true,
|
|
160
155
|
suggested_order: index,
|
|
161
156
|
}));
|
|
162
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"costRank.js","sourceRoot":"","sources":["../../../src/shared/dispatch/costRank.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,0BAA0B,CAAC;AAElF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,eAAe,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwC;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,KAAK,GAAG,uBAAuB,GAAG,MAAM,GAAG,wBAAwB,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAgC,EAChC,QAAwB;IAExB,OAAO,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAgCD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,yDAAyD;IACzD,IACE,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACxC,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAC5B,CAAC;QACD,OAAO,yBAAyB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC7D,CAAC;IACD,iFAAiF;IACjF,iFAAiF;IACjF,kFAAkF;IAClF,4EAA4E;IAC5E,IACE,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;QAC7C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC1C,KAAK,CAAC,mBAAmB,IAAI,CAAC;QAC9B,KAAK,CAAC,mBAAmB,GAAG,gBAAgB,EAC5C,CAAC;QACD,OAAO,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACrD,CAAC;IACD,iEAAiE;IACjE,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,eAAe,GAAG,KAAK,CAAC;IACxD,8EAA8E;IAC9E,OAAO,uBAAuB,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;
|
|
1
|
+
{"version":3,"file":"costRank.js","sourceRoot":"","sources":["../../../src/shared/dispatch/costRank.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,22 @@ export interface ProxyDeclaration {
|
|
|
97
97
|
burst_limited?: boolean;
|
|
98
98
|
}
|
|
99
99
|
/** `readProxyDeclaration`'s outcome: the lane, or why it is absent. */
|
|
100
|
+
/**
|
|
101
|
+
* `api_key_env` names an environment VARIABLE; it never carries the value. A
|
|
102
|
+
* declaration that pastes `NAME=value` (or the secret itself) used to be
|
|
103
|
+
* accepted verbatim by every reader and then reported as `unset var
|
|
104
|
+
* "NAME=value"` — which reads as a missing env var and sends the operator to
|
|
105
|
+
* their shell instead of to the typo.
|
|
106
|
+
*
|
|
107
|
+
* The check belongs to the FIELD, not to one of its readers: it previously
|
|
108
|
+
* guarded only the `openai-compatible` source branch while `readProxyDeclaration`
|
|
109
|
+
* and the `claude-worker` reach branch accepted any non-empty string, so both
|
|
110
|
+
* inherited the misleading symptom the validated branch exists to prevent.
|
|
111
|
+
* Returns a precise reason, or `null` when the name is well formed. Reach
|
|
112
|
+
* branches call {@link apiKeyEnvReachReason}, which pairs this with the
|
|
113
|
+
* env-is-set half. [[validator-guards-every-field-caller-reads]]
|
|
114
|
+
*/
|
|
115
|
+
export declare function invalidEnvVarNameReason(field: string, value: string): string | null;
|
|
100
116
|
export interface ProxyDeclarationResult {
|
|
101
117
|
declaration: ProxyDeclaration | null;
|
|
102
118
|
/** Present only when a `proxy` key EXISTS but is malformed (never thrown). */
|
|
@@ -107,8 +123,11 @@ export interface ProxyDeclarationResult {
|
|
|
107
123
|
* {@link readSourceDeclaration}: an absent / unparseable file or a missing key is
|
|
108
124
|
* simply `{declaration: null}`; a PRESENT-but-malformed block degrades to lane-absent
|
|
109
125
|
* WITH a reason (surfaced via `resolveAmbientSources`' `dropped[]`), never a throw.
|
|
110
|
-
* Malformed optional knobs (`top_k` / `cost_per_mtok`
|
|
126
|
+
* Malformed optional TUNING knobs (`top_k` / `cost_per_mtok`) are dropped
|
|
111
127
|
* individually — a bad tuning value must not cost the operator the whole lane.
|
|
128
|
+
* `api_key_env` is deliberately NOT in that set: it is a credential reference,
|
|
129
|
+
* and dropping it silently leaves the lane looking unauthenticated so the
|
|
130
|
+
* failure surfaces far downstream with a reason that no longer names the typo.
|
|
112
131
|
*
|
|
113
132
|
* Rejection: if a `repair_proxy` key exists, it is not recognized and surfaces a
|
|
114
133
|
* dropped reason telling the operator what key to use instead (never silent ignore).
|
|
@@ -155,7 +174,6 @@ export declare function populateProxyCatalogIfMissing(deps?: AmbientSourceDeps &
|
|
|
155
174
|
* - CLI provider → its launcher resolves on PATH
|
|
156
175
|
* - `subprocess-template` → its `command_template[0]` resolves on PATH
|
|
157
176
|
* - `credentials_path` → the file is readable
|
|
158
|
-
* - inline `api_key` → NOT verifiable (see below)
|
|
159
177
|
*
|
|
160
178
|
* **`no_auth: true` is not an opt-out.** It swaps one PROOF for another — the env-var
|
|
161
179
|
* check for an endpoint liveness probe — so a keyless lane is still verified, not
|
|
@@ -164,13 +182,18 @@ export declare function populateProxyCatalogIfMissing(deps?: AmbientSourceDeps &
|
|
|
164
182
|
* endpoint is listening), so inferring it would silently admit a keyed endpoint whose
|
|
165
183
|
* key the operator forgot.
|
|
166
184
|
*
|
|
167
|
-
* **
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
185
|
+
* **There is no inline-`api_key` case to refuse here — the field is RETIRED**, and a
|
|
186
|
+
* credential is named (`api_key_env`) or absent. It used to be refused at this gate:
|
|
187
|
+
* possession proves nothing about reach, and it was the one shape an operator could
|
|
188
|
+
* always choose, which made the whole rule opt-out by construction. Refusing a shape
|
|
189
|
+
* that can still be declared leaves an always-passes lane whose only catcher (the
|
|
190
|
+
* reactive `lies reachably` quarantine) does not exist; deleting the shape closes it
|
|
191
|
+
* at the source. The declaration is now refused earlier and louder, at validation
|
|
192
|
+
* (`validation/sessionConfig.ts`), so a pasted key can never reach this function.
|
|
193
|
+
*
|
|
194
|
+
* ⚠ That does NOT close the quarantine gap itself: a lane whose key was revoked or whose
|
|
195
|
+
* endpoint died still verifies here (env var present, launcher on PATH) and is
|
|
196
|
+
* re-admitted every run. That open property is tracked in `docs/backlog/open-bugs.md`.
|
|
174
197
|
*
|
|
175
198
|
* NOTE — this is the repo's first ambient CREDENTIAL probe, and it deliberately
|
|
176
199
|
* inverts the policy stated at `providerFactory.ts` ("env presence is intentionally not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditorSources.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/auditorSources.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAGnE,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,6FAA6F;IAC7F,EAAE,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,sFAAsF;IACtF,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACtD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,oFAAoF;IACpF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACnD;AAmCD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACxC,OAAO,GAAE,SAAS,MAAM,EAAmB,GAC1C,OAAO,CAKT;AA+BD,2FAA2F;AAC3F,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,iBAAsB,GAC3B,kBAAkB,EAAE,CAoBtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"auditorSources.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/auditorSources.ts"],"names":[],"mappings":"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"}
|