audit-tools 0.32.27 → 0.32.29
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 +10 -1
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +18 -1
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +7 -1
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +9 -2
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +27 -0
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +51 -6
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts +6 -0
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +10 -3
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/quota/index.d.ts +5 -0
- package/dist/audit/quota/index.d.ts.map +1 -1
- package/dist/audit/supervisor/sessionConfig.d.ts +9 -1
- package/dist/audit/supervisor/sessionConfig.d.ts.map +1 -1
- package/dist/audit/supervisor/sessionConfig.js +28 -0
- package/dist/audit/supervisor/sessionConfig.js.map +1 -1
- package/dist/audit/validation/sessionConfig.d.ts.map +1 -1
- package/dist/audit/validation/sessionConfig.js +9 -0
- package/dist/audit/validation/sessionConfig.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +14 -1
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.js +10 -6
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +7 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +20 -6
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +16 -3
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/index.d.ts +3 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +3 -3
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.d.ts +8 -0
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +100 -28
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/providerPathGuard.d.ts +52 -1
- package/dist/shared/providers/providerPathGuard.d.ts.map +1 -1
- package/dist/shared/providers/providerPathGuard.js +62 -0
- package/dist/shared/providers/providerPathGuard.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +22 -0
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +49 -0
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +27 -0
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +8 -0
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +23 -10
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js +0 -13
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/opencode.json +34 -22
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResolvedProviderName } from "../types/sessionConfig.js";
|
|
1
|
+
import type { ProviderName, ResolvedProviderName } from "../types/sessionConfig.js";
|
|
2
2
|
/**
|
|
3
3
|
* Probe PATH for a single command. Returns true if the command resolves.
|
|
4
4
|
* Routed through the injectable hook so tests can drive it deterministically.
|
|
@@ -18,4 +18,55 @@ export declare function setCommandExistsForTesting(impl: ((command: string) => b
|
|
|
18
18
|
* guards and the Gate-0 `self_spawn_blocked` exclusion flag.
|
|
19
19
|
*/
|
|
20
20
|
export declare function isSelfSpawnBlocked(provider: ResolvedProviderName, env?: NodeJS.ProcessEnv): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The provider identity of the CONVERSATION HOST actually driving this
|
|
23
|
+
* next-step process — the agent whose account meter dispatch fan-out is charged
|
|
24
|
+
* against (a quota-ATTRIBUTION key). This is NOT `sessionConfig.provider`, which
|
|
25
|
+
* may name a headless backend that is merely the per-packet worker; it is "who
|
|
26
|
+
* is running me right now".
|
|
27
|
+
*
|
|
28
|
+
* Resolution order (first wins):
|
|
29
|
+
* 1. explicit override (`--host-provider`), when a real provider (not `auto`);
|
|
30
|
+
* 2. `sessionConfig.host_provider`, when a real provider (not `auto`);
|
|
31
|
+
* 3. env auto-detection — the SAME in-session signals the self-spawn guard
|
|
32
|
+
* reads: inside a Codex session (`isSelfSpawnBlocked("codex")`) ⇒ `codex`;
|
|
33
|
+
* inside a Claude Code session (`CLAUDECODE`) ⇒ `claude-code`;
|
|
34
|
+
* 4. default `claude-code` (the conversation-first host).
|
|
35
|
+
*
|
|
36
|
+
* B1 host-identity sourcing: keying the host fan-out off THIS (rather than
|
|
37
|
+
* literal `claude-code`) is what stops a Codex host from charging its packets to
|
|
38
|
+
* the exhausted Claude pool. Codex is checked before claude-code so a Codex host
|
|
39
|
+
* that also inherited `CLAUDECODE` resolves to its own meter; the explicit
|
|
40
|
+
* override remains the escape hatch for any genuinely ambiguous nesting.
|
|
41
|
+
* [[capability-is-per-auditor-not-per-audit]] / [[host-provider-misattribution-nim-codex]].
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveConversationHostProvider(options?: {
|
|
44
|
+
explicit?: ProviderName;
|
|
45
|
+
sessionConfig?: {
|
|
46
|
+
host_provider?: ProviderName;
|
|
47
|
+
} | null;
|
|
48
|
+
env?: NodeJS.ProcessEnv;
|
|
49
|
+
}): ResolvedProviderName;
|
|
50
|
+
/**
|
|
51
|
+
* The host's resolved provider identity for quota-key / driver-classification:
|
|
52
|
+
* an EXPLICIT `sessionConfig.provider` passes through; an unset / `auto`
|
|
53
|
+
* provider falls back to the auto-detected {@link resolveConversationHostProvider}
|
|
54
|
+
* (the `--host-provider` override / `host_provider` config / env detection /
|
|
55
|
+
* `claude-code`). Single-sourced so the fallback and the `auto`-exclusion live
|
|
56
|
+
* in ONE place rather than being re-spelled at each dispatch call site across
|
|
57
|
+
* both orchestrators.
|
|
58
|
+
*
|
|
59
|
+
* NOTE: this returns the configured provider verbatim when set — a run with
|
|
60
|
+
* `provider: codex` (codex as the driving host) keys to codex. The audit
|
|
61
|
+
* host-review path additionally DEMOTES a headless in-process backend to a
|
|
62
|
+
* worker (see `resolveHostDispatchProviderName`), routing the driver identity
|
|
63
|
+
* through {@link resolveConversationHostProvider} instead.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveHostProviderName(sessionConfig: {
|
|
66
|
+
provider?: ProviderName;
|
|
67
|
+
host_provider?: ProviderName;
|
|
68
|
+
} | null | undefined, options?: {
|
|
69
|
+
explicit?: ProviderName;
|
|
70
|
+
env?: NodeJS.ProcessEnv;
|
|
71
|
+
}): ResolvedProviderName;
|
|
21
72
|
//# sourceMappingURL=providerPathGuard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerPathGuard.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/providerPathGuard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"providerPathGuard.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/providerPathGuard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAqCnC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,GAC1C,IAAI,CAEN;AAiBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAWT;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE;IACxD,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,aAAa,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,oBAAoB,CASvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC3F,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GAC7D,oBAAoB,CAUtB"}
|
|
@@ -77,4 +77,66 @@ export function isSelfSpawnBlocked(provider, env = process.env) {
|
|
|
77
77
|
const signal = SELF_SPAWN_ENV_SIGNAL[provider];
|
|
78
78
|
return signal !== undefined && Boolean(env[signal]);
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* The provider identity of the CONVERSATION HOST actually driving this
|
|
82
|
+
* next-step process — the agent whose account meter dispatch fan-out is charged
|
|
83
|
+
* against (a quota-ATTRIBUTION key). This is NOT `sessionConfig.provider`, which
|
|
84
|
+
* may name a headless backend that is merely the per-packet worker; it is "who
|
|
85
|
+
* is running me right now".
|
|
86
|
+
*
|
|
87
|
+
* Resolution order (first wins):
|
|
88
|
+
* 1. explicit override (`--host-provider`), when a real provider (not `auto`);
|
|
89
|
+
* 2. `sessionConfig.host_provider`, when a real provider (not `auto`);
|
|
90
|
+
* 3. env auto-detection — the SAME in-session signals the self-spawn guard
|
|
91
|
+
* reads: inside a Codex session (`isSelfSpawnBlocked("codex")`) ⇒ `codex`;
|
|
92
|
+
* inside a Claude Code session (`CLAUDECODE`) ⇒ `claude-code`;
|
|
93
|
+
* 4. default `claude-code` (the conversation-first host).
|
|
94
|
+
*
|
|
95
|
+
* B1 host-identity sourcing: keying the host fan-out off THIS (rather than
|
|
96
|
+
* literal `claude-code`) is what stops a Codex host from charging its packets to
|
|
97
|
+
* the exhausted Claude pool. Codex is checked before claude-code so a Codex host
|
|
98
|
+
* that also inherited `CLAUDECODE` resolves to its own meter; the explicit
|
|
99
|
+
* override remains the escape hatch for any genuinely ambiguous nesting.
|
|
100
|
+
* [[capability-is-per-auditor-not-per-audit]] / [[host-provider-misattribution-nim-codex]].
|
|
101
|
+
*/
|
|
102
|
+
export function resolveConversationHostProvider(options) {
|
|
103
|
+
const explicit = options?.explicit;
|
|
104
|
+
if (explicit !== undefined && explicit !== "auto")
|
|
105
|
+
return explicit;
|
|
106
|
+
const configured = options?.sessionConfig?.host_provider;
|
|
107
|
+
if (configured !== undefined && configured !== "auto")
|
|
108
|
+
return configured;
|
|
109
|
+
const env = options?.env ?? process.env;
|
|
110
|
+
if (isSelfSpawnBlocked("codex", env))
|
|
111
|
+
return "codex";
|
|
112
|
+
if (isSelfSpawnBlocked("claude-code", env))
|
|
113
|
+
return "claude-code";
|
|
114
|
+
return "claude-code";
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The host's resolved provider identity for quota-key / driver-classification:
|
|
118
|
+
* an EXPLICIT `sessionConfig.provider` passes through; an unset / `auto`
|
|
119
|
+
* provider falls back to the auto-detected {@link resolveConversationHostProvider}
|
|
120
|
+
* (the `--host-provider` override / `host_provider` config / env detection /
|
|
121
|
+
* `claude-code`). Single-sourced so the fallback and the `auto`-exclusion live
|
|
122
|
+
* in ONE place rather than being re-spelled at each dispatch call site across
|
|
123
|
+
* both orchestrators.
|
|
124
|
+
*
|
|
125
|
+
* NOTE: this returns the configured provider verbatim when set — a run with
|
|
126
|
+
* `provider: codex` (codex as the driving host) keys to codex. The audit
|
|
127
|
+
* host-review path additionally DEMOTES a headless in-process backend to a
|
|
128
|
+
* worker (see `resolveHostDispatchProviderName`), routing the driver identity
|
|
129
|
+
* through {@link resolveConversationHostProvider} instead.
|
|
130
|
+
*/
|
|
131
|
+
export function resolveHostProviderName(sessionConfig, options) {
|
|
132
|
+
const provider = sessionConfig?.provider;
|
|
133
|
+
if (provider === undefined || provider === "auto") {
|
|
134
|
+
return resolveConversationHostProvider({
|
|
135
|
+
explicit: options?.explicit,
|
|
136
|
+
sessionConfig,
|
|
137
|
+
env: options?.env,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
return provider;
|
|
141
|
+
}
|
|
80
142
|
//# sourceMappingURL=providerPathGuard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerPathGuard.js","sourceRoot":"","sources":["../../../src/shared/providers/providerPathGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"providerPathGuard.js","sourceRoot":"","sources":["../../../src/shared/providers/providerPathGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C;;;;;;;;;;;;;;;;;;GAkBG;AAEH,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;QACjD,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,iBAAiB,GAAiC,kBAAkB,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA2C;IAE3C,iBAAiB,GAAG,IAAI,IAAI,kBAAkB,CAAC;AACjD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,qBAAqB,GAAkD;IAC3E,aAAa,EAAE,YAAY;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA8B,EAC9B,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CACZ,GAAG,CAAC,KAAK;YACP,GAAG,CAAC,WAAW;YACf,GAAG,CAAC,eAAe;YACnB,GAAG,CAAC,kCAAkC,CACzC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAI/C;IACC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC;IACzD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACzE,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACxC,IAAI,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,IAAI,kBAAkB,CAAC,aAAa,EAAE,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC;IACjE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,aAA2F,EAC3F,OAA8D;IAE9D,MAAM,QAAQ,GAAG,aAAa,EAAE,QAAQ,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO,+BAA+B,CAAC;YACrC,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,aAAa;YACb,GAAG,EAAE,OAAO,EAAE,GAAG;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -101,6 +101,28 @@ export declare function buildSourcePool(params: {
|
|
|
101
101
|
* to the conversation host when the configured primary is one of these backends.
|
|
102
102
|
*/
|
|
103
103
|
export declare function isDemotableInProcessProvider(providerName: string | undefined): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Whether an attended host should DEMOTE its configured primary in-process backend
|
|
106
|
+
* to a separate source pool (defect-1 concurrent fan-out). True only when the host
|
|
107
|
+
* can dispatch subagents AND the primary is a demotable backend AND — the B1
|
|
108
|
+
* same-agent guard — the resolved CONVERSATION HOST is a DIFFERENT provider than
|
|
109
|
+
* that backend.
|
|
110
|
+
*
|
|
111
|
+
* The same-agent guard is load-bearing: the primary demoted source shares the
|
|
112
|
+
* host's own credential (it carries no `credentials_path`), so when the host
|
|
113
|
+
* provider equals the primary provider they are ONE account. Emitting both a
|
|
114
|
+
* host pool AND a demoted-source pool for that one account double-books its
|
|
115
|
+
* budget/concurrency and — because `dispatchableSourceId` falls through to the
|
|
116
|
+
* same `buildProviderModelKey` format the host pool uses — can even collide on a
|
|
117
|
+
* single pool id. In that case there is no distinct host to fan out alongside;
|
|
118
|
+
* the host self-drives the backend as its single pool. Single-sourced so audit
|
|
119
|
+
* and remediate apply the identical guard. [[host-provider-misattribution-nim-codex]]
|
|
120
|
+
*/
|
|
121
|
+
export declare function shouldDemotePrimaryInProcess(options: {
|
|
122
|
+
sessionConfig: SessionConfig | null | undefined;
|
|
123
|
+
hostCanDispatch: boolean;
|
|
124
|
+
env?: NodeJS.ProcessEnv;
|
|
125
|
+
}): boolean;
|
|
104
126
|
/**
|
|
105
127
|
* The DispatchableSource for the primary in-process backend, built from its own config
|
|
106
128
|
* block, so an attended host can fan out onto it as a source pool ALONGSIDE its own
|
|
@@ -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,6 +4,7 @@ import { parseProviderModelKey } from "./httpQuotaSource.js";
|
|
|
4
4
|
import { buildAccountScopedQuotaSource } from "./compositeQuotaSource.js";
|
|
5
5
|
import { classifyQuotaCoverage, sourceCoversProvider } from "./coverage.js";
|
|
6
6
|
import { hasConfiguredOpenAiCompatible } from "../providers/providerFactory.js";
|
|
7
|
+
import { resolveConversationHostProvider } from "../providers/providerPathGuard.js";
|
|
7
8
|
/**
|
|
8
9
|
* The stable id of a dispatchable source — its explicit `id`, or a
|
|
9
10
|
* `${provider}:${model ?? endpoint}` key so two sources of the same provider stay
|
|
@@ -15,6 +16,17 @@ export function dispatchableSourceId(source, account) {
|
|
|
15
16
|
return account ? `${source.id}#${account}` : source.id;
|
|
16
17
|
return buildProviderModelKey(source.provider, source.model ?? source.endpoint ?? null, account);
|
|
17
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* A source's declared in-flight COUNT cap, normalized to a positive integer or null
|
|
21
|
+
* (uncapped). Anything non-finite, ≤ 0, or fractional degrades to null rather than a
|
|
22
|
+
* value that would either wedge the rolling engine (0 ⇒ zero admits) or violate the
|
|
23
|
+
* summary schema's `min(1)`. The "0 = unlimited" operator convention maps to null.
|
|
24
|
+
*/
|
|
25
|
+
function positiveIntCapOrNull(value) {
|
|
26
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value < 1)
|
|
27
|
+
return null;
|
|
28
|
+
return Math.floor(value);
|
|
29
|
+
}
|
|
18
30
|
/**
|
|
19
31
|
* Bridge a generic {@link DispatchableSource} to the concrete per-provider config
|
|
20
32
|
* block its provider constructor expects, so `createFreshSessionProvider` can build
|
|
@@ -159,6 +171,14 @@ export async function buildSourcePool(params) {
|
|
|
159
171
|
// non-provider-shaped id. The single-source derivation is the invariant here.
|
|
160
172
|
hostModel: source.model ?? null,
|
|
161
173
|
hostConcurrencyLimit: null,
|
|
174
|
+
// Endpoint-declared in-flight COUNT cap (independent of the host subagent
|
|
175
|
+
// budget, which stays null for a backend source). Without it an optimistic
|
|
176
|
+
// unmetered source (no token snapshot) dispatches every ready packet at once
|
|
177
|
+
// and overruns the endpoint — the NIM `33/32` incident. A non-positive /
|
|
178
|
+
// non-finite `max_concurrent` (incl. the "0 = unlimited" convention) clamps to
|
|
179
|
+
// null (uncapped) — never 0, which would ceiling the pool to zero in-flight and
|
|
180
|
+
// wedge the rolling engine, and would also violate the summary schema's min(1).
|
|
181
|
+
concurrencyCap: positiveIntCapOrNull(source.quota?.max_concurrent),
|
|
162
182
|
quotaStateEntry: quotaEntries[poolKey] ?? null,
|
|
163
183
|
// QuotaModelLimits is structurally a DiscoveredRateLimitsInput (RPM/TPM/context/
|
|
164
184
|
// output) — the operator-declared per-source rate limit feeds the S4 fold.
|
|
@@ -192,6 +212,35 @@ const DEMOTABLE_IN_PROCESS_PROVIDERS = new Set([
|
|
|
192
212
|
export function isDemotableInProcessProvider(providerName) {
|
|
193
213
|
return providerName !== undefined && DEMOTABLE_IN_PROCESS_PROVIDERS.has(providerName);
|
|
194
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Whether an attended host should DEMOTE its configured primary in-process backend
|
|
217
|
+
* to a separate source pool (defect-1 concurrent fan-out). True only when the host
|
|
218
|
+
* can dispatch subagents AND the primary is a demotable backend AND — the B1
|
|
219
|
+
* same-agent guard — the resolved CONVERSATION HOST is a DIFFERENT provider than
|
|
220
|
+
* that backend.
|
|
221
|
+
*
|
|
222
|
+
* The same-agent guard is load-bearing: the primary demoted source shares the
|
|
223
|
+
* host's own credential (it carries no `credentials_path`), so when the host
|
|
224
|
+
* provider equals the primary provider they are ONE account. Emitting both a
|
|
225
|
+
* host pool AND a demoted-source pool for that one account double-books its
|
|
226
|
+
* budget/concurrency and — because `dispatchableSourceId` falls through to the
|
|
227
|
+
* same `buildProviderModelKey` format the host pool uses — can even collide on a
|
|
228
|
+
* single pool id. In that case there is no distinct host to fan out alongside;
|
|
229
|
+
* the host self-drives the backend as its single pool. Single-sourced so audit
|
|
230
|
+
* and remediate apply the identical guard. [[host-provider-misattribution-nim-codex]]
|
|
231
|
+
*/
|
|
232
|
+
export function shouldDemotePrimaryInProcess(options) {
|
|
233
|
+
if (!options.hostCanDispatch)
|
|
234
|
+
return false;
|
|
235
|
+
const provider = options.sessionConfig?.provider;
|
|
236
|
+
if (!isDemotableInProcessProvider(provider))
|
|
237
|
+
return false;
|
|
238
|
+
const conversationHost = resolveConversationHostProvider({
|
|
239
|
+
sessionConfig: options.sessionConfig,
|
|
240
|
+
env: options.env,
|
|
241
|
+
});
|
|
242
|
+
return conversationHost !== provider;
|
|
243
|
+
}
|
|
195
244
|
/** Build a DispatchableSource for a configured `openai_compatible` block (the legacy
|
|
196
245
|
* NIM source shape), reused by both the back-compat fold and the primary demote. */
|
|
197
246
|
function openAiCompatibleSource(oc) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiPool.js","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"apiPool.js","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,18 @@ export interface CapacityPool {
|
|
|
114
114
|
* session-config). null leaves only the rate / learned / first-contact caps.
|
|
115
115
|
*/
|
|
116
116
|
hostConcurrencyLimit: HostConcurrencyLimit | null;
|
|
117
|
+
/**
|
|
118
|
+
* Hard cap on the COUNT of simultaneously in-flight requests to THIS pool's
|
|
119
|
+
* endpoint (endpoint-declared max-concurrency, from `source.quota.max_concurrent`).
|
|
120
|
+
* Distinct from {@link hostConcurrencyLimit}: that is the shared conversation-host
|
|
121
|
+
* subagent budget (folded into a GLOBAL budget across host pools); this is one
|
|
122
|
+
* independent backend endpoint's own simultaneity limit, enforced per-pool by the
|
|
123
|
+
* in-process rolling engine and surfaced as the host-path `AdmissionPool.declaredCap`.
|
|
124
|
+
* Needed because an optimistic (unmetered) source has no token budget to throttle on,
|
|
125
|
+
* so without a count cap it dispatches every ready packet at once and overruns the
|
|
126
|
+
* endpoint. null/absent = uncapped (quota headroom is the only throttle).
|
|
127
|
+
*/
|
|
128
|
+
concurrencyCap?: number | null;
|
|
117
129
|
/** Learned quota-state entry for this pool's provider/model key, if any. */
|
|
118
130
|
quotaStateEntry?: QuotaStateEntry | null;
|
|
119
131
|
/** RPM/TPM discovered for this pool (provider query or response headers). */
|
|
@@ -171,6 +183,13 @@ export interface PoolDispatchAllocation {
|
|
|
171
183
|
quotaSignalDegraded?: boolean;
|
|
172
184
|
/** Echo of {@link CapacityPool.quotaCoverage} — proactive-quota coverage for this pool. */
|
|
173
185
|
quotaCoverage?: QuotaCoverageStatus;
|
|
186
|
+
/**
|
|
187
|
+
* Echo of {@link CapacityPool.concurrencyCap} — the pool's endpoint-declared
|
|
188
|
+
* in-flight count cap. Carried through unfolded so the host-path admission builder
|
|
189
|
+
* can surface it as `AdmissionPool.declaredCap`; never affects the slot math here
|
|
190
|
+
* (slot math is token/rate-based — the count cap is a separate ceiling).
|
|
191
|
+
*/
|
|
192
|
+
concurrencyCap?: number | null;
|
|
174
193
|
}
|
|
175
194
|
/** Compact, serializable view of one pool allocation for dispatch-quota files. */
|
|
176
195
|
export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
@@ -278,6 +297,12 @@ export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
|
278
297
|
quota_signal_degraded: z.ZodOptional<z.ZodBoolean>;
|
|
279
298
|
/** Proactive-quota coverage status for this pool's provider (see classifyQuotaCoverage). */
|
|
280
299
|
quota_coverage: z.ZodOptional<z.ZodEnum<["established", "reactive_only", "unestablished"]>>;
|
|
300
|
+
/**
|
|
301
|
+
* Endpoint-declared in-flight COUNT cap for this pool (from source.quota.max_concurrent;
|
|
302
|
+
* see CapacityPool.concurrencyCap). Surfaced so the host-path admission builder can map
|
|
303
|
+
* it to `AdmissionPool.declaredCap` for an otherwise-optimistic backend source.
|
|
304
|
+
*/
|
|
305
|
+
concurrency_cap: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
281
306
|
}, "strict", z.ZodTypeAny, {
|
|
282
307
|
confidence: "high" | "low" | "medium";
|
|
283
308
|
source: "default" | "explicit_config" | "discovered_capability" | "static_metadata" | "cli_flags" | "provider_default" | "learned";
|
|
@@ -318,6 +343,7 @@ export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
|
318
343
|
} | null | undefined;
|
|
319
344
|
quota_signal_degraded?: boolean | undefined;
|
|
320
345
|
quota_coverage?: "established" | "reactive_only" | "unestablished" | undefined;
|
|
346
|
+
concurrency_cap?: number | null | undefined;
|
|
321
347
|
}, {
|
|
322
348
|
confidence: "high" | "low" | "medium";
|
|
323
349
|
source: "default" | "explicit_config" | "discovered_capability" | "static_metadata" | "cli_flags" | "provider_default" | "learned";
|
|
@@ -358,6 +384,7 @@ export declare const DispatchCapacityPoolSummarySchema: z.ZodObject<{
|
|
|
358
384
|
} | null | undefined;
|
|
359
385
|
quota_signal_degraded?: boolean | undefined;
|
|
360
386
|
quota_coverage?: "established" | "reactive_only" | "unestablished" | undefined;
|
|
387
|
+
concurrency_cap?: number | null | undefined;
|
|
361
388
|
}>;
|
|
362
389
|
export type DispatchCapacityPoolSummary = z.infer<typeof DispatchCapacityPoolSummarySchema>;
|
|
363
390
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacity.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/capacity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAQpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAgB,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,gBAAgB,GAChB,cAAc,GACd,iBAAiB,CAAC;AAEtB;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,uBAAuB,CAAC;IAChC,mDAAmD;IACnD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0BAA0B,EAAE,MAAM,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,yBAAyB,GAAG,IAAI,CAenC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAKvF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EAAE,EACrB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,yBAAyB,CAM3B;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAK5F;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,oBAAoB,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;;;OAIG;IACH,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,4EAA4E;IAC5E,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"capacity.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/capacity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAQpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAgB,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,gBAAgB,GAChB,cAAc,GACd,iBAAiB,CAAC;AAEtB;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,uBAAuB,CAAC;IAChC,mDAAmD;IACnD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0BAA0B,EAAE,MAAM,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,yBAAyB,GAAG,IAAI,CAenC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAKvF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EAAE,EACrB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,yBAAyB,CAM3B;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAK5F;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,oBAAoB,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;;;OAIG;IACH,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,QAAQ,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,kFAAkF;AAClF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAa1C;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIH,sFAAsF;;IAEtF,4FAA4F;;IAE5F;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGI,CAAC;AACZ,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC;;;;;OAKG;IACH,OAAO,EAAE,sBAAsB,CAAC;IAChC,2DAA2D;IAC3D,WAAW,EAAE,cAAc,CAAC;IAC5B,gEAAgE;IAChE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,0FAA0F;IAC1F,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA4B;IAC3C,oEAAoE;IACpE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAoDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,4BAA4B,GAClC,gBAAgB,CAyElB;AAkHD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,gBAAgB,GACzB,2BAA2B,EAAE,CAoB/B"}
|
|
@@ -98,6 +98,12 @@ export const DispatchCapacityPoolSummarySchema = z
|
|
|
98
98
|
quota_signal_degraded: z.boolean().optional(),
|
|
99
99
|
/** Proactive-quota coverage status for this pool's provider (see classifyQuotaCoverage). */
|
|
100
100
|
quota_coverage: QuotaCoverageStatusSchema.optional(),
|
|
101
|
+
/**
|
|
102
|
+
* Endpoint-declared in-flight COUNT cap for this pool (from source.quota.max_concurrent;
|
|
103
|
+
* see CapacityPool.concurrencyCap). Surfaced so the host-path admission builder can map
|
|
104
|
+
* it to `AdmissionPool.declaredCap` for an otherwise-optimistic backend source.
|
|
105
|
+
*/
|
|
106
|
+
concurrency_cap: z.number().int().min(1).nullable().optional(),
|
|
101
107
|
})
|
|
102
108
|
.strict();
|
|
103
109
|
/** Higher number = more constraining; used to pick the binding cap across pools. */
|
|
@@ -300,6 +306,7 @@ function schedulePool(pool, sessionConfig, itemTokens) {
|
|
|
300
306
|
// Raw signal carried through unfolded — does not enter the slot math above.
|
|
301
307
|
...(pool.quotaSignalDegraded ? { quotaSignalDegraded: true } : {}),
|
|
302
308
|
...(pool.quotaCoverage ? { quotaCoverage: pool.quotaCoverage } : {}),
|
|
309
|
+
...(pool.concurrencyCap != null ? { concurrencyCap: pool.concurrencyCap } : {}),
|
|
303
310
|
};
|
|
304
311
|
}
|
|
305
312
|
function choosePrimaryAllocation(allocations) {
|
|
@@ -333,6 +340,7 @@ export function summarizeDispatchCapacityPools(capacity) {
|
|
|
333
340
|
quota_source_snapshot: allocation.schedule.quota_source_snapshot ?? null,
|
|
334
341
|
...(allocation.quotaSignalDegraded ? { quota_signal_degraded: true } : {}),
|
|
335
342
|
...(allocation.quotaCoverage ? { quota_coverage: allocation.quotaCoverage } : {}),
|
|
343
|
+
...(allocation.concurrencyCap != null ? { concurrency_cap: allocation.concurrencyCap } : {}),
|
|
336
344
|
}));
|
|
337
345
|
}
|
|
338
346
|
//# sourceMappingURL=capacity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacity.js","sourceRoot":"","sources":["../../../src/shared/quota/capacity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAOnE,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAkC,MAAM,gBAAgB,CAAC;AAiD9E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,OAI9B;IACC,MAAM,EAAE,UAAU,EAAE,0BAA0B,EAAE,eAAe,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAEhF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACvD,CAAC;IAED,IAAI,0BAA0B,IAAI,eAAe,EAAE,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAqB;IAC1D,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAAqB,EACrB,eAA8B;IAE9B,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC;QAC9B,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAqB;IAC/D,OAAO;QACL,MAAM,EAAE,iBAAiB;QACzB,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC;KAC/B,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"capacity.js","sourceRoot":"","sources":["../../../src/shared/quota/capacity.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,6 @@ import type { DispatchModelTier } from "./stepContract.js";
|
|
|
3
3
|
export declare const PROVIDER_NAMES: readonly ["auto", "local-subprocess", "subprocess-template", "claude-code", "codex", "opencode", "openai-compatible", "vscode-task", "antigravity"];
|
|
4
4
|
export type ProviderName = (typeof PROVIDER_NAMES)[number];
|
|
5
5
|
export type ResolvedProviderName = Exclude<ProviderName, "auto">;
|
|
6
|
-
/**
|
|
7
|
-
* The host's resolved provider identity for quota-key / driver-classification:
|
|
8
|
-
* the configured `sessionConfig.provider`, defaulting to the conversation host
|
|
9
|
-
* (`claude-code`) when unset or `auto`. Single-sourced so the `?? "claude-code"`
|
|
10
|
-
* default and the `auto`-exclusion live in ONE place rather than being re-spelled
|
|
11
|
-
* (with an ad-hoc cast) at each dispatch call site across both orchestrators.
|
|
12
|
-
*/
|
|
13
|
-
export declare function resolveHostProviderName(sessionConfig: {
|
|
14
|
-
provider?: ProviderName;
|
|
15
|
-
} | null | undefined): ResolvedProviderName;
|
|
16
6
|
/**
|
|
17
7
|
* The attended-vs-headless discriminator for dispatch (defect-1). TRUE (default,
|
|
18
8
|
* conversation-first) means an attended conversation host is driving THIS invocation
|
|
@@ -229,6 +219,16 @@ export interface QuotaModelLimits {
|
|
|
229
219
|
requests_per_minute?: number;
|
|
230
220
|
input_tokens_per_minute?: number;
|
|
231
221
|
output_tokens_per_minute?: number;
|
|
222
|
+
/**
|
|
223
|
+
* Hard cap on simultaneously in-flight requests to this source's endpoint — the
|
|
224
|
+
* endpoint-declared max-concurrency (e.g. a NIM worker's `N/M` local request
|
|
225
|
+
* limit). Enforced by COUNT of in-flight requests, independent of the token
|
|
226
|
+
* budget: an optimistic (unmetered) source with no token snapshot would
|
|
227
|
+
* otherwise dispatch every ready packet at once and overrun the endpoint. Flows
|
|
228
|
+
* to `CapacityPool.concurrencyCap` → the rolling engine's per-pool in-flight
|
|
229
|
+
* ceiling and the host-path `AdmissionPool.declaredCap`. Omit for no cap.
|
|
230
|
+
*/
|
|
231
|
+
max_concurrent?: number;
|
|
232
232
|
}
|
|
233
233
|
export interface QuotaConfig {
|
|
234
234
|
enabled?: boolean;
|
|
@@ -392,6 +392,19 @@ export interface ConfirmedProviderPoolRef {
|
|
|
392
392
|
}
|
|
393
393
|
export interface SessionConfig {
|
|
394
394
|
provider?: ProviderName;
|
|
395
|
+
/**
|
|
396
|
+
* Explicit override for the CONVERSATION-HOST identity — the auditor/agent
|
|
397
|
+
* actually driving THIS next-step process, whose account meter the dispatch
|
|
398
|
+
* fan-out is charged against (a quota-ATTRIBUTION key, distinct from
|
|
399
|
+
* `provider`, which may name a demoted headless backend that is only the
|
|
400
|
+
* per-packet worker). Normally left unset: `resolveConversationHostProvider`
|
|
401
|
+
* auto-detects the real host from the same in-session env signals the
|
|
402
|
+
* self-spawn guard reads (`isSelfSpawnBlocked` — CODEX* ⇒ codex, CLAUDECODE ⇒
|
|
403
|
+
* claude-code), defaulting to `claude-code`. Set this (via `--host-provider`)
|
|
404
|
+
* only to override that detection when the environment is ambiguous. `"auto"`
|
|
405
|
+
* is treated as unset (fall through to env detection).
|
|
406
|
+
*/
|
|
407
|
+
host_provider?: ProviderName;
|
|
395
408
|
timeout_ms?: number;
|
|
396
409
|
ui_mode?: SessionUiMode;
|
|
397
410
|
host_can_dispatch_subagents?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,cAAc,qJAUjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEjE
|
|
1
|
+
{"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,19 +10,6 @@ export const PROVIDER_NAMES = [
|
|
|
10
10
|
"vscode-task",
|
|
11
11
|
"antigravity",
|
|
12
12
|
];
|
|
13
|
-
/**
|
|
14
|
-
* The host's resolved provider identity for quota-key / driver-classification:
|
|
15
|
-
* the configured `sessionConfig.provider`, defaulting to the conversation host
|
|
16
|
-
* (`claude-code`) when unset or `auto`. Single-sourced so the `?? "claude-code"`
|
|
17
|
-
* default and the `auto`-exclusion live in ONE place rather than being re-spelled
|
|
18
|
-
* (with an ad-hoc cast) at each dispatch call site across both orchestrators.
|
|
19
|
-
*/
|
|
20
|
-
export function resolveHostProviderName(sessionConfig) {
|
|
21
|
-
const provider = sessionConfig?.provider;
|
|
22
|
-
if (provider === undefined || provider === "auto")
|
|
23
|
-
return "claude-code";
|
|
24
|
-
return provider;
|
|
25
|
-
}
|
|
26
13
|
/**
|
|
27
14
|
* The attended-vs-headless discriminator for dispatch (defect-1). TRUE (default,
|
|
28
15
|
* conversation-first) means an attended conversation host is driving THIS invocation
|
|
@@ -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
|
|
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;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAK7C;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,2BAA2B,CAAC;IAC/D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAoHjE,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;AAiMX;;;;;;;;;;;;;;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"}
|