codex-multi-auth 1.3.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +39 -26
  2. package/config/README.md +3 -3
  3. package/dist/lib/codex-manager/commands/rotation.d.ts +22 -0
  4. package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -0
  5. package/dist/lib/codex-manager/commands/rotation.js +287 -0
  6. package/dist/lib/codex-manager/commands/rotation.js.map +1 -0
  7. package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
  8. package/dist/lib/codex-manager/commands/status.js +38 -7
  9. package/dist/lib/codex-manager/commands/status.js.map +1 -1
  10. package/dist/lib/codex-manager/help.d.ts.map +1 -1
  11. package/dist/lib/codex-manager/help.js +1 -0
  12. package/dist/lib/codex-manager/help.js.map +1 -1
  13. package/dist/lib/codex-manager.d.ts.map +1 -1
  14. package/dist/lib/codex-manager.js +59 -1
  15. package/dist/lib/codex-manager.js.map +1 -1
  16. package/dist/lib/config.d.ts +1 -0
  17. package/dist/lib/config.d.ts.map +1 -1
  18. package/dist/lib/config.js +9 -0
  19. package/dist/lib/config.js.map +1 -1
  20. package/dist/lib/constants.d.ts +2 -0
  21. package/dist/lib/constants.d.ts.map +1 -1
  22. package/dist/lib/constants.js +2 -0
  23. package/dist/lib/constants.js.map +1 -1
  24. package/dist/lib/fs-retry.d.ts +7 -0
  25. package/dist/lib/fs-retry.d.ts.map +1 -0
  26. package/dist/lib/fs-retry.js +35 -0
  27. package/dist/lib/fs-retry.js.map +1 -0
  28. package/dist/lib/index.d.ts +1 -0
  29. package/dist/lib/index.d.ts.map +1 -1
  30. package/dist/lib/index.js +1 -0
  31. package/dist/lib/index.js.map +1 -1
  32. package/dist/lib/logger.d.ts.map +1 -1
  33. package/dist/lib/logger.js +1 -0
  34. package/dist/lib/logger.js.map +1 -1
  35. package/dist/lib/runtime/app-bind.d.ts +74 -0
  36. package/dist/lib/runtime/app-bind.d.ts.map +1 -0
  37. package/dist/lib/runtime/app-bind.js +620 -0
  38. package/dist/lib/runtime/app-bind.js.map +1 -0
  39. package/dist/lib/runtime/config-toml.d.ts +10 -0
  40. package/dist/lib/runtime/config-toml.d.ts.map +1 -0
  41. package/dist/lib/runtime/config-toml.js +128 -0
  42. package/dist/lib/runtime/config-toml.js.map +1 -0
  43. package/dist/lib/runtime/runtime-observability.d.ts +5 -0
  44. package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
  45. package/dist/lib/runtime/runtime-observability.js +5 -0
  46. package/dist/lib/runtime/runtime-observability.js.map +1 -1
  47. package/dist/lib/runtime-constants.d.ts +3 -0
  48. package/dist/lib/runtime-constants.d.ts.map +1 -0
  49. package/dist/lib/runtime-constants.js +3 -0
  50. package/dist/lib/runtime-constants.js.map +1 -0
  51. package/dist/lib/runtime-rotation-proxy.d.ts +36 -0
  52. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -0
  53. package/dist/lib/runtime-rotation-proxy.js +828 -0
  54. package/dist/lib/runtime-rotation-proxy.js.map +1 -0
  55. package/dist/lib/schemas.d.ts +1 -0
  56. package/dist/lib/schemas.d.ts.map +1 -1
  57. package/dist/lib/schemas.js +1 -0
  58. package/dist/lib/schemas.js.map +1 -1
  59. package/package.json +13 -11
  60. package/scripts/bench-format/codex-host.mjs +142 -73
  61. package/scripts/bench-format/models.mjs +17 -16
  62. package/scripts/benchmark-edit-formats.mjs +8 -6
  63. package/scripts/check-pack-budget-lib.js +49 -6
  64. package/scripts/codex-app-launcher.js +653 -0
  65. package/scripts/codex-app-router.js +322 -0
  66. package/scripts/codex-multi-auth.js +3 -1
  67. package/scripts/codex-routing.js +6 -0
  68. package/scripts/codex.js +3473 -1618
  69. package/scripts/postinstall.js +237 -0
