






















@@ -269,11 +269,14 @@ function ensureContextWindowCacheLoaded(): Promise<void> {
269269270270export function lookupContextTokens(
271271modelId?: string,
272-options?: { allowAsyncLoad?: boolean },
272+options?: { allowAsyncLoad?: boolean; skipRuntimeConfigLoad?: boolean },
273273): number | undefined {
274274if (!modelId) {
275275return undefined;
276276}
277+if (options?.skipRuntimeConfigLoad) {
278+return lookupCachedContextTokens(modelId);
279+}
277280if (options?.allowAsyncLoad === false) {
278281// Read-only callers still need synchronous config-backed overrides, but they
279282// should not start background model discovery or models.json writes.
@@ -515,7 +518,10 @@ export function resolveContextTokensForModel(params: {
515518if (params.provider && ref && !ref.model.includes("/")) {
516519const qualifiedResult = lookupContextTokens(
517520`${normalizeProviderId(ref.provider)}/${ref.model}`,
518-{ allowAsyncLoad: params.allowAsyncLoad },
521+{
522+allowAsyncLoad: params.allowAsyncLoad,
523+skipRuntimeConfigLoad: Boolean(params.cfg),
524+},
519525);
520526if (qualifiedResult !== undefined) {
521527return qualifiedResult;
@@ -526,6 +532,7 @@ export function resolveContextTokensForModel(params: {
526532// (e.g. "google/gemini-2.5-pro") this IS the raw discovery cache key.
527533const bareResult = lookupContextTokens(params.model, {
528534allowAsyncLoad: params.allowAsyncLoad,
535+skipRuntimeConfigLoad: Boolean(params.cfg),
529536});
530537if (bareResult !== undefined) {
531538return bareResult;
@@ -537,7 +544,10 @@ export function resolveContextTokensForModel(params: {
537544if (!params.provider && ref && !ref.model.includes("/")) {
538545const qualifiedResult = lookupContextTokens(
539546`${normalizeProviderId(ref.provider)}/${ref.model}`,
540-{ allowAsyncLoad: params.allowAsyncLoad },
547+{
548+allowAsyncLoad: params.allowAsyncLoad,
549+skipRuntimeConfigLoad: Boolean(params.cfg),
550+},
541551);
542552if (qualifiedResult !== undefined) {
543553return qualifiedResult;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。