From f1a1fce26af057ca568a876ff5ce6f49d72013f6 Mon Sep 17 00:00:00 2001 From: Felipe Coury Date: Thu, 13 Aug 2026 00:19:55 +0000 Subject: [PATCH] Show estimated thread usage in `/status` (#38281) ## What changed - Extend `account/usage/read` with an optional `threadId` request and a backward-compatible `threadUsage` response containing estimated credits, optional USD cost, and model, reasoning, speed, and token breakdowns. - Fetch thread usage for eligible Business and Enterprise plans when `/status` is opened, then update the rendered status card asynchronously. - Preserve terminal scrollback when replacing a visible status-card tail, and append a refreshed card when the original tail can no longer be updated. ## Testing - Add app-server coverage for authentication, canonical thread IDs, unavailable billing routes, and malformed IDs. - Add TUI coverage for usage formatting, stale responses, retries, history updates, terminal reflow, and scrollback preservation. GitOrigin-RevId: 49300914b3fba917c0f08e8595363e04e5ba6d37 --- .../schema/json/ClientRequest.json | 21 +- .../codex_app_server_protocol.schemas.json | 140 +++++- .../codex_app_server_protocol.v2.schemas.json | 140 +++++- .../json/v2/GetAccountTokenUsageResponse.json | 107 +++++ .../NullableGetAccountTokenUsageParams.json | 26 ++ .../app-server-exports-experimental.json.zst | Bin 133750 -> 134260 bytes .../app-server-exports-stable.json.zst | Bin 135046 -> 133059 bytes .../schema/typescript/ClientRequest.ts | 3 +- .../v2/GetAccountTokenUsageParams.ts | 9 + .../v2/GetAccountTokenUsageResponse.ts | 7 +- .../schema/typescript/v2/ThreadUsage.ts | 6 + .../v2/ThreadUsageBreakdownGroup.ts | 5 + .../schema/typescript/v2/index.ts | 3 + codex-rs/app-server-protocol/src/export.rs | 25 +- .../src/protocol/common.rs | 65 ++- .../src/protocol/v2/account.rs | 16 + .../src/protocol/v2/mod.rs | 2 + .../src/protocol/v2/thread_usage.rs | 29 ++ codex-rs/app-server/README.md | 2 +- codex-rs/app-server/src/message_processor.rs | 4 +- codex-rs/app-server/src/request_processors.rs | 1 + .../request_processors/account_processor.rs | 70 ++- .../tests/suite/v2/account_thread_usage.rs | 262 +++++++++++ codex-rs/app-server/tests/suite/v2/mod.rs | 1 + codex-rs/tui/src/app.rs | 6 + codex-rs/tui/src/app/app_server_events.rs | 4 + codex-rs/tui/src/app/background_requests.rs | 118 ++++- codex-rs/tui/src/app/event_dispatch.rs | 13 + codex-rs/tui/src/app/history_ui.rs | 169 ++++++- codex-rs/tui/src/app/resize_reflow.rs | 25 ++ codex-rs/tui/src/app/test_support.rs | 3 + codex-rs/tui/src/app/tests.rs | 8 + codex-rs/tui/src/app/tests/thread_usage.rs | 312 +++++++++++++ codex-rs/tui/src/app_backtrack.rs | 5 + codex-rs/tui/src/app_event.rs | 14 + codex-rs/tui/src/chatwidget.rs | 4 + codex-rs/tui/src/chatwidget/constructor.rs | 1 + codex-rs/tui/src/chatwidget/session_flow.rs | 1 + codex-rs/tui/src/chatwidget/settings.rs | 1 + ...status_command_estimated_thread_usage.snap | 10 + ...nd_estimated_thread_usage_without_usd.snap | 10 + .../tui/src/chatwidget/status_controls.rs | 12 +- .../chatwidget/tests/status_command_tests.rs | 417 ++++++++++++++++++ codex-rs/tui/src/chatwidget/thread_usage.rs | 135 ++++++ .../tui/src/chatwidget/tokens/chart_tests.rs | 1 + codex-rs/tui/src/chatwidget/tokens_tests.rs | 1 + codex-rs/tui/src/insert_history.rs | 70 +-- codex-rs/tui/src/status/card.rs | 28 +- codex-rs/tui/src/status/mod.rs | 1 + codex-rs/tui/src/status/thread_usage.rs | 336 ++++++++++++++ codex-rs/tui/src/status/thread_usage_tests.rs | 70 +++ codex-rs/tui/src/test_backend.rs | 10 +- codex-rs/tui/src/tui.rs | 1 + codex-rs/tui/src/tui/history_tail.rs | 89 ++++ codex-rs/tui/src/tui/history_tail_tests.rs | 144 ++++++ 55 files changed, 2903 insertions(+), 60 deletions(-) create mode 100644 codex-rs/app-server-protocol/schema/json/v2/NullableGetAccountTokenUsageParams.json create mode 100644 codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageParams.ts create mode 100644 codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsage.ts create mode 100644 codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsageBreakdownGroup.ts create mode 100644 codex-rs/app-server-protocol/src/protocol/v2/thread_usage.rs create mode 100644 codex-rs/app-server/tests/suite/v2/account_thread_usage.rs create mode 100644 codex-rs/tui/src/app/tests/thread_usage.rs create mode 100644 codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage.snap create mode 100644 codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage_without_usd.snap create mode 100644 codex-rs/tui/src/chatwidget/thread_usage.rs create mode 100644 codex-rs/tui/src/status/thread_usage.rs create mode 100644 codex-rs/tui/src/status/thread_usage_tests.rs create mode 100644 codex-rs/tui/src/tui/history_tail.rs create mode 100644 codex-rs/tui/src/tui/history_tail_tests.rs diff --git a/codex-rs/app-server-protocol/schema/json/ClientRequest.json b/codex-rs/app-server-protocol/schema/json/ClientRequest.json index f9907887a4..42df7b0557 100644 --- a/codex-rs/app-server-protocol/schema/json/ClientRequest.json +++ b/codex-rs/app-server-protocol/schema/json/ClientRequest.json @@ -1503,6 +1503,18 @@ }, "type": "object" }, + "GetAccountTokenUsageParams": { + "properties": { + "threadId": { + "description": "When present, read estimated usage for this thread instead of account-wide token activity.", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, "HookMigration": { "properties": { "name": { @@ -7262,7 +7274,14 @@ "type": "string" }, "params": { - "type": "null" + "anyOf": [ + { + "$ref": "#/definitions/GetAccountTokenUsageParams" + }, + { + "type": "null" + } + ] } }, "required": [ diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json index 7303eba621..cc51aece19 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json @@ -2062,7 +2062,14 @@ "type": "string" }, "params": { - "type": "null" + "anyOf": [ + { + "$ref": "#/definitions/v2/GetAccountTokenUsageParams" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -11377,6 +11384,18 @@ "title": "GetAccountResponse", "type": "object" }, + "GetAccountTokenUsageParams": { + "properties": { + "threadId": { + "description": "When present, read estimated usage for this thread instead of account-wide token activity.", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, "GetAccountTokenUsageResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { @@ -11391,6 +11410,18 @@ }, "summary": { "$ref": "#/definitions/v2/AccountTokenUsageSummary" + }, + "threadUsage": { + "anyOf": [ + { + "$ref": "#/definitions/v2/ThreadUsage" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Estimated usage when a thread was requested and its billing route is available." } }, "required": [ @@ -14253,6 +14284,18 @@ ], "type": "string" }, + "NullableGetAccountTokenUsageParams": { + "$schema": "http://json-schema.org/draft-07/schema#", + "anyOf": [ + { + "$ref": "#/definitions/v2/GetAccountTokenUsageParams" + }, + { + "type": "null" + } + ], + "title": "Nullable_GetAccountTokenUsageParams" + }, "OverriddenMetadata": { "properties": { "effectiveValue": true, @@ -21817,6 +21860,101 @@ ], "type": "string" }, + "ThreadUsage": { + "properties": { + "estimatedUsageCreditsMicros": { + "format": "int64", + "type": "integer" + }, + "estimatedUsageUsdMicros": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "groups": { + "items": { + "$ref": "#/definitions/v2/ThreadUsageBreakdownGroup" + }, + "type": "array" + }, + "threadId": { + "type": "string" + } + }, + "required": [ + "estimatedUsageCreditsMicros", + "groups", + "threadId" + ], + "type": "object" + }, + "ThreadUsageBreakdownGroup": { + "properties": { + "cachedInputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "estimatedUsageCreditsMicros": { + "format": "int64", + "type": "integer" + }, + "inputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "model": { + "type": [ + "string", + "null" + ] + }, + "netNewInputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "outputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "reasoningEffort": { + "type": [ + "string", + "null" + ] + }, + "speed": { + "type": [ + "string", + "null" + ] + }, + "totalTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "estimatedUsageCreditsMicros" + ], + "type": "object" + }, "TokenUsageBreakdown": { "properties": { "cacheWriteInputTokens": { diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json index 29ccdf0dd8..49b9eaeae9 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json @@ -3252,7 +3252,14 @@ "type": "string" }, "params": { - "type": "null" + "anyOf": [ + { + "$ref": "#/definitions/GetAccountTokenUsageParams" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -7646,6 +7653,18 @@ "title": "GetAccountResponse", "type": "object" }, + "GetAccountTokenUsageParams": { + "properties": { + "threadId": { + "description": "When present, read estimated usage for this thread instead of account-wide token activity.", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, "GetAccountTokenUsageResponse": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { @@ -7660,6 +7679,18 @@ }, "summary": { "$ref": "#/definitions/AccountTokenUsageSummary" + }, + "threadUsage": { + "anyOf": [ + { + "$ref": "#/definitions/ThreadUsage" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Estimated usage when a thread was requested and its billing route is available." } }, "required": [ @@ -10583,6 +10614,18 @@ ], "type": "string" }, + "NullableGetAccountTokenUsageParams": { + "$schema": "http://json-schema.org/draft-07/schema#", + "anyOf": [ + { + "$ref": "#/definitions/GetAccountTokenUsageParams" + }, + { + "type": "null" + } + ], + "title": "Nullable_GetAccountTokenUsageParams" + }, "OverriddenMetadata": { "properties": { "effectiveValue": true, @@ -19569,6 +19612,101 @@ ], "type": "string" }, + "ThreadUsage": { + "properties": { + "estimatedUsageCreditsMicros": { + "format": "int64", + "type": "integer" + }, + "estimatedUsageUsdMicros": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "groups": { + "items": { + "$ref": "#/definitions/ThreadUsageBreakdownGroup" + }, + "type": "array" + }, + "threadId": { + "type": "string" + } + }, + "required": [ + "estimatedUsageCreditsMicros", + "groups", + "threadId" + ], + "type": "object" + }, + "ThreadUsageBreakdownGroup": { + "properties": { + "cachedInputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "estimatedUsageCreditsMicros": { + "format": "int64", + "type": "integer" + }, + "inputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "model": { + "type": [ + "string", + "null" + ] + }, + "netNewInputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "outputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "reasoningEffort": { + "type": [ + "string", + "null" + ] + }, + "speed": { + "type": [ + "string", + "null" + ] + }, + "totalTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "estimatedUsageCreditsMicros" + ], + "type": "object" + }, "TokenUsageBreakdown": { "properties": { "cacheWriteInputTokens": { diff --git a/codex-rs/app-server-protocol/schema/json/v2/GetAccountTokenUsageResponse.json b/codex-rs/app-server-protocol/schema/json/v2/GetAccountTokenUsageResponse.json index 557a297ce1..a7e85aa8b4 100644 --- a/codex-rs/app-server-protocol/schema/json/v2/GetAccountTokenUsageResponse.json +++ b/codex-rs/app-server-protocol/schema/json/v2/GetAccountTokenUsageResponse.json @@ -56,6 +56,101 @@ } }, "type": "object" + }, + "ThreadUsage": { + "properties": { + "estimatedUsageCreditsMicros": { + "format": "int64", + "type": "integer" + }, + "estimatedUsageUsdMicros": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "groups": { + "items": { + "$ref": "#/definitions/ThreadUsageBreakdownGroup" + }, + "type": "array" + }, + "threadId": { + "type": "string" + } + }, + "required": [ + "estimatedUsageCreditsMicros", + "groups", + "threadId" + ], + "type": "object" + }, + "ThreadUsageBreakdownGroup": { + "properties": { + "cachedInputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "estimatedUsageCreditsMicros": { + "format": "int64", + "type": "integer" + }, + "inputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "model": { + "type": [ + "string", + "null" + ] + }, + "netNewInputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "outputTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + }, + "reasoningEffort": { + "type": [ + "string", + "null" + ] + }, + "speed": { + "type": [ + "string", + "null" + ] + }, + "totalTokens": { + "format": "int64", + "type": [ + "integer", + "null" + ] + } + }, + "required": [ + "estimatedUsageCreditsMicros" + ], + "type": "object" } }, "properties": { @@ -70,6 +165,18 @@ }, "summary": { "$ref": "#/definitions/AccountTokenUsageSummary" + }, + "threadUsage": { + "anyOf": [ + { + "$ref": "#/definitions/ThreadUsage" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Estimated usage when a thread was requested and its billing route is available." } }, "required": [ diff --git a/codex-rs/app-server-protocol/schema/json/v2/NullableGetAccountTokenUsageParams.json b/codex-rs/app-server-protocol/schema/json/v2/NullableGetAccountTokenUsageParams.json new file mode 100644 index 0000000000..b06af5fe52 --- /dev/null +++ b/codex-rs/app-server-protocol/schema/json/v2/NullableGetAccountTokenUsageParams.json @@ -0,0 +1,26 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "anyOf": [ + { + "$ref": "#/definitions/GetAccountTokenUsageParams" + }, + { + "type": "null" + } + ], + "definitions": { + "GetAccountTokenUsageParams": { + "properties": { + "threadId": { + "description": "When present, read estimated usage for this thread instead of account-wide token activity.", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + } + }, + "title": "Nullable_GetAccountTokenUsageParams" +} \ No newline at end of file diff --git a/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-experimental.json.zst b/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-experimental.json.zst index 12a055d2e4ce24ebd0234fa2dc54b726151387d7..2a1084e87dc9d42239511f7a075cd383b6126ebd 100644 GIT binary patch literal 134260 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

8)*x>?@4b$(&aW-qj2AT1dq?pe98opjB~IzQ&V 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

;mOl&2JMp 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 literal 133750 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 Kuk`@R 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 z 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%0A+oK7@{++q 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�hQACRdJJ(3Fj01W#O<%^u3*zPNB2jU2tTYMPeb}=#jlLx5aAjElwR}^%6xiF8i zh1QLstGyUp0Mow})c;n#b?Ml|7$aNM*zDSaN#)UEE zQNAE4jqH^j{`_ZP{1MtM2l!Xt_Uca2+-X;GtqF|mt>y3{Y@qN`QX?vUm+Q3Ae#4rj z6rU9lC&7$S3Rj$9|@oQIVVsX#QY}pjoV4t;+P>ZUHR-V2 z7%f2L;6J97b)zt&Ag=-oXz{3v<^-U>L7(29l1>&tuo;%IFru5RxwsZi9H7=Iut3ik zi-r}j-lJw>$T4qSV8>*?l=TY?lbE-lG*2Xt9!HjJ2?t(S$qrLsVoElf{SKdGU2n#{ zNp=-~yHb+veQ?Vwc}Ud_21T-Uc%b$Z4+!9k*dx38IW1|M3qgDb6K%8!-v&zhqhcQt zW`9FXlTeKZpUCEc8zo`C&H@M_GeM%MGiy)DvXkYZJHVN?KFIoNkl0GyK^2+>*(Djn zL6C(kI&2Qe63_FGfNXIu5&^QUp@3dU2mi50#T3IIi}+#Nj#W48WBYtKBq(N$qU^Y5 z?2M0nQOVLh_BI(Ko$(Aq)s6CcdU>qxEAxEIc-;ti?7bD{>mA#niD`hvRDI_h7w5eo z+xtP}>>tQ^mFZXOu=Nx00sER*G0sMlmgs6X1C!4`_V>-Sn= z1{+W{2t^ey4kS;4`lH=!$^*9bfkfy(2y+O<=9@vnDw*-6{#YN2Fr+sS<{|LwuvieJ zx3x+UED@D#pHXg8)Y?x7(Ntn})c$iMF)-P8;%t_PiLGJ74BgR)%#?USDDN7%4mYkv zWn|G{q(4TOj+cOhb;z_sCj!*BbhO{R>N*@tSk-lMz_v~jpDw?9^)vX-s}TCy zBFz21^~E>*n?4qG4gWjmmm?g7ex%}O7yh^prK>ZE_qLf2U>knxsD-0##~#gvbrmRn z8~WN4LDgz-Q;KtXIyHRDG0QL7EqSN{`q(i$nF4iY|4DI!VF`drZ|oa6WQE}r!#TEp zb8Oc<*EYv2G-T><#JUE>A>ZuV)+f`FCQTO~ZEF)VhP>HUZ4xHiicC)kWI-(DF@)-e z?0c0yOjB4!HCrQHEh5a;WP>6=g6Z)EBaROn81nNkpVF|DloKru|EwQb!vXlW6R=yZ zWM4;aog9A&Vc*S)wFLuP3)G8*L`Rno#BKjMvB6b%OX72!TQ{gV zTMe-RYtjlqHUS3uC`9Y*aZo?rq4d z1+prkOe#UnK3}b`LZ~bg0)UgGug)z4V7_V}&T-i#&I+8xN+}yfuM#zrEG#Ss#4@Oo zV4sr5fAN0>#wZNckLW)_)7kmrR4~ygkHAL5+s6mbu~+Xv53a~1xFW6}rLdG+$LO6~ z*=o0+_BXkR$a|(*NHm$95{1It-9geVzxX2YR^(P`mPEGVa$65jn;<-&P+Bx zp4@;nHXm`yC(HQ})O}hH5OP)m=9ICIvdFT|T$lmX+C|(Tm=75QqZ69AtMzY7o8=sC z7@Ex2_c7eHL}hU#^3@Rw0-VPHa)=ulfNujpOOazHqRB5!YuRV60Su_qVOSIw1On7G zR1P~NZTv`xRSJ>_7J%*LY+bk*?=7_=X*RP9~*|GgvW+b zFyGlZ*{Pj12%78`55E5V_beU$?N>VC-x=GVulf9qC#U z!jAx*$L2h6?#4X@^UE>9eH6itSip)=fK|g-cvM0fJ>s_sDu@oPkFzv?GuaD74axoR zAQnRn$SNB`2a5oCcFc1HEamyJ=|tMx0Fp#Ucexh=#feDfD!jn3@J~nua(C zL0Wp2ViXr)b;-XIj3U#J9@Bs~rXek+L8a(?`U}$#KbVF&U4D-Ln~oVsXfRG7884GU z$FejSyq)6rLkd;VcmL`wfzbM`U=WUfg(ew>&4h=8Q-cQVSx^?cb`p!3IMTrLG-;6r z+lqvOG!i37!~2gl$<8Kt{thfe^VXn@%QKx=MOO+P_r-gyXPEB^H5%kF?P-FMO!!9| zMXYNl;%0=;h4d>7dDA<=EgE=-rO*1|@|{K}Oj9}mn6vZ+?1i3T@Xe8EkiqnmNk`7F zB;}Q!#C#i!!nUKrDFhXkYoPccKLpRr8M56Jg@!Dq1P6cfK?CG@_aF*f+Okg$rJy0z z#+^VT!C+&46Jrdx3H@Ag@d(4caq5s^wfvn4H2>C86`R;~SqW#m@co_TbqS1<&rpE8 z1AGR=nc_V|uq@+ark)}Ak0OGeVa*Z(H~{-Y1tH7I-YS#F z0xDmy$V_dD=m>#oz&^ha9P*u_TRVQ^xmG}k#>;0fl zc=_W%x~4HVM{7U;Ch!3fb9!m1%%}F2aQ2p(bhl-;TPif3L_+9$cW7KY?+Io@qh-gj zQg53#X1EgG9{Va4b_*HF?K+;@34YmZN%n&$N737USt>3M!Xd99Jj0`P6PGVPK@UZ1 zMO+?10P-?>FZNV02d27o-lDA-=6E|55jgG0thq^@^XWWj%q@%8g0S1tcg7rAiRDJm z#U;yAYwOvcmdCIwY%FrybBR+>u{nDF7 zSO6e984L6@s1IF932Rzi(kIj(0?^tR8o3`60ekf@IRS>u;nHp`%Hkc~4iR$@oj4B7 zB}v$(Y%vfS$M!DY$F0&V!5jb`jj0TS`N5=Nz!Ai8oLV47lpI#(|fmx|83~9B!3?OfT3A2mP!&Q9n2+%P1rFBMy@C zy5uMCfE#8}I8g%0U;N%B%Bn(K3{m1>At2{m9O5QBM6n#IzY${I;Sk-UOrye;;02{@ zgrY4d4Lh=8TZ1GY1!esGwihVJUwyoJXVXrt;2@#^b0E*4hnB+BP{cx6(xT=pEciR*18qkxEs)M8U#Vr$%BZ9Zg6yzaqGTnigIDiW+;QQZq zk_}x<#M=4`-P?RcB;^QZ&6T!+q4ZB0^awl#;ej40%nL4X9%Z;g*SkbP%iMG#a1MJq zoShbnUPd=UNre6;B#&kBA!VS|JnXM`7$qPDmQ!r+diJMQo_6|sh_XgzGVBfCq z_>q+Dg-QPAtW6o%@4oTJz`wJIkNE<3V9N^=ivEAX`)|w$?gC%%v$$5k_Hsu#e&!hkLNo6!3u63k)QbWci^t<1 zi4^xD@Pn?;AEUKL^3i*YGd8$QGm@8~ShBzVRuMr)^6$jy9|5QyF}Q`O>^-Gub~&rx zh*YIt02OVC&gX%1(qotNAG{9mJP2Q0=@Va50i~=R0fB_PUb3G`@N^|gPQQ=w?=|n< z^+rdz74QPB4fP*8ykMQ=?|e(auY3cAC?UE}EqK--_m>%0H!9zAKW>7Q*HY>4d%r7j zn0SZ&EvT*Am(LwU#cm$#kh*ZrOGXnOu37O9{+x7NaSpUhSZillTa_N-hnF>b{iZpESBMGP&TtvILZ8=fPc!|GD?!43Z*nI>7r8ftan z6m5~WI6yi9&a6QM!}aQ+NQG-;3b=oUW4gBC7oY16Tf47AhuTnK$f#X(sf(r+J{C)gPYd=Z9&-I0*RsVdMFqwb>SaV#zb<>n#PD z2=VgYvlxFxV1ch5ufR z3PoCBaz^Kv<)`eWmOI=e_vTJA1c#{qNB)rC&q|#-evkN2sb%*=#df9kJ@tr1$V>$r z`ySl|VIPieWTzD4Jc4jeU+0xH-(iPsYGb~?vz=hBe9u9YQ@%63DM@f+h;3u|{kJ56 zjp6&GF%)OOtCQCn_C)PV{iAg_&(Fr7_sT6;{Trnk-!)w*PVvz~aTgN*)aPVR9i+vU zUYiS9*zLIQBcIj1CvJtw9BZAGR{g40h~-nY(y4!HUe&!NOY4!vEYGGj_PEV{u3{;a z;tdNnOSya)p+#Hjd!;|!3lQj%LCHu&+ctsS3!PLq?HHvoCl))F#$ z;+WMZ)qE5U$JDeq>=3Wu^^88A|PXZ?TqxR#WLBljC z8$_CG(AdI~aMv8@1XTfgPVS3)wlhuW;={w3_sMC=)wZtaRI7AEE88gd`_2&V$y&xKoP|hLdk_FbSNQ1b#kO{e0&=a#5^RIG z==RS_(mBX|Gqq~=32;+wsK#su#;AjEi%^qRX}>dZ0|J5$O>dM*JETcER4lS92*zA^ zTKNURIyf3EZxC0>_=lMV3Iur8JFPV!LL=%tda%1 z1eA|nrbJNd*aLb+9;WWZ_jOZLnSnmY?aB4iD9Z!aSMFDd%M~9tQhx`i-ki>E_~JOn z2zv)X01^#+3d{d1*bdb}nm^vyR}OS~3J%7A4!BI&kTuST2QZq}0T%f!x*!9h&;Ia= zP~+djYHyBjt2#2sGS*TCXYO~al?yO6)GhSLg%aF!y#Sn1bX8Mt-*+NEj}pE5zAVs; zOI>I?qjx%f2Qwd>jzL#x(XOIBR|gaoSjztOc9-K=h+ThEo`o*w;JrDn?XLR8;PzGq zMQ**oMrTA+#WqkpRK3XnS9th~hjP_b9PcYFnvD)DF{Okh34qETJt|vL34on@R9b< zx#7+cJsFm>Z?Peu{EJ{xp2ZAzNf|MPjsQ!wskt!d_|G2`)~ZF63)+$<9zU8LFW>m^ z=XaCfpFUwpIKRcx4GI|M6J+Vyptk;Vrq}U(`hiKmx~0#`qiK+Z*tEJRRu_xs7)!*M zKi$y@h|Pawe6yxTG2Pr8sHWVv`H7w%AY9~EHOR7O)xg1aP+)GuxkZ(u?~4pbER-d@ zhrqFiX#|#O9)zbL;I3=DYHfb*>lHmq1SFQDDjIA+|6%HVJX#}Cy73DcYa5hS*N79LR>E)S3kT$X zFPkVAzTmKztX6P&LDXQv7pAxRkRT;Zq;e(OB?t0dw7>?FQS(q8 ziJ8p_tUQp1PW=((Ajq@7GAsZ`l=Cl;=UyJ5&FJ6L2dp^rNis+IL4~`YUb-`93Y;$@nI}+@(_~%=uBKqFL z3m@Y1sdNG?{iV(V5@CX`fVg-jKozwhZ0LOBA0$y1#AZRf-t{_H3&H~bMkcx7iVdDc zvw}xEJj#oCLBsM`1%$uk7T6%S@;us70W6P=0_Q(rv$y~XK}--QSRd*qt?bPV;A{{R zB(D-EU#aqwuH!v{^8fxD$#VQnz2CQh!YAy;?b2So>FUH1^=qmJUL9kOf!q@FXC-DU zC1$VeEbh}!ah>y8G8h`>&UWZIx*E70$k=IcG&w})P-Kg_GYH9m|uQbPJ zrtN~2sst+`Ehr&r^UsPa4;dr;vPl-6Ik)~^S=DE5;zi?gE5IKLaL^dc3L^&dVI{7B zqY%)%RgHw`(|z=m>qeY7(ofy(0eTw|wy__>G(s+C02d)oci<7O zfb8j+uGHaH>bg8KjnAYhb>~v*FsBHiMX7TPrLLcqK`%Y2OLkH>SgpEA9R&MVL!qnB z^+%>}fPc;Jk-Fc&nJ-wpl6-o=<9AgE_u^R9k2)E$d?k%zImOVob=0ZpsEfA-2|?M7 zI^gYIUP?T>Fk=<=64xao6qi*{}T}AHY^|PpxT>~%tj;qX4)KNocn*mWa zpQt1H0*z_*_`soFQ$~2}8Hw+Hf;Eqi?jWWEfMo`Y{esu>)`&mL0$b)CtvL0tIes?I?lf zNRw8M%guI{f37YgWcr(n2>9!@^>*zqaeT-bBE$fZ+bhB`mxI8v7-FIj5fUTwb9e0* z;Rah3tc4SDq+xf6fbJ+!jrw>1j7Vh%CZi-X0Rq8HZjX)NAh!fJH=t7gQ`&UP)Q{oH z?-}*pXL}GX{a1A`17?qPH0a(;=089)#*K9>uYoigpl|4E)Eu{|R>(Rd*u@SM$?+K= zbN)~hA)G+&Q08g;KVK)3?(8kwA)UUAM6gCR2Z-Q-55Zy{f;An20UUyn9c>zdWm&IB z6@n`if(OYFl3@{2;Q$Ii^}q9k0wEY40T~X-&k#Bc1gE@KA0OUdAoCl8?E8ULOv2xJ zae;YpL3weS7o?3B=lpmhU1s2eb=}ZAf33>g&Y7&G#=y~_Yh5w$u9G+;2A;c%mkk5E z-X~YHVCUL_2d2uLmBpq4bie>oMG+B@eT3wu*r}cuHr}=fa`%Y=SB&QTP4o5E$+qhB zP3^~zFRV1{^Ysgthz@SZae==%$Jq?O@_E2vbzH~>Qc2m}Ba zOi(tKNQA+7oXB`T1Yp2{fq{YnfC>Nv0}cQK0to;F0DS@gI2afp004ji3;+ax#ehIM z_>|jy0_iaLZurp?W?OHrKvkIFCn;1SerU|5=rdY9vKTl_PG)@y3D_S~Q1&X~+I0uq z$IrQC8}dAEu|^mWEF^J2-sTtj=y}FI$|w7f-er~{`@9LZf9wNxFs5DD*{ra$n6R?| zZkz1|7VP|!;sLQl%YnL3BD~i*xYG4H$CRt_*>w(Bc4$j1QF%yQM7F;sk^R~W;jS9^ zm(KKQ;~~t+LHbsWgU{o)CBn=7F#W{GojCAasD73qAF z-wpBXlW)>GJq1R}d>a1*{|o|xMzueNvv9~0UQ%O4DafB{k^?`$$3SA^KPlPSUV;s0 zZ4KutYB*nMI5#w$i8Gu5Gn_*i&IcLJWejK5h~bQc;atFQzP@lyUN{r$!WrShxoqM5 zN~|oLb=;^ng#A+qIz^Gf+0tX0gL|WSCQnz)p+R<@%G$X7pUb|iAG(2)-mhp;ZJd5C zlxL@|tMBGD0>g^lLDcq#2K-&Hi!XumJ9`|$o(>(91#W{(2DdSz+yaZ4Uk#u0nqppb zJlrHadXQh9M|g%BBLWxr$_WHRY8X;Cq3-H~2g3)?gZTlha zom)u9TjFgWByOl6L$A_WDr6s?K7NbR562EXyDuQxz!Tqg6z~NerME1D;`t8ZHPs8C z+7uf$riUyLu{6$5hJ!3rlZO0S(XgR&R>MaAnGGA6GnUi1VMCZ_K63||s(j#ka#+c6 z6(vFFR=fB&nzS2z*gzz2>h%-p!mZe__tFhtIJ;776@AvgLu`2LJW{dQ8Df3KA9=){ zQGNKZAle>@S{A2C*2qvi)L%$Qh% z*u#;6)=&oN%co#x5mOyCUaGU9r8+lOssp4{r$~ECs>6J>Xb)BaTgtMvl!f?x=sE63 zd}s9hqC?3pWTy1oF#H>&XC^*6R8I7K=@*RD=$Q){K&fVWCaTQQiGiu-H;&G$nqy1n{Ef+CX(kgZlqs_WzZJNpbP*`?6NL zfyl858vRB80x2pP0!;i-DYvw1p+WLYZXm`t@e|eLVG(fK+TSMtwMWNnRJ6Ri6nutm z>TjiLcRT375V;u{10nSXUNh`6$)T*xh&Od;o3`$4pE77Rb3G=5G^2;l4W%8MK4qOR zdL1lJ>0Mj8l*u#pPBCBj}y zz~le#@kMId*MR}kkOJH9ahCqwDb*vh{CkiWqrCt%s-ZO?P2e@(&3G>Nb`~7SAH2Ix z-NnoGXZH8VoMUEW-}~h$h0HL1f(~P`Cp|^KQeo;<4Zb26^kw4o6^~42vDj(GU^jOK zpIW8f9x_bE%Oo+tbdG`T7RUz!0|mt+XJ(rn!fi^X`L_ynh6aYRP+MX7y$y&{`|&&f zHTd#Zm@I0vxR)N7RaxJ=r3SWi|nW$umV#303t({7_k~eBYNE^%j@Z{3F;m^ zf(jR2&$_C+a1sOm?^YKC7)TI-LV5cn-kjdcsyMu=Yo3w@Gyo6TPh;MU+E!QCOjlSy zyaaFS|6B#H(Hh5@AXB@%9Pf}1Ez3RQvcicOksIiu&PCx8s!b8jOQ2iViWnIvFyKxP zELXq#6l}OlqV*CL!9??+b>4(19cv5&b1O7j;)^hI4o%^eY%pb}FkH<$72RqmKskn3 zhH3nD_e=yQHuQKC-hZiE)>YGHBnUd0IFt-4lE#3*Ek*EMjluH}QTC@)D37|;7~FY6 z?ePW9X4^xYY|t)S(G$ZIzoUhSvFU<^UigPhM;jN{h6Js}WTir~(PQ?2Fh;5u&&{%k z#VOGhS_K3sgLsS+=N`5i6pse^01X)%i^0uW{oZ)}^1FTuRg|ym_bccA%VSoAUmtl^ zr?2BcO6bF^ah{bZ56dNi=@{t!MR*h^rhmU-AUB0ytgkOZ)xPlU{w`b)zf(1|>Prnc zhh}X3sXJRK_g%c;CjfRFjlSXwyWPth344+4QM$o^!)JxLCuw%!dbiL^D1}j|k+wPL<5NfFu(<$`tpT2(OFkj;Q4yB(6%H zvEy?c;;^s|>a+tMWT?(TMpG#=h;5n>Lt+Q51@Nn<(6^VXpj8S~(W0meVuA&~Rg16iNO1+56xi)o$_AlV?bqM)vWgmB!sOYFBq+QQeahd1wqz4m^R*AOI~OXm;df1jBcyF ztj9@_kiqb>9t417;0x&tIlrUHqPY@Z2@3Wi?YA&h9bWB1y-lV_QripEUC4;c7^6H9`?HLRk(0+`1Q` zxE7)Kicro-5en=?C~b*Q(1=hvL?~w;LWvHckPV?A^Ps3AO-Mi06DWB}F@Dkwisc&p z_lz2a1(kU9*5b)@nwaDyhUQ(BDa_ zNa=9Rl|;uyCTht!>r3!bc$8xf`ZtJ%u3O|omwIC>CVi~c~+!< z@1Aoos!Vn{Q~@pljf);ijw8X0BXPx%FvO8SlFovSeQO-wNL+6uzR9#3iFjcE3Tn@D z*bk2-4+5jD$KhDOd+cbSoPIC+^NHjiXA@R~St3ojVePaCnPIT>mQ;M$!NYds{NXh1U?PfHRo$_816NqHpGdI;HgzGs`U^sMHvc z)QMazAh~7Hn(k5O*1(O-Fa|qNTYoEh@v)6uR^{_Q zJ!Px?a;A7R*AgHQn@HifHGMca%`ZUS7D`X$UG#6+9JCryma z&kiLHB2NR%C`9u=Lkp}xxONwTsw;WO#tMkQNF&QZ-i{-_`vwcS<;A~Lb=Yy)j+<18 zZTy9zogJ4?G?)6=K$hz|QQUb0=9Z-30NPbQ{1P!}V(UkDGZ<`D43tgx!D()wkb$ih+kBUubRftj

s=Bi#TA= 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ψZE!9{T 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

k?})00*QcX!@p%P6fUk-VnCzu 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 AbpQYW diff --git a/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts b/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts index d746912e7e..dffd07fbf9 100644 --- a/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts +++ b/codex-rs/app-server-protocol/schema/typescript/ClientRequest.ts @@ -35,6 +35,7 @@ import type { FsUnwatchParams } from "./v2/FsUnwatchParams"; import type { FsWatchParams } from "./v2/FsWatchParams"; import type { FsWriteFileParams } from "./v2/FsWriteFileParams"; import type { GetAccountParams } from "./v2/GetAccountParams"; +import type { GetAccountTokenUsageParams } from "./v2/GetAccountTokenUsageParams"; import type { HooksListParams } from "./v2/HooksListParams"; import type { ListMcpServerStatusParams } from "./v2/ListMcpServerStatusParams"; import type { LoginAccountParams } from "./v2/LoginAccountParams"; @@ -96,4 +97,4 @@ import type { WindowsSandboxSetupStartParams } from "./v2/WindowsSandboxSetupSta /** * Request from the client to the server. */ -export type ClientRequest ={ "method": "initialize", id: RequestId, params: InitializeParams, } | { "method": "thread/start", id: RequestId, params: ThreadStartParams, } | { "method": "thread/resume", id: RequestId, params: ThreadResumeParams, } | { "method": "thread/fork", id: RequestId, params: ThreadForkParams, } | { "method": "thread/archive", id: RequestId, params: ThreadArchiveParams, } | { "method": "thread/delete", id: RequestId, params: ThreadDeleteParams, } | { "method": "thread/unsubscribe", id: RequestId, params: ThreadUnsubscribeParams, } | { "method": "thread/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/goal/set", id: RequestId, params: ThreadGoalSetParams, } | { "method": "thread/goal/get", id: RequestId, params: ThreadGoalGetParams, } | { "method": "thread/goal/clear", id: RequestId, params: ThreadGoalClearParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "method": "thread/section/move", id: RequestId, params: ThreadSectionMoveParams, } | { "method": "thread/unarchive", id: RequestId, params: ThreadUnarchiveParams, } | { "method": "thread/compact/start", id: RequestId, params: ThreadCompactStartParams, } | { "method": "thread/shellCommand", id: RequestId, params: ThreadShellCommandParams, } | { "method": "thread/approveGuardianDeniedAction", id: RequestId, params: ThreadApproveGuardianDeniedActionParams, } | { "method": "thread/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "method": "threadSection/list", id: RequestId, params: ThreadSectionListParams, } | { "method": "threadSection/create", id: RequestId, params: ThreadSectionCreateParams, } | { "method": "threadSection/update", id: RequestId, params: ThreadSectionUpdateParams, } | { "method": "threadSection/delete", id: RequestId, params: ThreadSectionDeleteParams, } | { "method": "thread/loaded/list", id: RequestId, params: ThreadLoadedListParams, } | { "method": "thread/read", id: RequestId, params: ThreadReadParams, } | { "method": "thread/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "method": "skills/extraRoots/set", id: RequestId, params: SkillsExtraRootsSetParams, } | { "method": "hooks/list", id: RequestId, params: HooksListParams, } | { "method": "marketplace/add", id: RequestId, params: MarketplaceAddParams, } | { "method": "marketplace/remove", id: RequestId, params: MarketplaceRemoveParams, } | { "method": "marketplace/upgrade", id: RequestId, params: MarketplaceUpgradeParams, } | { "method": "plugin/list", id: RequestId, params: PluginListParams, } | { "method": "plugin/installed", id: RequestId, params: PluginInstalledParams, } | { "method": "plugin/read", id: RequestId, params: PluginReadParams, } | { "method": "plugin/skill/read", id: RequestId, params: PluginSkillReadParams, } | { "method": "plugin/share/save", id: RequestId, params: PluginShareSaveParams, } | { "method": "plugin/share/updateTargets", id: RequestId, params: PluginShareUpdateTargetsParams, } | { "method": "plugin/share/list", id: RequestId, params: PluginShareListParams, } | { "method": "plugin/share/checkout", id: RequestId, params: PluginShareCheckoutParams, } | { "method": "plugin/share/delete", id: RequestId, params: PluginShareDeleteParams, } | { "method": "app/read", id: RequestId, params: AppsReadParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "app/installed", id: RequestId, params: AppsInstalledParams, } | { "method": "fs/readFile", id: RequestId, params: FsReadFileParams, } | { "method": "fs/writeFile", id: RequestId, params: FsWriteFileParams, } | { "method": "fs/createDirectory", id: RequestId, params: FsCreateDirectoryParams, } | { "method": "fs/getMetadata", id: RequestId, params: FsGetMetadataParams, } | { "method": "fs/readDirectory", id: RequestId, params: FsReadDirectoryParams, } | { "method": "fs/remove", id: RequestId, params: FsRemoveParams, } | { "method": "fs/copy", id: RequestId, params: FsCopyParams, } | { "method": "fs/watch", id: RequestId, params: FsWatchParams, } | { "method": "fs/unwatch", id: RequestId, params: FsUnwatchParams, } | { "method": "skills/config/write", id: RequestId, params: SkillsConfigWriteParams, } | { "method": "plugin/install", id: RequestId, params: PluginInstallParams, } | { "method": "plugin/uninstall", id: RequestId, params: PluginUninstallParams, } | { "method": "turn/start", id: RequestId, params: TurnStartParams, } | { "method": "turn/steer", id: RequestId, params: TurnSteerParams, } | { "method": "turn/interrupt", id: RequestId, params: TurnInterruptParams, } | { "method": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "modelProvider/capabilities/read", id: RequestId, params: ModelProviderCapabilitiesReadParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "permissionProfile/list", id: RequestId, params: PermissionProfileListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "method": "mcpServer/oauth/login", id: RequestId, params: McpServerOauthLoginParams, } | { "method": "config/mcpServer/reload", id: RequestId, params: undefined, } | { "method": "mcpServerStatus/list", id: RequestId, params: ListMcpServerStatusParams, } | { "method": "mcpServer/resource/read", id: RequestId, params: McpResourceReadParams, } | { "method": "mcpServer/tool/call", id: RequestId, params: McpServerToolCallParams, } | { "method": "windowsSandbox/setupStart", id: RequestId, params: WindowsSandboxSetupStartParams, } | { "method": "windowsSandbox/readiness", id: RequestId, params: undefined, } | { "method": "account/login/start", id: RequestId, params: LoginAccountParams, } | { "method": "account/login/cancel", id: RequestId, params: CancelLoginAccountParams, } | { "method": "account/logout", id: RequestId, params: undefined, } | { "method": "account/rateLimits/read", id: RequestId, params: undefined, } | { "method": "account/rateLimitResetCredit/consume", id: RequestId, params: ConsumeAccountRateLimitResetCreditParams, } | { "method": "account/usage/read", id: RequestId, params: undefined, } | { "method": "account/workspaceMessages/read", id: RequestId, params: undefined, } | { "method": "account/sendAddCreditsNudgeEmail", id: RequestId, params: SendAddCreditsNudgeEmailParams, } | { "method": "feedback/upload", id: RequestId, params: FeedbackUploadParams, } | { "method": "command/exec", id: RequestId, params: CommandExecParams, } | { "method": "command/exec/write", id: RequestId, params: CommandExecWriteParams, } | { "method": "command/exec/terminate", id: RequestId, params: CommandExecTerminateParams, } | { "method": "command/exec/resize", id: RequestId, params: CommandExecResizeParams, } | { "method": "config/read", id: RequestId, params: ConfigReadParams, } | { "method": "externalAgentConfig/detect", id: RequestId, params: ExternalAgentConfigDetectParams, } | { "method": "externalAgentConfig/import", id: RequestId, params: ExternalAgentConfigImportParams, } | { "method": "externalAgentConfig/import/recordHistory", id: RequestId, params: ExternalAgentConfigImportHistoryRecordParams, } | { "method": "externalAgentConfig/import/readHistories", id: RequestId, params: undefined, } | { "method": "config/value/write", id: RequestId, params: ConfigValueWriteParams, } | { "method": "config/batchWrite", id: RequestId, params: ConfigBatchWriteParams, } | { "method": "configRequirements/read", id: RequestId, params: undefined, } | { "method": "account/read", id: RequestId, params: GetAccountParams, } | { "method": "getConversationSummary", id: RequestId, params: GetConversationSummaryParams, } | { "method": "gitDiffToRemote", id: RequestId, params: GitDiffToRemoteParams, } | { "method": "getAuthStatus", id: RequestId, params: GetAuthStatusParams, } | { "method": "fuzzyFileSearch", id: RequestId, params: FuzzyFileSearchParams, }; +export type ClientRequest ={ "method": "initialize", id: RequestId, params: InitializeParams, } | { "method": "thread/start", id: RequestId, params: ThreadStartParams, } | { "method": "thread/resume", id: RequestId, params: ThreadResumeParams, } | { "method": "thread/fork", id: RequestId, params: ThreadForkParams, } | { "method": "thread/archive", id: RequestId, params: ThreadArchiveParams, } | { "method": "thread/delete", id: RequestId, params: ThreadDeleteParams, } | { "method": "thread/unsubscribe", id: RequestId, params: ThreadUnsubscribeParams, } | { "method": "thread/name/set", id: RequestId, params: ThreadSetNameParams, } | { "method": "thread/goal/set", id: RequestId, params: ThreadGoalSetParams, } | { "method": "thread/goal/get", id: RequestId, params: ThreadGoalGetParams, } | { "method": "thread/goal/clear", id: RequestId, params: ThreadGoalClearParams, } | { "method": "thread/metadata/update", id: RequestId, params: ThreadMetadataUpdateParams, } | { "method": "thread/section/move", id: RequestId, params: ThreadSectionMoveParams, } | { "method": "thread/unarchive", id: RequestId, params: ThreadUnarchiveParams, } | { "method": "thread/compact/start", id: RequestId, params: ThreadCompactStartParams, } | { "method": "thread/shellCommand", id: RequestId, params: ThreadShellCommandParams, } | { "method": "thread/approveGuardianDeniedAction", id: RequestId, params: ThreadApproveGuardianDeniedActionParams, } | { "method": "thread/rollback", id: RequestId, params: ThreadRollbackParams, } | { "method": "thread/list", id: RequestId, params: ThreadListParams, } | { "method": "threadSection/list", id: RequestId, params: ThreadSectionListParams, } | { "method": "threadSection/create", id: RequestId, params: ThreadSectionCreateParams, } | { "method": "threadSection/update", id: RequestId, params: ThreadSectionUpdateParams, } | { "method": "threadSection/delete", id: RequestId, params: ThreadSectionDeleteParams, } | { "method": "thread/loaded/list", id: RequestId, params: ThreadLoadedListParams, } | { "method": "thread/read", id: RequestId, params: ThreadReadParams, } | { "method": "thread/inject_items", id: RequestId, params: ThreadInjectItemsParams, } | { "method": "skills/list", id: RequestId, params: SkillsListParams, } | { "method": "skills/extraRoots/set", id: RequestId, params: SkillsExtraRootsSetParams, } | { "method": "hooks/list", id: RequestId, params: HooksListParams, } | { "method": "marketplace/add", id: RequestId, params: MarketplaceAddParams, } | { "method": "marketplace/remove", id: RequestId, params: MarketplaceRemoveParams, } | { "method": "marketplace/upgrade", id: RequestId, params: MarketplaceUpgradeParams, } | { "method": "plugin/list", id: RequestId, params: PluginListParams, } | { "method": "plugin/installed", id: RequestId, params: PluginInstalledParams, } | { "method": "plugin/read", id: RequestId, params: PluginReadParams, } | { "method": "plugin/skill/read", id: RequestId, params: PluginSkillReadParams, } | { "method": "plugin/share/save", id: RequestId, params: PluginShareSaveParams, } | { "method": "plugin/share/updateTargets", id: RequestId, params: PluginShareUpdateTargetsParams, } | { "method": "plugin/share/list", id: RequestId, params: PluginShareListParams, } | { "method": "plugin/share/checkout", id: RequestId, params: PluginShareCheckoutParams, } | { "method": "plugin/share/delete", id: RequestId, params: PluginShareDeleteParams, } | { "method": "app/read", id: RequestId, params: AppsReadParams, } | { "method": "app/list", id: RequestId, params: AppsListParams, } | { "method": "app/installed", id: RequestId, params: AppsInstalledParams, } | { "method": "fs/readFile", id: RequestId, params: FsReadFileParams, } | { "method": "fs/writeFile", id: RequestId, params: FsWriteFileParams, } | { "method": "fs/createDirectory", id: RequestId, params: FsCreateDirectoryParams, } | { "method": "fs/getMetadata", id: RequestId, params: FsGetMetadataParams, } | { "method": "fs/readDirectory", id: RequestId, params: FsReadDirectoryParams, } | { "method": "fs/remove", id: RequestId, params: FsRemoveParams, } | { "method": "fs/copy", id: RequestId, params: FsCopyParams, } | { "method": "fs/watch", id: RequestId, params: FsWatchParams, } | { "method": "fs/unwatch", id: RequestId, params: FsUnwatchParams, } | { "method": "skills/config/write", id: RequestId, params: SkillsConfigWriteParams, } | { "method": "plugin/install", id: RequestId, params: PluginInstallParams, } | { "method": "plugin/uninstall", id: RequestId, params: PluginUninstallParams, } | { "method": "turn/start", id: RequestId, params: TurnStartParams, } | { "method": "turn/steer", id: RequestId, params: TurnSteerParams, } | { "method": "turn/interrupt", id: RequestId, params: TurnInterruptParams, } | { "method": "review/start", id: RequestId, params: ReviewStartParams, } | { "method": "model/list", id: RequestId, params: ModelListParams, } | { "method": "modelProvider/capabilities/read", id: RequestId, params: ModelProviderCapabilitiesReadParams, } | { "method": "experimentalFeature/list", id: RequestId, params: ExperimentalFeatureListParams, } | { "method": "permissionProfile/list", id: RequestId, params: PermissionProfileListParams, } | { "method": "experimentalFeature/enablement/set", id: RequestId, params: ExperimentalFeatureEnablementSetParams, } | { "method": "mcpServer/oauth/login", id: RequestId, params: McpServerOauthLoginParams, } | { "method": "config/mcpServer/reload", id: RequestId, params: undefined, } | { "method": "mcpServerStatus/list", id: RequestId, params: ListMcpServerStatusParams, } | { "method": "mcpServer/resource/read", id: RequestId, params: McpResourceReadParams, } | { "method": "mcpServer/tool/call", id: RequestId, params: McpServerToolCallParams, } | { "method": "windowsSandbox/setupStart", id: RequestId, params: WindowsSandboxSetupStartParams, } | { "method": "windowsSandbox/readiness", id: RequestId, params: undefined, } | { "method": "account/login/start", id: RequestId, params: LoginAccountParams, } | { "method": "account/login/cancel", id: RequestId, params: CancelLoginAccountParams, } | { "method": "account/logout", id: RequestId, params: undefined, } | { "method": "account/rateLimits/read", id: RequestId, params: undefined, } | { "method": "account/rateLimitResetCredit/consume", id: RequestId, params: ConsumeAccountRateLimitResetCreditParams, } | { "method": "account/usage/read", id: RequestId, params?: GetAccountTokenUsageParams | undefined, } | { "method": "account/workspaceMessages/read", id: RequestId, params: undefined, } | { "method": "account/sendAddCreditsNudgeEmail", id: RequestId, params: SendAddCreditsNudgeEmailParams, } | { "method": "feedback/upload", id: RequestId, params: FeedbackUploadParams, } | { "method": "command/exec", id: RequestId, params: CommandExecParams, } | { "method": "command/exec/write", id: RequestId, params: CommandExecWriteParams, } | { "method": "command/exec/terminate", id: RequestId, params: CommandExecTerminateParams, } | { "method": "command/exec/resize", id: RequestId, params: CommandExecResizeParams, } | { "method": "config/read", id: RequestId, params: ConfigReadParams, } | { "method": "externalAgentConfig/detect", id: RequestId, params: ExternalAgentConfigDetectParams, } | { "method": "externalAgentConfig/import", id: RequestId, params: ExternalAgentConfigImportParams, } | { "method": "externalAgentConfig/import/recordHistory", id: RequestId, params: ExternalAgentConfigImportHistoryRecordParams, } | { "method": "externalAgentConfig/import/readHistories", id: RequestId, params: undefined, } | { "method": "config/value/write", id: RequestId, params: ConfigValueWriteParams, } | { "method": "config/batchWrite", id: RequestId, params: ConfigBatchWriteParams, } | { "method": "configRequirements/read", id: RequestId, params: undefined, } | { "method": "account/read", id: RequestId, params: GetAccountParams, } | { "method": "getConversationSummary", id: RequestId, params: GetConversationSummaryParams, } | { "method": "gitDiffToRemote", id: RequestId, params: GitDiffToRemoteParams, } | { "method": "getAuthStatus", id: RequestId, params: GetAuthStatusParams, } | { "method": "fuzzyFileSearch", id: RequestId, params: FuzzyFileSearchParams, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageParams.ts b/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageParams.ts new file mode 100644 index 0000000000..62e27ba4fd --- /dev/null +++ b/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageParams.ts @@ -0,0 +1,9 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type GetAccountTokenUsageParams = { +/** + * When present, read estimated usage for this thread instead of account-wide token activity. + */ +threadId?: string | null, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageResponse.ts b/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageResponse.ts index 175c915272..f7b5f24a22 100644 --- a/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageResponse.ts +++ b/codex-rs/app-server-protocol/schema/typescript/v2/GetAccountTokenUsageResponse.ts @@ -3,5 +3,10 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { AccountTokenUsageDailyBucket } from "./AccountTokenUsageDailyBucket"; import type { AccountTokenUsageSummary } from "./AccountTokenUsageSummary"; +import type { ThreadUsage } from "./ThreadUsage"; -export type GetAccountTokenUsageResponse = { summary: AccountTokenUsageSummary, dailyUsageBuckets: Array | null, }; +export type GetAccountTokenUsageResponse = { summary: AccountTokenUsageSummary, dailyUsageBuckets: Array | null, +/** + * Estimated usage when a thread was requested and its billing route is available. + */ +threadUsage?: ThreadUsage | null, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsage.ts b/codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsage.ts new file mode 100644 index 0000000000..1fcf444131 --- /dev/null +++ b/codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsage.ts @@ -0,0 +1,6 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { ThreadUsageBreakdownGroup } from "./ThreadUsageBreakdownGroup"; + +export type ThreadUsage = { threadId: string, estimatedUsageCreditsMicros: bigint, estimatedUsageUsdMicros: bigint | null, groups: Array, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsageBreakdownGroup.ts b/codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsageBreakdownGroup.ts new file mode 100644 index 0000000000..e1e959367a --- /dev/null +++ b/codex-rs/app-server-protocol/schema/typescript/v2/ThreadUsageBreakdownGroup.ts @@ -0,0 +1,5 @@ +// GENERATED CODE! DO NOT MODIFY BY HAND! + +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type ThreadUsageBreakdownGroup = { model: string | null, reasoningEffort: string | null, speed: string | null, estimatedUsageCreditsMicros: bigint, netNewInputTokens: bigint | null, cachedInputTokens: bigint | null, inputTokens: bigint | null, outputTokens: bigint | null, totalTokens: bigint | null, }; diff --git a/codex-rs/app-server-protocol/schema/typescript/v2/index.ts b/codex-rs/app-server-protocol/schema/typescript/v2/index.ts index b56a2df9c3..017c21615b 100644 --- a/codex-rs/app-server-protocol/schema/typescript/v2/index.ts +++ b/codex-rs/app-server-protocol/schema/typescript/v2/index.ts @@ -175,6 +175,7 @@ export type { FsWriteFileResponse } from "./FsWriteFileResponse"; export type { GetAccountParams } from "./GetAccountParams"; export type { GetAccountRateLimitsResponse } from "./GetAccountRateLimitsResponse"; export type { GetAccountResponse } from "./GetAccountResponse"; +export type { GetAccountTokenUsageParams } from "./GetAccountTokenUsageParams"; export type { GetAccountTokenUsageResponse } from "./GetAccountTokenUsageResponse"; export type { GetWorkspaceMessagesResponse } from "./GetWorkspaceMessagesResponse"; export type { GitInfo } from "./GitInfo"; @@ -516,6 +517,8 @@ export type { ThreadUnarchivedNotification } from "./ThreadUnarchivedNotificatio export type { ThreadUnsubscribeParams } from "./ThreadUnsubscribeParams"; export type { ThreadUnsubscribeResponse } from "./ThreadUnsubscribeResponse"; export type { ThreadUnsubscribeStatus } from "./ThreadUnsubscribeStatus"; +export type { ThreadUsage } from "./ThreadUsage"; +export type { ThreadUsageBreakdownGroup } from "./ThreadUsageBreakdownGroup"; export type { TokenUsageBreakdown } from "./TokenUsageBreakdown"; export type { ToolRequestUserInputAnswer } from "./ToolRequestUserInputAnswer"; export type { ToolRequestUserInputOption } from "./ToolRequestUserInputOption"; diff --git a/codex-rs/app-server-protocol/src/export.rs b/codex-rs/app-server-protocol/src/export.rs index 0889eb82b1..a31f183563 100644 --- a/codex-rs/app-server-protocol/src/export.rs +++ b/codex-rs/app-server-protocol/src/export.rs @@ -2145,6 +2145,17 @@ mod tests { client_request_ts.contains("MockExperimentalMethodParams"), false ); + const LEGACY_ACCOUNT_USAGE_REQUEST: &str = concat!( + "{ \"method\": \"account/usage/read\", id: RequestId, ", + "params?: GetAccountTokenUsageParams | undefined, }" + ); + assert!(client_request_ts.contains(LEGACY_ACCOUNT_USAGE_REQUEST)); + let account_usage_response_ts = std::str::from_utf8( + fixture_tree + .get(Path::new("v2/GetAccountTokenUsageResponse.ts")) + .ok_or_else(|| anyhow::anyhow!("missing account usage response fixture"))?, + )?; + assert!(account_usage_response_ts.contains("threadUsage?: ThreadUsage | null")); let server_request_ts = std::str::from_utf8( fixture_tree .get(Path::new("ServerRequest.ts")) @@ -2217,7 +2228,12 @@ mod tests { }); let contents = std::str::from_utf8(contents)?; - if contents.contains("| undefined") { + // The stable usage RPC originally required `params: undefined`. Keep that exact + // legacy value accepted while extending the same method with optional thread params. + let legacy_account_usage_undefined = path == Path::new("ClientRequest.ts") + && contents.matches("| undefined").count() == 1 + && contents.contains(LEGACY_ACCOUNT_USAGE_REQUEST); + if contents.contains("| undefined") && !legacy_account_usage_undefined { undefined_offenders.push(path.clone()); } @@ -2329,9 +2345,14 @@ mod tests { // If the last non-whitespace before ':' is '?', then this is an // optional field with a nullable type (i.e., "?: T | null"). - // These are only allowed in *Params types. + // These are only allowed in *Params types, except the additive stable usage + // response field, which older servers omit and newer servers return as null. + let legacy_account_usage_response = path + == Path::new("v2/GetAccountTokenUsageResponse.ts") + && field_prefix.trim() == "threadUsage?"; if field_prefix.chars().rev().find(|c| !c.is_whitespace()) == Some('?') && !allow_optional_nullable + && !legacy_account_usage_response { let line_number = contents[..abs_idx].chars().filter(|c| *c == '\n').count() + 1; diff --git a/codex-rs/app-server-protocol/src/protocol/common.rs b/codex-rs/app-server-protocol/src/protocol/common.rs index ae5c737899..6d0866a863 100644 --- a/codex-rs/app-server-protocol/src/protocol/common.rs +++ b/codex-rs/app-server-protocol/src/protocol/common.rs @@ -471,6 +471,19 @@ macro_rules! client_response_payload_from_impl { ($variant:ident, $response:ty, manual) => {}; } +/// Preserve explicit `undefined` accepted by the original stable usage request. +/// +/// A Rust-based TypeScript proxy retains dependency discovery; a raw `#[ts(type = ...)]` +/// override would silently omit the generated params import and schema fixture. +#[allow(dead_code)] +#[derive(TS)] +#[ts(untagged)] +enum GetAccountTokenUsageParamsTypeScript { + Params(v2::GetAccountTokenUsageParams), + #[ts(type = "undefined")] + Undefined, +} + client_request_definitions! { Initialize => "initialize" { params: v1::InitializeParams, @@ -1095,7 +1108,7 @@ client_request_definitions! { }, GetAccountTokenUsage => "account/usage/read" { - params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>, + params: #[ts(optional, as = "Option", inline)] #[serde(default, skip_serializing_if = "Option::is_none")] v2::NullableGetAccountTokenUsageParams, serialization: None, response: v2::GetAccountTokenUsageResponse, }, @@ -2850,6 +2863,56 @@ mod tests { Ok(()) } + #[test] + fn serialize_get_account_thread_usage() -> Result<()> { + let request = ClientRequest::GetAccountTokenUsage { + request_id: RequestId::Integer(1), + params: Some(v2::GetAccountTokenUsageParams { + thread_id: Some("thread-123".to_string()), + }), + }; + assert_eq!( + json!({ + "method": "account/usage/read", + "id": 1, + "params": { "threadId": "thread-123" }, + }), + serde_json::to_value(&request)?, + ); + Ok(()) + } + + #[test] + fn deserialize_legacy_get_account_token_usage_response() -> Result<()> { + let response: v2::GetAccountTokenUsageResponse = serde_json::from_value(json!({ + "summary": { + "lifetimeTokens": null, + "peakDailyTokens": null, + "longestRunningTurnSec": null, + "currentStreakDays": null, + "longestStreakDays": null, + }, + "dailyUsageBuckets": null, + }))?; + + assert_eq!( + response, + v2::GetAccountTokenUsageResponse { + summary: v2::AccountTokenUsageSummary { + lifetime_tokens: None, + peak_daily_tokens: None, + longest_running_turn_sec: None, + current_streak_days: None, + longest_streak_days: None, + }, + daily_usage_buckets: None, + thread_usage: None, + }, + ); + assert_eq!(serde_json::to_value(response)?["threadUsage"], json!(null)); + Ok(()) + } + #[test] fn serialize_get_workspace_messages() -> Result<()> { let request = ClientRequest::GetWorkspaceMessages { diff --git a/codex-rs/app-server-protocol/src/protocol/v2/account.rs b/codex-rs/app-server-protocol/src/protocol/v2/account.rs index bee574e520..d42abf1de5 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/account.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/account.rs @@ -1,3 +1,4 @@ +use super::ThreadUsage; use crate::JsonSchema; use crate::TS; use crate::protocol::common::AuthMode; @@ -383,12 +384,27 @@ pub enum ConsumeAccountRateLimitResetCreditOutcome { AlreadyRedeemed, } +#[derive(Serialize, Deserialize, Debug, Clone, Default, PartialEq, Eq, JsonSchema, TS)] +#[serde(rename_all = "camelCase")] +#[ts(export_to = "v2/")] +pub struct GetAccountTokenUsageParams { + /// When present, read estimated usage for this thread instead of account-wide token activity. + #[ts(optional = nullable)] + pub thread_id: Option, +} + +pub type NullableGetAccountTokenUsageParams = Option; + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub struct GetAccountTokenUsageResponse { pub summary: AccountTokenUsageSummary, pub daily_usage_buckets: Option>, + /// Estimated usage when a thread was requested and its billing route is available. + #[serde(default)] + #[ts(optional, as = "Option>")] + pub thread_usage: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] diff --git a/codex-rs/app-server-protocol/src/protocol/v2/mod.rs b/codex-rs/app-server-protocol/src/protocol/v2/mod.rs index 1b2ee6cd15..58383789d8 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/mod.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/mod.rs @@ -26,6 +26,7 @@ mod remote_control; mod review; mod thread; mod thread_data; +mod thread_usage; mod turn; mod windows_sandbox; @@ -56,6 +57,7 @@ pub use review::*; pub use shared::*; pub use thread::*; pub use thread_data::*; +pub use thread_usage::*; pub use turn::*; pub use windows_sandbox::*; diff --git a/codex-rs/app-server-protocol/src/protocol/v2/thread_usage.rs b/codex-rs/app-server-protocol/src/protocol/v2/thread_usage.rs new file mode 100644 index 0000000000..249cfa969b --- /dev/null +++ b/codex-rs/app-server-protocol/src/protocol/v2/thread_usage.rs @@ -0,0 +1,29 @@ +use crate::JsonSchema; +use crate::TS; +use serde::Deserialize; +use serde::Serialize; + +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] +#[serde(rename_all = "camelCase")] +#[ts(export_to = "v2/")] +pub struct ThreadUsage { + pub thread_id: String, + pub estimated_usage_credits_micros: i64, + pub estimated_usage_usd_micros: Option, + pub groups: Vec, +} + +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] +#[serde(rename_all = "camelCase")] +#[ts(export_to = "v2/")] +pub struct ThreadUsageBreakdownGroup { + pub model: Option, + pub reasoning_effort: Option, + pub speed: Option, + pub estimated_usage_credits_micros: i64, + pub net_new_input_tokens: Option, + pub cached_input_tokens: Option, + pub input_tokens: Option, + pub output_tokens: Option, + pub total_tokens: Option, +} diff --git a/codex-rs/app-server/README.md b/codex-rs/app-server/README.md index d3467a581c..8135a5cad1 100644 --- a/codex-rs/app-server/README.md +++ b/codex-rs/app-server/README.md @@ -2211,7 +2211,7 @@ Codex supports these authentication modes. The current mode is surfaced in `acco - `account/updated` (notify) — emitted whenever auth mode changes (`authMode`: `apikey`, `bedrockApiKey`, `chatgpt`, `personalAccessToken`, or `null`) and includes the current ChatGPT `planType` when available. - `account/rateLimits/read` — fetch ChatGPT rate limits, an optional effective monthly credit limit, whether spend control has been reached, and the earned rate-limit resets currently available, including expiry details when provided by the backend. Rate-limit updates arrive via `account/rateLimits/updated` (notify); reset-credit data is snapshot-only. - `account/rateLimitResetCredit/consume` — consume one earned reset using a caller-provided idempotency key, optionally selecting a reset-credit ID returned by `account/rateLimits/read`. -- `account/usage/read` — fetch ChatGPT account token-activity summary and daily buckets. +- `account/usage/read` — fetch ChatGPT account token-activity summary and daily buckets, or pass a valid thread UUID as `threadId` to read estimated credits, optional cost, and usage breakdowns for one thread using the app-server's active account. The optional `threadUsage` response field is absent on older servers and `null` when the billing route is unavailable. - `account/workspaceMessages/read` — fetch active workspace messages, including workspace notification headlines when available. - `account/rateLimits/updated` (notify) — emitted whenever a user's ChatGPT rate limits change. This is a sparse rolling update; merge available values into the most recent `account/rateLimits/read` response or refetch that snapshot. `spendControlReached` is `true` or `false` when the backend reports spend-control state; `null` means unavailable and must not clear a previously observed value in a sparse update. diff --git a/codex-rs/app-server/src/message_processor.rs b/codex-rs/app-server/src/message_processor.rs index 4933ba0363..a9e57a3e3e 100644 --- a/codex-rs/app-server/src/message_processor.rs +++ b/codex-rs/app-server/src/message_processor.rs @@ -1409,8 +1409,8 @@ impl MessageProcessor { .consume_account_rate_limit_reset_credit(params) .await } - ClientRequest::GetAccountTokenUsage { .. } => { - self.account_processor.get_account_token_usage().await + ClientRequest::GetAccountTokenUsage { params, .. } => { + self.account_processor.get_account_token_usage(params).await } ClientRequest::GetWorkspaceMessages { .. } => { self.account_processor.get_workspace_messages().await diff --git a/codex-rs/app-server/src/request_processors.rs b/codex-rs/app-server/src/request_processors.rs index 20037bfe60..f269679803 100644 --- a/codex-rs/app-server/src/request_processors.rs +++ b/codex-rs/app-server/src/request_processors.rs @@ -80,6 +80,7 @@ use codex_app_server_protocol::FeedbackUploadResponse; use codex_app_server_protocol::GetAccountParams; use codex_app_server_protocol::GetAccountRateLimitsResponse; use codex_app_server_protocol::GetAccountResponse; +use codex_app_server_protocol::GetAccountTokenUsageParams; use codex_app_server_protocol::GetAccountTokenUsageResponse; use codex_app_server_protocol::GetAuthStatusParams; use codex_app_server_protocol::GetAuthStatusResponse; diff --git a/codex-rs/app-server/src/request_processors/account_processor.rs b/codex-rs/app-server/src/request_processors/account_processor.rs index 1f3d45a545..3224e57fe0 100644 --- a/codex-rs/app-server/src/request_processors/account_processor.rs +++ b/codex-rs/app-server/src/request_processors/account_processor.rs @@ -13,6 +13,7 @@ mod rate_limit_resets; // Duration before a browser ChatGPT login attempt is abandoned. const LOGIN_CHATGPT_TIMEOUT: Duration = Duration::from_secs(10 * 60); const ACCOUNT_TOKEN_USAGE_FETCH_TIMEOUT: Duration = Duration::from_secs(/*secs*/ 10); +const THREAD_USAGE_FETCH_TIMEOUT: Duration = Duration::from_secs(/*secs*/ 60); const ACCOUNT_WORKSPACE_MESSAGES_FETCH_TIMEOUT: Duration = Duration::from_millis(/*millis*/ 1000); // Login overrides are intentionally available only in debug builds. @@ -148,8 +149,9 @@ impl AccountRequestProcessor { pub(crate) async fn get_account_token_usage( &self, + params: Option, ) -> Result, JSONRPCErrorError> { - self.get_account_token_usage_response() + self.get_account_token_usage_response(params) .await .map(|response| Some(response.into())) } @@ -1123,7 +1125,16 @@ impl AccountRequestProcessor { async fn get_account_token_usage_response( &self, + params: Option, ) -> Result { + let thread_id = params + .and_then(|params| params.thread_id) + .map(|thread_id| { + ThreadId::from_string(&thread_id) + .map_err(|err| invalid_request(format!("invalid thread id: {err}"))) + }) + .transpose()?; + let Some(auth) = self.auth_manager.auth().await else { return Err(invalid_request( "codex account authentication required to read token usage", @@ -1141,6 +1152,61 @@ impl AccountRequestProcessor { &auth, self.config.http_client_factory(), ); + if let Some(thread_id) = thread_id { + let thread_id = thread_id.to_string(); + let usage = tokio::time::timeout( + THREAD_USAGE_FETCH_TIMEOUT, + client.get_thread_usage(&thread_id), + ) + .await + .map_err(|_| internal_error("thread usage fetch timed out"))?; + let thread_usage = match usage { + Ok(usage) => Some(codex_app_server_protocol::ThreadUsage { + thread_id: usage.thread_id, + estimated_usage_credits_micros: usage.estimated_usage_credits_micros, + estimated_usage_usd_micros: usage.estimated_usage_usd_micros, + groups: usage + .groups + .into_iter() + .map( + |group| codex_app_server_protocol::ThreadUsageBreakdownGroup { + model: group.model, + reasoning_effort: group.reasoning_effort, + speed: group.speed, + estimated_usage_credits_micros: group + .estimated_usage_credits_micros, + net_new_input_tokens: group.net_new_input_tokens, + cached_input_tokens: group.cached_input_tokens, + input_tokens: group.input_tokens, + output_tokens: group.output_tokens, + total_tokens: group.total_tokens, + }, + ) + .collect(), + }), + Err(err) + if matches!(err.status().map(|status| status.as_u16()), Some(403 | 404)) => + { + None + } + Err(err) => { + return Err(internal_error(format!( + "failed to fetch thread usage: {err}" + ))); + } + }; + return Ok(GetAccountTokenUsageResponse { + summary: AccountTokenUsageSummary { + lifetime_tokens: None, + peak_daily_tokens: None, + longest_running_turn_sec: None, + current_streak_days: None, + longest_streak_days: None, + }, + daily_usage_buckets: None, + thread_usage, + }); + } let profile = tokio::time::timeout( ACCOUNT_TOKEN_USAGE_FETCH_TIMEOUT, client.get_token_usage_profile(), @@ -1215,6 +1281,7 @@ impl AccountRequestProcessor { }) .collect() }), + thread_usage: None, } } @@ -1364,6 +1431,7 @@ mod tests { start_date: "2026-05-29".to_string(), tokens: 10, }]), + thread_usage: None, } ); } diff --git a/codex-rs/app-server/tests/suite/v2/account_thread_usage.rs b/codex-rs/app-server/tests/suite/v2/account_thread_usage.rs new file mode 100644 index 0000000000..8fd846e4d4 --- /dev/null +++ b/codex-rs/app-server/tests/suite/v2/account_thread_usage.rs @@ -0,0 +1,262 @@ +use anyhow::Result; +use app_test_support::ChatGptAuthFixture; +use app_test_support::ChatGptIdTokenClaims; +use app_test_support::TestAppServer; +use app_test_support::encode_id_token; +use app_test_support::write_chatgpt_auth; +use codex_app_server_protocol::AccountTokenUsageSummary; +use codex_app_server_protocol::GetAccountTokenUsageResponse; +use codex_app_server_protocol::JSONRPCError; +use codex_app_server_protocol::LoginAccountResponse; +use codex_app_server_protocol::RequestId; +use codex_app_server_protocol::ThreadUsage; +use codex_app_server_protocol::ThreadUsageBreakdownGroup; +use codex_config::types::AuthCredentialsStoreMode; +use pretty_assertions::assert_eq; +use serde_json::json; +use tempfile::TempDir; +use tokio::time::timeout; +use wiremock::Mock; +use wiremock::MockServer; +use wiremock::ResponseTemplate; +use wiremock::matchers::body_json; +use wiremock::matchers::header; +use wiremock::matchers::method; +use wiremock::matchers::path; + +const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(/*secs*/ 30); + +#[tokio::test] +async fn account_thread_usage_uses_active_workspace_and_canonical_thread_ids() -> Result<()> { + let thread_id = "019fc8ab-1fb2-7000-8000-000000000123"; + let codex_home = TempDir::new()?; + let server = MockServer::start().await; + std::fs::write( + codex_home.path().join("config.toml"), + format!("chatgpt_base_url = \"{}\"\n", server.uri()), + )?; + write_chatgpt_auth( + codex_home.path(), + ChatGptAuthFixture::new("active-token").account_id("active-workspace"), + AuthCredentialsStoreMode::File, + )?; + + let mut app_server = TestAppServer::builder() + .with_codex_home(codex_home.path()) + .with_env_overrides(&[("OPENAI_API_KEY", None)]) + .build_initialized_with_timeout(DEFAULT_READ_TIMEOUT) + .await?; + write_chatgpt_auth( + codex_home.path(), + ChatGptAuthFixture::new("different-token").account_id("different-workspace"), + AuthCredentialsStoreMode::File, + )?; + + Mock::given(method("POST")) + .and(path("/api/codex/usage/thread_usage/query")) + .and(header("authorization", "Bearer active-token")) + .and(header("chatgpt-account-id", "active-workspace")) + .and(body_json(json!({ "thread_ids": [thread_id] }))) + .respond_with(ResponseTemplate::new(/*s*/ 200).set_body_json(json!({ + "threads": [{ + "thread_id": thread_id, + "estimated_usage_credits_micros": 46_000_000, + "estimated_usage_usd_micros": null, + "groups": [{ + "model": "gpt-5.4", + "reasoning_effort": "high", + "speed": "fast", + "estimated_usage_credits_micros": 46_000_000, + "net_new_input_tokens": 80, + "cached_input_tokens": 20, + "input_tokens": 100, + "output_tokens": 40, + "total_tokens": 140 + }] + }] + }))) + .expect(/*r*/ 1) + .mount(&server) + .await; + + let request_id = app_server + .send_raw_request( + "account/usage/read", + Some(json!({ "threadId": "019FC8AB-1FB2-7000-8000-000000000123" })), + ) + .await?; + let response: GetAccountTokenUsageResponse = + timeout(DEFAULT_READ_TIMEOUT, app_server.read_response(request_id)).await??; + + assert_eq!( + response, + GetAccountTokenUsageResponse { + summary: AccountTokenUsageSummary { + lifetime_tokens: None, + peak_daily_tokens: None, + longest_running_turn_sec: None, + current_streak_days: None, + longest_streak_days: None, + }, + daily_usage_buckets: None, + thread_usage: Some(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 46_000_000, + estimated_usage_usd_micros: None, + groups: vec![ThreadUsageBreakdownGroup { + model: Some("gpt-5.4".to_string()), + reasoning_effort: Some("high".to_string()), + speed: Some("fast".to_string()), + estimated_usage_credits_micros: 46_000_000, + net_new_input_tokens: Some(80), + cached_input_tokens: Some(20), + input_tokens: Some(100), + output_tokens: Some(40), + total_tokens: Some(140), + }], + }), + } + ); + Ok(()) +} + +#[tokio::test] +async fn account_thread_usage_supports_externally_managed_authentication() -> Result<()> { + let thread_id = "019fc8ab-1fb2-7000-8000-000000000456"; + let codex_home = TempDir::new()?; + let server = MockServer::start().await; + std::fs::write( + codex_home.path().join("config.toml"), + format!("chatgpt_base_url = \"{}\"\n", server.uri()), + )?; + let access_token = encode_id_token( + &ChatGptIdTokenClaims::new() + .email("external@example.com") + .plan_type("business") + .chatgpt_account_id("external-workspace"), + )?; + let mut app_server = TestAppServer::builder() + .with_codex_home(codex_home.path()) + .with_env_overrides(&[("OPENAI_API_KEY", None)]) + .build_initialized_with_timeout(DEFAULT_READ_TIMEOUT) + .await?; + let login_id = app_server + .send_chatgpt_auth_tokens_login_request( + access_token.clone(), + "external-workspace".to_string(), + Some("business".to_string()), + ) + .await?; + let login: LoginAccountResponse = + timeout(DEFAULT_READ_TIMEOUT, app_server.read_response(login_id)).await??; + assert_eq!(login, LoginAccountResponse::ChatgptAuthTokens {}); + + Mock::given(method("POST")) + .and(path("/api/codex/usage/thread_usage/query")) + .and(header("authorization", format!("Bearer {access_token}"))) + .and(header("chatgpt-account-id", "external-workspace")) + .and(body_json(json!({ "thread_ids": [thread_id] }))) + .respond_with(ResponseTemplate::new(/*s*/ 200).set_body_json(json!({ + "threads": [{ + "thread_id": thread_id, + "estimated_usage_credits_micros": 21_000_000, + "estimated_usage_usd_micros": 840_000 + }] + }))) + .expect(/*r*/ 1) + .mount(&server) + .await; + + let request_id = app_server + .send_raw_request("account/usage/read", Some(json!({ "threadId": thread_id }))) + .await?; + let response: GetAccountTokenUsageResponse = + timeout(DEFAULT_READ_TIMEOUT, app_server.read_response(request_id)).await??; + assert_eq!( + response.thread_usage, + Some(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 21_000_000, + estimated_usage_usd_micros: Some(840_000), + groups: Vec::new(), + }) + ); + Ok(()) +} + +#[tokio::test] +async fn account_thread_usage_hides_unavailable_billing_routes() -> Result<()> { + let thread_id = "019fc8ab-1fb2-7000-8000-000000000789"; + let codex_home = TempDir::new()?; + let server = MockServer::start().await; + std::fs::write( + codex_home.path().join("config.toml"), + format!("chatgpt_base_url = \"{}\"\n", server.uri()), + )?; + write_chatgpt_auth( + codex_home.path(), + ChatGptAuthFixture::new("active-token").account_id("active-workspace"), + AuthCredentialsStoreMode::File, + )?; + Mock::given(method("POST")) + .and(path("/api/codex/usage/thread_usage/query")) + .respond_with(ResponseTemplate::new(/*s*/ 403)) + .expect(/*r*/ 1) + .mount(&server) + .await; + let mut app_server = TestAppServer::builder() + .with_codex_home(codex_home.path()) + .with_env_overrides(&[("OPENAI_API_KEY", None)]) + .build_initialized_with_timeout(DEFAULT_READ_TIMEOUT) + .await?; + + let request_id = app_server + .send_raw_request("account/usage/read", Some(json!({ "threadId": thread_id }))) + .await?; + let response: GetAccountTokenUsageResponse = + timeout(DEFAULT_READ_TIMEOUT, app_server.read_response(request_id)).await??; + assert_eq!(response.thread_usage, None); + Ok(()) +} + +#[tokio::test] +async fn account_thread_usage_rejects_malformed_thread_ids_before_backend_requests() -> Result<()> { + let codex_home = TempDir::new()?; + let server = MockServer::start().await; + std::fs::write( + codex_home.path().join("config.toml"), + format!("chatgpt_base_url = \"{}\"\n", server.uri()), + )?; + write_chatgpt_auth( + codex_home.path(), + ChatGptAuthFixture::new("active-token").account_id("active-workspace"), + AuthCredentialsStoreMode::File, + )?; + Mock::given(method("POST")) + .and(path("/api/codex/usage/thread_usage/query")) + .respond_with(ResponseTemplate::new(/*s*/ 200)) + .expect(/*r*/ 0) + .mount(&server) + .await; + let mut app_server = TestAppServer::builder() + .with_codex_home(codex_home.path()) + .with_env_overrides(&[("OPENAI_API_KEY", None)]) + .build_initialized_with_timeout(DEFAULT_READ_TIMEOUT) + .await?; + + let request_id = app_server + .send_raw_request( + "account/usage/read", + Some(json!({ "threadId": "not-a-thread-id" })), + ) + .await?; + let error: JSONRPCError = timeout( + DEFAULT_READ_TIMEOUT, + app_server.read_stream_until_error_message(RequestId::Integer(request_id)), + ) + .await??; + + assert_eq!(error.error.code, -32600); + assert!(error.error.message.starts_with("invalid thread id:")); + Ok(()) +} diff --git a/codex-rs/app-server/tests/suite/v2/mod.rs b/codex-rs/app-server/tests/suite/v2/mod.rs index a40544cd58..6fa4a33797 100644 --- a/codex-rs/app-server/tests/suite/v2/mod.rs +++ b/codex-rs/app-server/tests/suite/v2/mod.rs @@ -1,4 +1,5 @@ mod account; +mod account_thread_usage; mod analytics; mod app_installed; mod app_list; diff --git a/codex-rs/tui/src/app.rs b/codex-rs/tui/src/app.rs index 72c43cd110..b801d06496 100644 --- a/codex-rs/tui/src/app.rs +++ b/codex-rs/tui/src/app.rs @@ -530,6 +530,9 @@ pub(crate) struct App { pub(crate) file_search: FileSearchManager, pub(crate) transcript_cells: Vec>, + last_rendered_history_tail: Option, + last_thread_usage_status_cell: Option, + pub(crate) pending_thread_usage_history_refresh: bool, // Pager overlay state (Transcript or Static like Diff) pub(crate) overlay: Option, @@ -1056,6 +1059,9 @@ See the Codex keymap documentation for supported actions and examples." keymap: runtime_keymap, key_chord_matcher: KeyChordMatcher::default(), transcript_cells: Vec::new(), + last_rendered_history_tail: None, + last_thread_usage_status_cell: None, + pending_thread_usage_history_refresh: false, overlay: None, deferred_history_lines: Vec::new(), has_emitted_history_lines: false, diff --git a/codex-rs/tui/src/app/app_server_events.rs b/codex-rs/tui/src/app/app_server_events.rs index 72c9de441f..4877db289e 100644 --- a/codex-rs/tui/src/app/app_server_events.rs +++ b/codex-rs/tui/src/app/app_server_events.rs @@ -111,6 +111,10 @@ impl App { return; } ServerNotification::AccountUpdated(notification) => { + // Deferred terminal writes must never carry the previous account's billing into + // the newly authenticated identity, even when both accounts share one thread. + self.last_thread_usage_status_cell = None; + self.pending_thread_usage_history_refresh = false; let has_codex_backend_auth = matches!( notification.auth_mode, Some( diff --git a/codex-rs/tui/src/app/background_requests.rs b/codex-rs/tui/src/app/background_requests.rs index 72a7df5ccf..8b1c39f023 100644 --- a/codex-rs/tui/src/app/background_requests.rs +++ b/codex-rs/tui/src/app/background_requests.rs @@ -8,18 +8,20 @@ use super::plugin_mentions::fetch_plugin_mentions; use super::*; use crate::app_event::ConnectorsSnapshot; use crate::app_info::app_info_from_api; +use crate::chatwidget::ThreadUsageOutcome; use crate::config_update::format_config_error; use codex_app_server_protocol::AppsListParams; use codex_app_server_protocol::AppsListResponse; use codex_app_server_protocol::ConsumeAccountRateLimitResetCreditParams; use codex_app_server_protocol::ConsumeAccountRateLimitResetCreditResponse; +use codex_app_server_protocol::GetAccountTokenUsageParams; +use codex_app_server_protocol::GetAccountTokenUsageResponse; use codex_app_server_protocol::MarketplaceAddParams; use codex_app_server_protocol::MarketplaceAddResponse; use codex_app_server_protocol::MarketplaceRemoveParams; use codex_app_server_protocol::MarketplaceRemoveResponse; use codex_app_server_protocol::MarketplaceUpgradeParams; use codex_app_server_protocol::MarketplaceUpgradeResponse; - use codex_app_server_protocol::RequestId; use crate::hooks_rpc::fetch_hooks_list; @@ -29,6 +31,8 @@ use codex_utils_absolute_path::AbsolutePathBuf; const TOKEN_ACTIVITY_FETCH_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(/*secs*/ 15); +const THREAD_USAGE_FETCH_TIMEOUT: std::time::Duration = + std::time::Duration::from_secs(/*secs*/ 65); const RATE_LIMIT_RESET_REQUEST_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(/*secs*/ 15); const WORKSPACE_HEADLINE_FETCH_TIMEOUT: std::time::Duration = @@ -124,6 +128,30 @@ impl App { }); } + pub(super) fn refresh_thread_usage( + &mut self, + app_server: &AppServerSession, + thread_id: ThreadId, + request_id: u64, + ) { + let request_handle = app_server.request_handle(); + let app_event_tx = self.app_event_tx.clone(); + tokio::spawn(async move { + let result = tokio::time::timeout( + THREAD_USAGE_FETCH_TIMEOUT, + fetch_thread_usage(request_handle, thread_id), + ) + .await + .map_err(|_| "thread usage request timed out in TUI".to_string()) + .and_then(|result| result.map_err(|err| err.to_string())); + app_event_tx.send(AppEvent::ThreadUsageLoaded { + thread_id, + request_id, + result, + }); + }); + } + pub(super) fn consume_rate_limit_reset_credit( &mut self, app_server: &AppServerSession, @@ -783,6 +811,26 @@ pub(super) async fn fetch_account_token_activity( .wrap_err("account/usage/read failed in TUI") } +async fn fetch_thread_usage( + request_handle: AppServerRequestHandle, + thread_id: ThreadId, +) -> Result { + let request_id = RequestId::String(format!("thread-usage-{}", Uuid::new_v4())); + let response: GetAccountTokenUsageResponse = request_handle + .request_typed(ClientRequest::GetAccountTokenUsage { + request_id, + params: Some(GetAccountTokenUsageParams { + thread_id: Some(thread_id.to_string()), + }), + }) + .await + .wrap_err("account/usage/read failed for thread usage in TUI")?; + Ok(response + .thread_usage + .map(ThreadUsageOutcome::Available) + .unwrap_or(ThreadUsageOutcome::Disabled)) +} + pub(super) async fn consume_rate_limit_reset_credit_request( request_handle: AppServerRequestHandle, idempotency_key: String, @@ -1285,11 +1333,79 @@ pub(super) fn mcp_inventory_maps_from_statuses(statuses: Vec) - mod tests { use super::*; use crate::app::test_support::make_test_app; + use app_test_support::ChatGptAuthFixture; + use app_test_support::write_chatgpt_auth; use codex_app_server_protocol::PluginMarketplaceEntry; + use codex_app_server_protocol::ThreadUsage; + use codex_config::types::AuthCredentialsStoreMode; use codex_protocol::mcp::Tool; use codex_utils_absolute_path::AbsolutePathBuf; use pretty_assertions::assert_eq; + #[tokio::test] + async fn fetch_thread_usage_uses_app_server_auth_after_persisted_account_changes() { + let mut app = make_test_app().await; + let server = wiremock::MockServer::start().await; + let thread_id = ThreadId::new(); + app.config.chatgpt_base_url = server.uri(); + app.config.cli_auth_credentials_store_mode = AuthCredentialsStoreMode::File; + write_chatgpt_auth( + app.config.codex_home.as_path(), + ChatGptAuthFixture::new("chatgpt-token").account_id("account-123"), + AuthCredentialsStoreMode::File, + ) + .expect("write ChatGPT authentication"); + let app_server = crate::start_embedded_app_server_for_picker(&app.config) + .await + .expect("start authenticated embedded app server"); + write_chatgpt_auth( + app.config.codex_home.as_path(), + ChatGptAuthFixture::new("different-token").account_id("different-account"), + AuthCredentialsStoreMode::File, + ) + .expect("replace persisted ChatGPT authentication"); + + wiremock::Mock::given(wiremock::matchers::method("POST")) + .and(wiremock::matchers::path( + "/api/codex/usage/thread_usage/query", + )) + .and(wiremock::matchers::header( + "authorization", + "Bearer chatgpt-token", + )) + .and(wiremock::matchers::header( + "chatgpt-account-id", + "account-123", + )) + .and(wiremock::matchers::body_json(serde_json::json!({ + "thread_ids": [thread_id.to_string()] + }))) + .respond_with(wiremock::ResponseTemplate::new(/*s*/ 200).set_body_json( + serde_json::json!({ + "threads": [{ + "thread_id": thread_id.to_string(), + "estimated_usage_credits_micros": 46_000_000, + "estimated_usage_usd_micros": 1_820_000 + }] + }), + )) + .expect(/*r*/ 1) + .mount(&server) + .await; + + assert_eq!( + fetch_thread_usage(app_server.request_handle(), thread_id) + .await + .expect("read thread usage through the authenticated app server"), + ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 46_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: Vec::new(), + }) + ); + } + fn test_absolute_path(path: &str) -> AbsolutePathBuf { AbsolutePathBuf::try_from(PathBuf::from(path)).expect("absolute test path") } diff --git a/codex-rs/tui/src/app/event_dispatch.rs b/codex-rs/tui/src/app/event_dispatch.rs index 49049aeada..ea83ddb4f3 100644 --- a/codex-rs/tui/src/app/event_dispatch.rs +++ b/codex-rs/tui/src/app/event_dispatch.rs @@ -983,6 +983,12 @@ impl App { AppEvent::RefreshTokenActivity { request_id } => { self.refresh_token_activity(app_server, request_id); } + AppEvent::RefreshThreadUsage { + thread_id, + request_id, + } => { + self.refresh_thread_usage(app_server, thread_id, request_id); + } AppEvent::RefreshStatusLineWorkspaceHeadline { request_id } => { self.refresh_status_line_workspace_headline(app_server, request_id); } @@ -1208,6 +1214,13 @@ impl App { self.insert_pending_usage_output_if_ready(tui); } } + AppEvent::ThreadUsageLoaded { + thread_id, + request_id, + result, + } => { + self.finish_thread_usage_refresh(tui, thread_id, request_id, result)?; + } AppEvent::CommitPendingUsageOutput => { self.insert_pending_usage_output_if_ready(tui); } diff --git a/codex-rs/tui/src/app/history_ui.rs b/codex-rs/tui/src/app/history_ui.rs index 7c56bcc5c0..024288de54 100644 --- a/codex-rs/tui/src/app/history_ui.rs +++ b/codex-rs/tui/src/app/history_ui.rs @@ -4,9 +4,22 @@ //! state, and resetting transcript-related app state after `/clear` or Ctrl-L. use super::*; +use crate::terminal_hyperlinks::HyperlinkLine; +use std::sync::Weak; const DESKTOP_THREAD_OPENED_MESSAGE: &str = "Opened this session in the Desktop app."; +pub(super) struct RenderedHistoryTail { + pub(super) cell: Weak, + pub(super) lines: Vec, +} + +pub(super) struct ThreadUsageStatusHistory { + thread_id: ThreadId, + pub(super) cell: Weak, + pub(super) lines: Vec, +} + impl App { pub(super) fn insert_history_cell(&mut self, tui: &mut tui::Tui, cell: Box) { let cell: Arc = cell.into(); @@ -15,26 +28,155 @@ impl App { tui.frame_requester().schedule_frame(); } self.transcript_cells.push(cell.clone()); + let width = self + .chat_widget + .history_wrap_width(tui.terminal.last_known_screen_size.width); + let lines = + cell.display_hyperlink_lines_for_mode(width, self.chat_widget.history_render_mode()); + if cell.as_any().is::() + && lines.first().is_some_and(|line| { + line.line.spans.len() == 1 && line.line.spans[0].content.as_ref() == "/status" + }) + && let Some(thread_id) = self.chat_widget.thread_id() + { + self.last_thread_usage_status_cell = Some(ThreadUsageStatusHistory { + thread_id, + cell: Arc::downgrade(&cell), + lines: lines.clone(), + }); + } if self.initial_history_replay_buffer.as_ref().is_some() { - self.insert_history_cell_lines_with_initial_replay_buffer( - tui, - cell.as_ref(), - self.chat_widget - .history_wrap_width(tui.terminal.last_known_screen_size.width), - ); + self.insert_history_cell_lines_with_initial_replay_buffer(tui, cell.as_ref(), width); + self.last_rendered_history_tail = None; } else { - self.insert_history_cell_lines( - tui, - cell.as_ref(), - self.chat_widget - .history_wrap_width(tui.terminal.last_known_screen_size.width), - ); + self.insert_history_cell_lines(tui, cell.as_ref(), width); + self.last_rendered_history_tail = if self.overlay.is_none() && !lines.is_empty() { + Some(RenderedHistoryTail { + cell: Arc::downgrade(&cell), + lines, + }) + } else { + None + }; } // A committed cell can unblock a settled /usage card that was waiting // behind a transient active cell or a provisional stream tail. self.chat_widget.request_pending_usage_output_insertion(); } + pub(super) fn finish_thread_usage_refresh( + &mut self, + tui: &mut tui::Tui, + thread_id: ThreadId, + request_id: u64, + result: std::result::Result, + ) -> Result<()> { + let may_update_status = match &result { + Ok(crate::chatwidget::ThreadUsageOutcome::Available(usage)) => { + usage.thread_id == thread_id.to_string() + } + Ok(crate::chatwidget::ThreadUsageOutcome::Disabled) => true, + Err(_) => false, + }; + if !self + .chat_widget + .finish_thread_usage_refresh(thread_id, request_id, result) + || !may_update_status + { + return Ok(()); + } + + if self.overlay.is_some() || self.initial_history_replay_buffer.is_some() { + self.pending_thread_usage_history_refresh = true; + return Ok(()); + } + self.refresh_thread_usage_history_tail(tui) + } + + pub(crate) fn refresh_thread_usage_history_tail(&mut self, tui: &mut tui::Tui) -> Result<()> { + let Some(status_history) = self.last_thread_usage_status_cell.as_ref() else { + self.pending_thread_usage_history_refresh = false; + return Ok(()); + }; + if self.chat_widget.thread_id() != Some(status_history.thread_id) { + self.last_thread_usage_status_cell = None; + self.pending_thread_usage_history_refresh = false; + return Ok(()); + } + let Some(status_cell) = status_history.cell.upgrade() else { + self.last_thread_usage_status_cell = None; + self.pending_thread_usage_history_refresh = false; + return Ok(()); + }; + + let width = self + .chat_widget + .history_wrap_width(tui.terminal.last_known_screen_size.width); + let updated_lines = status_cell + .display_hyperlink_lines_for_mode(width, self.chat_widget.history_render_mode()); + if updated_lines == status_history.lines { + self.pending_thread_usage_history_refresh = false; + return Ok(()); + } + let Some(rendered_tail) = self.last_rendered_history_tail.as_ref() else { + self.insert_history_cell_lines(tui, status_cell.as_ref(), width); + self.last_rendered_history_tail = Some(RenderedHistoryTail { + cell: Arc::downgrade(&status_cell), + lines: updated_lines.clone(), + }); + if let Some(status_history) = self.last_thread_usage_status_cell.as_mut() { + status_history.lines = updated_lines; + } + self.pending_thread_usage_history_refresh = false; + return Ok(()); + }; + if !rendered_tail + .cell + .upgrade() + .is_some_and(|cell| Arc::ptr_eq(&cell, &status_cell)) + { + self.insert_history_cell_lines(tui, status_cell.as_ref(), width); + self.last_rendered_history_tail = Some(RenderedHistoryTail { + cell: Arc::downgrade(&status_cell), + lines: updated_lines.clone(), + }); + if let Some(status_history) = self.last_thread_usage_status_cell.as_mut() { + status_history.lines = updated_lines; + } + self.pending_thread_usage_history_refresh = false; + return Ok(()); + } + + let prefix_len = rendered_tail + .lines + .iter() + .zip(&updated_lines) + .take_while(|(previous, updated)| previous == updated) + .count(); + if prefix_len == rendered_tail.lines.len() && prefix_len == updated_lines.len() { + self.pending_thread_usage_history_refresh = false; + return Ok(()); + } + + let wrap_policy = self.history_line_wrap_policy(); + if !tui.replace_visible_history_tail( + &rendered_tail.lines[prefix_len..], + &updated_lines[prefix_len..], + wrap_policy, + )? { + self.insert_history_cell_lines(tui, status_cell.as_ref(), width); + } + self.last_rendered_history_tail = Some(RenderedHistoryTail { + cell: Arc::downgrade(&status_cell), + lines: updated_lines.clone(), + }); + if let Some(status_history) = self.last_thread_usage_status_cell.as_mut() { + status_history.lines = updated_lines; + } + self.pending_thread_usage_history_refresh = false; + Ok(()) + } + pub(super) fn pending_usage_output_insertion_blocked(&self) -> bool { self.chat_widget.usage_history_insertion_blocked() || self @@ -165,6 +307,9 @@ impl App { pub(super) fn reset_transcript_state_after_clear(&mut self) { self.overlay = None; self.transcript_cells.clear(); + self.last_rendered_history_tail = None; + self.last_thread_usage_status_cell = None; + self.pending_thread_usage_history_refresh = false; self.deferred_history_lines.clear(); self.has_emitted_history_lines = false; self.transcript_reflow.clear(); diff --git a/codex-rs/tui/src/app/resize_reflow.rs b/codex-rs/tui/src/app/resize_reflow.rs index 5c9eaea8e9..9de5ebc0c3 100644 --- a/codex-rs/tui/src/app/resize_reflow.rs +++ b/codex-rs/tui/src/app/resize_reflow.rs @@ -81,6 +81,7 @@ impl App { pub(super) fn reset_history_emission_state(&mut self) { self.has_emitted_history_lines = false; self.deferred_history_lines.clear(); + self.last_rendered_history_tail = None; } fn display_lines_for_history_insert( @@ -179,6 +180,11 @@ impl App { retained_lines, self.history_line_wrap_policy(), ); + if self.pending_thread_usage_history_refresh + && let Err(err) = self.refresh_thread_usage_history_tail(tui) + { + tracing::warn!(error = %err, "failed to refresh thread usage after initial replay"); + } self.request_scrollback_history_top_up(retained_rows); } @@ -480,6 +486,25 @@ impl App { self.history_line_wrap_policy(), ); } + self.last_rendered_history_tail = + self.transcript_cells + .last() + .map(|cell| super::history_ui::RenderedHistoryTail { + cell: Arc::downgrade(cell), + lines: cell.display_hyperlink_lines_for_mode( + width, + self.chat_widget.history_render_mode(), + ), + }); + if let Some(status_history) = self.last_thread_usage_status_cell.as_mut() + && let Some(cell) = status_history.cell.upgrade() + { + status_history.lines = cell + .display_hyperlink_lines_for_mode(width, self.chat_widget.history_render_mode()); + } + if self.pending_thread_usage_history_refresh { + self.refresh_thread_usage_history_tail(tui)?; + } self.request_scrollback_history_top_up(reflowed_rows); Ok(terminal_width) diff --git a/codex-rs/tui/src/app/test_support.rs b/codex-rs/tui/src/app/test_support.rs index 9d80356d8b..c61caf53c6 100644 --- a/codex-rs/tui/src/app/test_support.rs +++ b/codex-rs/tui/src/app/test_support.rs @@ -33,6 +33,9 @@ pub(super) async fn make_test_app() -> App { runtime_permission_profile_override: None, file_search, transcript_cells: Vec::new(), + last_rendered_history_tail: None, + last_thread_usage_status_cell: None, + pending_thread_usage_history_refresh: false, overlay: None, deferred_history_lines: Vec::new(), has_emitted_history_lines: false, diff --git a/codex-rs/tui/src/app/tests.rs b/codex-rs/tui/src/app/tests.rs index ca0bed69e8..136127513b 100644 --- a/codex-rs/tui/src/app/tests.rs +++ b/codex-rs/tui/src/app/tests.rs @@ -14,6 +14,8 @@ mod safety_buffering; mod session_lifecycle_requests; mod session_summary; mod startup; +#[path = "tests/thread_usage.rs"] +mod thread_usage; #[path = "tests/turn_submission.rs"] mod turn_submission; @@ -4801,6 +4803,9 @@ async fn make_test_app() -> App { runtime_permission_profile_override: None, file_search, transcript_cells: Vec::new(), + last_rendered_history_tail: None, + last_thread_usage_status_cell: None, + pending_thread_usage_history_refresh: false, overlay: None, deferred_history_lines: Vec::new(), has_emitted_history_lines: false, @@ -4871,6 +4876,9 @@ async fn make_test_app_with_channels() -> ( runtime_permission_profile_override: None, file_search, transcript_cells: Vec::new(), + last_rendered_history_tail: None, + last_thread_usage_status_cell: None, + pending_thread_usage_history_refresh: false, overlay: None, deferred_history_lines: Vec::new(), has_emitted_history_lines: false, diff --git a/codex-rs/tui/src/app/tests/thread_usage.rs b/codex-rs/tui/src/app/tests/thread_usage.rs new file mode 100644 index 0000000000..a3fdbe2770 --- /dev/null +++ b/codex-rs/tui/src/app/tests/thread_usage.rs @@ -0,0 +1,312 @@ +use super::*; +use crate::chatwidget::ThreadUsageOutcome; +use codex_app_server_client::AppServerEvent; +use codex_app_server_protocol::AccountUpdatedNotification; +use codex_app_server_protocol::AuthMode; +use codex_app_server_protocol::ThreadUsage; +use codex_protocol::account::PlanType; +use pretty_assertions::assert_eq; +use ratatui::layout::Rect; +use ratatui::layout::Size; + +async fn app_with_pending_thread_usage() -> Result<(App, AppServerSession, tui::Tui, ThreadId, u64)> +{ + let (mut app, mut app_event_rx, _op_rx) = make_test_app_with_channels().await; + let thread_id = ThreadId::new(); + app.chat_widget.handle_thread_session(test_thread_session( + thread_id, + test_path_buf("/tmp/project"), + )); + app.chat_widget.update_account_state( + /*status_account_display*/ None, + Some(PlanType::Business), + /*has_chatgpt_account*/ false, + /*has_codex_backend_auth*/ true, + ); + while app_event_rx.try_recv().is_ok() {} + let mut app_server = + crate::start_embedded_app_server_for_picker(app.chat_widget.config_ref()).await?; + let mut tui = crate::tui::test_support::make_test_tui()?; + tui.terminal.set_viewport_area(Rect::new( + /*x*/ 0, /*y*/ 21, /*width*/ 80, /*height*/ 3, + )); + + app.chat_widget.add_status_output( + /*refreshing_rate_limits*/ false, /*request_id*/ None, + ); + let initial_status = match app_event_rx.try_recv() { + Ok(event @ AppEvent::InsertHistoryCell(_)) => event, + other => panic!("expected immediate status card, got {other:?}"), + }; + let request_id = match app_event_rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { + thread_id: requested_thread_id, + request_id, + }) if requested_thread_id == thread_id => request_id, + other => panic!("expected asynchronous thread usage request, got {other:?}"), + }; + app.handle_event(&mut tui, &mut app_server, initial_status) + .await?; + + Ok((app, app_server, tui, thread_id, request_id)) +} + +fn successful_thread_usage(thread_id: ThreadId, request_id: u64) -> AppEvent { + AppEvent::ThreadUsageLoaded { + thread_id, + request_id, + result: Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: Vec::new(), + })), + } +} + +fn pending_history_text(tui: &tui::Tui) -> String { + tui.pending_history_lines_for_test() + .into_iter() + .map(|line| { + line.line + .spans + .iter() + .map(|span| span.content.as_ref()) + .collect::() + }) + .collect::>() + .join("\n") +} + +#[tokio::test] +async fn account_updated_with_backend_only_auth_enables_thread_usage() -> Result<()> { + let (mut app, mut app_event_rx, _op_rx) = make_test_app_with_channels().await; + let thread_id = ThreadId::new(); + app.chat_widget.handle_thread_session(test_thread_session( + thread_id, + test_path_buf("/tmp/project"), + )); + while app_event_rx.try_recv().is_ok() {} + let app_server = + crate::start_embedded_app_server_for_picker(app.chat_widget.config_ref()).await?; + + app.handle_app_server_event( + &app_server, + AppServerEvent::ServerNotification(Box::new(ServerNotification::AccountUpdated( + AccountUpdatedNotification { + auth_mode: Some(AuthMode::AgentIdentity), + plan_type: Some(PlanType::Business), + }, + ))), + ) + .await; + + assert!(!app.chat_widget.has_chatgpt_account()); + assert!(app.chat_widget.has_codex_backend_auth()); + app.chat_widget.add_status_output( + /*refreshing_rate_limits*/ false, /*request_id*/ None, + ); + assert_matches!(app_event_rx.try_recv(), Ok(AppEvent::InsertHistoryCell(_))); + assert_matches!( + app_event_rx.try_recv(), + Ok(AppEvent::RefreshThreadUsage { + thread_id: requested_thread_id, + .. + }) if requested_thread_id == thread_id + ); + app_server.shutdown().await?; + Ok(()) +} + +#[tokio::test] +async fn completed_thread_usage_updates_status_without_scrollback_reflow() -> Result<()> { + let (mut app, mut app_server, mut tui, thread_id, request_id) = + app_with_pending_thread_usage().await?; + assert!(!app.transcript_reflow.has_pending_reflow()); + assert!(pending_history_text(&tui).contains("/status")); + + app.handle_event( + &mut tui, + &mut app_server, + successful_thread_usage(thread_id, request_id), + ) + .await?; + + assert!(!app.transcript_reflow.has_pending_reflow()); + assert!( + tui.pending_history_lines_for_test().is_empty(), + "a visible status tail should be replaced directly instead of appending a duplicate card" + ); + let status = app + .transcript_cells + .last() + .expect("status card should remain in terminal history"); + let rendered = lines_to_single_string(&status.display_lines(/*width*/ 90)); + assert!(rendered.contains("50 credits"), "{rendered}"); + app_server.shutdown().await?; + Ok(()) +} + +#[tokio::test] +async fn thread_usage_after_intervening_history_appends_refreshed_status() -> Result<()> { + let (mut app, mut app_server, mut tui, thread_id, request_id) = + app_with_pending_thread_usage().await?; + app.insert_history_cell( + &mut tui, + Box::new(PlainHistoryCell::new(vec![ + Line::from("/status"), + Line::from("intervening model output"), + ])), + ); + + app.handle_event( + &mut tui, + &mut app_server, + successful_thread_usage(thread_id, request_id), + ) + .await?; + + let pending = pending_history_text(&tui); + assert!(pending.contains("intervening model output"), "{pending}"); + assert!(pending.contains("50 credits"), "{pending}"); + assert!(!app.transcript_reflow.has_pending_reflow()); + app_server.shutdown().await?; + Ok(()) +} + +#[tokio::test] +async fn failed_thread_usage_after_intervening_history_does_not_duplicate_status() -> Result<()> { + let (mut app, mut app_server, mut tui, thread_id, request_id) = + app_with_pending_thread_usage().await?; + app.insert_history_cell( + &mut tui, + Box::new(PlainHistoryCell::new(vec![Line::from( + "intervening model output", + )])), + ); + let pending_before_failure = pending_history_text(&tui); + + app.handle_event( + &mut tui, + &mut app_server, + AppEvent::ThreadUsageLoaded { + thread_id, + request_id, + result: Err("thread usage request timed out".to_string()), + }, + ) + .await?; + + assert_eq!(pending_history_text(&tui), pending_before_failure); + app_server.shutdown().await?; + Ok(()) +} + +#[tokio::test] +async fn thread_usage_finishing_during_overlay_updates_history_after_close() -> Result<()> { + let (mut app, mut app_server, mut tui, thread_id, request_id) = + app_with_pending_thread_usage().await?; + tui.set_alt_screen_enabled(/*enabled*/ false); + app.open_transcript_overlay(&mut tui); + + app.handle_event( + &mut tui, + &mut app_server, + successful_thread_usage(thread_id, request_id), + ) + .await?; + assert!(app.pending_thread_usage_history_refresh); + + app.close_transcript_overlay(&mut tui); + + assert!(!app.pending_thread_usage_history_refresh); + assert!(tui.pending_history_lines_for_test().is_empty()); + assert!( + app.last_rendered_history_tail + .as_ref() + .expect("updated status should remain the rendered history tail") + .lines + .iter() + .any(|line| line.line.to_string().contains("50 credits")) + ); + app_server.shutdown().await?; + Ok(()) +} + +#[tokio::test] +async fn account_change_discards_thread_usage_deferred_while_overlay_is_open() -> Result<()> { + let (mut app, mut app_server, mut tui, thread_id, request_id) = + app_with_pending_thread_usage().await?; + tui.set_alt_screen_enabled(/*enabled*/ false); + app.open_transcript_overlay(&mut tui); + app.handle_event( + &mut tui, + &mut app_server, + successful_thread_usage(thread_id, request_id), + ) + .await?; + assert!(app.pending_thread_usage_history_refresh); + + app.handle_app_server_event( + &app_server, + AppServerEvent::ServerNotification(Box::new(ServerNotification::AccountUpdated( + AccountUpdatedNotification { + auth_mode: Some(AuthMode::AgentIdentity), + plan_type: Some(PlanType::Business), + }, + ))), + ) + .await; + assert!(!app.pending_thread_usage_history_refresh); + assert!(app.last_thread_usage_status_cell.is_none()); + + app.close_transcript_overlay(&mut tui); + + assert!(!pending_history_text(&tui).contains("50 credits")); + app_server.shutdown().await?; + Ok(()) +} + +#[tokio::test] +async fn terminal_reflow_rebases_pending_status_update_to_new_width() -> Result<()> { + let (mut app, mut app_server, mut tui, thread_id, request_id) = + app_with_pending_thread_usage().await?; + let original = app + .last_rendered_history_tail + .as_ref() + .expect("initial rendered status") + .lines + .clone(); + let screen_size = Size::new(/*width*/ 52, /*height*/ 24); + tui.terminal.last_known_screen_size = screen_size; + let viewport = Rect::new( + /*x*/ 0, + /*y*/ 21, + screen_size.width, + /*height*/ 3, + ); + tui.terminal.set_viewport_area(viewport); + + app.reflow_transcript_now(&mut tui, screen_size.into())?; + + let resized = app + .last_rendered_history_tail + .as_ref() + .expect("resized rendered status") + .lines + .clone(); + assert_ne!(original, resized); + // Bazel tests run without a TTY, so model the settled viewport explicitly + // before simulating an asynchronous usage update after resize replay. + tui.terminal.set_viewport_area(viewport); + app.handle_event( + &mut tui, + &mut app_server, + successful_thread_usage(thread_id, request_id), + ) + .await?; + assert!(tui.pending_history_lines_for_test().is_empty()); + assert!(!app.transcript_reflow.has_pending_reflow()); + app_server.shutdown().await?; + Ok(()) +} diff --git a/codex-rs/tui/src/app_backtrack.rs b/codex-rs/tui/src/app_backtrack.rs index 6eebdf2bea..855e7c51c6 100644 --- a/codex-rs/tui/src/app_backtrack.rs +++ b/codex-rs/tui/src/app_backtrack.rs @@ -241,6 +241,11 @@ impl App { ); } self.overlay = None; + if self.pending_thread_usage_history_refresh + && let Err(err) = self.refresh_thread_usage_history_tail(tui) + { + tracing::warn!(error = %err, "failed to refresh thread usage after closing overlay"); + } self.backtrack.overlay_preview_active = false; tui.frame_requester().schedule_frame(); if was_backtrack { diff --git a/codex-rs/tui/src/app_event.rs b/codex-rs/tui/src/app_event.rs index 0d07498516..eb65ba6fd4 100644 --- a/codex-rs/tui/src/app_event.rs +++ b/codex-rs/tui/src/app_event.rs @@ -47,6 +47,7 @@ use crate::app_server_session::AppServerStartedThread; use crate::bottom_pane::ApprovalRequest; use crate::bottom_pane::StatusLineItem; use crate::bottom_pane::TerminalTitleItem; +use crate::chatwidget::ThreadUsageOutcome; use crate::chatwidget::UserMessage; use crate::goal_files::GoalDraft; use codex_app_server_protocol::AskForApproval; @@ -452,6 +453,19 @@ pub(crate) enum AppEvent { result: Result, }, + /// Fetch backend-estimated usage for the currently visible enterprise thread. + RefreshThreadUsage { + thread_id: ThreadId, + request_id: u64, + }, + + /// Result of fetching backend-estimated usage for a specific thread. + ThreadUsageLoaded { + thread_id: ThreadId, + request_id: u64, + result: Result, + }, + /// Fetch workspace messages for the status-line headline item. RefreshStatusLineWorkspaceHeadline { request_id: u64, diff --git a/codex-rs/tui/src/chatwidget.rs b/codex-rs/tui/src/chatwidget.rs index e10c375d8e..577fee6093 100644 --- a/codex-rs/tui/src/chatwidget.rs +++ b/codex-rs/tui/src/chatwidget.rs @@ -423,6 +423,8 @@ mod status_controls; mod status_surfaces; mod streaming; use self::status_surfaces::CachedProjectRootName; +mod thread_usage; +pub(crate) use self::thread_usage::ThreadUsageOutcome; mod tokens; pub(crate) use self::tokens::TokenActivityView; mod tool_lifecycle; @@ -764,6 +766,8 @@ pub(crate) struct ChatWidget { status_line_workspace_headline_last_requested_at: Option, // Set after the backend reports the workspace-message feature gate is disabled. status_line_workspace_messages_disabled: bool, + // Cached backend-estimated cost and bounded refresh state for the current thread. + thread_usage: thread_usage::ThreadUsageState, // Current thread-goal status shown in the status line when plan mode is inactive. current_goal_status_indicator: Option, current_goal_status: Option, diff --git a/codex-rs/tui/src/chatwidget/constructor.rs b/codex-rs/tui/src/chatwidget/constructor.rs index ebb0f4e1e4..5198cc13cc 100644 --- a/codex-rs/tui/src/chatwidget/constructor.rs +++ b/codex-rs/tui/src/chatwidget/constructor.rs @@ -246,6 +246,7 @@ impl ChatWidget { next_status_line_workspace_headline_request_id: 0, status_line_workspace_headline_last_requested_at: None, status_line_workspace_messages_disabled: false, + thread_usage: thread_usage::ThreadUsageState::default(), current_goal_status_indicator: None, current_goal_status: None, external_editor_state: ExternalEditorState::Closed, diff --git a/codex-rs/tui/src/chatwidget/session_flow.rs b/codex-rs/tui/src/chatwidget/session_flow.rs index 52218e022a..00ba854a85 100644 --- a/codex-rs/tui/src/chatwidget/session_flow.rs +++ b/codex-rs/tui/src/chatwidget/session_flow.rs @@ -24,6 +24,7 @@ impl ChatWidget { .set_queue_submissions(/*queue_submissions*/ false); if previous_thread_id != self.thread_id { self.review.recent_auto_review_denials = RecentAutoReviewDenials::default(); + self.clear_thread_usage_state(); } self.refresh_plan_mode_nudge(); self.turn_lifecycle.reset_thread(); diff --git a/codex-rs/tui/src/chatwidget/settings.rs b/codex-rs/tui/src/chatwidget/settings.rs index 473bccb4cf..779c2d98a0 100644 --- a/codex-rs/tui/src/chatwidget/settings.rs +++ b/codex-rs/tui/src/chatwidget/settings.rs @@ -236,6 +236,7 @@ impl ChatWidget { self.status_line_workspace_headline_pending_request_id = None; self.status_line_workspace_headline_last_requested_at = None; self.status_line_workspace_messages_disabled = false; + self.clear_thread_usage_state(); self.status_account_display = status_account_display; self.plan_type = plan_type; self.has_chatgpt_account = has_chatgpt_account; diff --git a/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage.snap new file mode 100644 index 0000000000..9e649f0a8c --- /dev/null +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage.snap @@ -0,0 +1,10 @@ +--- +source: tui/src/chatwidget/tests/status_command_tests.rs +expression: thread_usage +--- +│ Thread usage: 50 credits · ~$1.82 │ +│ Models: GPT-5.4 80%, GPT-5 Mini 20% │ +│ Reasoning: Medium 20%, High 80% │ +│ Speed: Fast mode 80%, Standard 20% │ +│ Billed tokens: 120 input (25 cached) + 50 output │ +╰──────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage_without_usd.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage_without_usd.snap new file mode 100644 index 0000000000..05f781c53d --- /dev/null +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_command_estimated_thread_usage_without_usd.snap @@ -0,0 +1,10 @@ +--- +source: tui/src/chatwidget/tests/status_command_tests.rs +expression: thread_usage +--- +│ Thread usage: 50 credits │ +│ Models: GPT-5.4 100% │ +│ Reasoning: High 100% │ +│ Speed: Fast mode 100% │ +│ Billed tokens: 100 input (20 cached) + 40 output │ +╰──────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui/src/chatwidget/status_controls.rs b/codex-rs/tui/src/chatwidget/status_controls.rs index 8a78601ea7..d715be1ab5 100644 --- a/codex-rs/tui/src/chatwidget/status_controls.rs +++ b/codex-rs/tui/src/chatwidget/status_controls.rs @@ -245,9 +245,17 @@ impl ChatWidget { refreshing_rate_limits, ); if let Some(request_id) = request_id { - self.refreshing_status_outputs.push((request_id, handle)); + self.refreshing_status_outputs + .push((request_id, handle.clone())); + } + if self.thread_usage_is_available() { + handle.reserve_thread_usage_label_width(); + handle.set_thread_usage(self.estimated_thread_usage().cloned()); + self.add_to_history(cell); + self.request_thread_usage_for_status(handle); + } else { + self.add_to_history(cell); } - self.add_to_history(cell); } pub(crate) fn finish_status_rate_limit_refresh( diff --git a/codex-rs/tui/src/chatwidget/tests/status_command_tests.rs b/codex-rs/tui/src/chatwidget/tests/status_command_tests.rs index 21e02db252..25f3e83a37 100644 --- a/codex-rs/tui/src/chatwidget/tests/status_command_tests.rs +++ b/codex-rs/tui/src/chatwidget/tests/status_command_tests.rs @@ -1,5 +1,8 @@ use super::*; +use crate::chatwidget::ThreadUsageOutcome; use assert_matches::assert_matches; +use codex_app_server_protocol::ThreadUsage; +use codex_app_server_protocol::ThreadUsageBreakdownGroup; use codex_utils_path_uri::PathUri; #[tokio::test] @@ -197,3 +200,417 @@ async fn account_update_rejects_stale_status_rate_limit_snapshots() { assert!(chat.rate_limit_snapshots_by_limit_id.is_empty()); } + +#[tokio::test] +async fn status_command_renders_immediately_and_updates_first_card_without_status_line() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + let thread_id = + ThreadId::from_string("019fc8ab-1fb2-7000-8000-000000000001").expect("valid thread id"); + chat.thread_id = Some(thread_id); + chat.plan_type = Some(PlanType::Business); + + chat.dispatch_command(SlashCommand::Status); + + let first_cell = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => cell, + event => panic!("expected immediate /status output, got {event:?}"), + }; + let initial = lines_to_single_string(&first_cell.display_lines(/*width*/ 90)); + assert!(!initial.contains("Thread usage")); + + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { + thread_id: requested_thread_id, + request_id, + }) => { + assert_eq!(requested_thread_id, thread_id); + request_id + } + event => panic!("expected /status to request thread usage, got {event:?}"), + }; + drain_insert_history(&mut rx); + assert!(chat.finish_thread_usage_refresh( + thread_id, + request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: vec![ + ThreadUsageBreakdownGroup { + model: Some("gpt-5.4".to_string()), + reasoning_effort: Some("high".to_string()), + speed: Some("fast".to_string()), + estimated_usage_credits_micros: 40_000_000, + net_new_input_tokens: Some(80), + cached_input_tokens: Some(20), + input_tokens: Some(100), + output_tokens: Some(40), + total_tokens: Some(140), + }, + ThreadUsageBreakdownGroup { + model: Some("gpt-5-mini".to_string()), + reasoning_effort: Some("medium".to_string()), + speed: Some("standard".to_string()), + estimated_usage_credits_micros: 10_000_000, + net_new_input_tokens: Some(15), + cached_input_tokens: Some(5), + input_tokens: Some(20), + output_tokens: Some(10), + total_tokens: Some(30), + }, + ], + })), + )); + + let settled = lines_to_single_string(&first_cell.display_lines(/*width*/ 90)); + assert!(settled.contains("50 credits · ~$1.82")); + assert!(settled.contains("GPT-5.4 80%, GPT-5 Mini 20%")); + assert!(drain_insert_history(&mut rx).is_empty()); + chat.dispatch_command(SlashCommand::Status); + let cell = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => cell, + event => panic!("expected /status output with cached thread usage, got {event:?}"), + }; + let rendered = + normalize_snapshot_paths(lines_to_single_string(&cell.display_lines(/*width*/ 90))); + assert!(rendered.contains("50 credits · ~$1.82")); + assert!(rendered.contains("GPT-5.4 80%, GPT-5 Mini 20%")); + assert!(rendered.contains("Medium 20%, High 80%")); + assert!(rendered.contains("Fast mode 80%, Standard 20%")); + assert!(rendered.contains("120 input (25 cached) + 50 output")); + assert!( + rendered.find("Limits:") < rendered.find("Thread usage:"), + "account limits should appear above the thread usage group: {rendered}" + ); + let thread_usage = rendered + .lines() + .skip_while(|line| !line.contains("Thread usage:")) + .collect::>() + .join("\n"); + assert_chatwidget_snapshot!("status_command_estimated_thread_usage", thread_usage); +} + +#[tokio::test] +async fn status_command_omits_thread_usage_for_non_cbp_enterprise_plans() { + for plan_type in [ + Some(PlanType::Enterprise), + Some(PlanType::Ent26), + Some(PlanType::Pro), + Some(PlanType::Edu), + Some(PlanType::SelfServeBusinessUsageBased), + Some(PlanType::Unknown), + None, + ] { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + chat.thread_id = Some(ThreadId::new()); + chat.plan_type = plan_type; + + chat.dispatch_command(SlashCommand::Status); + + let rendered = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => { + lines_to_single_string(&cell.display_lines(/*width*/ 90)) + } + event => panic!("expected immediate /status output, got {event:?}"), + }; + assert!(!rendered.contains("Thread usage")); + assert!( + !std::iter::from_fn(|| rx.try_recv().ok()) + .any(|event| matches!(event, AppEvent::RefreshThreadUsage { .. })), + "unsupported plan {plan_type:?} must not request thread usage", + ); + } +} + +#[tokio::test] +async fn status_command_stays_visible_and_updates_after_thread_usage_retry() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + let thread_id = ThreadId::new(); + chat.thread_id = Some(thread_id); + chat.plan_type = Some(PlanType::Business); + + chat.dispatch_command(SlashCommand::Status); + let cell = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => cell, + event => panic!("expected immediate /status output, got {event:?}"), + }; + assert!(!lines_to_single_string(&cell.display_lines(/*width*/ 90)).contains("Thread usage")); + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected thread usage request, got {event:?}"), + }; + while rx.try_recv().is_ok() {} + assert!(chat.finish_thread_usage_refresh( + thread_id, + request_id, + Err("thread usage temporarily unavailable".to_string()), + )); + assert!(drain_insert_history(&mut rx).is_empty()); + + chat.dispatch_command(SlashCommand::Status); + let retry_cell = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => cell, + event => panic!("expected another immediate /status output, got {event:?}"), + }; + let retry_request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected thread usage retry, got {event:?}"), + }; + assert!(chat.finish_thread_usage_refresh( + thread_id, + retry_request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: Vec::new(), + })), + )); + + for status_cell in [&cell, &retry_cell] { + assert!( + lines_to_single_string(&status_cell.display_lines(/*width*/ 90)) + .contains("50 credits · ~$1.82") + ); + } +} + +#[tokio::test] +async fn status_command_renders_credits_and_breakdowns_without_usd_estimate() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + let thread_id = ThreadId::new(); + chat.thread_id = Some(thread_id); + chat.plan_type = Some(PlanType::Business); + + chat.dispatch_command(SlashCommand::Status); + let first_cell = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => cell, + event => panic!("expected immediate /status output, got {event:?}"), + }; + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected thread usage request, got {event:?}"), + }; + drain_insert_history(&mut rx); + assert!(chat.finish_thread_usage_refresh( + thread_id, + request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: None, + groups: vec![ThreadUsageBreakdownGroup { + model: Some("gpt-5.4".to_string()), + reasoning_effort: Some("high".to_string()), + speed: Some("fast".to_string()), + estimated_usage_credits_micros: 50_000_000, + net_new_input_tokens: Some(80), + cached_input_tokens: Some(20), + input_tokens: Some(100), + output_tokens: Some(40), + total_tokens: Some(140), + }], + })), + )); + + let first_rendered = lines_to_single_string(&first_cell.display_lines(/*width*/ 90)); + assert!(first_rendered.contains("50 credits")); + assert!(first_rendered.contains("GPT-5.4 100%")); + assert!(!first_rendered.contains("~$")); + drain_insert_history(&mut rx); + chat.dispatch_command(SlashCommand::Status); + let rendered = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => { + lines_to_single_string(&cell.display_lines(/*width*/ 90)) + } + event => panic!("expected cached credits-only /status output, got {event:?}"), + }; + assert!(rendered.contains("50 credits")); + assert!(rendered.contains("GPT-5.4 100%")); + assert!(rendered.contains("High 100%")); + assert!(rendered.contains("Fast mode 100%")); + assert!(rendered.contains("100 input (20 cached) + 40 output")); + assert!(!rendered.contains("~$")); + let thread_usage = rendered + .lines() + .skip_while(|line| !line.contains("Thread usage:")) + .collect::>() + .join("\n"); + assert_chatwidget_snapshot!( + "status_command_estimated_thread_usage_without_usd", + thread_usage + ); +} + +#[tokio::test] +async fn status_command_drops_stale_usd_when_updated_usage_has_only_credits() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + let thread_id = ThreadId::new(); + chat.thread_id = Some(thread_id); + chat.plan_type = Some(PlanType::Business); + + chat.dispatch_command(SlashCommand::Status); + assert_matches!(rx.try_recv(), Ok(AppEvent::InsertHistoryCell(_))); + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected initial thread usage request, got {event:?}"), + }; + drain_insert_history(&mut rx); + assert!(chat.finish_thread_usage_refresh( + thread_id, + request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 40_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: Vec::new(), + })), + )); + + drain_insert_history(&mut rx); + chat.dispatch_command(SlashCommand::Status); + let cached = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => { + lines_to_single_string(&cell.display_lines(/*width*/ 90)) + } + event => panic!("expected cached /status output, got {event:?}"), + }; + assert!(cached.contains("40 credits · ~$1.82")); + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected refreshed thread usage request, got {event:?}"), + }; + drain_insert_history(&mut rx); + assert!(chat.finish_thread_usage_refresh( + thread_id, + request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: None, + groups: Vec::new(), + })), + )); + + drain_insert_history(&mut rx); + chat.dispatch_command(SlashCommand::Status); + let refreshed = match rx.try_recv() { + Ok(AppEvent::InsertHistoryCell(cell)) => { + lines_to_single_string(&cell.display_lines(/*width*/ 90)) + } + event => panic!("expected credits-only /status output, got {event:?}"), + }; + assert!(refreshed.contains("50 credits")); + assert!(!refreshed.contains("~$1.82")); +} + +#[tokio::test] +async fn status_command_requests_thread_usage_for_remote_connection_metadata() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + chat.thread_id = Some(ThreadId::new()); + chat.update_account_state( + /*status_account_display*/ None, + Some(PlanType::Business), + /*has_chatgpt_account*/ false, + /*has_codex_backend_auth*/ true, + ); + chat.remote_connection = Some(crate::status::remote_connection::RemoteConnectionStatus { + address: "wss://remote.example.com".to_string(), + version: "v1.0.0".to_string(), + }); + + chat.dispatch_command(SlashCommand::Status); + + assert_matches!(rx.try_recv(), Ok(AppEvent::InsertHistoryCell(_))); + assert_matches!(rx.try_recv(), Ok(AppEvent::RefreshThreadUsage { .. })); +} + +#[tokio::test] +async fn status_command_requests_thread_usage_with_backend_only_authentication() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + chat.thread_id = Some(ThreadId::new()); + chat.update_account_state( + /*status_account_display*/ None, + Some(PlanType::Business), + /*has_chatgpt_account*/ false, + /*has_codex_backend_auth*/ true, + ); + assert!(!chat.has_chatgpt_account()); + assert!(chat.has_codex_backend_auth()); + chat.dispatch_command(SlashCommand::Status); + + assert_matches!(rx.try_recv(), Ok(AppEvent::InsertHistoryCell(_))); + assert_matches!(rx.try_recv(), Ok(AppEvent::RefreshThreadUsage { .. })); +} + +#[tokio::test] +async fn status_command_remains_visible_when_account_changes_during_usage_refresh() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + let thread_id = ThreadId::new(); + chat.thread_id = Some(thread_id); + chat.plan_type = Some(PlanType::Business); + + chat.dispatch_command(SlashCommand::Status); + assert_matches!(rx.try_recv(), Ok(AppEvent::InsertHistoryCell(_))); + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected thread usage request, got {event:?}"), + }; + drain_insert_history(&mut rx); + + chat.update_account_state( + /*status_account_display*/ None, /*plan_type*/ None, + /*has_chatgpt_account*/ false, /*has_codex_backend_auth*/ false, + ); + + assert!(!chat.finish_thread_usage_refresh( + thread_id, + request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: Vec::new(), + })), + )); + assert!(drain_insert_history(&mut rx).is_empty()); +} + +#[tokio::test] +async fn status_command_remains_visible_when_thread_changes_during_usage_refresh() { + let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(/*model_override*/ None).await; + set_chatgpt_auth(&mut chat); + let thread_id = ThreadId::new(); + chat.thread_id = Some(thread_id); + chat.plan_type = Some(PlanType::Business); + + chat.dispatch_command(SlashCommand::Status); + assert_matches!(rx.try_recv(), Ok(AppEvent::InsertHistoryCell(_))); + let request_id = match rx.try_recv() { + Ok(AppEvent::RefreshThreadUsage { request_id, .. }) => request_id, + event => panic!("expected thread usage request, got {event:?}"), + }; + drain_insert_history(&mut rx); + + chat.thread_id = Some(ThreadId::new()); + chat.clear_thread_usage_state(); + + assert!(!chat.finish_thread_usage_refresh( + thread_id, + request_id, + Ok(ThreadUsageOutcome::Available(ThreadUsage { + thread_id: thread_id.to_string(), + estimated_usage_credits_micros: 50_000_000, + estimated_usage_usd_micros: Some(1_820_000), + groups: Vec::new(), + })), + )); + assert!(drain_insert_history(&mut rx).is_empty()); +} diff --git a/codex-rs/tui/src/chatwidget/thread_usage.rs b/codex-rs/tui/src/chatwidget/thread_usage.rs new file mode 100644 index 0000000000..c4ba3c4a8b --- /dev/null +++ b/codex-rs/tui/src/chatwidget/thread_usage.rs @@ -0,0 +1,135 @@ +//! Demand-driven estimated-cost state for the currently visible enterprise thread. + +use super::AppEvent; +use super::ChatWidget; +use super::PlanType; +use super::ThreadId; +use crate::status::StatusHistoryHandle; +use codex_app_server_protocol::ThreadUsage; + +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) enum ThreadUsageOutcome { + Available(ThreadUsage), + Disabled, +} + +#[derive(Debug, Default)] +pub(super) struct ThreadUsageState { + thread_id: Option, + estimate: Option, + pending_request_id: Option, + next_request_id: u64, + feature_disabled: bool, + status_history_handles: Vec, +} + +impl ChatWidget { + pub(super) fn clear_thread_usage_state(&mut self) { + let next_request_id = self.thread_usage.next_request_id; + self.thread_usage = ThreadUsageState { + next_request_id, + ..ThreadUsageState::default() + }; + } + + pub(super) fn request_thread_usage_for_status(&mut self, handle: StatusHistoryHandle) { + if !self.thread_usage_is_available() { + return; + } + + let Some(thread_id) = self.thread_id else { + return; + }; + if self.thread_usage.thread_id != Some(thread_id) { + self.clear_thread_usage_state(); + self.thread_usage.thread_id = Some(thread_id); + } + + self.thread_usage.status_history_handles.push(handle); + self.request_thread_usage(); + } + + pub(crate) fn finish_thread_usage_refresh( + &mut self, + thread_id: ThreadId, + request_id: u64, + result: Result, + ) -> bool { + if self.thread_id != Some(thread_id) + || self.thread_usage.thread_id != Some(thread_id) + || self.thread_usage.pending_request_id != Some(request_id) + { + return false; + } + + self.thread_usage.pending_request_id = None; + let mut usage_updated = false; + match result { + Ok(ThreadUsageOutcome::Disabled) => { + self.thread_usage.feature_disabled = true; + self.thread_usage.estimate = None; + usage_updated = true; + } + Ok(ThreadUsageOutcome::Available(usage)) + if usage.thread_id != thread_id.to_string() => + { + tracing::warn!( + requested_thread_id = %thread_id, + returned_thread_id = %usage.thread_id, + "thread usage response referred to another thread" + ); + } + Ok(ThreadUsageOutcome::Available(usage)) => { + self.thread_usage.estimate = Some(usage); + usage_updated = true; + } + Err(err) => { + tracing::debug!(error = %err, "failed to fetch estimated thread usage"); + } + } + if usage_updated && !self.thread_usage.status_history_handles.is_empty() { + for handle in self.thread_usage.status_history_handles.drain(..) { + handle.set_thread_usage(self.thread_usage.estimate.clone()); + } + } + self.request_redraw(); + true + } + + pub(super) fn estimated_thread_usage(&self) -> Option<&ThreadUsage> { + self.thread_usage.estimate.as_ref() + } + + fn request_thread_usage(&mut self) { + let Some(thread_id) = self.thread_id else { + return; + }; + if !self.thread_usage_is_available() || self.thread_usage.pending_request_id.is_some() { + return; + } + + let request_id = self.thread_usage.next_request_id; + self.thread_usage.next_request_id = + self.thread_usage.next_request_id.wrapping_add(/*rhs*/ 1); + self.thread_usage.pending_request_id = Some(request_id); + self.thread_usage.thread_id = Some(thread_id); + self.app_event_tx.send(AppEvent::RefreshThreadUsage { + thread_id, + request_id, + }); + } + + pub(super) fn thread_usage_is_available(&self) -> bool { + self.has_codex_backend_auth + && !self.thread_usage.feature_disabled + && self.thread_id.is_some() + && matches!( + self.plan_type, + Some( + PlanType::Business + | PlanType::EnterpriseCbpUsageBased + | PlanType::EnterpriseCbpAutomation + ) + ) + } +} diff --git a/codex-rs/tui/src/chatwidget/tokens/chart_tests.rs b/codex-rs/tui/src/chatwidget/tokens/chart_tests.rs index 20e0b45878..9f706f7208 100644 --- a/codex-rs/tui/src/chatwidget/tokens/chart_tests.rs +++ b/codex-rs/tui/src/chatwidget/tokens/chart_tests.rs @@ -212,6 +212,7 @@ fn summary_snapshot_left_aligns_and_splits_when_needed() { longest_streak_days: Some(54), }, daily_usage_buckets: None, + thread_usage: None, }; let rendered = |width| { summary_lines(&response, graph_width(width)) diff --git a/codex-rs/tui/src/chatwidget/tokens_tests.rs b/codex-rs/tui/src/chatwidget/tokens_tests.rs index 042baa84d5..4c8d741391 100644 --- a/codex-rs/tui/src/chatwidget/tokens_tests.rs +++ b/codex-rs/tui/src/chatwidget/tokens_tests.rs @@ -21,6 +21,7 @@ fn loaded_state_freezes_chart_anchor_date_at_completion() { longest_streak_days: None, }, daily_usage_buckets: None, + thread_usage: None, }), today, ); diff --git a/codex-rs/tui/src/insert_history.rs b/codex-rs/tui/src/insert_history.rs index 7b9b3121da..28682b6160 100644 --- a/codex-rs/tui/src/insert_history.rs +++ b/codex-rs/tui/src/insert_history.rs @@ -129,36 +129,7 @@ where // - Non-URL lines also flow through adaptive wrapping; behavior is // equivalent to standard wrapping when no URL is present. let wrap_width = area.width.max(1) as usize; - let mut wrapped = Vec::new(); - let mut wrapped_rows = 0usize; - - for line in lines { - let line_wrapped = match wrap_policy { - HistoryLineWrapPolicy::Terminal => vec![line.clone()], - HistoryLineWrapPolicy::PreWrap - if line_contains_url_like(&line.line) - && !line_has_mixed_url_and_non_url_tokens(&line.line) => - { - vec![line.clone()] - } - HistoryLineWrapPolicy::PreWrap => remap_wrapped_line( - line, - adaptive_wrap_line( - &line.line, - RtOptions::new(wrap_width) - .subsequent_indent(leading_whitespace_prefix(&line.line)), - ) - .into_iter() - .map(|line| line_to_static(&line)) - .collect(), - ), - }; - wrapped_rows += line_wrapped - .iter() - .map(|wrapped_line| wrapped_line.width().max(1).div_ceil(wrap_width)) - .sum::(); - wrapped.extend(line_wrapped); - } + let (wrapped, wrapped_rows) = wrap_history_hyperlink_lines(lines, wrap_width, wrap_policy); let wrapped_lines = wrapped_rows as u16; match mode { InsertHistoryMode::ZellijRaw => { @@ -256,6 +227,45 @@ where Ok(()) } +pub(crate) fn wrap_history_hyperlink_lines( + lines: &[HyperlinkLine], + wrap_width: usize, + wrap_policy: HistoryLineWrapPolicy, +) -> (Vec, usize) { + let mut wrapped = Vec::new(); + let mut wrapped_rows = 0usize; + + for line in lines { + let line_wrapped = match wrap_policy { + HistoryLineWrapPolicy::Terminal => vec![line.clone()], + HistoryLineWrapPolicy::PreWrap + if line_contains_url_like(&line.line) + && !line_has_mixed_url_and_non_url_tokens(&line.line) => + { + vec![line.clone()] + } + HistoryLineWrapPolicy::PreWrap => remap_wrapped_line( + line, + adaptive_wrap_line( + &line.line, + RtOptions::new(wrap_width) + .subsequent_indent(leading_whitespace_prefix(&line.line)), + ) + .into_iter() + .map(|line| line_to_static(&line)) + .collect(), + ), + }; + wrapped_rows += line_wrapped + .iter() + .map(|wrapped_line| wrapped_line.width().max(/*other*/ 1).div_ceil(wrap_width)) + .sum::(); + wrapped.extend(line_wrapped); + } + + (wrapped, wrapped_rows) +} + pub(crate) fn leading_whitespace_prefix(line: &Line<'_>) -> Line<'static> { let mut spans = Vec::new(); for span in &line.spans { diff --git a/codex-rs/tui/src/status/card.rs b/codex-rs/tui/src/status/card.rs index 382a9e3c6f..93f959c8db 100644 --- a/codex-rs/tui/src/status/card.rs +++ b/codex-rs/tui/src/status/card.rs @@ -47,6 +47,7 @@ use super::rate_limits::compose_rate_limit_data_many; use super::rate_limits::format_status_limit_summary; use super::rate_limits::render_status_limit_progress_bar; use super::remote_connection::RemoteConnectionStatus; +use super::thread_usage::StatusThreadUsage; use crate::wrapping::RtOptions; use crate::wrapping::adaptive_wrap_lines; use crate::wrapping::word_wrap_lines; @@ -79,9 +80,14 @@ struct StatusRateLimitState { #[derive(Debug, Clone)] pub(crate) struct StatusHistoryHandle { rate_limit_state: Arc>, + thread_usage: StatusThreadUsage, } impl StatusHistoryHandle { + pub(crate) fn reserve_thread_usage_label_width(&self) { + self.thread_usage.reserve_label_width(); + } + pub(crate) fn finish_rate_limit_refresh( &self, rate_limits: &[RateLimitSnapshotDisplay], @@ -100,6 +106,13 @@ impl StatusHistoryHandle { state.rate_limits = rate_limits; state.refreshing_rate_limits = false; } + + pub(crate) fn set_thread_usage( + &self, + estimate: Option, + ) { + self.thread_usage.set_estimate(estimate); + } } #[derive(Debug)] @@ -119,6 +132,7 @@ struct StatusHistoryCell { forked_from: Option, token_usage: StatusTokenUsageData, rate_limit_state: Arc>, + thread_usage: StatusThreadUsage, } #[cfg(test)] @@ -350,6 +364,7 @@ impl StatusHistoryCell { refreshing_rate_limits, })); let agents_summary = Arc::new(RwLock::new(agents_summary)); + let thread_usage = StatusThreadUsage::default(); ( Self { @@ -368,8 +383,12 @@ impl StatusHistoryCell { token_usage, agents_summary, rate_limit_state: rate_limit_state.clone(), + thread_usage: thread_usage.clone(), + }, + StatusHistoryHandle { + rate_limit_state, + thread_usage, }, - StatusHistoryHandle { rate_limit_state }, ) } @@ -770,8 +789,8 @@ impl HistoryCell for StatusHistoryCell { if self.token_usage.context_window.is_some() { push_label(&mut labels, &mut seen, "Context window"); } - self.collect_rate_limit_labels(&rate_limit_state, &mut seen, &mut labels); + self.thread_usage.push_labels(&mut labels, &mut seen); let formatter = FieldFormatter::from_labels(labels.iter().map(String::as_str)); let value_width = formatter.value_width(available_inner_width); @@ -860,6 +879,11 @@ impl HistoryCell for StatusHistoryCell { } lines.extend(self.rate_limit_lines(&rate_limit_state, available_inner_width, &formatter)); + let thread_usage_lines = self.thread_usage.lines(&formatter, value_width); + if !thread_usage_lines.is_empty() { + lines.push(Line::from(Vec::>::new())); + lines.extend(thread_usage_lines); + } let content_width = lines.iter().map(line_width).max().unwrap_or(0); let inner_width = content_width.min(available_inner_width); diff --git a/codex-rs/tui/src/status/mod.rs b/codex-rs/tui/src/status/mod.rs index b69d6910d4..cdf89ffcaf 100644 --- a/codex-rs/tui/src/status/mod.rs +++ b/codex-rs/tui/src/status/mod.rs @@ -12,6 +12,7 @@ mod format; mod helpers; mod rate_limits; pub(crate) mod remote_connection; +mod thread_usage; pub(crate) use account::StatusAccountDisplay; pub(crate) use card::StatusHistoryHandle; diff --git a/codex-rs/tui/src/status/thread_usage.rs b/codex-rs/tui/src/status/thread_usage.rs new file mode 100644 index 0000000000..49fd4c6c3d --- /dev/null +++ b/codex-rs/tui/src/status/thread_usage.rs @@ -0,0 +1,336 @@ +//! Live-updating, thread-scoped billing details embedded in `/status` history cards. + +use super::format::FieldFormatter; +use super::format::push_label; +use super::helpers::format_tokens_compact; +use crate::wrapping::RtOptions; +use crate::wrapping::word_wrap_lines; +use codex_app_server_protocol::ThreadUsage; +use codex_app_server_protocol::ThreadUsageBreakdownGroup; +use ratatui::prelude::Line; +use ratatui::style::Stylize; +use std::collections::BTreeMap; +use std::collections::BTreeSet; +use std::sync::Arc; +use std::sync::RwLock; +use std::sync::atomic::AtomicBool; +use std::sync::atomic::Ordering; + +const REASONING_ORDER: [&str; 8] = [ + "None", + "Minimal", + "Light", + "Medium", + "High", + "Extra High", + "Max", + "Ultra", +]; +const SPEED_ORDER: [&str; 3] = ["Fast mode", "Ultrafast", "Standard"]; +const MODELS_LABEL: &str = " Models"; +const REASONING_LABEL: &str = " Reasoning"; +const SPEED_LABEL: &str = " Speed"; +const BILLED_TOKENS_LABEL: &str = " Billed tokens"; + +/// Shared state updates a committed `/status` card when its asynchronous estimate arrives. +#[derive(Clone, Debug, Default)] +pub(crate) struct StatusThreadUsage { + estimate: Arc>>, + reserve_label_width: Arc, +} + +impl StatusThreadUsage { + pub(crate) fn reserve_label_width(&self) { + self.reserve_label_width + .store(/*val*/ true, Ordering::Relaxed); + } + + pub(crate) fn set_estimate(&self, estimate: Option) { + #[expect(clippy::expect_used)] + let mut stored_estimate = self + .estimate + .write() + .expect("status history thread-usage state poisoned"); + *stored_estimate = estimate; + } + + pub(crate) fn push_labels(&self, labels: &mut Vec, seen: &mut BTreeSet) { + // Keep existing card rows stable when asynchronous billing details arrive. Reserving a + // formatter label does not emit a loading placeholder or an empty billing row. + if self.reserve_label_width.load(Ordering::Relaxed) { + push_label(labels, seen, BILLED_TOKENS_LABEL); + } + #[expect(clippy::expect_used)] + let stored_estimate = self + .estimate + .read() + .expect("status history thread-usage state poisoned"); + let Some(estimate) = stored_estimate.as_ref() else { + return; + }; + push_label(labels, seen, "Thread usage"); + if !estimate.groups.is_empty() { + push_label(labels, seen, MODELS_LABEL); + push_label(labels, seen, REASONING_LABEL); + push_label(labels, seen, SPEED_LABEL); + if estimate + .groups + .iter() + .any(|group| group.input_tokens.is_some() || group.output_tokens.is_some()) + { + push_label(labels, seen, BILLED_TOKENS_LABEL); + } + } + } + + pub(crate) fn lines( + &self, + formatter: &FieldFormatter, + value_width: usize, + ) -> Vec> { + #[expect(clippy::expect_used)] + let stored_estimate = self + .estimate + .read() + .expect("status history thread-usage state poisoned"); + let Some(estimate) = stored_estimate.as_ref() else { + return Vec::new(); + }; + + let credits_micros = estimate.estimated_usage_credits_micros; + let mut usage = vec![format!("{} credits", format_credit_micros(credits_micros)).into()]; + if let Some(cost) = estimate + .estimated_usage_usd_micros + .and_then(format_estimated_usd_micros) + { + usage.push(" · ".dim()); + usage.push(cost.into()); + } + let mut lines = vec![formatter.line("Thread usage", usage)]; + + for (label, dimension) in [ + (MODELS_LABEL, BreakdownDimension::Model), + (REASONING_LABEL, BreakdownDimension::Reasoning), + (SPEED_LABEL, BreakdownDimension::Speed), + ] { + let Some(value) = grouped_usage(&estimate.groups, dimension) else { + continue; + }; + let mut wrapped = word_wrap_lines( + [Line::from(value)], + RtOptions::new(value_width.max(/*other*/ 1)), + ) + .into_iter(); + if let Some(first) = wrapped.next() { + lines.push(formatter.line(label, first.spans)); + lines.extend(wrapped.map(|line| formatter.continuation(line.spans))); + } + } + + let sum_tokens = |count: fn(&ThreadUsageBreakdownGroup) -> Option| { + estimate + .groups + .iter() + .try_fold(/*init*/ 0_i64, |total, group| { + count(group).map(|tokens| total.saturating_add(tokens)) + }) + }; + let input_tokens = sum_tokens(|group| group.input_tokens); + let cached_tokens = sum_tokens(|group| group.cached_input_tokens); + let output_tokens = sum_tokens(|group| group.output_tokens); + if !estimate.groups.is_empty() && (input_tokens.is_some() || output_tokens.is_some()) { + let mut tokens = Vec::new(); + if let Some(input_tokens) = input_tokens { + tokens.push(format!("{} input", format_tokens_compact(input_tokens))); + if let Some(cached_tokens) = cached_tokens { + tokens.push(format!("({} cached)", format_tokens_compact(cached_tokens))); + } + } + if let Some(output_tokens) = output_tokens { + if !tokens.is_empty() { + tokens.push("+".to_string()); + } + tokens.push(format!("{} output", format_tokens_compact(output_tokens))); + } + lines.push(formatter.line(BILLED_TOKENS_LABEL, vec![tokens.join(" ").into()])); + } + + lines + } +} + +#[derive(Clone, Copy)] +enum BreakdownDimension { + Model, + Reasoning, + Speed, +} + +fn grouped_usage( + groups: &[ThreadUsageBreakdownGroup], + dimension: BreakdownDimension, +) -> Option { + let mut totals = BTreeMap::::new(); + for group in groups { + if group.estimated_usage_credits_micros < 0 { + continue; + } + let value = match dimension { + BreakdownDimension::Model => group + .model + .as_deref() + .map(format_model_display_name) + .unwrap_or_else(|| "Other".to_string()), + BreakdownDimension::Reasoning => match group.reasoning_effort.as_deref() { + Some("none") => "None", + Some("minimal") => "Minimal", + Some("low") => "Light", + Some("medium") => "Medium", + Some("high") => "High", + Some("xhigh") => "Extra High", + Some("max") => "Max", + Some("ultra") => "Ultra", + Some(other) => other, + None => "Other", + } + .to_string(), + BreakdownDimension::Speed => match group.speed.as_deref() { + Some("fast") => "Fast mode", + Some("ultrafast") => "Ultrafast", + Some("standard") => "Standard", + Some(other) => other, + None => "Other", + } + .to_string(), + }; + let total = totals.entry(value).or_default(); + *total = total.saturating_add(group.estimated_usage_credits_micros); + } + if totals.is_empty() { + return None; + } + + let total_credits_micros = + totals.values().fold( + /*init*/ 0_i64, + |total, credits| total.saturating_add(*credits), + ); + let mut totals = totals.into_iter().collect::>(); + totals.sort_by( + |(left_name, left_credits), (right_name, right_credits)| match dimension { + BreakdownDimension::Model => right_credits + .cmp(left_credits) + .then_with(|| left_name.cmp(right_name)), + BreakdownDimension::Reasoning => REASONING_ORDER + .iter() + .position(|value| value == left_name) + .unwrap_or(usize::MAX) + .cmp( + &REASONING_ORDER + .iter() + .position(|value| value == right_name) + .unwrap_or(usize::MAX), + ) + .then_with(|| left_name.cmp(right_name)), + BreakdownDimension::Speed => SPEED_ORDER + .iter() + .position(|value| value == left_name) + .unwrap_or(usize::MAX) + .cmp( + &SPEED_ORDER + .iter() + .position(|value| value == right_name) + .unwrap_or(usize::MAX), + ) + .then_with(|| left_name.cmp(right_name)), + }, + ); + Some( + totals + .into_iter() + .map(|(name, credits)| { + let percentage = if total_credits_micros <= 0 { + 0 + } else { + (i128::from(credits) * 100 + i128::from(total_credits_micros) / 2) + / i128::from(total_credits_micros) + }; + format!("{name} {percentage}%") + }) + .collect::>() + .join(", "), + ) +} + +fn format_model_display_name(model: &str) -> String { + let Some((prefix, remainder)) = model.split_once('-') else { + return model.to_string(); + }; + if !prefix.eq_ignore_ascii_case("gpt") || remainder.is_empty() { + return model.to_string(); + } + + let mut segments = remainder.split('-'); + let first = segments.next().unwrap_or_default(); + let mut display_name = format!("GPT-{first}"); + let numeric_model = first + .chars() + .next() + .is_some_and(|character| character.is_ascii_digit()); + for segment in segments { + display_name.push(if numeric_model { ' ' } else { '-' }); + if segment.eq_ignore_ascii_case("oai") { + display_name.push_str("OAI"); + continue; + } + + let mut characters = segment.chars(); + if let Some(first_character) = characters.next() { + display_name.extend(first_character.to_uppercase()); + display_name.push_str(characters.as_str()); + } + } + + display_name +} + +pub(crate) fn format_credit_micros(micros: i64) -> String { + let micros = i128::from(micros.max(/*other*/ 0)); + let (unit_micros, suffix) = [ + (1_000_000_000_000_000_000_i128, "T"), + (1_000_000_000_000_000_i128, "B"), + (1_000_000_000_000_i128, "M"), + (1_000_000_000_i128, "K"), + ] + .into_iter() + .find(|(unit, _)| micros >= *unit) + .unwrap_or((1_000_000, "")); + let tenths = (micros * 10 + unit_micros / 2) / unit_micros; + let whole = tenths / 10; + let fraction = tenths % 10; + if fraction == 0 { + format!("{whole}{suffix}") + } else { + format!("{whole}.{fraction}{suffix}") + } +} + +pub(crate) fn format_estimated_usd_micros(micros: i64) -> Option { + if micros < 0 { + return None; + } + if micros > 0 && micros < 100 { + return Some(format!("~$0.{micros:06}")); + } + if micros > 0 && micros < 10_000 { + let ten_thousandths = micros.saturating_add(/*rhs*/ 50) / 100; + return Some(format!("~$0.{ten_thousandths:04}")); + } + + let cents = micros.saturating_add(/*rhs*/ 5_000) / 10_000; + Some(format!("~${}.{:02}", cents / 100, cents % 100)) +} + +#[cfg(test)] +#[path = "thread_usage_tests.rs"] +mod tests; diff --git a/codex-rs/tui/src/status/thread_usage_tests.rs b/codex-rs/tui/src/status/thread_usage_tests.rs new file mode 100644 index 0000000000..db27fd2431 --- /dev/null +++ b/codex-rs/tui/src/status/thread_usage_tests.rs @@ -0,0 +1,70 @@ +use super::BreakdownDimension; +use super::format_credit_micros; +use super::format_model_display_name; +use super::grouped_usage; +use codex_app_server_protocol::ThreadUsageBreakdownGroup; +use pretty_assertions::assert_eq; + +#[test] +fn thread_usage_breakdown_groups_aggregate_model_credit_percentages() { + let group = ThreadUsageBreakdownGroup { + model: Some("gpt-5.4".to_string()), + reasoning_effort: Some("high".to_string()), + speed: Some("fast".to_string()), + estimated_usage_credits_micros: 30_000_000, + net_new_input_tokens: Some(60), + cached_input_tokens: Some(10), + input_tokens: Some(70), + output_tokens: Some(20), + total_tokens: Some(90), + }; + let groups = vec![ + group.clone(), + ThreadUsageBreakdownGroup { + reasoning_effort: Some("medium".to_string()), + speed: Some("standard".to_string()), + estimated_usage_credits_micros: 10_000_000, + ..group.clone() + }, + ThreadUsageBreakdownGroup { + model: Some("gpt-5-mini".to_string()), + reasoning_effort: Some("low".to_string()), + speed: Some("standard".to_string()), + estimated_usage_credits_micros: 10_000_000, + ..group + }, + ]; + + assert_eq!( + grouped_usage(&groups, BreakdownDimension::Model), + Some("GPT-5.4 80%, GPT-5 Mini 20%".to_string()) + ); + assert_eq!( + grouped_usage(&groups, BreakdownDimension::Reasoning), + Some("Light 20%, Medium 20%, High 60%".to_string()) + ); + assert_eq!( + grouped_usage(&groups, BreakdownDimension::Speed), + Some("Fast mode 60%, Standard 40%".to_string()) + ); +} + +#[test] +fn thread_usage_credit_formatting_rounds_to_one_decimal_place() { + assert_eq!(format_credit_micros(/*micros*/ 0), "0"); + assert_eq!(format_credit_micros(/*micros*/ 400_000), "0.4"); + assert_eq!(format_credit_micros(/*micros*/ 5_200_000), "5.2"); + assert_eq!(format_credit_micros(/*micros*/ 5_240_000), "5.2"); + assert_eq!(format_credit_micros(/*micros*/ 5_250_000), "5.3"); + assert_eq!(format_credit_micros(/*micros*/ 46_000_000), "46"); + assert_eq!(format_credit_micros(/*micros*/ 1_240_000_000), "1.2K"); + assert_eq!(format_credit_micros(/*micros*/ 12_400_000_000), "12.4K"); +} + +#[test] +fn thread_usage_model_names_match_desktop_display_names() { + assert_eq!(format_model_display_name("gpt-5.4"), "GPT-5.4"); + assert_eq!(format_model_display_name("gpt-5-mini"), "GPT-5 Mini"); + assert_eq!(format_model_display_name("gpt-5.6-sol"), "GPT-5.6 Sol"); + assert_eq!(format_model_display_name("mewfour"), "mewfour"); +} diff --git a/codex-rs/tui/src/test_backend.rs b/codex-rs/tui/src/test_backend.rs index 8487c6a741..a71bc52650 100644 --- a/codex-rs/tui/src/test_backend.rs +++ b/codex-rs/tui/src/test_backend.rs @@ -25,9 +25,17 @@ pub struct VT100Backend { impl VT100Backend { /// Creates a new `TestBackend` with the specified width and height. pub fn new(width: u16, height: u16) -> Self { + Self::with_scrollback(width, height, /*scrollback_len*/ 0) + } + + pub fn with_scrollback(width: u16, height: u16, scrollback_len: usize) -> Self { crossterm::style::force_color_output(true); Self { - crossterm_backend: CrosstermBackend::new(vt100::Parser::new(height, width, 0)), + crossterm_backend: CrosstermBackend::new(vt100::Parser::new( + height, + width, + scrollback_len, + )), } } diff --git a/codex-rs/tui/src/tui.rs b/codex-rs/tui/src/tui.rs index 6b06113ec1..6fb8f87b5a 100644 --- a/codex-rs/tui/src/tui.rs +++ b/codex-rs/tui/src/tui.rs @@ -60,6 +60,7 @@ use codex_config::types::NotificationMethod; mod event_stream; mod frame_rate_limiter; mod frame_requester; +mod history_tail; #[cfg(unix)] mod job_control; mod keyboard_modes; diff --git a/codex-rs/tui/src/tui/history_tail.rs b/codex-rs/tui/src/tui/history_tail.rs new file mode 100644 index 0000000000..6b018eec84 --- /dev/null +++ b/codex-rs/tui/src/tui/history_tail.rs @@ -0,0 +1,89 @@ +//! Update visible terminal-history tails without discarding terminal scrollback. + +use super::Tui; +use crate::custom_terminal::Terminal as CustomTerminal; +use crate::insert_history::HistoryLineWrapPolicy; +use crate::insert_history::InsertHistoryMode; +use crate::insert_history::insert_history_hyperlink_lines_with_mode_and_wrap_policy; +use crate::insert_history::wrap_history_hyperlink_lines; +use crate::terminal_hyperlinks::HyperlinkLine; +use ratatui::backend::Backend; +use ratatui::layout::Position; +use std::io; +use std::io::Write; + +impl Tui { + #[cfg(test)] + pub(crate) fn pending_history_lines_for_test(&self) -> Vec { + self.pending_history_lines + .iter() + .flat_map(|batch| batch.lines.iter().cloned()) + .collect() + } + + pub(crate) fn replace_visible_history_tail( + &mut self, + previous_lines: &[HyperlinkLine], + replacement: &[HyperlinkLine], + wrap_policy: HistoryLineWrapPolicy, + ) -> io::Result { + Self::flush_pending_history_lines( + &mut self.terminal, + &mut self.pending_history_lines, + self.is_zellij, + )?; + let mode = if self.is_zellij && wrap_policy == HistoryLineWrapPolicy::Terminal { + InsertHistoryMode::ZellijRaw + } else { + InsertHistoryMode::Standard + }; + let replaced = replace_visible_terminal_history_tail( + &mut self.terminal, + previous_lines, + replacement, + mode, + wrap_policy, + )?; + if replaced { + self.frame_requester().schedule_frame(); + } + Ok(replaced) + } +} + +fn replace_visible_terminal_history_tail( + terminal: &mut CustomTerminal, + previous_lines: &[HyperlinkLine], + replacement: &[HyperlinkLine], + mode: InsertHistoryMode, + wrap_policy: HistoryLineWrapPolicy, +) -> io::Result +where + B: Backend + Write, +{ + let mut viewport = terminal.viewport_area; + let wrap_width = usize::from(viewport.width.max(/*other*/ 1)); + let (_, previous_rows) = wrap_history_hyperlink_lines(previous_lines, wrap_width, wrap_policy); + let Ok(previous_rows) = u16::try_from(previous_rows) else { + return Ok(false); + }; + if previous_rows == 0 || previous_rows > viewport.top() { + return Ok(false); + } + + viewport.y -= previous_rows; + terminal.clear_after_position(Position::new(/*x*/ 0, viewport.y))?; + terminal.set_viewport_area(viewport); + terminal.invalidate_viewport(); + insert_history_hyperlink_lines_with_mode_and_wrap_policy( + terminal, + replacement, + mode, + wrap_policy, + )?; + Ok(true) +} + +#[cfg(test)] +#[path = "history_tail_tests.rs"] +mod tests; diff --git a/codex-rs/tui/src/tui/history_tail_tests.rs b/codex-rs/tui/src/tui/history_tail_tests.rs new file mode 100644 index 0000000000..4288a880c0 --- /dev/null +++ b/codex-rs/tui/src/tui/history_tail_tests.rs @@ -0,0 +1,144 @@ +use super::replace_visible_terminal_history_tail; +use crate::custom_terminal::Terminal; +use crate::insert_history::HistoryLineWrapPolicy; +use crate::insert_history::InsertHistoryMode; +use crate::insert_history::insert_history_lines; +use crate::terminal_hyperlinks::plain_hyperlink_lines; +use crate::test_backend::VT100Backend; +use pretty_assertions::assert_eq; +use ratatui::layout::Rect; +use ratatui::text::Line; +use std::io::Write; + +#[test] +fn replacing_visible_history_tail_preserves_existing_terminal_scrollback() { + let width = 52; + let height = 8; + let backend = VT100Backend::with_scrollback(width, height, /*scrollback_len*/ 32); + let mut terminal = Terminal::with_options(backend).expect("terminal"); + for line in [ + "shell history that predates Codex", + "shell output one", + "shell output two", + "shell output three", + "shell output four", + "shell output five", + "shell output six", + "shell output seven", + ] { + writeln!(terminal.backend_mut(), "{line}\r").expect("seed shell history"); + } + terminal.set_viewport_area(Rect::new( + /*x*/ 0, + /*y*/ height - 2, + width, + /*height*/ 2, + )); + insert_history_lines( + &mut terminal, + vec![ + Line::from("/status"), + Line::from("Account: business"), + Line::from("old closing border"), + ], + ) + .expect("insert initial status card"); + + let previous_lines = plain_hyperlink_lines(vec![Line::from("old closing border")]); + let replacement = plain_hyperlink_lines(vec![ + Line::from("Thread usage: 50 credits"), + Line::from("new closing border"), + ]); + assert!( + replace_visible_terminal_history_tail( + &mut terminal, + &previous_lines, + &replacement, + InsertHistoryMode::Standard, + HistoryLineWrapPolicy::PreWrap, + ) + .expect("replace status-card tail") + ); + + let contents = terminal.backend().vt100().screen().contents(); + assert!(contents.contains("/status"), "{contents}"); + assert!(contents.contains("Account: business"), "{contents}"); + assert!(contents.contains("Thread usage: 50 credits"), "{contents}"); + assert!(!contents.contains("old closing border"), "{contents}"); + + let mut screen_with_scrollback = terminal.backend().vt100().screen().clone(); + screen_with_scrollback.set_scrollback(/*rows*/ usize::MAX); + let scrollback = screen_with_scrollback.contents(); + assert!( + scrollback.contains("shell history that predates Codex"), + "existing terminal scrollback was discarded: {scrollback}" + ); +} + +#[test] +fn inaccessible_history_tail_is_preserved_for_non_destructive_append() { + let width = 36; + let height = 6; + let backend = VT100Backend::with_scrollback(width, height, /*scrollback_len*/ 16); + let mut terminal = Terminal::with_options(backend).expect("terminal"); + terminal.set_viewport_area(Rect::new( + /*x*/ 0, + /*y*/ 1, + width, + /*height*/ height - 1, + )); + let before = terminal.backend().vt100().screen().contents(); + let previous_lines = + plain_hyperlink_lines(vec![Line::from("first line"), Line::from("second line")]); + let replacement = plain_hyperlink_lines(vec![Line::from("Thread usage: 50 credits")]); + + assert!( + !replace_visible_terminal_history_tail( + &mut terminal, + &previous_lines, + &replacement, + InsertHistoryMode::Standard, + HistoryLineWrapPolicy::PreWrap, + ) + .expect("leave inaccessible history untouched") + ); + assert_eq!(terminal.backend().vt100().screen().contents(), before); +} + +#[test] +fn replacing_soft_wrapped_history_counts_physical_terminal_rows() { + let width = 12; + let height = 8; + let backend = VT100Backend::new(width, height); + let mut terminal = Terminal::with_options(backend).expect("terminal"); + terminal.set_viewport_area(Rect::new( + /*x*/ 0, + /*y*/ height - 2, + width, + /*height*/ 2, + )); + let previous_lines = plain_hyperlink_lines(vec![Line::from("old-long-line-spanning-two-rows")]); + crate::insert_history::insert_history_hyperlink_lines_with_mode_and_wrap_policy( + &mut terminal, + &previous_lines, + InsertHistoryMode::Standard, + HistoryLineWrapPolicy::Terminal, + ) + .expect("insert soft-wrapped history"); + let replacement = plain_hyperlink_lines(vec![Line::from("new billing")]); + + assert!( + replace_visible_terminal_history_tail( + &mut terminal, + &previous_lines, + &replacement, + InsertHistoryMode::Standard, + HistoryLineWrapPolicy::Terminal, + ) + .expect("replace physically wrapped rows") + ); + let contents = terminal.backend().vt100().screen().contents(); + assert!(contents.contains("new billing"), "{contents}"); + assert!(!contents.contains("old-long"), "{contents}"); + assert!(!contents.contains("spanning"), "{contents}"); +}