Commit c4ed6dd
feat(sdk): codex read/maintenance RPC wrappers (status, usage, mcp, skills, rename) (#146)
## Summary
- Adds six public wrappers to `CodexAxonConnection` over
already-vendored app-server protocol types, following the existing
`readConfig`/`compactThread` pattern:
- `getAccountRateLimits()` → `account/rateLimits/read`
- `getAccountTokenUsage()` → `account/usage/read`
- `readThread(params?)` → `thread/read` (defaults to the active thread)
- `setThreadName(name)` → `thread/name/set`
- `listMcpServerStatus(params?)` → `mcpServerStatus/list`
- `listSkills(params?)` → `skills/list`
- Re-exports the corresponding v2 param/response types from
`protocol/index.ts` so they're available through the `codex` module
entry. No new codegen — all types were already vendored from
`@openai/codex` 0.144.1.
- Thread-scoped wrappers (`readThread`, `setThreadName`) throw
`ConnectionStateError("not_connected")` before a thread exists, matching
`compactThread`.
- Motivation: these back client-side slash commands (`/status`,
`/usage`, `/mcp`, `/skills`, `/rename`) in downstream apps, which
previously had no public path to these RPCs since `request()` is
private.
## Test plan
- New test asserts each wrapper emits the correct JSON-RPC method and
params on the wire (threadId injection, param passthrough).
- New test asserts thread-scoped wrappers reject with `not_connected`
before a thread exists.
- Full suite: 579 tests pass; `npm run typecheck` and `biome check`
clean.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent 941398f commit c4ed6dd
3 files changed
Lines changed: 114 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
180 | 223 | | |
181 | 224 | | |
182 | 225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
| 29 | + | |
| 30 | + | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
30 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
31 | 40 | | |
32 | 41 | | |
33 | 42 | | |
| |||
554 | 563 | | |
555 | 564 | | |
556 | 565 | | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
557 | 618 | | |
558 | 619 | | |
559 | 620 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
6 | 10 | | |
7 | 11 | | |
8 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
9 | 19 | | |
10 | 20 | | |
11 | 21 | | |
| |||
0 commit comments