summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFrank <[email protected]>2026-04-21 02:36:38 -0400
committerFrank <[email protected]>2026-04-21 02:36:40 -0400
commit8a7bb7c6a9fe4fb9b1f85561603cf131278ccf54 (patch)
tree9128168e3afafbc877966e8328da8567370ba2c0
parent22d33c57af94f3bac5022f64ec11c82a06c015c8 (diff)
downloadopencode-8a7bb7c6a9fe4fb9b1f85561603cf131278ccf54.tar.gz
opencode-8a7bb7c6a9fe4fb9b1f85561603cf131278ccf54.zip
zen: tpm routing
-rw-r--r--packages/console/app/src/routes/zen/util/handler.ts15
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)