oc-codex-multi-auth 6.20.0 → 6.22.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 (215) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +729 -568
  3. package/assets/icon.svg +7 -7
  4. package/assets/opencode-logo-ornate-dark.svg +18 -18
  5. package/assets/readme-hero.svg +31 -31
  6. package/config/README.md +177 -177
  7. package/config/minimal-opencode.json +14 -14
  8. package/config/opencode-legacy.json +1496 -1496
  9. package/config/opencode-modern.json +555 -555
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +567 -102
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/account-display.d.ts +46 -0
  14. package/dist/lib/account-display.d.ts.map +1 -1
  15. package/dist/lib/account-display.js +263 -1
  16. package/dist/lib/account-display.js.map +1 -1
  17. package/dist/lib/accounts/persistence.d.ts +3 -1
  18. package/dist/lib/accounts/persistence.d.ts.map +1 -1
  19. package/dist/lib/accounts/persistence.js +27 -3
  20. package/dist/lib/accounts/persistence.js.map +1 -1
  21. package/dist/lib/accounts/stale-state.d.ts +1 -0
  22. package/dist/lib/accounts/stale-state.d.ts.map +1 -1
  23. package/dist/lib/accounts/stale-state.js +30 -0
  24. package/dist/lib/accounts/stale-state.js.map +1 -1
  25. package/dist/lib/accounts/warm-recovery.d.ts +8 -0
  26. package/dist/lib/accounts/warm-recovery.d.ts.map +1 -0
  27. package/dist/lib/accounts/warm-recovery.js +70 -0
  28. package/dist/lib/accounts/warm-recovery.js.map +1 -0
  29. package/dist/lib/accounts/warm-request.d.ts +2 -0
  30. package/dist/lib/accounts/warm-request.d.ts.map +1 -1
  31. package/dist/lib/accounts/warm-request.js +4 -2
  32. package/dist/lib/accounts/warm-request.js.map +1 -1
  33. package/dist/lib/accounts.d.ts +5 -1
  34. package/dist/lib/accounts.d.ts.map +1 -1
  35. package/dist/lib/accounts.js +22 -17
  36. package/dist/lib/accounts.js.map +1 -1
  37. package/dist/lib/auth/login-runner.d.ts.map +1 -1
  38. package/dist/lib/auth/login-runner.js +79 -2
  39. package/dist/lib/auth/login-runner.js.map +1 -1
  40. package/dist/lib/auto-update-checker.d.ts +17 -1
  41. package/dist/lib/auto-update-checker.d.ts.map +1 -1
  42. package/dist/lib/auto-update-checker.js +49 -3
  43. package/dist/lib/auto-update-checker.js.map +1 -1
  44. package/dist/lib/circuit-breaker.d.ts +5 -0
  45. package/dist/lib/circuit-breaker.d.ts.map +1 -1
  46. package/dist/lib/circuit-breaker.js +23 -6
  47. package/dist/lib/circuit-breaker.js.map +1 -1
  48. package/dist/lib/cli.d.ts +1 -0
  49. package/dist/lib/cli.d.ts.map +1 -1
  50. package/dist/lib/cli.js +9 -3
  51. package/dist/lib/cli.js.map +1 -1
  52. package/dist/lib/codex-reset.d.ts +7 -1
  53. package/dist/lib/codex-reset.d.ts.map +1 -1
  54. package/dist/lib/codex-reset.js +9 -2
  55. package/dist/lib/codex-reset.js.map +1 -1
  56. package/dist/lib/codex-usage.d.ts +7 -4
  57. package/dist/lib/codex-usage.d.ts.map +1 -1
  58. package/dist/lib/codex-usage.js +48 -13
  59. package/dist/lib/codex-usage.js.map +1 -1
  60. package/dist/lib/config.d.ts +77 -1
  61. package/dist/lib/config.d.ts.map +1 -1
  62. package/dist/lib/config.js +190 -15
  63. package/dist/lib/config.js.map +1 -1
  64. package/dist/lib/context-overflow.js +10 -10
  65. package/dist/lib/desktop-notifications.js +6 -6
  66. package/dist/lib/oauth-success.js +202 -202
  67. package/dist/lib/parallel-probe.d.ts.map +1 -1
  68. package/dist/lib/parallel-probe.js +2 -1
  69. package/dist/lib/parallel-probe.js.map +1 -1
  70. package/dist/lib/plan-allotment.d.ts +72 -0
  71. package/dist/lib/plan-allotment.d.ts.map +1 -0
  72. package/dist/lib/plan-allotment.js +142 -0
  73. package/dist/lib/plan-allotment.js.map +1 -0
  74. package/dist/lib/plugin-origin.d.ts +77 -0
  75. package/dist/lib/plugin-origin.d.ts.map +1 -0
  76. package/dist/lib/plugin-origin.js +301 -0
  77. package/dist/lib/plugin-origin.js.map +1 -0
  78. package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
  79. package/dist/lib/prompts/codex.js +75 -75
  80. package/dist/lib/quota-display.d.ts +40 -0
  81. package/dist/lib/quota-display.d.ts.map +1 -0
  82. package/dist/lib/quota-display.js +45 -0
  83. package/dist/lib/quota-display.js.map +1 -0
  84. package/dist/lib/quota-notifications.d.ts +2 -1
  85. package/dist/lib/quota-notifications.d.ts.map +1 -1
  86. package/dist/lib/quota-notifications.js +43 -14
  87. package/dist/lib/quota-notifications.js.map +1 -1
  88. package/dist/lib/quota-overview.d.ts +253 -0
  89. package/dist/lib/quota-overview.d.ts.map +1 -0
  90. package/dist/lib/quota-overview.js +707 -0
  91. package/dist/lib/quota-overview.js.map +1 -0
  92. package/dist/lib/request/fetch-helpers.js +22 -18
  93. package/dist/lib/request/fetch-helpers.js.map +1 -1
  94. package/dist/lib/request/response-handler.d.ts.map +1 -1
  95. package/dist/lib/request/response-handler.js +85 -43
  96. package/dist/lib/request/response-handler.js.map +1 -1
  97. package/dist/lib/request/retry-budget.d.ts +26 -0
  98. package/dist/lib/request/retry-budget.d.ts.map +1 -1
  99. package/dist/lib/request/retry-budget.js +43 -0
  100. package/dist/lib/request/retry-budget.js.map +1 -1
  101. package/dist/lib/rotation.d.ts +1 -1
  102. package/dist/lib/schemas.d.ts +67 -0
  103. package/dist/lib/schemas.d.ts.map +1 -1
  104. package/dist/lib/schemas.js +53 -0
  105. package/dist/lib/schemas.js.map +1 -1
  106. package/dist/lib/storage/backup.d.ts +33 -0
  107. package/dist/lib/storage/backup.d.ts.map +1 -1
  108. package/dist/lib/storage/backup.js +43 -7
  109. package/dist/lib/storage/backup.js.map +1 -1
  110. package/dist/lib/storage/credential-snapshots.d.ts +78 -0
  111. package/dist/lib/storage/credential-snapshots.d.ts.map +1 -0
  112. package/dist/lib/storage/credential-snapshots.js +302 -0
  113. package/dist/lib/storage/credential-snapshots.js.map +1 -0
  114. package/dist/lib/storage/export-import.d.ts.map +1 -1
  115. package/dist/lib/storage/export-import.js +7 -0
  116. package/dist/lib/storage/export-import.js.map +1 -1
  117. package/dist/lib/storage/flagged.d.ts.map +1 -1
  118. package/dist/lib/storage/flagged.js +23 -1
  119. package/dist/lib/storage/flagged.js.map +1 -1
  120. package/dist/lib/storage/load-save.d.ts +5 -0
  121. package/dist/lib/storage/load-save.d.ts.map +1 -1
  122. package/dist/lib/storage/load-save.js +61 -0
  123. package/dist/lib/storage/load-save.js.map +1 -1
  124. package/dist/lib/storage/normalize.d.ts.map +1 -1
  125. package/dist/lib/storage/normalize.js +38 -2
  126. package/dist/lib/storage/normalize.js.map +1 -1
  127. package/dist/lib/storage/paths.d.ts +1 -0
  128. package/dist/lib/storage/paths.d.ts.map +1 -1
  129. package/dist/lib/storage/paths.js +1 -1
  130. package/dist/lib/storage/paths.js.map +1 -1
  131. package/dist/lib/storage/state.d.ts +1 -0
  132. package/dist/lib/storage/state.d.ts.map +1 -1
  133. package/dist/lib/storage/state.js +12 -0
  134. package/dist/lib/storage/state.js.map +1 -1
  135. package/dist/lib/storage/test-home-guard.d.ts +35 -0
  136. package/dist/lib/storage/test-home-guard.d.ts.map +1 -0
  137. package/dist/lib/storage/test-home-guard.js +59 -0
  138. package/dist/lib/storage/test-home-guard.js.map +1 -0
  139. package/dist/lib/tools/codex-dashboard.d.ts.map +1 -1
  140. package/dist/lib/tools/codex-dashboard.js +3 -2
  141. package/dist/lib/tools/codex-dashboard.js.map +1 -1
  142. package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
  143. package/dist/lib/tools/codex-doctor.js +16 -0
  144. package/dist/lib/tools/codex-doctor.js.map +1 -1
  145. package/dist/lib/tools/codex-health.d.ts.map +1 -1
  146. package/dist/lib/tools/codex-health.js +10 -2
  147. package/dist/lib/tools/codex-health.js.map +1 -1
  148. package/dist/lib/tools/codex-label.d.ts.map +1 -1
  149. package/dist/lib/tools/codex-label.js +1 -0
  150. package/dist/lib/tools/codex-label.js.map +1 -1
  151. package/dist/lib/tools/codex-limits.d.ts.map +1 -1
  152. package/dist/lib/tools/codex-limits.js +26 -10
  153. package/dist/lib/tools/codex-limits.js.map +1 -1
  154. package/dist/lib/tools/codex-list.d.ts.map +1 -1
  155. package/dist/lib/tools/codex-list.js +28 -3
  156. package/dist/lib/tools/codex-list.js.map +1 -1
  157. package/dist/lib/tools/codex-note.d.ts.map +1 -1
  158. package/dist/lib/tools/codex-note.js +4 -1
  159. package/dist/lib/tools/codex-note.js.map +1 -1
  160. package/dist/lib/tools/codex-pool.d.ts.map +1 -1
  161. package/dist/lib/tools/codex-pool.js +6 -2
  162. package/dist/lib/tools/codex-pool.js.map +1 -1
  163. package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
  164. package/dist/lib/tools/codex-refresh.js +4 -1
  165. package/dist/lib/tools/codex-refresh.js.map +1 -1
  166. package/dist/lib/tools/codex-remove.d.ts.map +1 -1
  167. package/dist/lib/tools/codex-remove.js +1 -0
  168. package/dist/lib/tools/codex-remove.js.map +1 -1
  169. package/dist/lib/tools/codex-reset.d.ts.map +1 -1
  170. package/dist/lib/tools/codex-reset.js +53 -8
  171. package/dist/lib/tools/codex-reset.js.map +1 -1
  172. package/dist/lib/tools/codex-status.d.ts.map +1 -1
  173. package/dist/lib/tools/codex-status.js +25 -2
  174. package/dist/lib/tools/codex-status.js.map +1 -1
  175. package/dist/lib/tools/codex-switch.d.ts.map +1 -1
  176. package/dist/lib/tools/codex-switch.js +1 -0
  177. package/dist/lib/tools/codex-switch.js.map +1 -1
  178. package/dist/lib/tools/codex-tag.d.ts.map +1 -1
  179. package/dist/lib/tools/codex-tag.js +4 -1
  180. package/dist/lib/tools/codex-tag.js.map +1 -1
  181. package/dist/lib/tools/codex-warm.d.ts +2 -1
  182. package/dist/lib/tools/codex-warm.d.ts.map +1 -1
  183. package/dist/lib/tools/codex-warm.js +49 -5
  184. package/dist/lib/tools/codex-warm.js.map +1 -1
  185. package/dist/lib/tools/index.d.ts +10 -1
  186. package/dist/lib/tools/index.d.ts.map +1 -1
  187. package/dist/lib/tools/index.js.map +1 -1
  188. package/dist/lib/tui-quota-cache.d.ts +35 -0
  189. package/dist/lib/tui-quota-cache.d.ts.map +1 -1
  190. package/dist/lib/tui-quota-cache.js +79 -12
  191. package/dist/lib/tui-quota-cache.js.map +1 -1
  192. package/dist/lib/tui-quota-overview.d.ts +55 -0
  193. package/dist/lib/tui-quota-overview.d.ts.map +1 -0
  194. package/dist/lib/tui-quota-overview.js +209 -0
  195. package/dist/lib/tui-quota-overview.js.map +1 -0
  196. package/dist/lib/tui-status.d.ts +55 -0
  197. package/dist/lib/tui-status.d.ts.map +1 -1
  198. package/dist/lib/tui-status.js +155 -14
  199. package/dist/lib/tui-status.js.map +1 -1
  200. package/dist/lib/ui/auth-menu.d.ts +2 -0
  201. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  202. package/dist/lib/ui/auth-menu.js +10 -6
  203. package/dist/lib/ui/auth-menu.js.map +1 -1
  204. package/dist/tui.d.ts +59 -1
  205. package/dist/tui.d.ts.map +1 -1
  206. package/dist/tui.js +535 -43
  207. package/dist/tui.js.map +1 -1
  208. package/package.json +155 -155
  209. package/scripts/audit-dev-allowlist.js +114 -114
  210. package/scripts/clean-dist.js +27 -27
  211. package/scripts/copy-oauth-success.js +47 -47
  212. package/scripts/install-oc-codex-multi-auth-core.js +2003 -1469
  213. package/scripts/install-oc-codex-multi-auth.js +37 -37
  214. package/scripts/test-all-models.sh +260 -260
  215. package/scripts/validate-model-map.sh +97 -97
