codex-multi-auth 2.0.1 → 2.1.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 (143) hide show
  1. package/README.md +22 -8
  2. package/config/README.md +4 -4
  3. package/config/codex-legacy.json +571 -571
  4. package/config/codex-modern.json +258 -258
  5. package/config/minimal-codex.json +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +91 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/account-policy.d.ts +22 -0
  10. package/dist/lib/account-policy.d.ts.map +1 -0
  11. package/dist/lib/account-policy.js +159 -0
  12. package/dist/lib/account-policy.js.map +1 -0
  13. package/dist/lib/accounts.d.ts.map +1 -1
  14. package/dist/lib/accounts.js +2 -1
  15. package/dist/lib/accounts.js.map +1 -1
  16. package/dist/lib/auth/device-auth.d.ts +46 -0
  17. package/dist/lib/auth/device-auth.d.ts.map +1 -0
  18. package/dist/lib/auth/device-auth.js +325 -0
  19. package/dist/lib/auth/device-auth.js.map +1 -0
  20. package/dist/lib/auth/index.d.ts +2 -0
  21. package/dist/lib/auth/index.d.ts.map +1 -1
  22. package/dist/lib/auth/index.js +1 -0
  23. package/dist/lib/auth/index.js.map +1 -1
  24. package/dist/lib/budget-guard.d.ts +39 -0
  25. package/dist/lib/budget-guard.d.ts.map +1 -0
  26. package/dist/lib/budget-guard.js +201 -0
  27. package/dist/lib/budget-guard.js.map +1 -0
  28. package/dist/lib/codex-manager/commands/account.d.ts +13 -0
  29. package/dist/lib/codex-manager/commands/account.d.ts.map +1 -0
  30. package/dist/lib/codex-manager/commands/account.js +156 -0
  31. package/dist/lib/codex-manager/commands/account.js.map +1 -0
  32. package/dist/lib/codex-manager/commands/bridge.d.ts +6 -0
  33. package/dist/lib/codex-manager/commands/bridge.d.ts.map +1 -0
  34. package/dist/lib/codex-manager/commands/bridge.js +100 -0
  35. package/dist/lib/codex-manager/commands/bridge.js.map +1 -0
  36. package/dist/lib/codex-manager/commands/budget.d.ts +12 -0
  37. package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -0
  38. package/dist/lib/codex-manager/commands/budget.js +123 -0
  39. package/dist/lib/codex-manager/commands/budget.js.map +1 -0
  40. package/dist/lib/codex-manager/commands/integrations.d.ts +6 -0
  41. package/dist/lib/codex-manager/commands/integrations.d.ts.map +1 -0
  42. package/dist/lib/codex-manager/commands/integrations.js +78 -0
  43. package/dist/lib/codex-manager/commands/integrations.js.map +1 -0
  44. package/dist/lib/codex-manager/commands/models.d.ts +14 -0
  45. package/dist/lib/codex-manager/commands/models.d.ts.map +1 -0
  46. package/dist/lib/codex-manager/commands/models.js +74 -0
  47. package/dist/lib/codex-manager/commands/models.js.map +1 -0
  48. package/dist/lib/codex-manager/commands/monitor.d.ts +22 -0
  49. package/dist/lib/codex-manager/commands/monitor.d.ts.map +1 -0
  50. package/dist/lib/codex-manager/commands/monitor.js +94 -0
  51. package/dist/lib/codex-manager/commands/monitor.js.map +1 -0
  52. package/dist/lib/codex-manager/commands/rotation.d.ts +1 -0
  53. package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -1
  54. package/dist/lib/codex-manager/commands/rotation.js +293 -10
  55. package/dist/lib/codex-manager/commands/rotation.js.map +1 -1
  56. package/dist/lib/codex-manager/commands/usage.d.ts +13 -0
  57. package/dist/lib/codex-manager/commands/usage.d.ts.map +1 -0
  58. package/dist/lib/codex-manager/commands/usage.js +347 -0
  59. package/dist/lib/codex-manager/commands/usage.js.map +1 -0
  60. package/dist/lib/codex-manager/help.d.ts +1 -0
  61. package/dist/lib/codex-manager/help.d.ts.map +1 -1
  62. package/dist/lib/codex-manager/help.js +26 -1
  63. package/dist/lib/codex-manager/help.js.map +1 -1
  64. package/dist/lib/codex-manager.d.ts.map +1 -1
  65. package/dist/lib/codex-manager.js +64 -7
  66. package/dist/lib/codex-manager.js.map +1 -1
  67. package/dist/lib/config.d.ts.map +1 -1
  68. package/dist/lib/config.js +2 -22
  69. package/dist/lib/config.js.map +1 -1
  70. package/dist/lib/constants.d.ts +1 -0
  71. package/dist/lib/constants.d.ts.map +1 -1
  72. package/dist/lib/constants.js +1 -0
  73. package/dist/lib/constants.js.map +1 -1
  74. package/dist/lib/env-parsing.d.ts +21 -0
  75. package/dist/lib/env-parsing.d.ts.map +1 -0
  76. package/dist/lib/env-parsing.js +34 -0
  77. package/dist/lib/env-parsing.js.map +1 -0
  78. package/dist/lib/index.d.ts +9 -0
  79. package/dist/lib/index.d.ts.map +1 -1
  80. package/dist/lib/index.js +9 -0
  81. package/dist/lib/index.js.map +1 -1
  82. package/dist/lib/integration-generators.d.ts +14 -0
  83. package/dist/lib/integration-generators.d.ts.map +1 -0
  84. package/dist/lib/integration-generators.js +93 -0
  85. package/dist/lib/integration-generators.js.map +1 -0
  86. package/dist/lib/local-bridge.d.ts +17 -0
  87. package/dist/lib/local-bridge.d.ts.map +1 -0
  88. package/dist/lib/local-bridge.js +249 -0
  89. package/dist/lib/local-bridge.js.map +1 -0
  90. package/dist/lib/local-client-tokens.d.ts +37 -0
  91. package/dist/lib/local-client-tokens.d.ts.map +1 -0
  92. package/dist/lib/local-client-tokens.js +200 -0
  93. package/dist/lib/local-client-tokens.js.map +1 -0
  94. package/dist/lib/model-capability-matrix.d.ts +38 -0
  95. package/dist/lib/model-capability-matrix.d.ts.map +1 -0
  96. package/dist/lib/model-capability-matrix.js +89 -0
  97. package/dist/lib/model-capability-matrix.js.map +1 -0
  98. package/dist/lib/policy/runtime-policy.d.ts +59 -0
  99. package/dist/lib/policy/runtime-policy.d.ts.map +1 -0
  100. package/dist/lib/policy/runtime-policy.js +156 -0
  101. package/dist/lib/policy/runtime-policy.js.map +1 -0
  102. package/dist/lib/proactive-refresh.js +4 -4
  103. package/dist/lib/proactive-refresh.js.map +1 -1
  104. package/dist/lib/refresh-lease.d.ts.map +1 -1
  105. package/dist/lib/refresh-lease.js +1 -10
  106. package/dist/lib/refresh-lease.js.map +1 -1
  107. package/dist/lib/routing-profiles.d.ts +36 -0
  108. package/dist/lib/routing-profiles.d.ts.map +1 -0
  109. package/dist/lib/routing-profiles.js +203 -0
  110. package/dist/lib/routing-profiles.js.map +1 -0
  111. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  112. package/dist/lib/runtime-rotation-proxy.js +96 -6
  113. package/dist/lib/runtime-rotation-proxy.js.map +1 -1
  114. package/dist/lib/schemas.d.ts +3 -0
  115. package/dist/lib/schemas.d.ts.map +1 -1
  116. package/dist/lib/schemas.js +1 -0
  117. package/dist/lib/schemas.js.map +1 -1
  118. package/dist/lib/usage/index.d.ts +5 -0
  119. package/dist/lib/usage/index.d.ts.map +1 -0
  120. package/dist/lib/usage/index.js +5 -0
  121. package/dist/lib/usage/index.js.map +1 -0
  122. package/dist/lib/usage/ledger.d.ts +12 -0
  123. package/dist/lib/usage/ledger.d.ts.map +1 -0
  124. package/dist/lib/usage/ledger.js +493 -0
  125. package/dist/lib/usage/ledger.js.map +1 -0
  126. package/dist/lib/usage/pricing.d.ts +11 -0
  127. package/dist/lib/usage/pricing.d.ts.map +1 -0
  128. package/dist/lib/usage/pricing.js +67 -0
  129. package/dist/lib/usage/pricing.js.map +1 -0
  130. package/dist/lib/usage/redaction.d.ts +10 -0
  131. package/dist/lib/usage/redaction.d.ts.map +1 -0
  132. package/dist/lib/usage/redaction.js +129 -0
  133. package/dist/lib/usage/redaction.js.map +1 -0
  134. package/dist/lib/usage/types.d.ts +89 -0
  135. package/dist/lib/usage/types.d.ts.map +1 -0
  136. package/dist/lib/usage/types.js +2 -0
  137. package/dist/lib/usage/types.js.map +1 -0
  138. package/package.json +1 -1
  139. package/scripts/bench-format/codex-host.mjs +142 -142
  140. package/scripts/bench-format/models.mjs +23 -23
  141. package/scripts/benchmark-edit-formats.mjs +9 -9
  142. package/scripts/codex-app-router.js +121 -121
  143. package/scripts/codex.js +165 -165
