audit-tools 0.33.3 → 0.33.6
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 +1 -1
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +1 -4
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/dispatch/hostFanoutGate.d.ts +7 -0
- package/dist/audit/cli/dispatch/hostFanoutGate.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostFanoutGate.js +18 -4
- package/dist/audit/cli/dispatch/hostFanoutGate.js.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.d.ts +12 -0
- package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +59 -31
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/dispatch/types.d.ts +7 -0
- package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.d.ts +19 -0
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +46 -8
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/hybridDispatch.d.ts +16 -3
- package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
- package/dist/audit/cli/hybridDispatch.js +16 -23
- package/dist/audit/cli/hybridDispatch.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +32 -18
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +74 -51
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +1 -0
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +5 -1
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts +12 -30
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +11 -60
- 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 +30 -7
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/quota/index.d.ts +2 -668
- package/dist/audit/quota/index.d.ts.map +1 -1
- package/dist/audit/quota/index.js +5 -30
- package/dist/audit/quota/index.js.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +8 -1
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts +9 -2
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.js +48 -42
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +79 -65
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +379 -380
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +7 -27
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js +0 -1
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +66 -8
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
- package/dist/shared/dispatch/admissionLoop.js +168 -3
- package/dist/shared/dispatch/admissionLoop.js.map +1 -1
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts +720 -0
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -0
- package/dist/shared/dispatch/dispatchQuotaContract.js +76 -0
- package/dist/shared/dispatch/dispatchQuotaContract.js.map +1 -0
- package/dist/shared/dispatch/hostDispatchWall.d.ts +39 -0
- package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -1
- package/dist/shared/dispatch/hostDispatchWall.js +22 -1
- package/dist/shared/dispatch/hostDispatchWall.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +18 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +35 -9
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/settledPools.d.ts +32 -0
- package/dist/shared/dispatch/settledPools.d.ts.map +1 -1
- package/dist/shared/dispatch/settledPools.js +37 -0
- package/dist/shared/dispatch/settledPools.js.map +1 -1
- package/dist/shared/index.d.ts +9 -6
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +7 -5
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/providers/inProcessWorkers.d.ts +42 -0
- package/dist/shared/providers/inProcessWorkers.d.ts.map +1 -0
- package/dist/shared/providers/inProcessWorkers.js +64 -0
- package/dist/shared/providers/inProcessWorkers.js.map +1 -0
- package/dist/shared/providers/providerPathGuard.d.ts +33 -4
- package/dist/shared/providers/providerPathGuard.d.ts.map +1 -1
- package/dist/shared/providers/providerPathGuard.js +33 -4
- package/dist/shared/providers/providerPathGuard.js.map +1 -1
- package/dist/shared/providers/proxyCatalog.d.ts.map +1 -1
- package/dist/shared/providers/proxyCatalog.js +21 -4
- package/dist/shared/providers/proxyCatalog.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +94 -44
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +173 -75
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +8 -1
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +2 -1
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/types/auditorDescriptor.d.ts +0 -8
- package/dist/shared/types/auditorDescriptor.d.ts.map +1 -1
- package/dist/shared/types/auditorDescriptor.js.map +1 -1
- package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
- package/dist/shared/validation/sessionConfig.js +10 -0
- package/dist/shared/validation/sessionConfig.js.map +1 -1
- package/opencode.json +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyCatalog.js","sourceRoot":"","sources":["../../../src/shared/providers/proxyCatalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxyCatalog.js","sourceRoot":"","sources":["../../../src/shared/providers/proxyCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,24 @@ import type { DispatchExclusion } from "../providers/sharedProviderConfirmation.
|
|
|
17
17
|
* the gate's `model_id ?? provider` compare key. Do not unify them.
|
|
18
18
|
*/
|
|
19
19
|
export declare function dispatchableSourceId(source: DispatchableSource, account?: string | null): string;
|
|
20
|
+
/**
|
|
21
|
+
* The effective per-request context window (tokens) for a dispatchable source — a
|
|
22
|
+
* positive integer that is NEVER null. This is the invariant that makes context-fit
|
|
23
|
+
* gating REAL: a `null` cap meant "unknown ⇒ always fits", which silently no-op'd
|
|
24
|
+
* every fit gate for a proxy pool whose registry entry carried no context field (the
|
|
25
|
+
* 2026-07-17 host-only-collapse root cause — oversized packets were dispatched and
|
|
26
|
+
* 413'd instead of being skipped). Fallback chain:
|
|
27
|
+
* 1. operator/registry-declared `quota.context_tokens` (the stamp populate sets),
|
|
28
|
+
* 2. else the BACKEND model's models.dev window (`resolveModelStatics(model,
|
|
29
|
+
* backend_provider ?? provider)` — a synced, someone-else-maintained table),
|
|
30
|
+
* 3. else the blind `DEFAULT_CONTEXT_TOKENS` floor.
|
|
31
|
+
* Single-sourced (exported) as the one fit-window resolver. Only `buildSourcePool`
|
|
32
|
+
* stamps it — host-model pools carry no `contextCapTokens` and gate (on the admission
|
|
33
|
+
* path) against their own per-pool `resolved_limits` window instead; the admission
|
|
34
|
+
* builder folds the two (`context_cap_tokens ?? resolved_limits.context_tokens`) so
|
|
35
|
+
* BOTH pool classes share one fit predicate (unified-routing step B).
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveSourceContextWindowTokens(source: DispatchableSource): number;
|
|
20
38
|
/**
|
|
21
39
|
* Bridge a generic {@link DispatchableSource} to the concrete per-provider config
|
|
22
40
|
* block its provider constructor expects, so `createFreshSessionProvider` can build
|
|
@@ -97,57 +115,31 @@ export declare function buildSourcePool(params: {
|
|
|
97
115
|
quotaSource: QuotaSource;
|
|
98
116
|
quotaEntries: Record<string, QuotaStateEntry>;
|
|
99
117
|
}): Promise<CapacityPool>;
|
|
100
|
-
/**
|
|
101
|
-
* Whether a provider is an in-process backend that DEMOTES to a source pool when an
|
|
102
|
-
* attended host drives (defect-1): the API/CLI worker backends only. Callers gate the
|
|
103
|
-
* in-process-monopoly branch on this so an attended host fans out onto the backend as a
|
|
104
|
-
* source (host + backend + NIM concurrent) while a non-demotable in-process provider
|
|
105
|
-
* (`subprocess-template` / `worker-command`, which carry no standalone source pool)
|
|
106
|
-
* keeps self-driving. Also the discriminator for demoting the host-pool identity back
|
|
107
|
-
* to the conversation host when the configured primary is one of these backends.
|
|
108
|
-
*/
|
|
109
|
-
export declare function isDemotableInProcessProvider(providerName: string | undefined): boolean;
|
|
110
|
-
/**
|
|
111
|
-
* Whether an attended host should DEMOTE its configured primary in-process backend
|
|
112
|
-
* to a separate source pool (defect-1 concurrent fan-out). True only when the host
|
|
113
|
-
* can dispatch subagents AND the primary is a demotable backend AND — the B1
|
|
114
|
-
* same-agent guard — the resolved CONVERSATION HOST is a DIFFERENT provider than
|
|
115
|
-
* that backend.
|
|
116
|
-
*
|
|
117
|
-
* The same-agent guard is load-bearing: the primary demoted source shares the
|
|
118
|
-
* host's own credential (it carries no `credentials_path`), so when the host
|
|
119
|
-
* provider equals the primary provider they are ONE account. Emitting both a
|
|
120
|
-
* host pool AND a demoted-source pool for that one account double-books its
|
|
121
|
-
* budget/concurrency and — because `dispatchableSourceId` falls through to the
|
|
122
|
-
* same `buildProviderModelKey` format the host pool uses — can even collide on a
|
|
123
|
-
* single pool id. In that case there is no distinct host to fan out alongside;
|
|
124
|
-
* the host self-drives the backend as its single pool. Single-sourced so audit
|
|
125
|
-
* and remediate apply the identical guard. [[host-provider-misattribution-nim-codex]]
|
|
126
|
-
*/
|
|
127
|
-
export declare function shouldDemotePrimaryInProcess(options: {
|
|
128
|
-
sessionConfig: SessionConfig | null | undefined;
|
|
129
|
-
hostCanDispatch: boolean;
|
|
130
|
-
env?: NodeJS.ProcessEnv;
|
|
131
|
-
}): boolean;
|
|
132
118
|
/**
|
|
133
119
|
* The DispatchableSource for the primary in-process backend, built from its own config
|
|
134
|
-
* block, so
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
120
|
+
* block, so the primary is just a SOURCE POOL in the one eligible pool set (H2+H4
|
|
121
|
+
* collapse): an attended host fans out onto it alongside its own subagents, and a
|
|
122
|
+
* headless run's engine drives it as an ordinary member pool — there is no demote
|
|
123
|
+
* flag and no monopoly branch. Returns null when the primary provider is not a
|
|
124
|
+
* self-drivable in-process backend under the DRAW's policy (`commandWorkers` —
|
|
125
|
+
* remediate admits the command-shaped backends, audit does not), or its config block
|
|
126
|
+
* is absent where one is required. The dispatch worker rebuilds the concrete provider
|
|
127
|
+
* from this source's `{endpoint, model, parameters}` via `withSourceConfig`.
|
|
139
128
|
*/
|
|
140
|
-
export declare function primaryInProcessSource(sessionConfig: SessionConfig, primaryProviderName: string
|
|
129
|
+
export declare function primaryInProcessSource(sessionConfig: SessionConfig, primaryProviderName: string, options?: {
|
|
130
|
+
commandWorkers?: boolean;
|
|
131
|
+
}): DispatchableSource | null;
|
|
141
132
|
/**
|
|
142
133
|
* Every dispatchable backend source configured for a run, in pool order: the explicit
|
|
143
|
-
* `sessionConfig.sources`,
|
|
144
|
-
*
|
|
134
|
+
* `sessionConfig.sources`, the primary in-process backend folded in UNCONDITIONALLY
|
|
135
|
+
* (H2+H4 collapse: the primary is just a source pool — there is no demote flag; which
|
|
136
|
+
* providers fold is the draw's `commandWorkers` policy), plus — for back-compat — a
|
|
145
137
|
* single implicit source folded in from a legacy `openai_compatible` block when it
|
|
146
138
|
* isn't the primary provider and isn't already covered by an explicit source of the
|
|
147
139
|
* same id.
|
|
148
140
|
*/
|
|
149
141
|
export declare function collectDispatchableSources(sessionConfig: SessionConfig, primaryProviderName: string, options?: {
|
|
150
|
-
|
|
142
|
+
commandWorkers?: boolean;
|
|
151
143
|
}): DispatchableSource[];
|
|
152
144
|
/**
|
|
153
145
|
* The FULL dispatchable source list for a run — the configured
|
|
@@ -158,7 +150,7 @@ export declare function collectDispatchableSources(sessionConfig: SessionConfig,
|
|
|
158
150
|
* inventory resolution the handshake will feed here.
|
|
159
151
|
*/
|
|
160
152
|
export declare function gatherDispatchableSources(sessionConfig: SessionConfig, primaryProviderName: string, options?: {
|
|
161
|
-
|
|
153
|
+
commandWorkers?: boolean;
|
|
162
154
|
}): Promise<DispatchableSource[]>;
|
|
163
155
|
/**
|
|
164
156
|
* Build the CapacityPool for every configured dispatchable backend source (the
|
|
@@ -172,8 +164,8 @@ export declare function buildSourcePools(params: {
|
|
|
172
164
|
primaryProviderName: string;
|
|
173
165
|
quotaSource: QuotaSource;
|
|
174
166
|
quotaEntries: Record<string, QuotaStateEntry>;
|
|
175
|
-
/**
|
|
176
|
-
|
|
167
|
+
/** The draw's fold policy: admit command-shaped primaries (remediate) or not (audit). */
|
|
168
|
+
commandWorkers?: boolean;
|
|
177
169
|
/**
|
|
178
170
|
* The backends the operator ruled out at Gate-0, plus any recomputed as
|
|
179
171
|
* self-spawn-blocked in THIS process (`resolveDispatchExclusion`). Applied as a
|
|
@@ -193,4 +185,62 @@ export declare function buildSourcePools(params: {
|
|
|
193
185
|
*/
|
|
194
186
|
excludedBackends?: DispatchExclusion;
|
|
195
187
|
}): Promise<CapacityPool[]>;
|
|
188
|
+
/**
|
|
189
|
+
* Re-derive each pool's `quotaStateEntry` by folding in the account-scoped
|
|
190
|
+
* cooldown/429 signal from its siblings (Bug 3 / Slice A3: account-axis pool
|
|
191
|
+
* identity). Applied ONCE across the whole freshly-built pool set — after
|
|
192
|
+
* this, every pool's frozen `quotaStateEntry` already reflects the worst
|
|
193
|
+
* cooldown its account has seen, so a peer whose OWN key never recorded a 429
|
|
194
|
+
* still shows up degraded. This is the construction-time counterpart to the
|
|
195
|
+
* live fold `selectProvider` applies mid-run in `rollingDispatch.ts` (same
|
|
196
|
+
* {@link foldAccountCooldown} primitive, single-sourced). A pool with no
|
|
197
|
+
* derivable account (not `openai-compatible`, missing endpoint/api_key_env, or
|
|
198
|
+
* an explicit `source.account` override) is returned unchanged.
|
|
199
|
+
*/
|
|
200
|
+
/**
|
|
201
|
+
* Cross-class host-vs-source pool dedup (H2+H4 collapse, plan D1) — the ONE shared
|
|
202
|
+
* collision rule both draws apply when assembling their eligible pool set. With the
|
|
203
|
+
* primary in-process backend folded in UNCONDITIONALLY, the attended host's pool
|
|
204
|
+
* identity can collide with a folded source's `dispatchableSourceId` (the classic
|
|
205
|
+
* case: conversation host codex + `provider: codex` — one credential, one account;
|
|
206
|
+
* emitting both pools double-books that one meter and can collide on a single pool
|
|
207
|
+
* id, the retired B1 same-agent guard's bug class
|
|
208
|
+
* [[host-provider-misattribution-nim-codex]]).
|
|
209
|
+
*
|
|
210
|
+
* Collision = same provider identity on the same account axis. Provider identity is
|
|
211
|
+
* the BACKEND when the source declares one (`backend_provider` — a proxied lane onto
|
|
212
|
+
* the host's own backend is exactly the double-grant this guards; review h2c3 F5),
|
|
213
|
+
* else the pool's providerName. The account compare is DIRECTIONAL (review h2c3 F3):
|
|
214
|
+
* a source with NO declared account collides on provider alone — the synthesized
|
|
215
|
+
* primary fold shares the host credential by construction — but a source with an
|
|
216
|
+
* EXPLICIT account collides only when the host's account resolves equal; a host
|
|
217
|
+
* whose account is merely unresolved (dark credential) must never lose its lane to
|
|
218
|
+
* a source declared on a DIFFERENT account. Deliberately NOT model-granular: the
|
|
219
|
+
* double-grant boundary this protects is `(provider, account)`, not the model axis.
|
|
220
|
+
*
|
|
221
|
+
* Survivor rule (D1): on collision the SOURCE/engine pool survives when its provider
|
|
222
|
+
* is an in-process worker — the engine drives that one account and the host has no
|
|
223
|
+
* separate pool to double-book (preserving self-drive for attended
|
|
224
|
+
* provider=codex=host); the HOST pool survives otherwise (a host-shaped identity is
|
|
225
|
+
* not an engine-drivable source).
|
|
226
|
+
*
|
|
227
|
+
* `hostProviderName` serves the draw whose host is NOT a member pool (audit, plan
|
|
228
|
+
* D6: the host is the coverage-driven complement): with no host pools to drop, the
|
|
229
|
+
* rule degenerates to dropping a colliding non-in-process source.
|
|
230
|
+
*/
|
|
231
|
+
export declare function dedupHostAndSourcePools(params: {
|
|
232
|
+
hostPools: CapacityPool[];
|
|
233
|
+
sourcePools: CapacityPool[];
|
|
234
|
+
/** Attended host identity for a draw whose host is not a member pool (audit). */
|
|
235
|
+
hostProviderName?: ResolvedProviderName | null;
|
|
236
|
+
/**
|
|
237
|
+
* The DRAW's worker policy for the D1 survivor rule (remediate admits
|
|
238
|
+
* command-shaped workers; audit does not) — a command-shaped source can only
|
|
239
|
+
* survive a collision on a draw whose engine can actually drive it.
|
|
240
|
+
*/
|
|
241
|
+
commandWorkers?: boolean;
|
|
242
|
+
}): {
|
|
243
|
+
hostPools: CapacityPool[];
|
|
244
|
+
sourcePools: CapacityPool[];
|
|
245
|
+
};
|
|
196
246
|
//# sourceMappingURL=apiPool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiPool.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"apiPool.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@ import { parseProviderModelKey } from "./httpQuotaSource.js";
|
|
|
4
4
|
import { buildAccountScopedQuotaSource } from "./compositeQuotaSource.js";
|
|
5
5
|
import { deriveLocalAccountId, foldAccountCooldown } from "./accountId.js";
|
|
6
6
|
import { classifyQuotaCoverage, sourceCoversProvider } from "./coverage.js";
|
|
7
|
+
import { resolveModelStatics } from "./modelStatics.js";
|
|
8
|
+
import { DEFAULT_CONTEXT_TOKENS } from "../tokens.js";
|
|
7
9
|
import { hasConfiguredOpenAiCompatible } from "../providers/providerFactory.js";
|
|
8
|
-
import {
|
|
10
|
+
import { isHeadlessPrimaryProvider, isInProcessWorkerProvider, } from "../providers/inProcessWorkers.js";
|
|
9
11
|
/**
|
|
10
12
|
* The stable id of a dispatchable source — its explicit `id`, or the quota-ledger
|
|
11
13
|
* pool identity `provider[#account]/(model ?? endpoint ?? *)` ({@link buildProviderModelKey})
|
|
@@ -46,6 +48,33 @@ function positiveIntCapOrNull(value) {
|
|
|
46
48
|
return null;
|
|
47
49
|
return Math.floor(value);
|
|
48
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* The effective per-request context window (tokens) for a dispatchable source — a
|
|
53
|
+
* positive integer that is NEVER null. This is the invariant that makes context-fit
|
|
54
|
+
* gating REAL: a `null` cap meant "unknown ⇒ always fits", which silently no-op'd
|
|
55
|
+
* every fit gate for a proxy pool whose registry entry carried no context field (the
|
|
56
|
+
* 2026-07-17 host-only-collapse root cause — oversized packets were dispatched and
|
|
57
|
+
* 413'd instead of being skipped). Fallback chain:
|
|
58
|
+
* 1. operator/registry-declared `quota.context_tokens` (the stamp populate sets),
|
|
59
|
+
* 2. else the BACKEND model's models.dev window (`resolveModelStatics(model,
|
|
60
|
+
* backend_provider ?? provider)` — a synced, someone-else-maintained table),
|
|
61
|
+
* 3. else the blind `DEFAULT_CONTEXT_TOKENS` floor.
|
|
62
|
+
* Single-sourced (exported) as the one fit-window resolver. Only `buildSourcePool`
|
|
63
|
+
* stamps it — host-model pools carry no `contextCapTokens` and gate (on the admission
|
|
64
|
+
* path) against their own per-pool `resolved_limits` window instead; the admission
|
|
65
|
+
* builder folds the two (`context_cap_tokens ?? resolved_limits.context_tokens`) so
|
|
66
|
+
* BOTH pool classes share one fit predicate (unified-routing step B).
|
|
67
|
+
*/
|
|
68
|
+
export function resolveSourceContextWindowTokens(source) {
|
|
69
|
+
const declared = positiveIntCapOrNull(source.quota?.context_tokens);
|
|
70
|
+
if (declared !== null)
|
|
71
|
+
return declared;
|
|
72
|
+
const statics = resolveModelStatics(source.model ?? null, source.backend_provider ?? source.provider);
|
|
73
|
+
const fromCatalog = positiveIntCapOrNull(statics?.context_tokens);
|
|
74
|
+
if (fromCatalog !== null)
|
|
75
|
+
return fromCatalog;
|
|
76
|
+
return DEFAULT_CONTEXT_TOKENS;
|
|
77
|
+
}
|
|
49
78
|
/**
|
|
50
79
|
* A source's operator-declared `$/Mtok`, normalized to a non-negative finite number
|
|
51
80
|
* or null (unknown → fall through to the models.dev price / tier at rank time). `0`
|
|
@@ -242,10 +271,12 @@ export async function buildSourcePool(params) {
|
|
|
242
271
|
// null (uncapped) — never 0, which would ceiling the pool to zero in-flight and
|
|
243
272
|
// wedge the rolling engine, and would also violate the summary schema's min(1).
|
|
244
273
|
concurrencyCap: positiveIntCapOrNull(source.quota?.max_concurrent),
|
|
245
|
-
//
|
|
246
|
-
//
|
|
247
|
-
//
|
|
248
|
-
|
|
274
|
+
// Effective per-request context window — NEVER null (declared quota.context_tokens
|
|
275
|
+
// → backend model's models.dev window → DEFAULT_CONTEXT_TOKENS). A null cap used to
|
|
276
|
+
// mean "always fits", which no-op'd every fit gate for a registry pool carrying no
|
|
277
|
+
// context field; resolving to a concrete window means an oversized packet is skipped,
|
|
278
|
+
// not 413'd. See resolveSourceContextWindowTokens.
|
|
279
|
+
contextCapTokens: resolveSourceContextWindowTokens(source),
|
|
249
280
|
// Operator-declared a-priori $/Mtok for this endpoint → the admission cost rank
|
|
250
281
|
// (rung 2, authoritative over the models.dev catalog). 0 = declared-free → routes
|
|
251
282
|
// first. null when unset/invalid ⇒ falls through to the catalog price / tier.
|
|
@@ -264,60 +295,8 @@ export async function buildSourcePool(params) {
|
|
|
264
295
|
source,
|
|
265
296
|
};
|
|
266
297
|
}
|
|
267
|
-
/**
|
|
268
|
-
* The in-process backends that can be DEMOTED to a source pool when an attended host
|
|
269
|
-
* drives (defect-1): the API/CLI worker backends. Excludes `worker-command` /
|
|
270
|
-
* `subprocess-template` — those are host-dispatch defaults, not standalone source
|
|
271
|
-
* pools to fan out onto alongside the host.
|
|
272
|
-
*/
|
|
273
|
-
const DEMOTABLE_IN_PROCESS_PROVIDERS = new Set([
|
|
274
|
-
"openai-compatible",
|
|
275
|
-
"codex",
|
|
276
|
-
"opencode",
|
|
277
|
-
]);
|
|
278
|
-
/**
|
|
279
|
-
* Whether a provider is an in-process backend that DEMOTES to a source pool when an
|
|
280
|
-
* attended host drives (defect-1): the API/CLI worker backends only. Callers gate the
|
|
281
|
-
* in-process-monopoly branch on this so an attended host fans out onto the backend as a
|
|
282
|
-
* source (host + backend + NIM concurrent) while a non-demotable in-process provider
|
|
283
|
-
* (`subprocess-template` / `worker-command`, which carry no standalone source pool)
|
|
284
|
-
* keeps self-driving. Also the discriminator for demoting the host-pool identity back
|
|
285
|
-
* to the conversation host when the configured primary is one of these backends.
|
|
286
|
-
*/
|
|
287
|
-
export function isDemotableInProcessProvider(providerName) {
|
|
288
|
-
return providerName !== undefined && DEMOTABLE_IN_PROCESS_PROVIDERS.has(providerName);
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Whether an attended host should DEMOTE its configured primary in-process backend
|
|
292
|
-
* to a separate source pool (defect-1 concurrent fan-out). True only when the host
|
|
293
|
-
* can dispatch subagents AND the primary is a demotable backend AND — the B1
|
|
294
|
-
* same-agent guard — the resolved CONVERSATION HOST is a DIFFERENT provider than
|
|
295
|
-
* that backend.
|
|
296
|
-
*
|
|
297
|
-
* The same-agent guard is load-bearing: the primary demoted source shares the
|
|
298
|
-
* host's own credential (it carries no `credentials_path`), so when the host
|
|
299
|
-
* provider equals the primary provider they are ONE account. Emitting both a
|
|
300
|
-
* host pool AND a demoted-source pool for that one account double-books its
|
|
301
|
-
* budget/concurrency and — because `dispatchableSourceId` falls through to the
|
|
302
|
-
* same `buildProviderModelKey` format the host pool uses — can even collide on a
|
|
303
|
-
* single pool id. In that case there is no distinct host to fan out alongside;
|
|
304
|
-
* the host self-drives the backend as its single pool. Single-sourced so audit
|
|
305
|
-
* and remediate apply the identical guard. [[host-provider-misattribution-nim-codex]]
|
|
306
|
-
*/
|
|
307
|
-
export function shouldDemotePrimaryInProcess(options) {
|
|
308
|
-
if (!options.hostCanDispatch)
|
|
309
|
-
return false;
|
|
310
|
-
const provider = options.sessionConfig?.provider;
|
|
311
|
-
if (!isDemotableInProcessProvider(provider))
|
|
312
|
-
return false;
|
|
313
|
-
const conversationHost = resolveConversationHostProvider({
|
|
314
|
-
sessionConfig: options.sessionConfig,
|
|
315
|
-
env: options.env,
|
|
316
|
-
});
|
|
317
|
-
return conversationHost !== provider;
|
|
318
|
-
}
|
|
319
298
|
/** Build a DispatchableSource for a configured `openai_compatible` block (the legacy
|
|
320
|
-
* NIM source shape), reused by both the back-compat fold and the primary
|
|
299
|
+
* NIM source shape), reused by both the back-compat fold and the primary fold. */
|
|
321
300
|
function openAiCompatibleSource(oc) {
|
|
322
301
|
return {
|
|
323
302
|
provider: "openai-compatible",
|
|
@@ -350,14 +329,17 @@ function openAiCompatibleSource(oc) {
|
|
|
350
329
|
}
|
|
351
330
|
/**
|
|
352
331
|
* The DispatchableSource for the primary in-process backend, built from its own config
|
|
353
|
-
* block, so
|
|
354
|
-
*
|
|
355
|
-
*
|
|
356
|
-
*
|
|
357
|
-
*
|
|
332
|
+
* block, so the primary is just a SOURCE POOL in the one eligible pool set (H2+H4
|
|
333
|
+
* collapse): an attended host fans out onto it alongside its own subagents, and a
|
|
334
|
+
* headless run's engine drives it as an ordinary member pool — there is no demote
|
|
335
|
+
* flag and no monopoly branch. Returns null when the primary provider is not a
|
|
336
|
+
* self-drivable in-process backend under the DRAW's policy (`commandWorkers` —
|
|
337
|
+
* remediate admits the command-shaped backends, audit does not), or its config block
|
|
338
|
+
* is absent where one is required. The dispatch worker rebuilds the concrete provider
|
|
339
|
+
* from this source's `{endpoint, model, parameters}` via `withSourceConfig`.
|
|
358
340
|
*/
|
|
359
|
-
export function primaryInProcessSource(sessionConfig, primaryProviderName) {
|
|
360
|
-
if (!
|
|
341
|
+
export function primaryInProcessSource(sessionConfig, primaryProviderName, options) {
|
|
342
|
+
if (!isHeadlessPrimaryProvider(primaryProviderName, options))
|
|
361
343
|
return null;
|
|
362
344
|
switch (primaryProviderName) {
|
|
363
345
|
case "openai-compatible":
|
|
@@ -386,13 +368,55 @@ export function primaryInProcessSource(sessionConfig, primaryProviderName) {
|
|
|
386
368
|
},
|
|
387
369
|
};
|
|
388
370
|
}
|
|
371
|
+
// D4: agy needs an EXPLICIT synthesis case (it does not "fall out" of un-gating):
|
|
372
|
+
// without one, an attended `provider: agy` run would have NO pool and — with the
|
|
373
|
+
// monopoly branch gone — no dispatch at all. Synthesized from its config block,
|
|
374
|
+
// mirroring `sourceProviderConfig`'s agy mapping (command→endpoint, model→model).
|
|
375
|
+
case "agy": {
|
|
376
|
+
const a = sessionConfig.agy ?? {};
|
|
377
|
+
return {
|
|
378
|
+
provider: "agy",
|
|
379
|
+
...(a.command !== undefined ? { endpoint: a.command } : {}),
|
|
380
|
+
...(a.model !== undefined ? { model: a.model } : {}),
|
|
381
|
+
parameters: {
|
|
382
|
+
...(a.extra_args !== undefined ? { extra_args: a.extra_args } : {}),
|
|
383
|
+
...(a.dangerously_skip_permissions !== undefined
|
|
384
|
+
? { dangerously_skip_permissions: a.dangerously_skip_permissions }
|
|
385
|
+
: {}),
|
|
386
|
+
},
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
// D3 (command-shaped primaries — reachable only under a draw whose policy sets
|
|
390
|
+
// `commandWorkers: true`, i.e. remediate): without these an attended run whose
|
|
391
|
+
// primary is command-shaped would silently lose ALL dispatch
|
|
392
|
+
// ([[silent-fail-closed-on-one-draw]] class).
|
|
393
|
+
case "subprocess-template": {
|
|
394
|
+
const s = sessionConfig.subprocess_template;
|
|
395
|
+
// The template block is the whole launch contract — absent/empty ⇒ no pool
|
|
396
|
+
// (mirrors the unconfigured openai-compatible case).
|
|
397
|
+
if (!s || s.command_template.length === 0)
|
|
398
|
+
return null;
|
|
399
|
+
return {
|
|
400
|
+
provider: "subprocess-template",
|
|
401
|
+
parameters: {
|
|
402
|
+
command_template: s.command_template,
|
|
403
|
+
...(s.env !== undefined ? { env: s.env } : {}),
|
|
404
|
+
},
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
case "worker-command":
|
|
408
|
+
// No session-level config block exists for worker-command: each node carries
|
|
409
|
+
// its own `task.worker_command`, resolved at dispatch. A bare provider source
|
|
410
|
+
// is the correct pool identity.
|
|
411
|
+
return { provider: "worker-command" };
|
|
389
412
|
}
|
|
390
413
|
return null;
|
|
391
414
|
}
|
|
392
415
|
/**
|
|
393
416
|
* Every dispatchable backend source configured for a run, in pool order: the explicit
|
|
394
|
-
* `sessionConfig.sources`,
|
|
395
|
-
*
|
|
417
|
+
* `sessionConfig.sources`, the primary in-process backend folded in UNCONDITIONALLY
|
|
418
|
+
* (H2+H4 collapse: the primary is just a source pool — there is no demote flag; which
|
|
419
|
+
* providers fold is the draw's `commandWorkers` policy), plus — for back-compat — a
|
|
396
420
|
* single implicit source folded in from a legacy `openai_compatible` block when it
|
|
397
421
|
* isn't the primary provider and isn't already covered by an explicit source of the
|
|
398
422
|
* same id.
|
|
@@ -404,13 +428,15 @@ export function collectDispatchableSources(sessionConfig, primaryProviderName, o
|
|
|
404
428
|
if (!out.some((s) => dispatchableSourceId(s) === id))
|
|
405
429
|
out.push(source);
|
|
406
430
|
};
|
|
407
|
-
//
|
|
408
|
-
//
|
|
409
|
-
//
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
431
|
+
// The unconditional primary fold: a self-drivable in-process primary is a member
|
|
432
|
+
// pool of the ONE eligible set, whether the run is attended (host + backend + NIM
|
|
433
|
+
// fan out concurrently) or headless (the engine drives it as its pool). Inert
|
|
434
|
+
// (null) when the primary is the conversation host / an IDE, or the draw's policy
|
|
435
|
+
// excludes a command-shaped primary.
|
|
436
|
+
{
|
|
437
|
+
const primary = primaryInProcessSource(sessionConfig, primaryProviderName, options);
|
|
438
|
+
if (primary)
|
|
439
|
+
pushUnique(primary);
|
|
414
440
|
}
|
|
415
441
|
if (primaryProviderName !== "openai-compatible" &&
|
|
416
442
|
hasConfiguredOpenAiCompatible(sessionConfig.openai_compatible)) {
|
|
@@ -438,7 +464,7 @@ export async function gatherDispatchableSources(sessionConfig, primaryProviderNa
|
|
|
438
464
|
*/
|
|
439
465
|
export async function buildSourcePools(params) {
|
|
440
466
|
const gathered = await gatherDispatchableSources(params.sessionConfig, params.primaryProviderName, {
|
|
441
|
-
|
|
467
|
+
commandWorkers: params.commandWorkers,
|
|
442
468
|
});
|
|
443
469
|
const excluded = params.excludedBackends;
|
|
444
470
|
const sources = excluded
|
|
@@ -459,6 +485,78 @@ export async function buildSourcePools(params) {
|
|
|
459
485
|
* derivable account (not `openai-compatible`, missing endpoint/api_key_env, or
|
|
460
486
|
* an explicit `source.account` override) is returned unchanged.
|
|
461
487
|
*/
|
|
488
|
+
/**
|
|
489
|
+
* Cross-class host-vs-source pool dedup (H2+H4 collapse, plan D1) — the ONE shared
|
|
490
|
+
* collision rule both draws apply when assembling their eligible pool set. With the
|
|
491
|
+
* primary in-process backend folded in UNCONDITIONALLY, the attended host's pool
|
|
492
|
+
* identity can collide with a folded source's `dispatchableSourceId` (the classic
|
|
493
|
+
* case: conversation host codex + `provider: codex` — one credential, one account;
|
|
494
|
+
* emitting both pools double-books that one meter and can collide on a single pool
|
|
495
|
+
* id, the retired B1 same-agent guard's bug class
|
|
496
|
+
* [[host-provider-misattribution-nim-codex]]).
|
|
497
|
+
*
|
|
498
|
+
* Collision = same provider identity on the same account axis. Provider identity is
|
|
499
|
+
* the BACKEND when the source declares one (`backend_provider` — a proxied lane onto
|
|
500
|
+
* the host's own backend is exactly the double-grant this guards; review h2c3 F5),
|
|
501
|
+
* else the pool's providerName. The account compare is DIRECTIONAL (review h2c3 F3):
|
|
502
|
+
* a source with NO declared account collides on provider alone — the synthesized
|
|
503
|
+
* primary fold shares the host credential by construction — but a source with an
|
|
504
|
+
* EXPLICIT account collides only when the host's account resolves equal; a host
|
|
505
|
+
* whose account is merely unresolved (dark credential) must never lose its lane to
|
|
506
|
+
* a source declared on a DIFFERENT account. Deliberately NOT model-granular: the
|
|
507
|
+
* double-grant boundary this protects is `(provider, account)`, not the model axis.
|
|
508
|
+
*
|
|
509
|
+
* Survivor rule (D1): on collision the SOURCE/engine pool survives when its provider
|
|
510
|
+
* is an in-process worker — the engine drives that one account and the host has no
|
|
511
|
+
* separate pool to double-book (preserving self-drive for attended
|
|
512
|
+
* provider=codex=host); the HOST pool survives otherwise (a host-shaped identity is
|
|
513
|
+
* not an engine-drivable source).
|
|
514
|
+
*
|
|
515
|
+
* `hostProviderName` serves the draw whose host is NOT a member pool (audit, plan
|
|
516
|
+
* D6: the host is the coverage-driven complement): with no host pools to drop, the
|
|
517
|
+
* rule degenerates to dropping a colliding non-in-process source.
|
|
518
|
+
*/
|
|
519
|
+
export function dedupHostAndSourcePools(params) {
|
|
520
|
+
const identityOf = (pool) => {
|
|
521
|
+
const parsed = parseProviderModelKey(pool.id);
|
|
522
|
+
// Backend outranks transport (h2c3 F5): a proxied lane's double-grant axis is
|
|
523
|
+
// its backend, the same axis `dispatchableSourceId` keys such pools on. A
|
|
524
|
+
// source with an explicit non-provider-shaped `id` parses to an arbitrary
|
|
525
|
+
// head; providerName is the fallback routing identity.
|
|
526
|
+
return { provider: pool.source?.backend_provider ?? pool.providerName, account: parsed.account };
|
|
527
|
+
};
|
|
528
|
+
const hostIdentities = params.hostPools.length > 0
|
|
529
|
+
? params.hostPools.map(identityOf)
|
|
530
|
+
: params.hostProviderName
|
|
531
|
+
? [{ provider: params.hostProviderName, account: null }]
|
|
532
|
+
: [];
|
|
533
|
+
if (hostIdentities.length === 0) {
|
|
534
|
+
return { hostPools: params.hostPools, sourcePools: params.sourcePools };
|
|
535
|
+
}
|
|
536
|
+
// Directional account compare (h2c3 F3): an accountless SOURCE shares the host
|
|
537
|
+
// credential by construction (the synthesized primary fold) → provider-only
|
|
538
|
+
// collide; an explicitly-accounted source collides only on a RESOLVED equal
|
|
539
|
+
// host account — an unresolved host account is never surrendered to it.
|
|
540
|
+
const collide = (host, source) => host.provider === source.provider &&
|
|
541
|
+
(source.account === null ? true : host.account === source.account);
|
|
542
|
+
const survivingSourceIdentities = [];
|
|
543
|
+
const sourcePools = params.sourcePools.filter((source) => {
|
|
544
|
+
const id = identityOf(source);
|
|
545
|
+
if (!hostIdentities.some((host) => collide(host, id)))
|
|
546
|
+
return true;
|
|
547
|
+
if (isInProcessWorkerProvider(source.providerName, {
|
|
548
|
+
commandWorkers: params.commandWorkers === true,
|
|
549
|
+
})) {
|
|
550
|
+
// D1: the engine pool survives; the colliding host pool(s) drop below.
|
|
551
|
+
survivingSourceIdentities.push(id);
|
|
552
|
+
return true;
|
|
553
|
+
}
|
|
554
|
+
// Host survives; the colliding non-in-process source drops.
|
|
555
|
+
return false;
|
|
556
|
+
});
|
|
557
|
+
const hostPools = params.hostPools.filter((pool) => !survivingSourceIdentities.some((id) => collide(identityOf(pool), id)));
|
|
558
|
+
return { hostPools, sourcePools };
|
|
559
|
+
}
|
|
462
560
|
function foldAccountCooldownAcrossPools(pools) {
|
|
463
561
|
return pools.map((pool) => {
|
|
464
562
|
const accountId = pool.source ? deriveLocalAccountId(pool.source) : null;
|