@@ -1 +1 @@
1
- {"version":3,"file":"codex-usage.js","sourceRoot":"","sources":["../../lib/codex-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-usage.js","sourceRoot":"","sources":["../../lib/codex-usage.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { PluginConfig } from "./types.js";
2
2
  import { type RetryBudgetOverrides, type RetryProfile } from "./request/retry-budget.js";
3
+ import { type QuotaDisplayMode } from "./quota-display.js";
4
+ import type { QuotaOverviewLayout, QuotaOverviewNames, QuotaOverviewOrder, QuotaOverviewResetTimes } from "./quota-overview.js";
3
5
  export type UnsupportedCodexPolicy = "strict" | "fallback";
4
6
  export type ModelAccountPoolMode = "preferred" | "strict";
5
7
  export type ModelAccountPoolMutation = "set" | "add" | "remove" | "clear" | "set-mode";
@@ -17,9 +19,10 @@ export interface ModelAccountPoolMutationOptions {
17
19
  poolMode?: ModelAccountPoolMode;
18
20
  normalizeExistingAccountIds?: (accountIds: readonly string[]) => readonly string[];
19
21
  }
22
+ export declare function resetPluginConfigCache(): void;
20
23
  /**
21
24
  * Load plugin configuration from ~/.opencode/openai-codex-auth-config.json
22
- * Falls back to defaults if file doesn't exist or is invalid
25
+ * Keeps the last usable configuration during incomplete writes; defaults on cold start.
23
26
  *
24
27
  * @returns Plugin configuration
25
28
  */
@@ -46,6 +49,15 @@ export declare function getCodexTuiColorProfile(pluginConfig: PluginConfig): "tr
46
49
  export declare function getCodexTuiGlyphMode(pluginConfig: PluginConfig): "ascii" | "unicode" | "auto";
47
50
  export declare function getCodexTuiMaskEmail(pluginConfig: PluginConfig): boolean;
48
51
  export declare function getCodexTuiMaskEmailInQuotaDetails(pluginConfig: PluginConfig): boolean;
52
+ /**
53
+ * Whether quota percentages are worded as headroom or as consumption.
54
+ *
55
+ * Defaults to `free`, which is how Codex itself reports a quota. Only the
56
+ * wording changes: exhaustion, rotation blocks, notification thresholds and
57
+ * the status line's warning/danger colouring all stay keyed on the remaining
58
+ * percentage.
59
+ */
60
+ export declare function getQuotaDisplay(pluginConfig: PluginConfig): QuotaDisplayMode;
49
61
  export declare function getFastSession(pluginConfig: PluginConfig): boolean;
50
62
  export declare function getBeginnerSafeMode(pluginConfig: PluginConfig): boolean;
51
63
  export declare function getFastSessionStrategy(pluginConfig: PluginConfig): "hybrid" | "always";
@@ -91,6 +103,19 @@ export declare function getToastDurationMs(pluginConfig: PluginConfig): number;
91
103
  */
92
104
  export declare function getAccountToastsEnabled(pluginConfig: PluginConfig): boolean;
93
105
  export declare function getPerProjectAccounts(pluginConfig: PluginConfig): boolean;
106
+ /**
107
+ * Whether the credential store is snapshotted before a significant write.
108
+ *
109
+ * On by default: the snapshots are the only recourse if the accounts file is
110
+ * ever replaced wholesale, and they are worth little unless they are recent
111
+ * enough to hold refresh tokens that still work.
112
+ */
113
+ export declare function getCredentialSnapshots(pluginConfig: PluginConfig): boolean;
114
+ /**
115
+ * How many credential snapshots to keep. `0` keeps every snapshot; turning the
116
+ * feature off is {@link getCredentialSnapshots}' job, not a magic zero.
117
+ */
118
+ export declare function getCredentialSnapshotsMaxCount(pluginConfig: PluginConfig): number;
94
119
  export declare function getParallelProbing(pluginConfig: PluginConfig): boolean;
95
120
  export declare function getParallelProbingMaxConcurrency(pluginConfig: PluginConfig): number;
96
121
  export declare function getEmptyResponseMaxRetries(pluginConfig: PluginConfig): number;
@@ -108,4 +133,55 @@ export interface QuotaNotificationsConfig {
108
133
  }
109
134
  export declare const DEFAULT_QUOTA_NOTIFICATION_THRESHOLDS: readonly number[];
110
135
  export declare function getQuotaNotifications(pluginConfig: PluginConfig): QuotaNotificationsConfig;
136
+ /** One thing the prompt status line can be showing at a given moment. */
137
+ export type QuotaStatusScreen = "active" | "overview" | "resets";
138
+ /** Whether the line appears for every model or only for the ones it describes. */
139
+ export type QuotaStatusAudience = "always" | "codex-models";
140
+ export interface QuotaStatusConfig {
141
+ /**
142
+ * The screens to show, in the order they take turns. `active` names the
143
+ * account serving requests, which is how the status line has always
144
+ * worked; `overview` describes the whole pool; `resets` lists the banked
145
+ * reset credits worth redeeming once nothing has headroom left. More than
146
+ * one screen alternates every {@link rotateMs}.
147
+ */
148
+ screens: QuotaStatusScreen[];
149
+ rotateMs: number;
150
+ /** One segment per account, one per distinct percentage, or just a count. */
151
+ layout: QuotaOverviewLayout;
152
+ /** `#1`, the account's own name, or nothing at all. */
153
+ accountNames: QuotaOverviewNames;
154
+ order: QuotaOverviewOrder;
155
+ /** `5x` / `20x` plan allotment badges. */
156
+ multipliers: boolean;
157
+ /** `66% of 65x`: what the pool the percentage is taken over adds up to. */
158
+ allotment: boolean;
159
+ /** Which accounts get a `3d` countdown: none, the low ones, or all. */
160
+ resetTimes: QuotaOverviewResetTimes;
161
+ /** `1r` for banked rate-limit resets redeemable now. */
162
+ resetCredits: boolean;
163
+ /** `+12% in 3d`: how far the pool total moves at the next reset. */
164
+ recovery: boolean;
165
+ /**
166
+ * Rows the line may occupy. A ceiling rather than a height: a rendering
167
+ * that fits on one row still takes one, so raising this costs nothing until
168
+ * the terminal is narrow enough for the line to need the room.
169
+ */
170
+ rows: number;
171
+ showFor: QuotaStatusAudience;
172
+ }
173
+ /**
174
+ * How the prompt status line describes the account pool.
175
+ *
176
+ * Every default here is the behaviour an install already has, so adding
177
+ * `"mode": "overview"` and nothing else changes the line's subject without
178
+ * changing anything about how it is written. The switches only apply to the
179
+ * pool screens; they are resolved unconditionally anyway so a reader of this
180
+ * config sees what `overview` would render without having to enable it first.
181
+ *
182
+ * Presentation preference belongs to a person rather than to a shell, so none
183
+ * of this is overridable by environment variable - the config file is the only
184
+ * place it is read from.
185
+ */
186
+ export declare function getQuotaStatus(pluginConfig: PluginConfig): QuotaStatusConfig;
111
187
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,22 @@
1
- import { readFileSync, existsSync, promises as fs } from "node:fs";
1
+ import { readFileSync, promises as fs } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
3
  import { homedir } from "node:os";
4
4
  import { randomUUID } from "node:crypto";
5
5
  import { lock } from "proper-lockfile";
6
6
  import { normalizeRetryBudgetValue, } from "./request/retry-budget.js";
7
7
  import { logWarn } from "./logger.js";
8
+ import { DEFAULT_QUOTA_DISPLAY_MODE, QUOTA_DISPLAY_MODES, } from "./quota-display.js";
8
9
  import { stripEffortSuffix } from "./request/helpers/effort-suffix.js";
9
10
  import { isWindowsLockError, renameWithWindowsRetry, } from "./storage/atomic-write.js";
10
11
  import { ConfigLockContentionError } from "./errors.js";
11
- import { PluginConfigSchema, getValidationErrors, EnvBooleanSchema, EnvNumberSchema, makeEnvEnumSchema, } from "./schemas.js";
12
+ import { PluginConfigSchema, getValidationErrors, EnvBooleanSchema, EnvNumberSchema, makeEnvEnumSchema, makeEnvIntegerSchema, } from "./schemas.js";
12
13
  const CONFIG_PATH = join(homedir(), ".opencode", "openai-codex-auth-config.json");
13
14
  const TUI_COLOR_PROFILES = new Set(["truecolor", "ansi16", "ansi256"]);
14
15
  const TUI_GLYPH_MODES = new Set(["ascii", "unicode", "auto"]);
15
16
  const REQUEST_TRANSFORM_MODES = new Set(["native", "legacy"]);
16
17
  const UNSUPPORTED_CODEX_POLICIES = new Set(["strict", "fallback"]);
17
18
  const RETRY_PROFILES = new Set(["conservative", "balanced", "aggressive"]);
19
+ const QUOTA_DISPLAY_MODE_SET = new Set(QUOTA_DISPLAY_MODES);
18
20
  let modelAccountPoolMutationQueue = Promise.resolve();
19
21
  /**
20
22
  * Default plugin configuration
@@ -28,6 +30,7 @@ const DEFAULT_CONFIG = {
28
30
  codexTuiGlyphMode: "ascii",
29
31
  maskEmail: false,
30
32
  maskEmailInQuotaDetails: false,
33
+ quotaDisplay: DEFAULT_QUOTA_DISPLAY_MODE,
31
34
  beginnerSafeMode: false,
32
35
  fastSession: false,
33
36
  fastSessionStrategy: "hybrid",
@@ -47,6 +50,8 @@ const DEFAULT_CONFIG = {
47
50
  toastDurationMs: 5_000,
48
51
  accountToasts: true,
49
52
  perProjectAccounts: true,
53
+ credentialSnapshots: true,
54
+ credentialSnapshotsMaxCount: 10,
50
55
  sessionRecovery: true,
51
56
  autoResume: true,
52
57
  autoUpdate: true,
@@ -58,18 +63,38 @@ const DEFAULT_CONFIG = {
58
63
  fetchTimeoutMs: 60_000,
59
64
  streamStallTimeoutMs: 45_000,
60
65
  };
66
+ let pluginConfigCache;
67
+ export function resetPluginConfigCache() {
68
+ pluginConfigCache = undefined;
69
+ }
61
70
  /**
62
71
  * Load plugin configuration from ~/.opencode/openai-codex-auth-config.json
63
- * Falls back to defaults if file doesn't exist or is invalid
72
+ * Keeps the last usable configuration during incomplete writes; defaults on cold start.
64
73
  *
65
74
  * @returns Plugin configuration
66
75
  */
67
76
  export function loadPluginConfig() {
68
77
  try {
69
- if (!existsSync(CONFIG_PATH)) {
70
- return DEFAULT_CONFIG;
78
+ const content = readFileSync(CONFIG_PATH, "utf-8");
79
+ if (pluginConfigCache?.content === content) {
80
+ return pluginConfigCache.config;
81
+ }
82
+ const config = readPluginConfig(content) ?? pluginConfigCache?.config ?? DEFAULT_CONFIG;
83
+ pluginConfigCache = { content, config };
84
+ return config;
85
+ }
86
+ catch (error) {
87
+ if (error instanceof Error && "code" in error && error.code === "ENOENT") {
88
+ pluginConfigCache = { content: undefined, config: pluginConfigCache?.config ?? DEFAULT_CONFIG };
89
+ }
90
+ else {
91
+ logWarn(`Failed to read config from ${CONFIG_PATH}: ${error instanceof Error ? error.message : String(error)}`);
71
92
  }
72
- const fileContent = readFileSync(CONFIG_PATH, "utf-8");
93
+ return pluginConfigCache?.config ?? DEFAULT_CONFIG;
94
+ }
95
+ }
96
+ function readPluginConfig(fileContent) {
97
+ try {
73
98
  const normalizedFileContent = stripUtf8Bom(fileContent);
74
99
  const userConfig = JSON.parse(normalizedFileContent);
75
100
  const hasFallbackEnvOverride = process.env.CODEX_AUTH_FALLBACK_UNSUPPORTED_MODEL !== undefined ||
@@ -90,9 +115,9 @@ export function loadPluginConfig() {
90
115
  // config. Callers still see DEFAULT_CONFIG as the base, so an invalid
91
116
  // file degrades gracefully instead of silently mis-configuring retry
92
117
  // budgets, timeouts, or feature flags.
93
- if (!isRecord(userConfig)) {
94
- logWarn(`Plugin config at ${CONFIG_PATH} is not a JSON object; using defaults.`);
95
- return DEFAULT_CONFIG;
118
+ if (!isRecord(userConfig) || Array.isArray(userConfig)) {
119
+ logWarn(`Plugin config at ${CONFIG_PATH} is not a JSON object; keeping the last usable configuration.`);
120
+ return undefined;
96
121
  }
97
122
  const parseResult = PluginConfigSchema.safeParse(userConfig);
98
123
  if (parseResult.success) {
@@ -108,11 +133,11 @@ export function loadPluginConfig() {
108
133
  const schemaErrors = getValidationErrors(PluginConfigSchema, userConfig);
109
134
  logWarn(`Plugin config validation warnings: ${schemaErrors.slice(0, 3).join(", ")}`);
110
135
  const salvaged = salvageValidKeys(userConfig);
111
- return { ...DEFAULT_CONFIG, ...salvaged };
136
+ return { ...(pluginConfigCache?.config ?? DEFAULT_CONFIG), ...salvaged };
112
137
  }
113
138
  catch (error) {
114
139
  logWarn(`Failed to load config from ${CONFIG_PATH}: ${error.message}`);
115
- return DEFAULT_CONFIG;
140
+ return undefined;
116
141
  }
117
142
  }
118
143
  /**
@@ -414,6 +439,10 @@ function parseNumberEnv(value) {
414
439
  const result = EnvNumberSchema.safeParse(value);
415
440
  return result.success ? result.data : undefined;
416
441
  }
442
+ function parseIntegerEnv(value, min) {
443
+ const result = makeEnvIntegerSchema(min).safeParse(value);
444
+ return result.success ? result.data : undefined;
445
+ }
417
446
  function parseEnumEnv(value, allowed) {
418
447
  const schema = makeEnvEnumSchema(allowed);
419
448
  const result = schema.safeParse(value);
@@ -429,11 +458,15 @@ function resolveNumberSetting(envName, configValue, defaultValue, options) {
429
458
  const envValue = parseNumberEnv(process.env[envName]);
430
459
  const candidate = envValue ?? configValue ?? defaultValue;
431
460
  const min = options?.min;
461
+ const max = options?.max;
462
+ let result = candidate;
432
463
  if (min !== undefined) {
433
- return Math.max(min, candidate);
464
+ result = Math.max(min, result);
465
+ }
466
+ if (max !== undefined) {
467
+ result = Math.min(max, result);
434
468
  }
435
- // istanbul ignore next -- dead code: all callers pass { min: ... }
436
- return candidate;
469
+ return result;
437
470
  }
438
471
  function resolveStringSetting(envName, configValue, defaultValue, allowedValues) {
439
472
  // RC-9: validate the env-supplied enum through a Zod schema so unknown
@@ -476,6 +509,17 @@ export function getCodexTuiMaskEmail(pluginConfig) {
476
509
  export function getCodexTuiMaskEmailInQuotaDetails(pluginConfig) {
477
510
  return resolveBooleanSetting("CODEX_TUI_MASK_EMAIL_DETAILS", pluginConfig.maskEmailInQuotaDetails, false);
478
511
  }
512
+ /**
513
+ * Whether quota percentages are worded as headroom or as consumption.
514
+ *
515
+ * Defaults to `free`, which is how Codex itself reports a quota. Only the
516
+ * wording changes: exhaustion, rotation blocks, notification thresholds and
517
+ * the status line's warning/danger colouring all stay keyed on the remaining
518
+ * percentage.
519
+ */
520
+ export function getQuotaDisplay(pluginConfig) {
521
+ return resolveStringSetting("CODEX_AUTH_QUOTA_DISPLAY", pluginConfig.quotaDisplay, DEFAULT_QUOTA_DISPLAY_MODE, QUOTA_DISPLAY_MODE_SET);
522
+ }
479
523
  export function getFastSession(pluginConfig) {
480
524
  return resolveBooleanSetting("CODEX_AUTH_FAST_SESSION", pluginConfig.fastSession, false);
481
525
  }
@@ -676,11 +720,40 @@ export function getAccountToastsEnabled(pluginConfig) {
676
720
  export function getPerProjectAccounts(pluginConfig) {
677
721
  return resolveBooleanSetting("CODEX_AUTH_PER_PROJECT_ACCOUNTS", pluginConfig.perProjectAccounts, true);
678
722
  }
723
+ /**
724
+ * Whether the credential store is snapshotted before a significant write.
725
+ *
726
+ * On by default: the snapshots are the only recourse if the accounts file is
727
+ * ever replaced wholesale, and they are worth little unless they are recent
728
+ * enough to hold refresh tokens that still work.
729
+ */
730
+ export function getCredentialSnapshots(pluginConfig) {
731
+ return resolveBooleanSetting("CODEX_AUTH_CREDENTIAL_SNAPSHOTS", pluginConfig.credentialSnapshots, true);
732
+ }
733
+ /**
734
+ * How many credential snapshots to keep. `0` keeps every snapshot; turning the
735
+ * feature off is {@link getCredentialSnapshots}' job, not a magic zero.
736
+ */
737
+ export function getCredentialSnapshotsMaxCount(pluginConfig) {
738
+ // This env override is strict where the other number settings clamp: a
739
+ // value the file schema would reject (non-integer, or below the floor)
740
+ // falls back to the config file / default instead of being silently
741
+ // repaired. Flooring "-5" to 0 would select keep-everything — the
742
+ // unbounded snapshot growth the floor exists to rule out — and truncating
743
+ // "2.5" would honour a count the user never wrote.
744
+ const envValue = parseIntegerEnv(process.env.CODEX_AUTH_CREDENTIAL_SNAPSHOTS_MAX_COUNT, 0);
745
+ if (envValue !== undefined)
746
+ return envValue;
747
+ const configValue = pluginConfig.credentialSnapshotsMaxCount;
748
+ return configValue !== undefined && Number.isInteger(configValue) && configValue >= 0
749
+ ? configValue
750
+ : 10;
751
+ }
679
752
  export function getParallelProbing(pluginConfig) {
680
753
  return resolveBooleanSetting("CODEX_AUTH_PARALLEL_PROBING", pluginConfig.parallelProbing, false);
681
754
  }
682
755
  export function getParallelProbingMaxConcurrency(pluginConfig) {
683
- return resolveNumberSetting("CODEX_AUTH_PARALLEL_PROBING_MAX_CONCURRENCY", pluginConfig.parallelProbingMaxConcurrency, 2, { min: 1 });
756
+ return resolveNumberSetting("CODEX_AUTH_PARALLEL_PROBING_MAX_CONCURRENCY", pluginConfig.parallelProbingMaxConcurrency, 2, { min: 1, max: 5 });
684
757
  }
685
758
  export function getEmptyResponseMaxRetries(pluginConfig) {
686
759
  return resolveNumberSetting("CODEX_AUTH_EMPTY_RESPONSE_MAX_RETRIES", pluginConfig.emptyResponseMaxRetries, 2, { min: 0 });
@@ -727,4 +800,106 @@ export function getQuotaNotifications(pluginConfig) {
727
800
  thresholds,
728
801
  };
729
802
  }
803
+ const QUOTA_STATUS_SCREENS = [
804
+ "active",
805
+ "overview",
806
+ "resets",
807
+ ];
808
+ const QUOTA_STATUS_AUDIENCES = [
809
+ "always",
810
+ "codex-models",
811
+ ];
812
+ const QUOTA_OVERVIEW_LAYOUTS = [
813
+ "accounts",
814
+ "aggregate",
815
+ "count",
816
+ ];
817
+ const QUOTA_OVERVIEW_NAMES = [
818
+ "number",
819
+ "label",
820
+ "none",
821
+ ];
822
+ const QUOTA_OVERVIEW_ORDERS = [
823
+ "number",
824
+ "most-used",
825
+ "least-used",
826
+ "renewing-earliest",
827
+ "renewing-latest",
828
+ ];
829
+ const QUOTA_OVERVIEW_RESET_TIMES = [
830
+ "never",
831
+ "low",
832
+ "always",
833
+ ];
834
+ const DEFAULT_QUOTA_STATUS_ROTATE_MS = 5_000;
835
+ const MIN_QUOTA_STATUS_ROTATE_MS = 1_000;
836
+ const MAX_QUOTA_STATUS_ROWS = 4;
837
+ function pickEnum(value, allowed, fallback) {
838
+ return allowed.find((entry) => entry === value) ?? fallback;
839
+ }
840
+ /**
841
+ * The screens to rotate through, from either a single value or a list.
842
+ *
843
+ * Unknown names are dropped rather than failing: this is presentation, and a
844
+ * typo should cost the line its extra screen, not the session its status.
845
+ * Duplicates are collapsed so a list cannot make one screen come up twice as
846
+ * often as the others.
847
+ */
848
+ function resolveQuotaStatusScreens(value) {
849
+ const requested = Array.isArray(value) ? value : [value];
850
+ const screens = [];
851
+ for (const entry of requested) {
852
+ const screen = QUOTA_STATUS_SCREENS.find((candidate) => candidate === entry);
853
+ if (screen && !screens.includes(screen))
854
+ screens.push(screen);
855
+ }
856
+ return screens.length > 0 ? screens : ["active"];
857
+ }
858
+ /**
859
+ * How the prompt status line describes the account pool.
860
+ *
861
+ * Every default here is the behaviour an install already has, so adding
862
+ * `"mode": "overview"` and nothing else changes the line's subject without
863
+ * changing anything about how it is written. The switches only apply to the
864
+ * pool screens; they are resolved unconditionally anyway so a reader of this
865
+ * config sees what `overview` would render without having to enable it first.
866
+ *
867
+ * Presentation preference belongs to a person rather than to a shell, so none
868
+ * of this is overridable by environment variable - the config file is the only
869
+ * place it is read from.
870
+ */
871
+ export function getQuotaStatus(pluginConfig) {
872
+ const config = pluginConfig.quotaStatus;
873
+ const resetTimes = config?.resetTimes;
874
+ const rotateMs = config?.rotateMs;
875
+ return {
876
+ screens: resolveQuotaStatusScreens(config?.mode),
877
+ rotateMs: typeof rotateMs === "number" && Number.isFinite(rotateMs)
878
+ ? Math.max(MIN_QUOTA_STATUS_ROTATE_MS, rotateMs)
879
+ : DEFAULT_QUOTA_STATUS_ROTATE_MS,
880
+ // Per-account by default: someone switching to `overview` is asking
881
+ // where each account stands, and the count alone is the one form that
882
+ // does not answer that.
883
+ layout: QUOTA_OVERVIEW_LAYOUTS.find((entry) => entry === config?.layout) ??
884
+ (config?.accounts === false ? "count" : "accounts"),
885
+ accountNames: pickEnum(config?.accountNames, QUOTA_OVERVIEW_NAMES, "number"),
886
+ order: pickEnum(config?.order, QUOTA_OVERVIEW_ORDERS, "number"),
887
+ multipliers: config?.multipliers ?? false,
888
+ allotment: config?.allotment ?? false,
889
+ // `low` by default: a spent account is the one an account list is read
890
+ // to find, and "when does it come back" is the next question every
891
+ // time, while the same countdown beside a healthy account is noise.
892
+ resetTimes: typeof resetTimes === "boolean"
893
+ ? resetTimes
894
+ ? "low"
895
+ : "never"
896
+ : pickEnum(resetTimes, QUOTA_OVERVIEW_RESET_TIMES, "low"),
897
+ resetCredits: config?.resetCredits ?? false,
898
+ recovery: config?.recovery ?? false,
899
+ rows: typeof config?.rows === "number" && Number.isFinite(config.rows)
900
+ ? Math.min(MAX_QUOTA_STATUS_ROWS, Math.max(1, Math.trunc(config.rows)))
901
+ : 1,
902
+ showFor: pickEnum(config?.showFor, QUOTA_STATUS_AUDIENCES, "always"),
903
+ };
904
+ }
730
905
  //# sourceMappingURL=config.js.map