Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 28 additions & 58 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
},
"dependencies": {
"@agentclientprotocol/sdk": "^1.4.0",
"@openai/codex": "^0.148.0",
"@openai/codex": "^0.150.1",
"diff": "^9.0.0",
"open": "^11.0.1",
"vscode-jsonrpc": "^9.0.1",
Expand Down
7 changes: 7 additions & 0 deletions src/CodexEventHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -537,6 +537,8 @@ export class CodexEventHandler {
case "thread/deleted":
case "thread/reverted":
case "thread/queue/changed":
case "project/changed":
case "thread/project/updated":
case "thread/environment/connected":
case "thread/environment/disconnected":
case "command/exec/outputDelta":
Expand All @@ -549,12 +551,16 @@ export class CodexEventHandler {
case "account/updated":
case "fs/changed":
case "mcpServer/startupStatus/updated":
case "mcpServer/event/stream/notification":
case "serverRequest/resolved":
case "model/verification":
case "model/safetyBuffering/updated":
case "windows/worldWritableWarning":
case "thread/realtime/started":
case "thread/realtime/itemAdded":
case "thread/realtime/item/started":
case "thread/realtime/item/transcript/delta":
case "thread/realtime/item/completed":
case "thread/realtime/transcript/delta":
case "thread/realtime/transcript/done":
case "thread/realtime/outputAudio/delta":
Expand All @@ -575,6 +581,7 @@ export class CodexEventHandler {
case "externalAgentConfig/import/progress":
case "process/outputDelta":
case "process/exited":
case "autoApprovalReview/strictReviewRequired":
return null;
}
}
Expand Down
5 changes: 5 additions & 0 deletions src/CodexToolCallMapper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ function toAcpStatus(status: CodexItemStatus): AcpToolCallStatus {
return "completed";
case "failed":
case "declined":
case "interrupted":
return "failed";
}
}
Expand Down Expand Up @@ -511,6 +512,8 @@ function formatSubAgentActivityTitle(kind: SubAgentActivityItem["kind"], name: s
return `Interact with subagent ${name}`;
case "interrupted":
return `Interrupt subagent ${name}`;
case "completed":
return `Complete subagent ${name}`;
}
}

Expand Down Expand Up @@ -688,6 +691,8 @@ function createGuardianApprovalReviewActionSummary(action: GuardianApprovalRevie
const command = action.argv.length > 0 ? action.argv : [action.program];
return `${guardianCommandSourceLabel(action.source)} ${shellJoin(command)}`;
}
case "writeStdin":
return `write stdin to process ${action.processId}`;
case "applyPatch":
if (action.files.length === 1) {
return `apply_patch touching ${action.files[0]}`;
Expand Down
1 change: 1 addition & 0 deletions src/__tests__/AgentFileChangeReport.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ function completedReport(value: unknown): Turn {
text: JSON.stringify(value),
phase: "final_answer",
memoryCitation: null,
delivery: null,
}],
itemsView: "full",
status: "completed",
Expand Down
7 changes: 5 additions & 2 deletions src/__tests__/CodexACPAgent/CodexAcpClient.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1442,6 +1442,7 @@ describe('ACP server test', { timeout: 40_000 }, () => {
shortDescription: "Build",
path: "/workspace",
scope: "user",
pluginId: null,
enabled: true
}],
errors: []
Expand Down Expand Up @@ -3310,8 +3311,8 @@ describe('ACP server test', { timeout: 40_000 }, () => {
data: [{
cwd: "/workspace",
skills: [
{ name: "build", description: "Build the project", shortDescription: "Build", path: "/workspace/build", scope: "user", enabled: true },
{ name: "deploy", description: "Deploy the service", path: "/workspace/deploy", scope: "repo", enabled: true }
{ name: "build", description: "Build the project", shortDescription: "Build", path: "/workspace/build", scope: "user", pluginId: null, enabled: true },
{ name: "deploy", description: "Deploy the service", path: "/workspace/deploy", scope: "repo", pluginId: null, enabled: true }
],
errors: []
}]
Expand All @@ -3335,6 +3336,7 @@ describe('ACP server test', { timeout: 40_000 }, () => {
data: [
{
name: "fs",
runtimeStatus: null,
pluginId: null,
serverInfo: null,
tools: {listFiles: {name: "listFiles", inputSchema: {type: "object"}}},
Expand All @@ -3344,6 +3346,7 @@ describe('ACP server test', { timeout: 40_000 }, () => {
},
{
name: "browser",
runtimeStatus: null,
pluginId: null,
serverInfo: null,
tools: {},
Expand Down
2 changes: 2 additions & 0 deletions src/__tests__/CodexACPAgent/agent-file-change-report.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ describe("agent file-change report lifecycle", () => {
}),
phase: "final_answer",
memoryCitation: null,
delivery: null,
}], "full"),
};
});
Expand Down Expand Up @@ -511,6 +512,7 @@ describe("agent file-change report lifecycle", () => {
text: "not JSON",
phase: "final_answer",
memoryCitation: null,
delivery: null,
}], "full"),
});
const threadRead = vi.spyOn(appServer, "threadRead");
Expand Down
2 changes: 2 additions & 0 deletions src/__tests__/CodexACPAgent/agent-message-events.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ describe("CodexEventHandler - agent message events", () => {
text: "",
phase: "commentary",
memoryCitation: null,
delivery: null,
},
},
},
Expand All @@ -62,6 +63,7 @@ describe("CodexEventHandler - agent message events", () => {
text: "",
phase: "final_answer",
memoryCitation: null,
delivery: null,
},
},
},
Expand Down
1 change: 1 addition & 0 deletions src/__tests__/CodexACPAgent/approval-events.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ describe("Approval Events", () => {
overrides: Partial<CommandParams> = {},
): CommandParams {
return {
kind: "command",
threadId: sessionId,
turnId: "turn-1",
itemId: "command-item",
Expand Down
Loading
Loading