From 1d083d0cfb4595aa165cccb93f4b51d0a2e7d106 Mon Sep 17 00:00:00 2001 From: Alexandr Suhinin Date: Wed, 20 May 2026 16:27:30 +0300 Subject: [PATCH] clean: do not pass nulls for optional app-server fields --- src/CodexAcpClient.ts | 57 ++----------------- src/CodexAppServerClient.ts | 5 +- .../data/send-attachments-turn-start.json | 3 - 3 files changed, 7 insertions(+), 58 deletions(-) diff --git a/src/CodexAcpClient.ts b/src/CodexAcpClient.ts index 8578633..9f47811 100644 --- a/src/CodexAcpClient.ts +++ b/src/CodexAcpClient.ts @@ -25,7 +25,6 @@ import type { AccountLoginCompletedNotification, AccountUpdatedNotification, GetAccountResponse, - ListMcpServerStatusParams, ListMcpServerStatusResponse, Model, SkillsListParams, @@ -204,15 +203,9 @@ export class CodexAcpClient { await this.refreshSkills(request.cwd, request._meta); const response = await this.codexClient.threadResume({ - approvalPolicy: null, - sandbox: null, - baseInstructions: null, config: await this.createSessionConfig(request.cwd, request.mcpServers ?? []), cwd: request.cwd, - developerInstructions: null, - model: null, modelProvider: this.getResumeModelProvider(), - personality: null, threadId: request.sessionId, }); const codexModels = await this.fetchAvailableModels(); @@ -227,15 +220,9 @@ export class CodexAcpClient { async loadSession(request: acp.LoadSessionRequest): Promise { const response = await this.codexClient.threadResume({ - approvalPolicy: null, - sandbox: null, - baseInstructions: null, config: await this.createSessionConfig(request.cwd, request.mcpServers ?? []), cwd: request.cwd, - developerInstructions: null, - model: null, modelProvider: this.getResumeModelProvider(), - personality: null, threadId: request.sessionId, }); const codexModels = await this.fetchAvailableModels(); @@ -255,14 +242,7 @@ export class CodexAcpClient { const response = await this.codexClient.threadStart({ config: await this.createSessionConfig(request.cwd, request.mcpServers), modelProvider: this.getModelProvider(), - model: null, cwd: request.cwd, - approvalPolicy: null, - sandbox: null, - baseInstructions: null, - developerInstructions: null, - personality: null, - ephemeral: null, }); const codexModels = await this.fetchAvailableModels(); @@ -407,14 +387,11 @@ export class CodexAcpClient { await this.refreshSkills(cwd, request._meta); return await this.codexClient.runTurn({ - outputSchema: null, threadId: request.sessionId, input: input, approvalPolicy: agentMode.approvalPolicy, sandboxPolicy: agentMode.sandboxPolicy, summary: disableSummary ? "none" : null, - personality: null, - cwd: null, effort: effort, model: modelId.model, serviceTier: serviceTier, @@ -468,8 +445,8 @@ export class CodexAcpClient { }); } - async listMcpServers(params: ListMcpServerStatusParams = { cursor: null, limit: null }): Promise { - return this.codexClient.listMcpServerStatus(params); + async listMcpServers(): Promise { + return this.codexClient.listMcpServerStatus({}); } async listSessions(request: acp.ListSessionsRequest): Promise { @@ -499,11 +476,8 @@ export class CodexAcpClient { const modelProviders = preferredProvider ? [preferredProvider] : []; const listResponse = await this.codexClient.threadList({ cursor: request.cursor ?? null, - limit: null, - sortKey: null, modelProviders: modelProviders, sourceKinds: sourceKinds, - archived: null, }); if (listResponse.data.length === 0) { @@ -561,30 +535,9 @@ export class CodexAcpClient { private async runSessionListDiagnostics(): Promise> { const [allProviders, archivedAllProviders, customGateway] = await Promise.all([ - this.codexClient.threadList({ - cursor: null, - limit: null, - sortKey: null, - modelProviders: [], - sourceKinds: null, - archived: null, - }), - this.codexClient.threadList({ - cursor: null, - limit: null, - sortKey: null, - modelProviders: [], - sourceKinds: null, - archived: true, - }), - this.codexClient.threadList({ - cursor: null, - limit: null, - sortKey: null, - modelProviders: ["custom-gateway"], - sourceKinds: null, - archived: null, - }), + this.codexClient.threadList({}), + this.codexClient.threadList({archived: true}), + this.codexClient.threadList({modelProviders: ["custom-gateway"]}), ]); return { diff --git a/src/CodexAppServerClient.ts b/src/CodexAppServerClient.ts index 26b2062..0d2d083 100644 --- a/src/CodexAppServerClient.ts +++ b/src/CodexAppServerClient.ts @@ -6,7 +6,6 @@ import type { ServerNotification } from "./app-server"; import type { - AccountLoginCompletedNotification, AccountUpdatedNotification, ConfigReadParams, ConfigReadResponse, GetAccountParams, @@ -257,11 +256,11 @@ export class CodexAppServerClient { }); } - async listModels(params: ModelListParams = {cursor: null, limit: null}): Promise { + async listModels(params: ModelListParams): Promise { return await this.sendRequest({ method: "model/list", params }); } - async listSkills(params: SkillsListParams = {}): Promise { + async listSkills(params: SkillsListParams): Promise { return await this.sendRequest({ method: "skills/list", params }); } diff --git a/src/__tests__/CodexACPAgent/data/send-attachments-turn-start.json b/src/__tests__/CodexACPAgent/data/send-attachments-turn-start.json index c4ab4c5..29aa6bd 100644 --- a/src/__tests__/CodexACPAgent/data/send-attachments-turn-start.json +++ b/src/__tests__/CodexACPAgent/data/send-attachments-turn-start.json @@ -21,7 +21,6 @@ "eventType": "request", "method": "turn/start", "params": { - "outputSchema": null, "threadId": "threadId", "input": [ { @@ -53,8 +52,6 @@ "excludeSlashTmp": false }, "summary": null, - "personality": null, - "cwd": "cwd", "effort": "effort", "model": "model", "serviceTier": null