@@ -269,11 +269,14 @@ function ensureContextWindowCacheLoaded(): Promise<void> {
269269
270270export function lookupContextTokens (
271271 modelId ?: string ,
272- options ?: { allowAsyncLoad ?: boolean } ,
272+ options ?: { allowAsyncLoad ?: boolean ; skipRuntimeConfigLoad ?: boolean } ,
273273) : number | undefined {
274274 if ( ! modelId ) {
275275 return undefined ;
276276 }
277+ if ( options ?. skipRuntimeConfigLoad ) {
278+ return lookupCachedContextTokens ( modelId ) ;
279+ }
277280 if ( 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: {
515518 if ( params . provider && ref && ! ref . model . includes ( "/" ) ) {
516519 const qualifiedResult = lookupContextTokens (
517520 `${ normalizeProviderId ( ref . provider ) } /${ ref . model } ` ,
518- { allowAsyncLoad : params . allowAsyncLoad } ,
521+ {
522+ allowAsyncLoad : params . allowAsyncLoad ,
523+ skipRuntimeConfigLoad : Boolean ( params . cfg ) ,
524+ } ,
519525 ) ;
520526 if ( qualifiedResult !== undefined ) {
521527 return qualifiedResult ;
@@ -526,6 +532,7 @@ export function resolveContextTokensForModel(params: {
526532 // (e.g. "google/gemini-2.5-pro") this IS the raw discovery cache key.
527533 const bareResult = lookupContextTokens ( params . model , {
528534 allowAsyncLoad : params . allowAsyncLoad ,
535+ skipRuntimeConfigLoad : Boolean ( params . cfg ) ,
529536 } ) ;
530537 if ( bareResult !== undefined ) {
531538 return bareResult ;
@@ -537,7 +544,10 @@ export function resolveContextTokensForModel(params: {
537544 if ( ! params . provider && ref && ! ref . model . includes ( "/" ) ) {
538545 const qualifiedResult = lookupContextTokens (
539546 `${ normalizeProviderId ( ref . provider ) } /${ ref . model } ` ,
540- { allowAsyncLoad : params . allowAsyncLoad } ,
547+ {
548+ allowAsyncLoad : params . allowAsyncLoad ,
549+ skipRuntimeConfigLoad : Boolean ( params . cfg ) ,
550+ } ,
541551 ) ;
542552 if ( qualifiedResult !== undefined ) {
543553 return qualifiedResult ;
0 commit comments