Skip to content

Commit feeb193

Browse files
committed
Update app-server events doc
1 parent 85f2c07 commit feeb193

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

docs/app-server-events.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# App-Server Events Reference (Codex `6a673e7339161cf5aa6711324bfe873846234b6b`)
1+
# App-Server Events Reference (Codex `f72ab43fd193b31208cd3c306293b1b71a52a709`)
22

33
This 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

99
When 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

1617
Related 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:
210213
Use this workflow to update the lists above:
211214

212215
1. 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`
214217
2. 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`
216219
3. List CodexMonitor routed methods:
217220
- `rg -n \"SUPPORTED_APP_SERVER_METHODS\" src/utils/appServerEvents.ts`
218221
4. Update the Supported and Missing sections.
@@ -222,11 +225,11 @@ Use this workflow to update the lists above:
222225
Use this workflow to update request support lists:
223226

224227
1. 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`
226229
2. 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`
228231
3. 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`
230233
4. 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`
232235
5. Update the Supported Requests, Missing Client Requests, and Server Requests sections.
@@ -236,18 +239,18 @@ Use this workflow to update request support lists:
236239
Use this when the method list is unchanged but behavior looks off.
237240

238241
1. 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`
240243
2. 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\"`
242245
3. 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\"`
244247
4. 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`
249252
5. 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\"`
251254
6. 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

Comments
 (0)