diff options
| author | Frank <[email protected]> | 2026-04-21 02:36:38 -0400 |
|---|---|---|
| committer | Frank <[email protected]> | 2026-04-21 02:36:40 -0400 |
| commit | 8a7bb7c6a9fe4fb9b1f85561603cf131278ccf54 (patch) | |
| tree | 9128168e3afafbc877966e8328da8567370ba2c0 /packages | |
| parent | 22d33c57af94f3bac5022f64ec11c82a06c015c8 (diff) | |
| download | opencode-8a7bb7c6a9fe4fb9b1f85561603cf131278ccf54.tar.gz opencode-8a7bb7c6a9fe4fb9b1f85561603cf131278ccf54.zip | |
zen: tpm routing
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/console/app/src/routes/zen/util/handler.ts | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 635eadebe..d9dc45001 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -448,35 +448,28 @@ export async function handler( return modelInfo.providers.find((provider) => provider.id === modelInfo.byokProvider) } - // Filter out TPM limited providers - const allProviders = modelInfo.providers.filter((provider) => { - if (!provider.tpmLimit) return true - const usage = modelTpmLimits?.[`${provider.id}/${provider.model}`] ?? 0 - return usage < provider.tpmLimit * 1_000_000 - }) - // Always use the same provider for the same session if (stickyProvider) { - const provider = allProviders.find((provider) => provider.id === stickyProvider) + const provider = modelInfo.providers.find((provider) => provider.id === stickyProvider) if (provider) return provider } if (trialProviders) { const trialProvider = trialProviders[Math.floor(Math.random() * trialProviders.length)] - const provider = allProviders.find((provider) => provider.id === trialProvider) + const provider = modelInfo.providers.find((provider) => provider.id === trialProvider) if (provider) return provider } if (retry.retryCount !== MAX_FAILOVER_RETRIES) { let topPriority = Infinity - const providers = allProviders + const providers = modelInfo.providers .filter((provider) => !provider.disabled) .filter((provider) => provider.weight !== 0) .filter((provider) => !retry.excludeProviders.includes(provider.id)) .filter((provider) => { if (!provider.tpmLimit) return true const usage = modelTpmLimits?.[`${provider.id}/${provider.model}`] ?? 0 - return usage < provider.tpmLimit * 1_000_000 * 0.8 + return usage < provider.tpmLimit * 1_000_000 }) .map((provider) => { topPriority = Math.min(topPriority, provider.priority) |
