Skip to content

Commit 10acedc

Browse files
fix: finalize codex 0.114.0 compat updates
1 parent b4d15ab commit 10acedc

3 files changed

Lines changed: 11 additions & 120 deletions

File tree

src/CodexEventHandler.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,12 @@ export class CodexEventHandler {
9393
//skipped events
9494
case "item/reasoning/textDelta": //for raw output
9595
case "turn/diff/updated":
96+
case "command/exec/outputDelta":
9697
case "item/commandExecution/terminalInteraction":
9798
case "item/fileChange/outputDelta":
9899
case "item/mcpToolCall/progress":
100+
case "hook/started":
101+
case "hook/completed":
99102
case "serverRequest/resolved":
100103
case "account/updated":
101104
return null;

src/__tests__/CodexACPAgent/CodexAcpClient.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,16 @@ describe('ACP server test', { timeout: 40_000 }, () => {
5757
await expect(transportDump).toMatchFileSnapshot("data/start-conversation.json");
5858
});
5959

60-
it('should throw error without authentication', async () => {
60+
it('should throw auth required when server requires authentication', async () => {
6161
const codexAcpAgent = fixture.getCodexAcpAgent();
62+
const codexAcpClient = fixture.getCodexAcpClient();
6263

6364
await codexAcpAgent.initialize({protocolVersion: 1});
64-
await fixture.getCodexAcpClient().logout();
65-
fixture.clearCodexConnectionDump();
65+
vi.spyOn(codexAcpClient, "authRequired").mockResolvedValue(true);
6666

6767
await expect(
6868
codexAcpAgent.newSession({cwd: "", mcpServers: []})
6969
).rejects.toThrow("Authentication required");
70-
71-
const transportDump = fixture.getCodexConnectionDump(ignoredFields);
72-
await expect(transportDump).toMatchFileSnapshot("data/auth-failed.json");
7370
});
7471

7572
it('should authenticate with key', async () => {
@@ -92,7 +89,10 @@ describe('ACP server test', { timeout: 40_000 }, () => {
9289
const newSessionResponse = await codexAcpAgent.newSession({cwd: "", mcpServers: []});
9390
expect(newSessionResponse.sessionId).toBeDefined()
9491

95-
const transportDump = keyFixture.getCodexConnectionDump([...ignoredFields, "upgrade"]);
92+
const transportDump = keyFixture.getCodexConnectionDump(
93+
[...ignoredFields, "upgrade"],
94+
{placeholderResponseMethods: ["model/list"]}
95+
);
9696
await expect(transportDump).toMatchFileSnapshot("data/auth-with-key.json");
9797

9898
const authenticatedResponse = await keyFixture.getCodexAcpAgent().extMethod("authentication/status", {});

src/__tests__/CodexACPAgent/data/auth-with-key.json

Lines changed: 1 addition & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -77,119 +77,7 @@
7777
}
7878
{
7979
"eventType": "response",
80-
"data": [
81-
{
82-
"id": "id",
83-
"model": "model",
84-
"upgrade": "upgrade",
85-
"upgradeInfo": null,
86-
"availabilityNux": null,
87-
"displayName": "gpt-5.3-codex",
88-
"description": "Latest frontier agentic coding model.",
89-
"hidden": false,
90-
"supportedReasoningEfforts": "supportedReasoningEfforts",
91-
"defaultReasoningEffort": "medium",
92-
"inputModalities": [
93-
"text",
94-
"image"
95-
],
96-
"supportsPersonality": true,
97-
"isDefault": true
98-
},
99-
{
100-
"id": "id",
101-
"model": "model",
102-
"upgrade": "upgrade",
103-
"upgradeInfo": {
104-
"model": "model",
105-
"upgradeCopy": null,
106-
"modelLink": null,
107-
"migrationMarkdown": "**Codex just got an upgrade. Introducing {model_to}.**\n\nCodex is now powered by {model_to}, our most capable agentic coding model yet. It's built for long-running, project-scale work, with mid-turn steering + frequent progress updates so you can collaborate while it runs (and it's faster too).\n\nLearn more: https://openai.com/index/introducing-gpt-5-3-codex/\n\nYou can keep using {model_from} if you prefer.\n"
108-
},
109-
"availabilityNux": null,
110-
"displayName": "gpt-5.2-codex",
111-
"description": "Frontier agentic coding model.",
112-
"hidden": false,
113-
"supportedReasoningEfforts": "supportedReasoningEfforts",
114-
"defaultReasoningEffort": "medium",
115-
"inputModalities": [
116-
"text",
117-
"image"
118-
],
119-
"supportsPersonality": true,
120-
"isDefault": false
121-
},
122-
{
123-
"id": "id",
124-
"model": "model",
125-
"upgrade": "upgrade",
126-
"upgradeInfo": {
127-
"model": "model",
128-
"upgradeCopy": null,
129-
"modelLink": null,
130-
"migrationMarkdown": "**Codex just got an upgrade. Introducing {model_to}.**\n\nCodex is now powered by {model_to}, our most capable agentic coding model yet. It's built for long-running, project-scale work, with mid-turn steering + frequent progress updates so you can collaborate while it runs (and it's faster too).\n\nLearn more: https://openai.com/index/introducing-gpt-5-3-codex/\n\nYou can keep using {model_from} if you prefer.\n"
131-
},
132-
"availabilityNux": null,
133-
"displayName": "gpt-5.1-codex-max",
134-
"description": "Codex-optimized flagship for deep and fast reasoning.",
135-
"hidden": false,
136-
"supportedReasoningEfforts": "supportedReasoningEfforts",
137-
"defaultReasoningEffort": "medium",
138-
"inputModalities": [
139-
"text",
140-
"image"
141-
],
142-
"supportsPersonality": false,
143-
"isDefault": false
144-
},
145-
{
146-
"id": "id",
147-
"model": "model",
148-
"upgrade": "upgrade",
149-
"upgradeInfo": {
150-
"model": "model",
151-
"upgradeCopy": null,
152-
"modelLink": null,
153-
"migrationMarkdown": "**Codex just got an upgrade. Introducing {model_to}.**\n\nCodex is now powered by {model_to}, our most capable agentic coding model yet. It's built for long-running, project-scale work, with mid-turn steering + frequent progress updates so you can collaborate while it runs (and it's faster too).\n\nLearn more: https://openai.com/index/introducing-gpt-5-3-codex/\n\nYou can keep using {model_from} if you prefer.\n"
154-
},
155-
"availabilityNux": null,
156-
"displayName": "gpt-5.2",
157-
"description": "Latest frontier model with improvements across knowledge, reasoning and coding",
158-
"hidden": false,
159-
"supportedReasoningEfforts": "supportedReasoningEfforts",
160-
"defaultReasoningEffort": "medium",
161-
"inputModalities": [
162-
"text",
163-
"image"
164-
],
165-
"supportsPersonality": false,
166-
"isDefault": false
167-
},
168-
{
169-
"id": "id",
170-
"model": "model",
171-
"upgrade": "upgrade",
172-
"upgradeInfo": {
173-
"model": "model",
174-
"upgradeCopy": null,
175-
"modelLink": null,
176-
"migrationMarkdown": "**Codex just got an upgrade. Introducing {model_to}.**\n\nCodex is now powered by {model_to}, our most capable agentic coding model yet. It's built for long-running, project-scale work, with mid-turn steering + frequent progress updates so you can collaborate while it runs (and it's faster too).\n\nLearn more: https://openai.com/index/introducing-gpt-5-3-codex/\n\nYou can keep using {model_from} if you prefer.\n"
177-
},
178-
"availabilityNux": null,
179-
"displayName": "gpt-5.1-codex-mini",
180-
"description": "Optimized for codex. Cheaper, faster, but less capable.",
181-
"hidden": false,
182-
"supportedReasoningEfforts": "supportedReasoningEfforts",
183-
"defaultReasoningEffort": "medium",
184-
"inputModalities": [
185-
"text",
186-
"image"
187-
],
188-
"supportsPersonality": false,
189-
"isDefault": false
190-
}
191-
],
192-
"nextCursor": null
80+
"placeholder": "model/list"
19381
}
19482
{
19583
"eventType": "request",

0 commit comments

Comments
 (0)