1- # App-Server Events Reference (Codex ` 6a673e7339161cf5aa6711324bfe873846234b6b ` )
1+ # App-Server Events Reference (Codex ` f72ab43fd193b31208cd3c306293b1b71a52a709 ` )
22
33This document helps agents quickly answer:
44- Which app-server events CodexMonitor supports right now.
@@ -7,11 +7,12 @@ This document helps agents quickly answer:
77- Where to look in ` ../Codex ` to compare event lists and find emitters.
88
99When updating this document:
10- 1 . Update the Codex hash in the title using ` git -C ../Codex rev-parse HEAD ` .
11- 2 . Compare Codex events vs CodexMonitor routing.
12- 3 . Compare Codex client request methods vs CodexMonitor outgoing request methods.
13- 4 . Compare Codex server request methods vs CodexMonitor inbound request handling.
14- 5 . Update supported and missing lists below.
10+ 1 . Fetch latest refs with ` git -C ../Codex fetch --all --prune ` .
11+ 2 . Update the Codex hash in the title using ` git -C ../Codex rev-parse origin/main ` .
12+ 3 . Compare Codex events vs CodexMonitor routing.
13+ 4 . Compare Codex client request methods vs CodexMonitor outgoing request methods.
14+ 5 . Compare Codex server request methods vs CodexMonitor inbound request handling.
15+ 6 . Update supported and missing lists below.
1516
1617Related project skill:
1718- ` .codex/skills/app-server-events-sync/SKILL.md `
@@ -114,6 +115,7 @@ events are currently not routed:
114115- ` model/rerouted `
115116- ` rawResponseItem/completed `
116117- ` serverRequest/resolved `
118+ - ` skills/changed `
117119- ` thread/compacted ` (deprecated; intentionally not routed)
118120- ` thread/realtime/closed `
119121- ` thread/realtime/error `
@@ -170,6 +172,7 @@ Compared against Codex v2 request methods, CodexMonitor currently does not send:
170172- ` skills/remote/list `
171173- ` thread/backgroundTerminals/clean `
172174- ` thread/loaded/list `
175+ - ` thread/metadata/update `
173176- ` thread/read `
174177- ` thread/realtime/appendAudio `
175178- ` thread/realtime/appendText `
@@ -210,9 +213,9 @@ Useful follow-ups:
210213Use this workflow to update the lists above:
211214
2122151 . Get the current Codex hash:
213- - ` git -C ../Codex rev-parse HEAD `
216+ - ` git -C ../Codex fetch --all --prune && git -C ../Codex rev-parse origin/main `
2142172 . List Codex v2 notification methods:
215- - ` (rg -N -o '=>\\s*\"[^\"]+\"\\s*\\(v2::[^)]*Notification\\)' ../Codex/codex-rs/app-server-protocol/src/protocol/common.rs | sed -E 's/.*\"([^\"]+)\".*/\\1/'; printf '%s\\n' 'account/login/completed') | sort -u `
218+ - ` (git -C ../Codex show origin/main:codex-rs/app-server-protocol/src/protocol/common.rs | rg -N -o '=>\\s*\"[^\"]+\"\\s*\\(v2::[^)]*Notification\\)' | sed -E 's/.*\"([^\"]+)\".*/\\1/'; printf '%s\\n' 'account/login/completed') | sort -u `
2162193 . List CodexMonitor routed methods:
217220 - ` rg -n \"SUPPORTED_APP_SERVER_METHODS\" src/utils/appServerEvents.ts `
2182214 . Update the Supported and Missing sections.
@@ -222,11 +225,11 @@ Use this workflow to update the lists above:
222225Use this workflow to update request support lists:
223226
2242271 . Get the current Codex hash:
225- - ` git -C ../Codex rev-parse HEAD `
228+ - ` git -C ../Codex fetch --all --prune && git -C ../Codex rev-parse origin/main `
2262292 . List Codex client request methods:
227- - ` awk '/client_request_definitions! \\{/,/\\/\\/\\/ DEPRECATED APIs below/' ../Codex/codex-rs/app-server-protocol/src/protocol/common.rs | rg -N -o '=>\\s*\"[^\"]+\"\\s*\\{' | sed -E 's/.*\"([^\"]+)\".*/\\1/' | sort -u `
230+ - ` git -C ../Codex show origin/main:codex-rs/app-server-protocol/src/protocol/common.rs | awk '/client_request_definitions! \\{/,/\\/\\/\\/ DEPRECATED APIs below/' | rg -N -o '=>\\s*\"[^\"]+\"\\s*\\{' | sed -E 's/.*\"([^\"]+)\".*/\\1/' | sort -u`
2282313 . List Codex server request methods:
229- - ` awk '/server_request_definitions! \\{/,/\\/\\/\\/ DEPRECATED APIs below/' ../Codex/codex-rs/app-server-protocol/src/protocol/common.rs | rg -N -o '=>\\s*\"[^\"]+\"\\s*\\{' | sed -E 's/.*\"([^\"]+)\".*/\\1/' | sort -u `
232+ - ` git -C ../Codex show origin/main:codex-rs/app-server-protocol/src/protocol/common.rs | awk '/server_request_definitions! \\{/,/\\/\\/\\/ DEPRECATED APIs below/' | rg -N -o '=>\\s*\"[^\"]+\"\\s*\\{' | sed -E 's/.*\"([^\"]+)\".*/\\1/' | sort -u`
2302334 . List CodexMonitor outgoing requests:
231234 - ` perl -0777 -ne 'while(/send_request_for_workspace\\(\\s*&[^,]+\\s*,\\s*\"([^\"]+)\"/g){print \"$1\\n\"}' src-tauri/src/shared/codex_core.rs | sort -u `
2322355 . Update the Supported Requests, Missing Client Requests, and Server Requests sections.
@@ -236,18 +239,18 @@ Use this workflow to update request support lists:
236239Use this when the method list is unchanged but behavior looks off.
237240
2382411 . Confirm the current Codex hash:
239- - ` git -C ../Codex rev-parse HEAD `
242+ - ` git -C ../Codex fetch --all --prune && git -C ../Codex rev-parse origin/main `
2402432 . Inspect the authoritative notification structs:
241- - ` rg -n \"struct .*Notification\" .. /Codex/ codex-rs/app-server-protocol/src/protocol/v2.rs`
244+ - ` git -C .. /Codex show origin/main: codex-rs/app-server-protocol/src/protocol/v2.rs | rg -n \"struct .*Notification\" `
2422453 . For a specific method, jump to its struct definition:
243- - Example: ` rg -n \"struct TurnPlanUpdatedNotification|struct ThreadTokenUsageUpdatedNotification|struct AccountRateLimitsUpdatedNotification|struct ItemStartedNotification|struct ItemCompletedNotification\" ../Codex/codex-rs/app-server-protocol/src/protocol/v2.rs `
246+ - Example: ` git -C ../Codex show origin/main:codex-rs/app-server-protocol/src/protocol/v2.rs | rg -n \"struct TurnPlanUpdatedNotification|struct ThreadTokenUsageUpdatedNotification|struct AccountRateLimitsUpdatedNotification|struct ItemStartedNotification|struct ItemCompletedNotification\"`
2442474 . Compare payload shapes to the router expectations:
245248 - Parser/source of truth: ` src/utils/appServerEvents.ts `
246249 - Router: ` src/features/app/hooks/useAppServerEvents.ts `
247250 - Turn/plan/token/rate-limit normalization: ` src/features/threads/utils/threadNormalize.ts `
248251 - Item shaping for display: ` src/utils/threadItems.ts `
2492525 . Verify the ThreadItem schema (many UI issues start here):
250- - ` rg -n \"enum ThreadItem|CommandExecution|FileChange|McpToolCall|EnteredReviewMode|ExitedReviewMode|ContextCompaction\" ../Codex/ codex-rs/app-server-protocol/src/protocol/v2.rs`
253+ - ` git -C ../Codex show origin/main: codex-rs/app-server-protocol/src/protocol/v2.rs | rg -n \"enum ThreadItem|CommandExecution|FileChange|McpToolCall|EnteredReviewMode|ExitedReviewMode|ContextCompaction\" `
2512546 . Check for camelCase vs snake_case mismatches:
252255 - The protocol uses ` #[serde(rename_all = \"camelCase\")] ` , but fields are often declared in snake_case.
253256 - CodexMonitor generally defends against this by checking both forms (for example in ` threadNormalize.ts ` and ` useAppServerEvents.ts ` ), while centralizing method/type parsing in ` appServerEvents.ts ` .
0 commit comments