package/README.md CHANGED
@@ -3,28 +3,32 @@
3
3
  [![npm version](https://img.shields.io/npm/v/codex-multi-auth.svg)](https://www.npmjs.com/package/codex-multi-auth)
4
4
  [![npm downloads](https://img.shields.io/npm/dw/codex-multi-auth.svg)](https://www.npmjs.com/package/codex-multi-auth)
5
5
 
6
- Codex CLI-first multi-account OAuth manager for the official Codex CLI, including the `@openai/codex` npm launcher and native `codex` installs.
6
+ Codex CLI-first multi-account OAuth manager for the official Codex CLI. The installed `codex` wrapper handles `codex auth ...` locally, forwards normal Codex commands to the official runtime, and can optionally route live Responses traffic through a localhost account-rotation proxy.
7
7
 
8
8
  <img width="1270" height="729" alt="2026-02-28 12_54_58-prompt txt ‎- Notepads" src="https://github.com/user-attachments/assets/0cecb77e-a6d3-432a-ba48-3577db0c7093" />
9
9
 
10
10
 
11
+
11
12
  > [!NOTE]
12
13
  > Legacy scoped prerelease package `@ndycode/codex-multi-auth` is migration-only.
13
14
  > Use `codex-multi-auth` for all new installs.
14
15
 
15
16
  ## What You Get
16
17
 
17
- - Canonical `codex auth ...` workflow for account login, switching, checks, and diagnostics
18
- - Multi-account OAuth pool with health-aware selection and automatic failover
19
- - Project-scoped account storage under `~/.codex/multi-auth/projects/<project-key>/...`
20
- - Interactive dashboard for account actions and settings
21
- - Experimental settings tab for staged sync, backup, and refresh-guard controls
22
- - Forecast, report, fix, and doctor commands for operational safety
23
- - Runtime counters, budget/cooldown state, and multi-auth probe visibility in `codex auth status` / `codex auth report`
24
- - Flagged account verification and restore flow
25
- - Session affinity and live account sync controls
26
- - Proactive refresh and preemptive quota deferral controls
27
- - Codex-oriented request/prompt compatibility with strict runtime handling
18
+ - Canonical `codex auth ...` workflow for account login, switching, checks, and diagnostics
19
+ - Official Codex CLI forwarding for all non-auth commands
20
+ - Multi-account OAuth pool with health-aware selection and automatic failover
21
+ - Project-scoped account storage under `~/.codex/multi-auth/projects/<project-key>/...`
22
+ - Interactive dashboard for account actions and settings
23
+ - Experimental settings tab for staged sync, backup, and refresh-guard controls
24
+ - Forecast, report, fix, and doctor commands for operational safety
25
+ - Runtime counters, budget/cooldown state, and multi-auth probe visibility in `codex auth status` / `codex auth report`
26
+ - Opt-in runtime Responses proxy for live account rotation inside forwarded Codex CLI/app sessions
27
+ - Reversible packaged Codex app bind and user-level launcher routing helpers
28
+ - Flagged account verification and restore flow
29
+ - Session affinity and live account sync controls
30
+ - Proactive refresh and preemptive quota deferral controls
31
+ - Codex-oriented request/prompt compatibility with strict runtime handling
28
32
  - Stable docs set for install, config, troubleshooting, and upgrade paths
29
33
 
30
34
  ---
@@ -35,7 +39,7 @@ Codex CLI-first multi-account OAuth manager for the official Codex CLI, includin
35
39
  > [!CAUTION]
36
40
  > This project uses OAuth account credentials and is intended for personal development use.
37
41
  >
38
- > By using this plugin, you acknowledge:
42
+ > By using this package, you acknowledge:
39
43
  > - This is an independent open-source project, not an official OpenAI product
40
44
  > - You are responsible for your own usage and policy compliance
41
45
  > - For production/commercial workloads, use the OpenAI Platform API
@@ -165,9 +169,10 @@ If browser launch is blocked, use the alternate login paths in [docs/getting-sta
165
169
 
166
170
  | Command | What it answers |
167
171
  | --- | --- |
168
- | `codex auth report --live --json` | How do I get the full machine-readable health report? |
169
- | `codex auth fix --live --model gpt-5-codex` | How do I run live repair probes with a chosen model? |
170
- | `codex auth why-selected --json` | Which account does the selector pick now, and why? |
172
+ | `codex auth report --live --json` | How do I get the full machine-readable health report? |
173
+ | `codex auth fix --live --model gpt-5-codex` | How do I run live repair probes with a chosen model? |
174
+ | `codex auth why-selected --json` | Which account does the selector pick now, and why? |
175
+ | `codex auth rotation status` | Is live runtime account rotation enabled for forwarded Codex sessions? |
171
176
 
172
177
  ### Reliability behavior
173
178
 
@@ -211,9 +216,11 @@ If browser launch is blocked, use the alternate login paths in [docs/getting-sta
211
216
  | Accounts | `~/.codex/multi-auth/openai-codex-accounts.json` |
212
217
  | Flagged accounts | `~/.codex/multi-auth/openai-codex-flagged-accounts.json` |
213
218
  | Quota cache | `~/.codex/multi-auth/quota-cache.json` |
214
- | Runtime observability | `~/.codex/multi-auth/runtime-observability.json` |
215
- | Logs | `~/.codex/multi-auth/logs/codex-plugin/` |
216
- | Per-project accounts | `~/.codex/multi-auth/projects/<project-key>/openai-codex-accounts.json` |
219
+ | Runtime observability | `~/.codex/multi-auth/runtime-observability.json` |
220
+ | Runtime app helper status | `~/.codex/multi-auth/runtime-rotation-app-helper.json` |
221
+ | Persistent app bind state/logs | `~/.codex/multi-auth/app-bind/` |
222
+ | Logs | `~/.codex/multi-auth/logs/codex-plugin/` |
223
+ | Per-project accounts | `~/.codex/multi-auth/projects/<project-key>/openai-codex-accounts.json` |
217
224
 
218
225
  Override root with `CODEX_MULTI_AUTH_DIR=<path>`.
219
226
 
@@ -230,9 +237,13 @@ Selected runtime/environment overrides:
230
237
  | Variable | Effect |
231
238
  | --- | --- |
232
239
  | `CODEX_MULTI_AUTH_DIR` | Override settings/accounts root |
233
- | `CODEX_MULTI_AUTH_CONFIG_PATH` | Alternate config file path |
234
- | `CODEX_MODE=0/1` | Disable/enable Codex mode |
235
- | `CODEX_TUI_V2=0/1` | Disable/enable TUI v2 |
240
+ | `CODEX_MULTI_AUTH_CONFIG_PATH` | Alternate config file path |
241
+ | `CODEX_MODE=0/1` | Disable/enable Codex mode |
242
+ | `CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY=0/1` | Opt in/out of live Responses proxy rotation for forwarded Codex CLI/app sessions |
243
+ | `CODEX_MULTI_AUTH_APP_ROTATION_IDLE_MS=<ms>` | Override automatic Codex app helper idle shutdown |
244
+ | `CODEX_MULTI_AUTH_APP_BIND_INSTALL=0/1` | Opt out/in of packaged Codex app bind self-heal during install/update or rotation enable |
245
+ | `CODEX_MULTI_AUTH_APP_LAUNCHER_INSTALL=0/1` | Opt out/in of routing supported app shortcuts during rotation enable |
246
+ | `CODEX_TUI_V2=0/1` | Disable/enable TUI v2 |
236
247
  | `CODEX_TUI_COLOR_PROFILE=truecolor|ansi256|ansi16` | TUI color profile |
237
248
  | `CODEX_TUI_GLYPHS=ascii|unicode|auto` | TUI glyph style |
238
249
  | `CODEX_AUTH_BACKGROUND_RESPONSES=0/1` | Opt in/out of stateful Responses `background: true` compatibility |
@@ -247,7 +258,9 @@ codex auth check
247
258
  codex auth forecast --live
248
259
  ```
249
260
 
250
- Responses background mode stays opt-in. Enable `backgroundResponses` in settings or `CODEX_AUTH_BACKGROUND_RESPONSES=1` only for callers that intentionally send `background: true`, because those requests switch from stateless `store=false` routing to stateful `store=true`. See [docs/upgrade.md](docs/upgrade.md) for rollout guidance.
261
+ Responses background mode stays opt-in. Enable `backgroundResponses` in settings or `CODEX_AUTH_BACKGROUND_RESPONSES=1` only for callers that intentionally send `background: true`, because those requests switch from stateless `store=false` routing to stateful `store=true`. See [docs/upgrade.md](docs/upgrade.md) for rollout guidance.
262
+
263
+ Runtime rotation also stays opt-in. `codex auth rotation enable` persists the setting, starts a localhost-only provider path for future wrapper-launched sessions, and binds supported packaged Codex app installs through a reversible local router. `codex auth rotation disable` turns the setting off and removes the persistent app bind.
251
264
 
252
265
  ---
253
266
 
@@ -333,9 +346,9 @@ codex auth doctor --json
333
346
 
334
347
  ## Release Notes
335
348
 
336
- - Current stable: [docs/releases/v1.3.1.md](docs/releases/v1.3.1.md)
337
- - Previous stable: [docs/releases/v1.2.6.md](docs/releases/v1.2.6.md)
338
- - Earlier stable: [docs/releases/v1.2.5.md](docs/releases/v1.2.5.md)
349
+ - Current stable: [docs/releases/v2.0.0.md](docs/releases/v2.0.0.md)
350
+ - Previous stable: [docs/releases/v1.3.2.md](docs/releases/v1.3.2.md)
351
+ - Earlier stable: [docs/releases/v1.3.1.md](docs/releases/v1.3.1.md)
339
352
  - Full release archive: [docs/README.md#release-history](docs/README.md#release-history)
340
353
  - Archived prerelease: [docs/releases/v0.1.0-beta.0.md](docs/releases/v0.1.0-beta.0.md)
341
354
 
package/config/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Config Templates
2
2
 
3
- These files are example model/provider templates for `codex-multi-auth`.
3
+ These files are optional model/provider templates for host/plugin configurations that still load `codex-multi-auth` directly. The normal wrapper workflow uses `codex auth ...` and does not require these templates.
4
4
 
5
5
  ## Primary (Codex-named)
6
6
 
@@ -12,8 +12,8 @@ These files are example model/provider templates for `codex-multi-auth`.
12
12
 
13
13
  ## Notes
14
14
 
15
- - These templates are optional for the OAuth account manager flow.
16
- - Core auth commands use `codex auth login`.
15
+ - These templates are optional for the OAuth account manager flow and the runtime rotation proxy.
16
+ - Core auth commands use `codex auth login`.
17
17
 
18
18
  ## Defaults Included
19
19
 
@@ -0,0 +1,22 @@
1
+ import { type AppBindResult, type AppBindStatus } from "../../runtime/app-bind.js";
2
+ import type { PluginConfig } from "../../types.js";
3
+ import type { AccountStorageV3 } from "../../storage.js";
4
+ type LoadedStorage = AccountStorageV3 | null;
5
+ export interface RotationCommandDeps {
6
+ loadPluginConfig: () => PluginConfig;
7
+ savePluginConfig: (config: Partial<PluginConfig>) => Promise<void>;
8
+ getCodexRuntimeRotationProxy: (config: PluginConfig) => boolean;
9
+ loadAccounts: () => Promise<LoadedStorage>;
10
+ resolveActiveIndex: (storage: AccountStorageV3) => number;
11
+ getStoragePath: () => string | null;
12
+ setStoragePath: (path: string | null) => void;
13
+ bindCodexApp?: () => Promise<AppBindResult>;
14
+ unbindCodexApp?: () => Promise<AppBindResult>;
15
+ getCodexAppBindStatus?: () => Promise<AppBindStatus>;
16
+ getNow?: () => number;
17
+ logInfo?: (message: string) => void;
18
+ logError?: (message: string) => void;
19
+ }
20
+ export declare function runRotationCommand(args: string[], deps: RotationCommandDeps): Promise<number>;
21
+ export {};
22
+ //# sourceMappingURL=rotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/rotation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,KAAK,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAiB7C,MAAM,WAAW,mBAAmB;IACnC,gBAAgB,EAAE,MAAM,YAAY,CAAC;IACrC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,4BAA4B,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC;IAChE,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAC1D,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAgND,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,mBAAmB,GACvB,OAAO,CAAC,MAAM,CAAC,CA4EjB"}
@@ -0,0 +1,287 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { formatAccountLabel, formatCooldown, formatWaitTime } from "../../accounts.js";
4
+ import { getCodexMultiAuthDir } from "../../runtime-paths.js";
5
+ import { formatAppBindStatus, } from "../../runtime/app-bind.js";
6
+ import { APP_RUNTIME_HELPER_STATUS_FILE } from "../../runtime-constants.js";
7
+ function printRotationUsage(logInfo) {
8
+ logInfo([
9
+ "Usage:",
10
+ " codex auth rotation enable",
11
+ " codex auth rotation disable",
12
+ " codex auth rotation status",
13
+ " codex auth rotation bind-app",
14
+ " codex auth rotation unbind-app",
15
+ "",
16
+ "Behavior:",
17
+ " - Enables an opt-in localhost Responses proxy for live Codex runtime account rotation",
18
+ " - Binds the packaged Codex desktop app to the same localhost router when enabled",
19
+ " - Env override: CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY=1",
20
+ ].join("\n"));
21
+ }
22
+ function parseBooleanEnv(value) {
23
+ if (value === undefined || value.trim().length === 0)
24
+ return null;
25
+ const normalized = value.trim().toLowerCase();
26
+ if (normalized === "1" || normalized === "true" || normalized === "yes") {
27
+ return true;
28
+ }
29
+ if (normalized === "0" || normalized === "false" || normalized === "no") {
30
+ return false;
31
+ }
32
+ return null;
33
+ }
34
+ function formatEnvOverride() {
35
+ const raw = process.env.CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY;
36
+ if (raw === undefined || raw.trim().length === 0)
37
+ return "none";
38
+ const parsed = parseBooleanEnv(raw);
39
+ if (parsed === null)
40
+ return `invalid (${raw})`;
41
+ return parsed ? "enabled" : "disabled";
42
+ }
43
+ function isRecord(value) {
44
+ return typeof value === "object" && value !== null;
45
+ }
46
+ function readOptionalNumber(record, key) {
47
+ const value = record[key];
48
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
49
+ }
50
+ function readOptionalString(record, key) {
51
+ const value = record[key];
52
+ return typeof value === "string" && value.trim().length > 0
53
+ ? value.trim()
54
+ : null;
55
+ }
56
+ function readAppRuntimeHelperStatus() {
57
+ const statusPath = join(getCodexMultiAuthDir(), APP_RUNTIME_HELPER_STATUS_FILE);
58
+ if (!existsSync(statusPath))
59
+ return null;
60
+ try {
61
+ const parsed = JSON.parse(readFileSync(statusPath, "utf8"));
62
+ if (!isRecord(parsed))
63
+ return null;
64
+ return {
65
+ state: readOptionalString(parsed, "state"),
66
+ kind: readOptionalString(parsed, "kind"),
67
+ pid: readOptionalNumber(parsed, "pid"),
68
+ idleExpiresAt: readOptionalNumber(parsed, "idleExpiresAt"),
69
+ totalRequests: readOptionalNumber(parsed, "totalRequests"),
70
+ rotations: readOptionalNumber(parsed, "rotations"),
71
+ lastAccountIndex: readOptionalNumber(parsed, "lastAccountIndex"),
72
+ lastAccountLabel: readOptionalString(parsed, "lastAccountLabel"),
73
+ lastAccountEmail: null,
74
+ lastAccountId: readOptionalString(parsed, "lastAccountId"),
75
+ lastAccountUpdatedAt: readOptionalNumber(parsed, "lastAccountUpdatedAt"),
76
+ updatedAt: readOptionalNumber(parsed, "updatedAt"),
77
+ };
78
+ }
79
+ catch {
80
+ return null;
81
+ }
82
+ }
83
+ function isProcessAlive(pid) {
84
+ if (!pid)
85
+ return false;
86
+ try {
87
+ process.kill(pid, 0);
88
+ return true;
89
+ }
90
+ catch (error) {
91
+ const code = error && typeof error === "object" && "code" in error ? error.code : null;
92
+ return code === "EPERM";
93
+ }
94
+ }
95
+ function formatHelperLastAccount(status) {
96
+ if (status.lastAccountLabel && !status.lastAccountLabel.includes("@")) {
97
+ return status.lastAccountLabel;
98
+ }
99
+ if (status.lastAccountId) {
100
+ return status.lastAccountIndex !== null
101
+ ? `Account ${status.lastAccountIndex + 1} (${status.lastAccountId})`
102
+ : status.lastAccountId;
103
+ }
104
+ if (status.lastAccountIndex !== null) {
105
+ return `Account ${status.lastAccountIndex + 1}`;
106
+ }
107
+ return null;
108
+ }
109
+ function formatAppRuntimeHelperStatus(now) {
110
+ const status = readAppRuntimeHelperStatus();
111
+ if (!status)
112
+ return "Codex app helper: not running";
113
+ if (status.kind !== "codex-app-runtime-rotation-helper") {
114
+ return "Codex app helper: not running";
115
+ }
116
+ const alive = isProcessAlive(status.pid);
117
+ if (!alive || status.state === "stopped" || status.state === "idle-timeout") {
118
+ return "Codex app helper: not running";
119
+ }
120
+ const parts = [`running${status.pid ? ` pid=${status.pid}` : ""}`];
121
+ if (status.totalRequests !== null)
122
+ parts.push(`requests=${status.totalRequests}`);
123
+ if (status.rotations !== null)
124
+ parts.push(`rotations=${status.rotations}`);
125
+ const lastAccount = formatHelperLastAccount(status);
126
+ if (lastAccount)
127
+ parts.push(`lastAccount=${lastAccount}`);
128
+ if (status.idleExpiresAt !== null && status.idleExpiresAt > now) {
129
+ parts.push(`idle-expires=${formatWaitTime(status.idleExpiresAt - now)}`);
130
+ }
131
+ return `Codex app helper: ${parts.join(", ")}`;
132
+ }
133
+ function shouldAutoBindCodexApp(env = process.env) {
134
+ const override = (env.CODEX_MULTI_AUTH_APP_BIND_INSTALL ?? "1")
135
+ .trim()
136
+ .toLowerCase();
137
+ return !new Set(["0", "false", "no"]).has(override);
138
+ }
139
+ async function printCodexAppBindStatus(deps) {
140
+ const logInfo = deps.logInfo ?? console.log;
141
+ if (!deps.getCodexAppBindStatus) {
142
+ logInfo("Codex app bind: unavailable");
143
+ return;
144
+ }
145
+ try {
146
+ logInfo(formatAppBindStatus(await deps.getCodexAppBindStatus()));
147
+ }
148
+ catch (error) {
149
+ const message = error instanceof Error ? error.message : String(error);
150
+ logInfo(`Codex app bind: unavailable (${message})`);
151
+ }
152
+ }
153
+ async function printRotationStatus(deps) {
154
+ const logInfo = deps.logInfo ?? console.log;
155
+ const previousStoragePath = deps.getStoragePath();
156
+ let config;
157
+ let enabled;
158
+ let storage;
159
+ let storagePath;
160
+ const now = deps.getNow?.() ?? Date.now();
161
+ try {
162
+ // Rotation status reports the shared Codex account pool, not a project-scoped override.
163
+ deps.setStoragePath(null);
164
+ config = deps.loadPluginConfig();
165
+ const envOverride = parseBooleanEnv(process.env.CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY);
166
+ enabled = envOverride ?? deps.getCodexRuntimeRotationProxy(config);
167
+ storage = await deps.loadAccounts();
168
+ storagePath = deps.getStoragePath();
169
+ }
170
+ finally {
171
+ deps.setStoragePath(previousStoragePath);
172
+ }
173
+ logInfo(`Runtime rotation proxy: ${enabled ? "enabled" : "disabled"}`);
174
+ logInfo(`Stored setting: ${config.codexRuntimeRotationProxy === true ? "enabled" : "disabled"}`);
175
+ logInfo(`Env override: ${formatEnvOverride()}`);
176
+ logInfo(formatAppRuntimeHelperStatus(now));
177
+ await printCodexAppBindStatus(deps);
178
+ logInfo(`Storage: ${storagePath}`);
179
+ if (!storage || storage.accounts.length === 0) {
180
+ logInfo("Accounts: none configured");
181
+ return 0;
182
+ }
183
+ const activeIndex = deps.resolveActiveIndex(storage);
184
+ logInfo(`Accounts: ${storage.accounts.length}`);
185
+ for (let index = 0; index < storage.accounts.length; index += 1) {
186
+ const account = storage.accounts[index];
187
+ if (!account)
188
+ continue;
189
+ const markers = [];
190
+ if (index === activeIndex)
191
+ markers.push("current");
192
+ if (account.enabled === false)
193
+ markers.push("disabled");
194
+ const cooldown = formatCooldown(account, now);
195
+ if (cooldown)
196
+ markers.push(`cooldown:${cooldown}`);
197
+ const rateLimitResetTimes = Object.values(account.rateLimitResetTimes ?? {})
198
+ .filter((value) => typeof value === "number")
199
+ .filter((value) => value > now);
200
+ if (rateLimitResetTimes.length > 0) {
201
+ const waitMs = Math.min(...rateLimitResetTimes) - now;
202
+ markers.push(`rate-limited:${formatWaitTime(waitMs)}`);
203
+ }
204
+ const markerLabel = markers.length > 0 ? ` [${markers.join(", ")}]` : "";
205
+ logInfo(`${index + 1}. ${formatAccountLabel(account, index)}${markerLabel}`);
206
+ }
207
+ return 0;
208
+ }
209
+ export async function runRotationCommand(args, deps) {
210
+ const logInfo = deps.logInfo ?? console.log;
211
+ const logError = deps.logError ?? console.error;
212
+ const [subcommand, ...rest] = args;
213
+ if (!subcommand || subcommand === "status") {
214
+ if (rest.length > 0) {
215
+ logError(`Unknown rotation status option: ${rest[0]}`);
216
+ return 1;
217
+ }
218
+ return printRotationStatus(deps);
219
+ }
220
+ if (subcommand === "--help" || subcommand === "-h" || subcommand === "help") {
221
+ printRotationUsage(logInfo);
222
+ return 0;
223
+ }
224
+ if (rest.length > 0) {
225
+ logError(`Unknown rotation option: ${rest[0]}`);
226
+ return 1;
227
+ }
228
+ if (subcommand === "enable") {
229
+ await deps.savePluginConfig({ codexRuntimeRotationProxy: true });
230
+ logInfo("Runtime rotation proxy enabled.");
231
+ logInfo("New Codex sessions will route Responses traffic through the localhost proxy.");
232
+ if (deps.bindCodexApp && shouldAutoBindCodexApp()) {
233
+ try {
234
+ const result = await deps.bindCodexApp();
235
+ logInfo(result.message);
236
+ logInfo(formatAppBindStatus(result.status));
237
+ }
238
+ catch (error) {
239
+ const message = error instanceof Error ? error.message : String(error);
240
+ logError(`Codex app bind failed: ${message}`);
241
+ logInfo("Wrapper-launched CLI and app sessions still use runtime rotation.");
242
+ }
243
+ }
244
+ return 0;
245
+ }
246
+ if (subcommand === "disable") {
247
+ await deps.savePluginConfig({ codexRuntimeRotationProxy: false });
248
+ logInfo("Runtime rotation proxy disabled.");
249
+ if (deps.unbindCodexApp) {
250
+ try {
251
+ const result = await deps.unbindCodexApp();
252
+ logInfo(result.message);
253
+ logInfo(formatAppBindStatus(result.status));
254
+ }
255
+ catch (error) {
256
+ const message = error instanceof Error ? error.message : String(error);
257
+ logError(`Codex app unbind failed: ${message}`);
258
+ return 1;
259
+ }
260
+ }
261
+ return 0;
262
+ }
263
+ if (subcommand === "bind-app") {
264
+ if (!deps.bindCodexApp) {
265
+ logError("Codex app bind is unavailable in this build.");
266
+ return 1;
267
+ }
268
+ const result = await deps.bindCodexApp();
269
+ logInfo(result.message);
270
+ logInfo(formatAppBindStatus(result.status));
271
+ return 0;
272
+ }
273
+ if (subcommand === "unbind-app") {
274
+ if (!deps.unbindCodexApp) {
275
+ logError("Codex app bind is unavailable in this build.");
276
+ return 1;
277
+ }
278
+ const result = await deps.unbindCodexApp();
279
+ logInfo(result.message);
280
+ logInfo(formatAppBindStatus(result.status));
281
+ return 0;
282
+ }
283
+ logError(`Unknown rotation command: ${subcommand}`);
284
+ printRotationUsage(logInfo);
285
+ return 1;
286
+ }
287
+ //# sourceMappingURL=rotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotation.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/rotation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,KAAK,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IACjC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,WAAW,KAChB,MAAM,CAAC;IACZ,oBAAoB,EAAE,CACrB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAC7C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,KACf,MAAM,GAAG,IAAI,CAAC;IACnB,gCAAgC,CAAC,EAAE,MAAM,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,iBAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,CAwGjB;AAED,MAAM,WAAW,mBAAmB;IACnC,mBAAmB,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAQpE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,KAAK,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAG7C,MAAM,WAAW,iBAAiB;IACjC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,WAAW,KAChB,MAAM,CAAC;IACZ,oBAAoB,EAAE,CACrB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAC7C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,KACf,MAAM,GAAG,IAAI,CAAC;IACnB,gCAAgC,CAAC,EAAE,MAAM,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAqCD,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,iBAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,CA4GjB;AAED,MAAM,WAAW,mBAAmB;IACnC,mBAAmB,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAQpE"}
@@ -1,5 +1,32 @@
1
1
  import { formatAccountLabel, formatCooldown, formatWaitTime, } from "../../accounts.js";
2
2
  import { evaluateForecastAccounts, recommendForecastAccount, } from "../../forecast.js";
3
+ function isRestoreReason(value) {
4
+ return (value === "empty-storage" ||
5
+ value === "intentional-reset" ||
6
+ value === "missing-storage");
7
+ }
8
+ function readRestoreReason(storage) {
9
+ if (!("restoreReason" in storage))
10
+ return undefined;
11
+ return isRestoreReason(storage.restoreReason)
12
+ ? storage.restoreReason
13
+ : undefined;
14
+ }
15
+ function formatRuntimeLastAccount(runtimeSnapshot) {
16
+ if (runtimeSnapshot.lastAccountLabel &&
17
+ !runtimeSnapshot.lastAccountLabel.includes("@")) {
18
+ return runtimeSnapshot.lastAccountLabel;
19
+ }
20
+ if (runtimeSnapshot.lastAccountId) {
21
+ return typeof runtimeSnapshot.lastAccountIndex === "number"
22
+ ? `Account ${runtimeSnapshot.lastAccountIndex + 1} (${runtimeSnapshot.lastAccountId})`
23
+ : runtimeSnapshot.lastAccountId;
24
+ }
25
+ if (typeof runtimeSnapshot.lastAccountIndex === "number") {
26
+ return `Account ${runtimeSnapshot.lastAccountIndex + 1}`;
27
+ }
28
+ return null;
29
+ }
3
30
  export async function runStatusCommand(deps) {
4
31
  deps.setStoragePath(null);
5
32
  const storage = await deps.loadAccounts();
@@ -7,14 +34,14 @@ export async function runStatusCommand(deps) {
7
34
  const storageHealth = await deps.inspectStorageHealth?.();
8
35
  const logInfo = deps.logInfo ?? console.log;
9
36
  if (!storage || storage.accounts.length === 0) {
10
- // When loadAccounts() returns null, the caller has detected an intentional
11
- // reset (e.g. via the reset-intent marker) that inspectStorageHealth() may
12
- // not see if the storage path has already been cleared or redirected. Treat
13
- // the null return as a stronger "reset" signal than the filesystem probe's
14
- // "empty" fallback so the output message is accurate.
15
- const effectiveState = storage === null && (!storageHealth || storageHealth.state === "empty")
37
+ const restoreReason = storage ? readRestoreReason(storage) : undefined;
38
+ const effectiveState = restoreReason === "intentional-reset"
16
39
  ? "intentional-reset"
17
- : storageHealth?.state;
40
+ : storageHealth?.state ??
41
+ (restoreReason === "empty-storage" ||
42
+ restoreReason === "missing-storage"
43
+ ? "empty"
44
+ : undefined);
18
45
  logInfo(effectiveState === "intentional-reset"
19
46
  ? "No accounts configured. Storage was intentionally reset."
20
47
  : effectiveState === "recoverable"
@@ -57,6 +84,10 @@ export async function runStatusCommand(deps) {
57
84
  ? formatWaitTime(runtimeSnapshot.serverBurstCooldownUntil - now)
58
85
  : null;
59
86
  logInfo(`Runtime: responses=${runtimeSnapshot.responsesRequests}, refresh=${runtimeSnapshot.authRefreshRequests}, probes=${runtimeSnapshot.diagnosticProbeRequests}, budgetExhaustions=${runtimeMetrics.requestAttemptBudgetExhaustions}`);
87
+ const lastRuntimeAccount = formatRuntimeLastAccount(runtimeSnapshot);
88
+ if (lastRuntimeAccount) {
89
+ logInfo(`Last runtime account: ${lastRuntimeAccount}`);
90
+ }
60
91
  if (poolCooldown || serverCooldown) {
61
92
  logInfo(`Cooldowns: pool=${poolCooldown ?? "none"}, server-burst=${serverCooldown ?? "none"}`);
62
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,IAAI,CAqCjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAqBtE;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,cAAc,IAAI,IAAI,CAgBrC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAyD5D"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,IAAI,CAsCjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAqBtE;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,cAAc,IAAI,IAAI,CAgBrC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAyD5D"}
@@ -20,6 +20,7 @@ export function printUsage() {
20
20
  " codex auth doctor [--json] [--fix] [--dry-run]",
21
21
  "",
22
22
  "Diagnostics:",
23
+ " codex auth rotation <enable|disable|status|bind-app|unbind-app>",
23
24
  " codex auth why-selected [--now | --last] [--json]",
24
25
  "",
25
26
  "Advanced:",
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-manager.d.ts","sourceRoot":"","sources":["../../lib/codex-manager.ts"],"names":[],"mappings":"AAg3CA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3D;AA+tDD,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC,CAuGrE;AAuCD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiK7E"}
1
+ {"version":3,"file":"codex-manager.d.ts","sourceRoot":"","sources":["../../lib/codex-manager.ts"],"names":[],"mappings":"AA46CA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAguDD,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC,CAuGrE;AAuCD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+K7E"}