@@ -220,6 +220,7 @@ function scheduleProviderAuthStatePrewarm(params: {
220220 warn : ( msg : string ) => void ;
221221 } ;
222222 delayMs ?: number ;
223+ startupWarmEnabled ?: boolean ;
223224} ) : GatewayPostReadySidecarHandle {
224225 let stopped = false ;
225226 let startupTimer : ReturnType < typeof setTimeout > | undefined ;
@@ -285,29 +286,31 @@ function scheduleProviderAuthStatePrewarm(params: {
285286 clearCurrentProviderAuthState ( ) ;
286287 scheduleAuthMapRewarm ( "auth-profile-failure" ) ;
287288 } ) ;
288- startupTimer = setTimeout (
289- ( ) => {
290- void ( async ( ) => {
291- if ( isStopped ( ) ) {
292- return ;
293- }
294- const cfg = params . getConfig ( ) ;
295- const metrics = await measureProviderAuthWarm ( ( ) =>
296- warmCurrentProviderAuthStateOffMainThread ( cfg , { isCancelled : isStopped } ) ,
297- ) ;
298- if ( isStopped ( ) ) {
299- return ;
300- }
301- params . log . info (
302- `provider auth state pre-warmed ${ formatProviderAuthWarmMetrics ( metrics ) } ` ,
303- ) ;
304- } ) ( ) . catch ( ( err ) => {
305- params . log . warn ( `provider auth state pre-warm failed: ${ String ( err ) } ` ) ;
306- } ) ;
307- } ,
308- Math . max ( 0 , delayMs ) ,
309- ) ;
310- startupTimer . unref ?.( ) ;
289+ if ( params . startupWarmEnabled !== false ) {
290+ startupTimer = setTimeout (
291+ ( ) => {
292+ void ( async ( ) => {
293+ if ( isStopped ( ) ) {
294+ return ;
295+ }
296+ const cfg = params . getConfig ( ) ;
297+ const metrics = await measureProviderAuthWarm ( ( ) =>
298+ warmCurrentProviderAuthStateOffMainThread ( cfg , { isCancelled : isStopped } ) ,
299+ ) ;
300+ if ( isStopped ( ) ) {
301+ return ;
302+ }
303+ params . log . info (
304+ `provider auth state pre-warmed ${ formatProviderAuthWarmMetrics ( metrics ) } ` ,
305+ ) ;
306+ } ) ( ) . catch ( ( err ) => {
307+ params . log . warn ( `provider auth state pre-warm failed: ${ String ( err ) } ` ) ;
308+ } ) ;
309+ } ,
310+ Math . max ( 0 , delayMs ) ,
311+ ) ;
312+ startupTimer . unref ?.( ) ;
313+ }
311314 } ) ( ) . catch ( ( err ) => {
312315 params . log . warn ( `provider auth state pre-warm setup failed: ${ String ( err ) } ` ) ;
313316 } ) ;
@@ -1255,12 +1258,13 @@ export async function startGatewayPostAttachRuntime(
12551258 }
12561259 const postReadySidecars = [ ...result . postReadySidecars ] ;
12571260 const gatewayLifetimeSidecars : GatewayPostReadySidecarHandle [ ] = [ ] ;
1258- if ( params . providerAuthPrewarm ? .enabled !== false ) {
1261+ if ( params . providerAuthPrewarm && params . providerAuthPrewarm . enabled !== false ) {
12591262 gatewayLifetimeSidecars . push (
12601263 scheduleProviderAuthStatePrewarm ( {
12611264 getConfig : params . providerAuthPrewarm ?. getConfig ?? ( ( ) => params . cfgAtStart ) ,
12621265 log : params . log ,
12631266 delayMs : params . providerAuthPrewarm ?. delayMs ,
1267+ startupWarmEnabled : params . providerAuthPrewarm . enabled === true ,
12641268 } ) ,
12651269 ) ;
12661270 }
0 commit comments