11import * as acp from "@agentclientprotocol/sdk" ;
2- import {
3- RequestError ,
4- type SessionId ,
5- type SessionModelState ,
6- type SessionModeState
7- } from "@agentclientprotocol/sdk" ;
2+ import { RequestError , type SessionId , type SessionModelState , type SessionModeState } from "@agentclientprotocol/sdk" ;
83import { CodexEventHandler } from "./CodexEventHandler" ;
94import { CodexApprovalHandler } from "./CodexApprovalHandler" ;
105import { CodexElicitationHandler } from "./CodexElicitationHandler" ;
11- import { getCodexAuthMethods , type CodexAuthRequest } from "./CodexAuthMethod" ;
6+ import { type CodexAuthRequest , getCodexAuthMethods } from "./CodexAuthMethod" ;
127import { CodexAcpClient , type SessionMetadata , type SessionMetadataWithThread } from "./CodexAcpClient" ;
138import type { McpStartupResult } from "./CodexAppServerClient" ;
149import { ACPSessionConnection , type UpdateSessionEvent } from "./ACPSessionConnection" ;
@@ -17,10 +12,10 @@ import type {
1712 Account ,
1813 CollabAgentToolCallStatus ,
1914 Model ,
15+ ReasoningEffortOption ,
2016 Thread ,
2117 ThreadItem ,
22- UserInput ,
23- ReasoningEffortOption
18+ UserInput
2419} from "./app-server/v2" ;
2520import type { RateLimitsMap } from "./RateLimitsMap" ;
2621import { ModelId } from "./ModelId" ;
@@ -164,7 +159,13 @@ export class CodexAcpServer implements acp.Agent {
164159 sessionMetadata = await this . runWithProcessCheck ( ( ) => this . codexAcpClient . newSession ( request ) ) ;
165160 }
166161
167- const accountResponse = await this . runWithProcessCheck ( ( ) => this . codexAcpClient . getAccount ( ) ) ;
162+ let account : Account | null ;
163+ if ( this . codexAcpClient . getModelProvider ( ) === null ) {
164+ const accountResponse = await this . runWithProcessCheck ( ( ) => this . codexAcpClient . getAccount ( ) ) ;
165+ account = accountResponse . account ;
166+ } else {
167+ account = null ;
168+ }
168169 const { sessionId, currentModelId, models} = sessionMetadata ;
169170 const sessionMcpServers = this . resolveSessionMcpServers ( requestedMcpServers , "sessionId" in request ) ;
170171 const currentModel = this . findCurrentModel ( models , currentModelId ) ;
@@ -179,7 +180,7 @@ export class CodexAcpServer implements acp.Agent {
179180 totalTokenUsage : null ,
180181 modelContextWindow : null ,
181182 rateLimits : null ,
182- account : accountResponse . account ,
183+ account : account ,
183184 cwd : request . cwd ,
184185 sessionMcpServers : sessionMcpServers ,
185186 }
@@ -381,7 +382,13 @@ export class CodexAcpServer implements acp.Agent {
381382 this . codexAcpClient . loadSession ( request )
382383 ) ;
383384
384- const accountResponse = await this . runWithProcessCheck ( ( ) => this . codexAcpClient . getAccount ( ) ) ;
385+ let account : Account | null ;
386+ if ( this . codexAcpClient . getModelProvider ( ) === null ) {
387+ const accountResponse = await this . runWithProcessCheck ( ( ) => this . codexAcpClient . getAccount ( ) ) ;
388+ account = accountResponse . account ;
389+ } else {
390+ account = null ;
391+ }
385392 const { sessionId, currentModelId, models, thread} = sessionMetadata ;
386393 const sessionMcpServers = this . resolveSessionMcpServers ( requestedMcpServers , true ) ;
387394 const currentModel = this . findCurrentModel ( models , currentModelId ) ;
@@ -396,7 +403,7 @@ export class CodexAcpServer implements acp.Agent {
396403 totalTokenUsage : null ,
397404 modelContextWindow : null ,
398405 rateLimits : null ,
399- account : accountResponse . account ,
406+ account : account ,
400407 cwd : request . cwd ,
401408 sessionMcpServers : sessionMcpServers ,
402409 } ;
0 commit comments