@@ -86,10 +86,14 @@ describe("provider auth profile helpers", () => {
8686 ) ;
8787 } ) ;
8888
89- it ( "scopes external CLI auth discovery to provider profile resolution" , async ( ) => {
89+ it ( "only discovers external CLI auth when provider resolution opts in " , async ( ) => {
9090 vi . resetModules ( ) ;
9191
92- const store : AuthProfileStore = {
92+ const primaryStore : AuthProfileStore = {
93+ version : 1 ,
94+ profiles : { } ,
95+ } ;
96+ const externalStore : AuthProfileStore = {
9397 version : 1 ,
9498 profiles : {
9599 "openai-codex:default" : {
@@ -102,7 +106,10 @@ describe("provider auth profile helpers", () => {
102106 } ,
103107 } ;
104108 const externalCli = { mode : "scoped" , providerIds : [ "openai-codex" ] } ;
105- const loadAuthProfileStoreForSecretsRuntime = vi . fn ( ( ) => store ) ;
109+ const loadAuthProfileStoreForSecretsRuntime = vi . fn (
110+ ( _agentDir ?: string , options ?: { externalCli ?: unknown } ) =>
111+ options ?. externalCli ? externalStore : primaryStore ,
112+ ) ;
106113
107114 vi . doMock ( "../agents/agent-scope-config.js" , ( ) => ( {
108115 resolveDefaultAgentDir : ( ) => "/tmp/openclaw-agent" ,
@@ -126,18 +133,27 @@ describe("provider auth profile helpers", () => {
126133 . map ( ( [ profileId ] ) => profileId ) ,
127134 } ) ) ;
128135 vi . doMock ( "../agents/auth-profiles/store.js" , ( ) => ( {
129- ensureAuthProfileStore : vi . fn ( ( ) => store ) ,
130- ensureAuthProfileStoreForLocalUpdate : vi . fn ( ( ) => store ) ,
136+ ensureAuthProfileStore : vi . fn ( ( ) => primaryStore ) ,
137+ ensureAuthProfileStoreForLocalUpdate : vi . fn ( ( ) => primaryStore ) ,
131138 loadAuthProfileStoreForSecretsRuntime,
132139 loadAuthProfileStoreWithoutExternalProfiles : vi . fn ( ( ) => ( { version : 1 , profiles : { } } ) ) ,
133140 updateAuthProfileStoreWithLock : vi . fn ( ) ,
134141 } ) ) ;
135142
136143 const { isProviderAuthProfileConfigured } = await import ( "./provider-auth.js" ) ;
137144
138- expect ( isProviderAuthProfileConfigured ( { provider : "openai-codex" } ) ) . toBe ( true ) ;
139- expect ( loadAuthProfileStoreForSecretsRuntime ) . toHaveBeenCalledWith ( "/tmp/openclaw-agent" , {
140- externalCli,
141- } ) ;
145+ expect ( isProviderAuthProfileConfigured ( { provider : "openai-codex" } ) ) . toBe ( false ) ;
146+ expect (
147+ isProviderAuthProfileConfigured ( {
148+ provider : "openai-codex" ,
149+ includeExternalCliAuth : true ,
150+ } ) ,
151+ ) . toBe ( true ) ;
152+ expect ( loadAuthProfileStoreForSecretsRuntime ) . toHaveBeenNthCalledWith ( 1 , "/tmp/openclaw-agent" ) ;
153+ expect ( loadAuthProfileStoreForSecretsRuntime ) . toHaveBeenNthCalledWith (
154+ 2 ,
155+ "/tmp/openclaw-agent" ,
156+ { externalCli } ,
157+ ) ;
142158 } ) ;
143159} ) ;
0 commit comments