richardopenai
6b39d0c657
[codex] Add owner nudge app-server API (#18220)
## Summary
Second PR in the split from #17956. Stacked on #18227.
- adds app-server v2 protocol/schema support for
`account/sendAddCreditsNudgeEmail`
- adds the backend-client `send_add_credits_nudge_email` request and
request body mapping
- handles the app-server request with auth checks, backend call, and
cooldown mapping
- adds the disabled `workspace_owner_usage_nudge` feature flag and
focused app-server/backend tests
## Validation
- `cargo test -p codex-backend-client`
- `cargo test -p codex-app-server-protocol`
- `cargo test -p codex-app-server rate_limits`
- `cargo test -p codex-tui workspace_`
- `cargo test -p codex-tui status_`
- `just fmt`
- `just fix -p codex-backend-client`
- `just fix -p codex-app-server-protocol`
- `just fix -p codex-app-server`
- `just fix -p codex-tui`
2026-04-17 21:41:57 -07:00
..
2026-04-17 13:37:25 -07:00
2026-04-11 13:58:16 -07:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-06 17:30:17 -08:00
2026-03-08 17:38:01 -07:00
2026-03-13 15:27:00 -07:00
2026-04-14 09:50:14 -07:00
2026-03-23 10:19:44 -07:00
2026-03-25 02:27:00 +00:00
2026-03-25 02:27:00 +00:00
2026-04-14 19:39:10 -07:00
2026-04-17 09:34:55 +00:00
2026-04-14 19:39:10 -07:00
2026-04-11 00:23:50 -07:00
2026-04-07 11:22:28 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-04-13 17:46:56 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-04-07 11:22:28 -07:00
2026-03-24 15:52:13 -07:00
2026-04-07 11:22:28 -07:00
2026-04-07 11:22:28 -07:00
2026-03-13 14:42:20 -07:00
2026-03-13 14:42:20 -07:00
2026-04-17 13:37:25 -07:00
2026-04-11 13:58:16 -07:00
2026-04-17 14:45:47 +00:00
2026-04-17 14:45:47 +00:00
2026-04-16 05:09:17 +00:00
2026-04-17 09:56:24 -07:00
2026-04-17 09:56:24 -07:00
2026-04-16 05:09:17 +00:00
2026-04-06 16:27:02 -07:00
2026-03-27 00:27:15 -07:00
2026-03-27 00:27:15 -07:00
2026-04-13 20:37:11 -07:00
2026-04-13 20:37:11 -07:00
2026-04-06 19:17:14 -07:00
2026-04-06 19:17:14 -07:00
2026-03-19 15:09:59 -07:00
2026-04-11 04:39:19 +00:00
2026-04-11 04:39:19 +00:00
2026-04-07 17:55:40 -07:00
2026-04-17 16:47:58 -07:00
2026-03-19 15:02:45 -07:00
2026-04-17 16:47:58 -07:00
2026-04-17 16:47:58 -07:00
2026-04-17 16:47:58 -07:00
2026-04-17 16:47:58 -07:00
2026-04-17 16:47:58 -07:00
2026-03-09 12:40:25 -07:00
2026-03-18 09:37:13 -07:00
2026-04-16 05:09:17 +00:00
2026-04-17 21:41:57 -07:00
2026-04-17 21:41:57 -07:00
2026-03-23 12:57:40 -07:00
2026-04-14 14:26:10 -07:00
2026-03-13 15:27:00 -07:00
2026-04-16 05:09:17 +00:00
2026-04-13 16:11:05 -07:00
2026-04-13 16:11:05 -07:00
2026-04-17 11:49:02 -07:00
2026-04-17 11:49:02 -07:00
2026-04-16 05:09:17 +00:00
2026-04-16 05:09:17 +00:00
2026-03-16 21:38:07 -07:00
2026-04-07 15:43:38 -07:00
2026-03-17 15:24:37 -07:00
2026-04-14 00:13:13 -07:00
2026-04-14 00:13:13 -07:00
2026-03-18 09:37:13 -07:00
2026-04-16 05:09:17 +00:00
2026-04-16 05:09:17 +00:00
2026-03-18 23:42:40 -06:00
2026-03-18 23:42:40 -06:00
2026-04-16 05:09:17 +00:00
2026-04-10 16:05:21 -07:00
2026-04-16 05:09:17 +00:00
2026-04-17 11:49:02 -07:00
2026-04-17 11:49:02 -07:00
2026-04-16 05:09:17 +00:00
2026-04-16 05:09:17 +00:00
2026-04-16 05:09:17 +00:00
2026-03-13 15:27:00 -07:00
2026-04-16 05:09:17 +00:00
2026-04-17 18:11:47 -07:00
2026-03-08 18:07:46 -07:00