package/README.md CHANGED
@@ -22,8 +22,10 @@ Codex CLI-first multi-account OAuth manager for the official Codex CLI. The inst
22
22
  - Interactive dashboard for account actions and settings
23
23
  - Experimental settings tab for staged sync, backup, and refresh-guard controls
24
24
  - Forecast, report, fix, and doctor commands for operational safety
25
+ - Local usage ledger, budgets, account policy controls, routing profiles, and monitor views for local governance
25
26
  - Runtime counters, budget/cooldown state, and multi-auth probe visibility in `codex auth status` / `codex auth report`
26
27
  - Default-on runtime Responses proxy for live account rotation inside forwarded Codex CLI/app sessions
28
+ - Optional loopback-only local bridge for `/health`, `/v1/models`, and `/v1/responses`, protected by hashed local client tokens
27
29
  - Reversible packaged Codex app bind and user-level launcher routing helpers
28
30
  - Flagged account verification and restore flow
29
31
  - Session affinity and live account sync controls
@@ -134,7 +136,8 @@ codex auth switch 2
134
136
  codex auth forecast --live
135
137
  ```
136
138
 
137
- If browser launch is blocked, use the alternate login paths in [docs/getting-started.md](docs/getting-started.md#alternate-login-paths).
139
+ If browser launch is blocked, use the alternate login paths in [docs/getting-started.md](docs/getting-started.md#alternate-login-paths).
140
+ For remote or headless shells, prefer `codex auth login --device-auth`.
138
141
 
139
142
  ---
140
143
 
@@ -172,6 +175,10 @@ If browser launch is blocked, use the alternate login paths in [docs/getting-sta
172
175
  | `codex auth report --live --json` | How do I get the full machine-readable health report? |
173
176
  | `codex auth fix --live --model gpt-5.3-codex` | How do I run live repair probes with a chosen model? |
174
177
  | `codex auth why-selected --json` | Which account does the selector pick now, and why? |
178
+ | `codex auth usage --since 24h --by project` | What local usage has been recorded recently? |
179
+ | `codex auth monitor --json` | What is the combined usage, policy, quota, runtime, and project state? |
180
+ | `codex auth bridge token create --label local-client` | How do I create a local bridge bearer token? |
181
+ | `codex auth integrations --kind python` | How do I generate local bridge client snippets? |
175
182
  | `codex auth rotation status` | Is live runtime account rotation enabled for forwarded Codex sessions? |
176
183
 
177
184
  ### Reliability behavior
@@ -215,8 +222,13 @@ If browser launch is blocked, use the alternate login paths in [docs/getting-sta
215
222
  | Settings | `~/.codex/multi-auth/settings.json` |
216
223
  | Accounts | `~/.codex/multi-auth/openai-codex-accounts.json` |
217
224
  | Flagged accounts | `~/.codex/multi-auth/openai-codex-flagged-accounts.json` |
218
- | Quota cache | `~/.codex/multi-auth/quota-cache.json` |
225
+ | Quota cache | `~/.codex/multi-auth/quota-cache.json` |
219
226
  | Runtime observability | `~/.codex/multi-auth/runtime-observability.json` |
227
+ | Usage ledger | `~/.codex/multi-auth/usage/usage-ledger.jsonl` |
228
+ | Account policies | `~/.codex/multi-auth/account-policies.json` |
229
+ | Routing profiles | `~/.codex/multi-auth/routing-profiles.json` |
230
+ | Budget guards | `~/.codex/multi-auth/budget-guards.json` |
231
+ | Local client tokens | `~/.codex/multi-auth/local-client-tokens.json` |
220
232
  | Runtime app helper status | `~/.codex/multi-auth/runtime-rotation-app-helper.json` |
221
233
  | Persistent app bind state/logs | `~/.codex/multi-auth/app-bind/` |
222
234
  | Logs | `~/.codex/multi-auth/logs/codex-plugin/` |
@@ -305,7 +317,7 @@ codex auth login
305
317
  - Requests fail fast after repeated upstream 5xx errors: inspect `codex auth report --json` for runtime traffic and cooldown details
306
318
  - Storage cleanup fails with `EBUSY` / `EPERM` (Windows): run `codex auth doctor --fix` to retry, or manually remove `~/.codex/multi-auth/<project-key>/` and re-login
307
319
  - OAuth callback on port `1455` fails: free the port and re-run `codex auth login`
308
- - Browser launch is blocked or you are in a headless shell: re-run `codex auth login --manual` or set `CODEX_AUTH_NO_BROWSER=1`
320
+ - Browser launch is blocked or you are in a headless shell: prefer `codex auth login --device-auth`; use `codex auth login --manual` or `CODEX_AUTH_NO_BROWSER=1` only when you need the callback-paste fallback
309
321
  - `missing field id_token` / `token_expired` / `refresh_token_reused`: re-login affected account
310
322
 
311
323
  </details>
@@ -345,11 +357,13 @@ codex auth doctor --json
345
357
 
346
358
  ---
347
359
 
348
- ## Release Notes
349
-
350
- - Current stable: [docs/releases/v2.0.1.md](docs/releases/v2.0.1.md)
351
- - Previous stable: [docs/releases/v1.3.2.md](docs/releases/v1.3.2.md)
352
- - Earlier stable: [docs/releases/v1.3.1.md](docs/releases/v1.3.1.md)
360
+ ## Release Notes
361
+
362
+ - Current stable: [docs/releases/v2.1.0.md](docs/releases/v2.1.0.md)
363
+ - Previous stable: [docs/releases/v2.0.2.md](docs/releases/v2.0.2.md)
364
+ - Earlier stable: [docs/releases/v2.0.1.md](docs/releases/v2.0.1.md)
365
+ - Earlier stable: [docs/releases/v1.3.2.md](docs/releases/v1.3.2.md)
366
+ - Stable archive: [docs/releases/v1.3.1.md](docs/releases/v1.3.1.md)
353
367
  - Full release archive: [docs/README.md#release-history](docs/README.md#release-history)
354
368
  - Archived prerelease: [docs/releases/v0.1.0-beta.0.md](docs/releases/v0.1.0-beta.0.md)
355
369
 
package/config/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Config Templates
2
2
 
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.
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,12 +12,12 @@ These files are optional model/provider templates for host/plugin configurations
12
12
 
13
13
  ## Notes
14
14
 
15
- - These templates are optional for the OAuth account manager flow and the runtime rotation proxy.
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
 
20
- - Current documented OpenAI/Codex model families (`gpt-5.5`, `gpt-5.4`, and `gpt-5.3-codex`)
20
+ - Current documented OpenAI/Codex model families (`gpt-5.5`, `gpt-5.4`, and `gpt-5.3-codex`)
21
21
  - `store: false`
22
22
  - `include: ["reasoning.encrypted_content"]`
23
23
  - Sensible fallback behavior for unsupported model entitlements