codex-multi-auth 2.3.0-beta.2 → 2.3.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 (162) hide show
  1. package/.codex-plugin/plugin.json +2 -1
  2. package/README.md +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -0
  5. package/dist/lib/account-policy.d.ts.map +1 -1
  6. package/dist/lib/account-policy.js +2 -1
  7. package/dist/lib/accounts/rate-limits.d.ts +8 -0
  8. package/dist/lib/accounts/rate-limits.d.ts.map +1 -1
  9. package/dist/lib/accounts/rate-limits.js +13 -0
  10. package/dist/lib/accounts.d.ts +19 -1
  11. package/dist/lib/accounts.d.ts.map +1 -1
  12. package/dist/lib/accounts.js +31 -2
  13. package/dist/lib/audit.d.ts +0 -9
  14. package/dist/lib/audit.d.ts.map +1 -1
  15. package/dist/lib/auth/device-auth.d.ts +1 -6
  16. package/dist/lib/auth/device-auth.d.ts.map +1 -1
  17. package/dist/lib/auth/device-auth.js +5 -5
  18. package/dist/lib/budget-guard.d.ts.map +1 -1
  19. package/dist/lib/budget-guard.js +2 -1
  20. package/dist/lib/codex-cli/writer.d.ts.map +1 -1
  21. package/dist/lib/codex-cli/writer.js +2 -1
  22. package/dist/lib/codex-manager/backend-settings-helpers.d.ts +0 -1
  23. package/dist/lib/codex-manager/backend-settings-helpers.d.ts.map +1 -1
  24. package/dist/lib/codex-manager/backend-settings-helpers.js +1 -1
  25. package/dist/lib/codex-manager/behavior-settings-panel.d.ts +0 -19
  26. package/dist/lib/codex-manager/behavior-settings-panel.d.ts.map +1 -1
  27. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
  28. package/dist/lib/codex-manager/commands/report.js +2 -1
  29. package/dist/lib/codex-manager/commands/uninstall.d.ts +2 -2
  30. package/dist/lib/codex-manager/commands/uninstall.d.ts.map +1 -1
  31. package/dist/lib/codex-manager/commands/uninstall.js +1 -1
  32. package/dist/lib/codex-manager/commands/usage.d.ts.map +1 -1
  33. package/dist/lib/codex-manager/commands/usage.js +2 -1
  34. package/dist/lib/codex-manager/commands/verify.d.ts +2 -2
  35. package/dist/lib/codex-manager/commands/verify.d.ts.map +1 -1
  36. package/dist/lib/codex-manager/commands/why-selected.d.ts +1 -22
  37. package/dist/lib/codex-manager/commands/why-selected.d.ts.map +1 -1
  38. package/dist/lib/codex-manager/dashboard-display-panel.d.ts +0 -14
  39. package/dist/lib/codex-manager/dashboard-display-panel.d.ts.map +1 -1
  40. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts +2 -1
  41. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
  42. package/dist/lib/codex-manager/forecast-report-shared.d.ts +2 -2
  43. package/dist/lib/codex-manager/forecast-report-shared.d.ts.map +1 -1
  44. package/dist/lib/codex-manager/forecast-report-shared.js +2 -2
  45. package/dist/lib/codex-manager/formatters/quota-formatters.d.ts +0 -2
  46. package/dist/lib/codex-manager/formatters/quota-formatters.d.ts.map +1 -1
  47. package/dist/lib/codex-manager/formatters/quota-formatters.js +2 -2
  48. package/dist/lib/codex-manager/help.d.ts +2 -1
  49. package/dist/lib/codex-manager/help.d.ts.map +1 -1
  50. package/dist/lib/codex-manager/repair-commands.d.ts +0 -15
  51. package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
  52. package/dist/lib/codex-manager/repair-commands.js +5 -5
  53. package/dist/lib/codex-manager/settings-hub/backend.d.ts +0 -5
  54. package/dist/lib/codex-manager/settings-hub/backend.d.ts.map +1 -1
  55. package/dist/lib/codex-manager/settings-hub/backend.js +1 -1
  56. package/dist/lib/codex-manager/settings-hub/dashboard.d.ts +1 -14
  57. package/dist/lib/codex-manager/settings-hub/dashboard.d.ts.map +1 -1
  58. package/dist/lib/codex-manager/settings-hub/dashboard.js +8 -8
  59. package/dist/lib/codex-manager/settings-write-queue.d.ts +0 -10
  60. package/dist/lib/codex-manager/settings-write-queue.d.ts.map +1 -1
  61. package/dist/lib/codex-manager/settings-write-queue.js +10 -10
  62. package/dist/lib/codex-manager/statusline-settings-panel.d.ts +2 -17
  63. package/dist/lib/codex-manager/statusline-settings-panel.d.ts.map +1 -1
  64. package/dist/lib/codex-manager/theme-settings-panel.d.ts +0 -13
  65. package/dist/lib/codex-manager/theme-settings-panel.d.ts.map +1 -1
  66. package/dist/lib/config.d.ts +0 -13
  67. package/dist/lib/config.d.ts.map +1 -1
  68. package/dist/lib/config.js +22 -19
  69. package/dist/lib/dashboard-settings.d.ts +3 -3
  70. package/dist/lib/dashboard-settings.d.ts.map +1 -1
  71. package/dist/lib/dashboard-settings.js +0 -1
  72. package/dist/lib/errors.d.ts +0 -1
  73. package/dist/lib/errors.d.ts.map +1 -1
  74. package/dist/lib/forecast.d.ts +4 -3
  75. package/dist/lib/forecast.d.ts.map +1 -1
  76. package/dist/lib/fs-retry.d.ts +0 -3
  77. package/dist/lib/fs-retry.d.ts.map +1 -1
  78. package/dist/lib/fs-retry.js +3 -3
  79. package/dist/lib/index.d.ts +1 -0
  80. package/dist/lib/index.d.ts.map +1 -1
  81. package/dist/lib/index.js +1 -0
  82. package/dist/lib/local-client-tokens.d.ts.map +1 -1
  83. package/dist/lib/local-client-tokens.js +2 -1
  84. package/dist/lib/oc-chatgpt-import-adapter.d.ts +1 -1
  85. package/dist/lib/oc-chatgpt-import-adapter.d.ts.map +1 -1
  86. package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
  87. package/dist/lib/oc-chatgpt-orchestrator.js +2 -1
  88. package/dist/lib/oc-chatgpt-target-detection.d.ts +1 -1
  89. package/dist/lib/oc-chatgpt-target-detection.d.ts.map +1 -1
  90. package/dist/lib/prompts/codex-host-bridge.d.ts +0 -8
  91. package/dist/lib/prompts/codex-host-bridge.d.ts.map +1 -1
  92. package/dist/lib/prompts/codex-host-bridge.js +0 -20
  93. package/dist/lib/prompts/codex.d.ts.map +1 -1
  94. package/dist/lib/prompts/codex.js +2 -1
  95. package/dist/lib/prompts/fetch-utils.d.ts +0 -2
  96. package/dist/lib/prompts/fetch-utils.d.ts.map +1 -1
  97. package/dist/lib/prompts/fetch-utils.js +2 -2
  98. package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
  99. package/dist/lib/prompts/host-codex-prompt.js +2 -1
  100. package/dist/lib/quota-cache.d.ts.map +1 -1
  101. package/dist/lib/quota-cache.js +2 -1
  102. package/dist/lib/recovery/storage.d.ts.map +1 -1
  103. package/dist/lib/recovery/storage.js +5 -3
  104. package/dist/lib/recovery/types.d.ts +4 -12
  105. package/dist/lib/recovery/types.d.ts.map +1 -1
  106. package/dist/lib/recovery.d.ts +2 -2
  107. package/dist/lib/recovery.d.ts.map +1 -1
  108. package/dist/lib/request/response-compaction.d.ts +2 -1
  109. package/dist/lib/request/response-compaction.d.ts.map +1 -1
  110. package/dist/lib/request/stream-failover-runtime.d.ts.map +1 -1
  111. package/dist/lib/request/stream-failover-runtime.js +30 -1
  112. package/dist/lib/rotation.d.ts +1 -3
  113. package/dist/lib/rotation.d.ts.map +1 -1
  114. package/dist/lib/rotation.js +1 -2
  115. package/dist/lib/routing-profiles.d.ts.map +1 -1
  116. package/dist/lib/routing-profiles.js +2 -1
  117. package/dist/lib/runtime/config-toml.d.ts +0 -6
  118. package/dist/lib/runtime/config-toml.d.ts.map +1 -1
  119. package/dist/lib/runtime/config-toml.js +6 -6
  120. package/dist/lib/runtime/event-handler.d.ts +0 -31
  121. package/dist/lib/runtime/event-handler.d.ts.map +1 -1
  122. package/dist/lib/runtime/event-handler.js +0 -22
  123. package/dist/lib/runtime/first-run.d.ts +3 -5
  124. package/dist/lib/runtime/first-run.d.ts.map +1 -1
  125. package/dist/lib/runtime/first-run.js +2 -2
  126. package/dist/lib/runtime/quota-headers.d.ts +1 -6
  127. package/dist/lib/runtime/quota-headers.d.ts.map +1 -1
  128. package/dist/lib/runtime/quota-headers.js +5 -5
  129. package/dist/lib/runtime/rotation-proxy-state.d.ts.map +1 -1
  130. package/dist/lib/runtime/rotation-proxy-state.js +24 -0
  131. package/dist/lib/runtime/runtime-current-account.d.ts +3 -3
  132. package/dist/lib/runtime/runtime-current-account.d.ts.map +1 -1
  133. package/dist/lib/runtime/runtime-current-account.js +1 -1
  134. package/dist/lib/runtime/runtime-observability.d.ts +2 -2
  135. package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
  136. package/dist/lib/runtime/runtime-observability.js +0 -4
  137. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  138. package/dist/lib/runtime-rotation-proxy.js +20 -6
  139. package/dist/lib/schemas.d.ts +3 -91
  140. package/dist/lib/schemas.d.ts.map +1 -1
  141. package/dist/lib/schemas.js +8 -8
  142. package/dist/lib/storage/file-paths.d.ts +2 -2
  143. package/dist/lib/storage/file-paths.d.ts.map +1 -1
  144. package/dist/lib/storage/file-paths.js +2 -2
  145. package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
  146. package/dist/lib/storage/flagged-storage-io.js +2 -2
  147. package/dist/lib/storage/import-export.d.ts.map +1 -1
  148. package/dist/lib/storage/import-export.js +2 -2
  149. package/dist/lib/storage/migrations.d.ts +2 -1
  150. package/dist/lib/storage/migrations.d.ts.map +1 -1
  151. package/dist/lib/storage.d.ts.map +1 -1
  152. package/dist/lib/storage.js +30 -23
  153. package/dist/lib/temp-path.d.ts +26 -0
  154. package/dist/lib/temp-path.d.ts.map +1 -0
  155. package/dist/lib/temp-path.js +30 -0
  156. package/dist/lib/ui/theme.d.ts +3 -2
  157. package/dist/lib/ui/theme.d.ts.map +1 -1
  158. package/dist/lib/unified-settings.d.ts.map +1 -1
  159. package/dist/lib/unified-settings.js +2 -1
  160. package/dist/lib/update-notice.d.ts.map +1 -1
  161. package/dist/lib/update-notice.js +2 -1
  162. package/package.json +1 -2
@@ -3,9 +3,6 @@
3
3
  *
4
4
  * Based on Codex-antigravity-auth recovery module.
5
5
  */
6
- export type ThinkingPartType = "thinking" | "redacted_thinking" | "reasoning";
7
- export type MetaPartType = "step-start" | "step-finish";
8
- export type ContentPartType = "text" | "tool" | "tool_use" | "tool_result";
9
6
  export interface StoredMessageMeta {
10
7
  id: string;
11
8
  sessionID: string;
@@ -26,7 +23,7 @@ export interface StoredTextPart {
26
23
  synthetic?: boolean;
27
24
  ignored?: boolean;
28
25
  }
29
- export interface StoredToolPart {
26
+ interface StoredToolPart {
30
27
  id: string;
31
28
  sessionID: string;
32
29
  messageID: string;
@@ -40,14 +37,14 @@ export interface StoredToolPart {
40
37
  error?: string;
41
38
  };
42
39
  }
43
- export interface StoredReasoningPart {
40
+ interface StoredReasoningPart {
44
41
  id: string;
45
42
  sessionID: string;
46
43
  messageID: string;
47
44
  type: "reasoning";
48
45
  text: string;
49
46
  }
50
- export interface StoredStepPart {
47
+ interface StoredStepPart {
51
48
  id: string;
52
49
  sessionID: string;
53
50
  messageID: string;
@@ -102,15 +99,10 @@ export interface ResumeConfig {
102
99
  };
103
100
  }
104
101
  export type RecoveryErrorType = "tool_result_missing" | "thinking_block_order" | "thinking_disabled_violation" | null;
105
- export interface ToolUsePart {
106
- type: "tool_use";
107
- id: string;
108
- name: string;
109
- input: Record<string, unknown>;
110
- }
111
102
  export interface ToolResultPart {
112
103
  type: "tool_result";
113
104
  tool_use_id: string;
114
105
  content: string;
115
106
  }
107
+ export {};
116
108
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/recovery/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/recovery/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { PluginInput } from "@codex-ai/plugin";
2
2
  import type { PluginConfig } from "./types.js";
3
- import type { MessageInfo, MessageData, RecoveryErrorType, ResumeConfig } from "./recovery/types.js";
4
- export type { RecoveryErrorType, MessageInfo, MessageData, ResumeConfig };
3
+ import type { MessageInfo, RecoveryErrorType } from "./recovery/types.js";
4
+ export type { RecoveryErrorType };
5
5
  type PluginClient = PluginInput["client"];
6
6
  export declare function detectErrorType(error: unknown): RecoveryErrorType;
7
7
  export declare function isRecoverableError(error: unknown): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../lib/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS/C,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAEX,iBAAiB,EACjB,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAE1E,KAAK,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAuC1C,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAsBjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AAkKD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAWA;AAED,wBAAgB,uBAAuB,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA;AAED,wBAAgB,uBAAuB,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA;AAED,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAChD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACpE,6BAA6B,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;CAChF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,sBAAsB,EAC3B,MAAM,EAAE,YAAY,GACnB,mBAAmB,GAAG,IAAI,CA6H5B"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../lib/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS/C,OAAO,KAAK,EACV,WAAW,EAIX,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,KAAK,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAuC1C,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAsBjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AAkKD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAWA;AAED,wBAAgB,uBAAuB,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA;AAED,wBAAgB,uBAAuB,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA;AAED,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAChD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IACpE,6BAA6B,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;CAChF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,sBAAsB,EAC3B,MAAM,EAAE,YAAY,GACnB,mBAAmB,GAAG,IAAI,CA6H5B"}
@@ -1,5 +1,5 @@
1
1
  import type { RequestBody } from "../types.js";
2
- export interface DeferredFastSessionInputTrim {
2
+ interface DeferredFastSessionInputTrim {
3
3
  maxItems: number;
4
4
  preferLatestUserOnly: boolean;
5
5
  }
@@ -17,4 +17,5 @@ export interface ApplyResponseCompactionParams {
17
17
  timeoutMs?: number;
18
18
  }
19
19
  export declare function applyResponseCompaction(params: ApplyResponseCompactionParams): Promise<ResponseCompactionResult>;
20
+ export {};
20
21
  //# sourceMappingURL=response-compaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-compaction.d.ts","sourceRoot":"","sources":["../../../lib/request/response-compaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1D,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;CAC5C;AAED,MAAM,WAAW,6BAA6B;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,4BAA4B,CAAC;IACnC,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAoED,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAoEnC"}
1
+ {"version":3,"file":"response-compaction.d.ts","sourceRoot":"","sources":["../../../lib/request/response-compaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1D,UAAU,4BAA4B;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;CAC5C;AAED,MAAM,WAAW,6BAA6B;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,4BAA4B,CAAC;IACnC,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAoED,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAoEnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream-failover-runtime.d.ts","sourceRoot":"","sources":["../../../lib/request/stream-failover-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEtF,eAAO,MAAM,kBAAkB,aAW7B,CAAC;AAWH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAClC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,IAAI,EACrB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,CAmBZ;AAED,wBAAsB,aAAa,CAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,SAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED,wBAAsB,wBAAwB,CAC7C,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,0BAA0B,EAClC,aAAa,EAAE,MAAM,IAAI,EACzB,oBAAoB,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC,CA0ClB"}
1
+ {"version":3,"file":"stream-failover-runtime.d.ts","sourceRoot":"","sources":["../../../lib/request/stream-failover-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEtF,eAAO,MAAM,kBAAkB,aAW7B,CAAC;AAWH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAClC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,IAAI,EACrB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,CAmBZ;AAED,wBAAsB,aAAa,CAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,SAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAoBD,wBAAsB,wBAAwB,CAC7C,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,0BAA0B,EAClC,aAAa,EAAE,MAAM,IAAI,EACzB,oBAAoB,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC,CAqDlB"}
@@ -111,6 +111,23 @@ export async function readErrorBody(response, timeoutMs, maxBytes = 1024 * 1024)
111
111
  return "";
112
112
  }
113
113
  }
114
+ // Resolve once the client response can accept more data again. Also resolves
115
+ // on close/error so a client that disconnects mid-backpressure cannot park the
116
+ // forwarder forever — the next reader.read() then observes the cancellation
117
+ // installed by the close handler.
118
+ function waitForDrain(res) {
119
+ return new Promise((resolve) => {
120
+ const settle = () => {
121
+ res.off("drain", settle);
122
+ res.off("close", settle);
123
+ res.off("error", settle);
124
+ resolve();
125
+ };
126
+ res.once("drain", settle);
127
+ res.once("close", settle);
128
+ res.once("error", settle);
129
+ });
130
+ }
114
131
  export async function forwardStreamingResponse(upstream, res, status, onStreamError, streamStallTimeoutMs) {
115
132
  status.streamsStarted += 1;
116
133
  res.writeHead(upstream.status, responseHeadersForClient(upstream.headers));
@@ -132,7 +149,19 @@ export async function forwardStreamingResponse(upstream, res, status, onStreamEr
132
149
  if (done)
133
150
  break;
134
151
  if (value && value.byteLength > 0) {
135
- res.write(Buffer.from(value));
152
+ // If the response is already finished (clean end by a concurrent
153
+ // close-then-reader-cancel path), stop writing. Do NOT guard on
154
+ // res.destroyed here: a socket-error-during-backpressure scenario sets
155
+ // destroyed=true and then lets the next res.write() throw so the catch
156
+ // block can record the error and fire onStreamError correctly.
157
+ if (res.writableEnded)
158
+ break;
159
+ // Respect backpressure: when the client's socket buffer is full,
160
+ // pause upstream reads until it drains instead of buffering the
161
+ // whole stream in memory for a slow consumer.
162
+ if (!res.write(Buffer.from(value)) && !res.destroyed) {
163
+ await waitForDrain(res);
164
+ }
136
165
  }
137
166
  }
138
167
  res.end();
@@ -5,8 +5,6 @@
5
5
  * Ported from antigravity-auth rotation logic for optimal account rotation
6
6
  * when rate limits are encountered.
7
7
  */
8
- export type { SelectionRecord, RoutingMutexMode, AsyncMutex, } from "./routing-mutex.js";
9
- export { createAsyncMutex, getRoutingMutex, withRoutingMutex, } from "./routing-mutex.js";
10
8
  export interface HealthScoreConfig {
11
9
  /** Points added on successful request */
12
10
  successDelta: number;
@@ -104,7 +102,6 @@ export interface HybridSelectionConfig {
104
102
  /** Weight for freshness/last used (default: 2) */
105
103
  freshnessWeight: number;
106
104
  }
107
- export declare const DEFAULT_HYBRID_SELECTION_CONFIG: HybridSelectionConfig;
108
105
  /**
109
106
  * Selects the best account using a hybrid scoring strategy.
110
107
  *
@@ -231,4 +228,5 @@ export declare function exponentialBackoff(attempt: number, baseMs?: number, max
231
228
  export declare function getHealthTracker(config?: Partial<HealthScoreConfig>): HealthScoreTracker;
232
229
  export declare function getTokenTracker(config?: Partial<TokenBucketConfig>): TokenBucketTracker;
233
230
  export declare function resetTrackers(): void;
231
+ export {};
234
232
  //# sourceMappingURL=rotation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../../lib/rotation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../../lib/rotation.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@
6
6
  * when rate limits are encountered.
7
7
  */
8
8
  import { createLogger } from "./logger.js";
9
- export { createAsyncMutex, getRoutingMutex, withRoutingMutex, } from "./routing-mutex.js";
10
9
  const log = createLogger("rotation");
11
10
  export const DEFAULT_HEALTH_SCORE_CONFIG = {
12
11
  successDelta: 1,
@@ -261,7 +260,7 @@ export class TokenBucketTracker {
261
260
  }
262
261
  }
263
262
  }
264
- export const DEFAULT_HYBRID_SELECTION_CONFIG = {
263
+ const DEFAULT_HYBRID_SELECTION_CONFIG = {
265
264
  healthWeight: 2,
266
265
  tokenWeight: 5,
267
266
  freshnessWeight: 2.0,
@@ -1 +1 @@
1
- {"version":3,"file":"routing-profiles.d.ts","sourceRoot":"","sources":["../../lib/routing-profiles.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAoGD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAa5E;AAED,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,cAAc,CAajB;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,EAC1C,GAAG,SAAa,GACd,cAAc,CAUhB;AAED,wBAAsB,4BAA4B,CACjD,QAAQ,SAAgB,EACxB,WAAW,GAAE,MAAM,OAAO,CAAC,mBAAmB,CAA2B,GACvE,OAAO,CAAC,4BAA4B,CAAC,CAqBvC;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D"}
1
+ {"version":3,"file":"routing-profiles.d.ts","sourceRoot":"","sources":["../../lib/routing-profiles.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAoGD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAa5E;AAED,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,cAAc,CAajB;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,EAC1C,GAAG,SAAa,GACd,cAAc,CAUhB;AAED,wBAAsB,4BAA4B,CACjD,QAAQ,SAAgB,EACxB,WAAW,GAAE,MAAM,OAAO,CAAC,mBAAmB,CAA2B,GACvE,OAAO,CAAC,4BAA4B,CAAC,CAqBvC;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D"}
@@ -4,6 +4,7 @@ import { logWarn } from "./logger.js";
4
4
  import { getCodexMultiAuthDir } from "./runtime-paths.js";
5
5
  import { findProjectRoot, getProjectStorageKey, resolveProjectStorageIdentityRoot, } from "./storage/paths.js";
6
6
  import { isRecord, sleep } from "./utils.js";
7
+ import { tempPathFor } from "./temp-path.js";
7
8
  const ROUTING_PROFILES_FILE_NAME = "routing-profiles.json";
8
9
  const RETRYABLE_FS_CODES = new Set(["EBUSY", "EPERM"]);
9
10
  let writeQueue = Promise.resolve();
@@ -116,7 +117,7 @@ export async function saveRoutingProfileStore(store) {
116
117
  const payload = normalizeStore(store);
117
118
  const task = async () => {
118
119
  await fs.mkdir(getCodexMultiAuthDir(), { recursive: true, mode: 0o700 });
119
- const tempPath = `${path}.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}.tmp`;
120
+ const tempPath = tempPathFor(path);
120
121
  let moved = false;
121
122
  try {
122
123
  await fs.writeFile(tempPath, `${JSON.stringify(payload, null, 2)}\n`, {
@@ -1,12 +1,6 @@
1
1
  export declare function tomlStringLiteral(value: string): string;
2
- export declare function readTomlTableName(line: string): string | null;
3
- export declare function removeRuntimeRotationProviderBlock(rawConfig: string): string;
4
- export declare function rewriteTopLevelModelProvider(rawConfig: string): string;
5
- export declare function enableTopLevelResponseStorage(rawConfig: string): string;
6
2
  export declare function restoreTopLevelModelProvider(currentConfig: string, originalConfig: string): string;
7
3
  export declare function restoreTopLevelResponseStorage(currentConfig: string, originalConfig: string): string;
8
- export declare function ensureTomlTrailingNewline(value: string): string;
9
- export declare function createRuntimeRotationProviderBlock(baseUrl: string, clientApiKey?: string): string[];
10
4
  export declare function rewriteConfigTomlForRuntimeRotationProvider(rawConfig: string, baseUrl: string, clientApiKey?: string): string;
11
5
  export declare function restoreConfigTomlFromRuntimeRotationProvider(currentConfig: string, originalConfig: string): string;
12
6
  //# sourceMappingURL=config-toml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-toml.d.ts","sourceRoot":"","sources":["../../../lib/runtime/config-toml.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAoB5E;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuBtE;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuBvE;AAeD,wBAAgB,4BAA4B,CAC3C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,MAAM,CAiCR;AAED,wBAAgB,8BAA8B,CAC7C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,MAAM,CAkDR;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,MAAM,EACf,YAAY,SAAK,GACf,MAAM,EAAE,CAgBV;AAED,wBAAgB,2CAA2C,CAC1D,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,SAAK,GACf,MAAM,CAkBR;AAED,wBAAgB,4CAA4C,CAC3D,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,MAAM,CAYR"}
1
+ {"version":3,"file":"config-toml.d.ts","sourceRoot":"","sources":["../../../lib/runtime/config-toml.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAqBvD;AA4FD,wBAAgB,4BAA4B,CAC3C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,MAAM,CAiCR;AAED,wBAAgB,8BAA8B,CAC7C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,MAAM,CAkDR;AA2BD,wBAAgB,2CAA2C,CAC1D,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,SAAK,GACf,MAAM,CAkBR;AAED,wBAAgB,4CAA4C,CAC3D,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,MAAM,CAYR"}
@@ -21,11 +21,11 @@ export function tomlStringLiteral(value) {
21
21
  }
22
22
  })}"`;
23
23
  }
24
- export function readTomlTableName(line) {
24
+ function readTomlTableName(line) {
25
25
  const match = /^\s*\[{1,2}\s*([^\]]+?)\s*\]{1,2}\s*$/.exec(line);
26
26
  return match?.[1]?.trim() ?? null;
27
27
  }
28
- export function removeRuntimeRotationProviderBlock(rawConfig) {
28
+ function removeRuntimeRotationProviderBlock(rawConfig) {
29
29
  const lines = rawConfig.split(/\r?\n/);
30
30
  const output = [];
31
31
  let skipping = false;
@@ -47,7 +47,7 @@ export function removeRuntimeRotationProviderBlock(rawConfig) {
47
47
  }
48
48
  return output.join(rawConfig.includes("\r\n") ? "\r\n" : "\n");
49
49
  }
50
- export function rewriteTopLevelModelProvider(rawConfig) {
50
+ function rewriteTopLevelModelProvider(rawConfig) {
51
51
  const lineEnding = rawConfig.includes("\r\n") ? "\r\n" : "\n";
52
52
  const lines = rawConfig.length > 0 ? rawConfig.split(/\r?\n/) : [];
53
53
  const rewrittenLine = `model_provider = ${tomlStringLiteral(RUNTIME_ROTATION_PROXY_PROVIDER_ID)}`;
@@ -70,7 +70,7 @@ export function rewriteTopLevelModelProvider(rawConfig) {
70
70
  output.push(rewrittenLine);
71
71
  return output.join(lineEnding);
72
72
  }
73
- export function enableTopLevelResponseStorage(rawConfig) {
73
+ function enableTopLevelResponseStorage(rawConfig) {
74
74
  const lineEnding = rawConfig.includes("\r\n") ? "\r\n" : "\n";
75
75
  const lines = rawConfig.length > 0 ? rawConfig.split(/\r?\n/) : [];
76
76
  const output = [];
@@ -175,10 +175,10 @@ export function restoreTopLevelResponseStorage(currentConfig, originalConfig) {
175
175
  }
176
176
  return output.join(lineEnding);
177
177
  }
178
- export function ensureTomlTrailingNewline(value) {
178
+ function ensureTomlTrailingNewline(value) {
179
179
  return value.replace(/[\r\n]*$/, "\n");
180
180
  }
181
- export function createRuntimeRotationProviderBlock(baseUrl, clientApiKey = "") {
181
+ function createRuntimeRotationProviderBlock(baseUrl, clientApiKey = "") {
182
182
  const lines = [
183
183
  `[model_providers.${RUNTIME_ROTATION_PROXY_PROVIDER_ID}]`,
184
184
  'name = "codex-multi-auth"',
@@ -1,36 +1,5 @@
1
1
  import type { ModelFamily } from "../prompts/codex.js";
2
2
  import type { AccountStorageV3 } from "../storage.js";
3
- export declare function createRuntimeEventHandler<TLoadedStorage, TSavedStorage, TModelFamily extends string, TManager>(deps: {
4
- handleAccountSelectEvent: (input: {
5
- event: {
6
- type: string;
7
- properties?: unknown;
8
- };
9
- providerId: string;
10
- loadAccounts: () => Promise<TLoadedStorage>;
11
- saveAccounts: (storage: TSavedStorage) => Promise<void>;
12
- modelFamilies: readonly TModelFamily[];
13
- cachedAccountManager: TManager;
14
- reloadAccountManagerFromDisk: () => Promise<void>;
15
- setLastCodexCliActiveSyncIndex: (index: number) => void;
16
- showToast: (message: string, variant?: "info" | "success" | "warning" | "error") => Promise<void>;
17
- }) => Promise<boolean>;
18
- providerId: string;
19
- loadAccounts: () => Promise<TLoadedStorage>;
20
- saveAccounts: (storage: TSavedStorage) => Promise<void>;
21
- modelFamilies: readonly TModelFamily[];
22
- getCachedAccountManager: () => TManager;
23
- reloadAccountManagerFromDisk: () => Promise<void>;
24
- setLastCodexCliActiveSyncIndex: (index: number) => void;
25
- showToast: (message: string, variant?: "info" | "success" | "warning" | "error") => Promise<void>;
26
- logDebug: (message: string) => void;
27
- pluginName: string;
28
- }): (input: {
29
- event: {
30
- type: string;
31
- properties?: unknown;
32
- };
33
- }) => Promise<void>;
34
3
  export declare function handleRuntimeEvent(params: {
35
4
  input: {
36
5
  event: {
@@ -1 +1 @@
1
- {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../lib/runtime/event-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../lib/runtime/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAChD,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,YAAY,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,mCAAmC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,4BAA4B,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,SAAS,EAAE,CACV,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,KAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB"}
@@ -1,26 +1,4 @@
1
1
  import { handleAccountSelectEvent } from "./account-select-event.js";
2
- export function createRuntimeEventHandler(deps) {
3
- return async (input) => {
4
- try {
5
- const handled = await deps.handleAccountSelectEvent({
6
- event: input.event,
7
- providerId: deps.providerId,
8
- loadAccounts: deps.loadAccounts,
9
- saveAccounts: deps.saveAccounts,
10
- modelFamilies: deps.modelFamilies,
11
- cachedAccountManager: deps.getCachedAccountManager(),
12
- reloadAccountManagerFromDisk: deps.reloadAccountManagerFromDisk,
13
- setLastCodexCliActiveSyncIndex: deps.setLastCodexCliActiveSyncIndex,
14
- showToast: deps.showToast,
15
- });
16
- if (handled)
17
- return;
18
- }
19
- catch (error) {
20
- deps.logDebug(`[${deps.pluginName}] Event handler error: ${error instanceof Error ? error.message : String(error)}`);
21
- }
22
- };
23
- }
24
2
  export async function handleRuntimeEvent(params) {
25
3
  try {
26
4
  await handleAccountSelectEvent({
@@ -1,10 +1,10 @@
1
1
  export declare const FIRST_RUN_MARKER_VERSION = 1;
2
- export type FirstRunStepStatus = "completed" | "skipped" | "failed";
3
- export interface FirstRunSetupOutcome {
2
+ type FirstRunStepStatus = "completed" | "skipped" | "failed";
3
+ interface FirstRunSetupOutcome {
4
4
  appBind: FirstRunStepStatus;
5
5
  launcher: FirstRunStepStatus;
6
6
  }
7
- export type FirstRunSkipReason = "ci" | "not-installed" | "already-done" | "claim-race" | "error";
7
+ type FirstRunSkipReason = "ci" | "not-installed" | "already-done" | "claim-race" | "error";
8
8
  export type FirstRunResult = {
9
9
  ran: false;
10
10
  reason: FirstRunSkipReason;
@@ -22,7 +22,6 @@ export interface FirstRunSetupDeps {
22
22
  notify?: (message: string) => void;
23
23
  now?: () => number;
24
24
  }
25
- export declare function readOptionalBoolean(value: string | undefined): boolean | null;
26
25
  export declare function isCiEnvironment(env?: NodeJS.ProcessEnv): boolean;
27
26
  export interface DesktopAppDetectionOptions {
28
27
  env?: NodeJS.ProcessEnv;
@@ -57,7 +56,6 @@ export declare function shouldInstallCodexAppLauncherOnFirstRun(options: FirstRu
57
56
  * machine-level install either
58
57
  */
59
58
  export declare function isInstalledPackageContext(modulePath?: string, cwd?: string): boolean;
60
- export declare function getFirstRunMarkerPath(): string;
61
59
  type LauncherInstallFn = (options: {
62
60
  log: (message: string) => void;
63
61
  }) => Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"first-run.d.ts","sourceRoot":"","sources":["../../../lib/runtime/first-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"first-run.d.ts","sourceRoot":"","sources":["../../../lib/runtime/first-run.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAkB1C,KAAK,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7D,UAAU,oBAAoB;IAC7B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;CAC7B;AAED,KAAK,kBAAkB,GACpB,IAAI,GACJ,eAAe,GACf,cAAc,GACd,YAAY,GACZ,OAAO,CAAC;AAEX,MAAM,MAAM,cAAc,GACvB;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC1C,CAAC;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,oBAAoB,CAAC,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAgBD,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG7E;AAeD,MAAM,WAAW,0BAA0B;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CACjC,OAAO,GAAE,0BAA+B,GACtC,OAAO,CA8BT;AAED,wBAAgB,sBAAsB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,kBAAkB,GAAE,MAAM,OACgC,GACxD,OAAO,CAWT;AAED,MAAM,WAAW,uBAAuB;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,uBAAuB,GAC9B,OAAO,CAcT;AAED,MAAM,WAAW,2BAA2B;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,uCAAuC,CACtD,OAAO,EAAE,2BAA2B,GAClC,OAAO,CAUT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACxC,UAAU,GAAE,MAAuC,EACnD,GAAG,GAAE,MAAsB,GACzB,OAAO,CAST;AAkGD,KAAK,iBAAiB,GAAG,CAAC,OAAO,EAAE;IAClC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvB;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACxC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,GACnC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAenC;AAkCD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,GAAE,iBAAsB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAoDzB"}
@@ -38,7 +38,7 @@ const CI_ENV_KEYS = [
38
38
  "APPVEYOR",
39
39
  "BITBUCKET_BUILD_NUMBER",
40
40
  ];
41
- export function readOptionalBoolean(value) {
41
+ function readOptionalBoolean(value) {
42
42
  if (value === undefined || value.trim().length === 0)
43
43
  return null;
44
44
  const normalized = value.trim().toLowerCase();
@@ -144,7 +144,7 @@ export function isInstalledPackageContext(modulePath = fileURLToPath(import.meta
144
144
  }
145
145
  return true;
146
146
  }
147
- export function getFirstRunMarkerPath() {
147
+ function getFirstRunMarkerPath() {
148
148
  return join(getCodexMultiAuthDir(), FIRST_RUN_MARKER_FILE);
149
149
  }
150
150
  function errorMessage(error) {
@@ -1,12 +1,7 @@
1
1
  import type { CodexQuotaSnapshot } from "../quota-probe.js";
2
- export type { CodexQuotaSnapshot, CodexQuotaWindow } from "../quota-probe.js";
2
+ export type { CodexQuotaSnapshot } from "../quota-probe.js";
3
3
  export type ParsedCodexQuotaSnapshot = Omit<CodexQuotaSnapshot, "model">;
4
- export declare function parseFiniteNumberHeader(headers: Headers, name: string): number | undefined;
5
- export declare function parseFiniteIntHeader(headers: Headers, name: string): number | undefined;
6
4
  export declare function parseResetAtMs(headers: Headers, prefix: string): number | undefined;
7
- export declare function hasCodexQuotaHeaders(headers: Headers): boolean;
8
5
  export declare function parseCodexQuotaSnapshot(headers: Headers, status: number): ParsedCodexQuotaSnapshot | null;
9
- export declare function formatQuotaWindowLabel(windowMinutes: number | undefined): string;
10
- export declare function formatResetAt(resetAtMs: number | undefined): string | undefined;
11
6
  export declare function formatCodexQuotaLine(snapshot: Pick<CodexQuotaSnapshot, "status" | "planType" | "activeLimit" | "primary" | "secondary">): string;
12
7
  //# sourceMappingURL=quota-headers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota-headers.d.ts","sourceRoot":"","sources":["../../../lib/runtime/quota-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AAE9E,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAEzE,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CA0BpB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAY9D;AAED,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACZ,wBAAwB,GAAG,IAAI,CAkCjC;AAED,wBAAgB,sBAAsB,CACrC,aAAa,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAOR;AAED,wBAAgB,aAAa,CAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAwBpB;AAED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,IAAI,CACb,kBAAkB,EAClB,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,CAC/D,GACC,MAAM,CAkCR"}
1
+ {"version":3,"file":"quota-headers.d.ts","sourceRoot":"","sources":["../../../lib/runtime/quota-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AAE9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAsBzE,wBAAgB,cAAc,CAC7B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CA0BpB;AAgBD,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACZ,wBAAwB,GAAG,IAAI,CAkCjC;AAyCD,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,IAAI,CACb,kBAAkB,EAClB,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,CAC/D,GACC,MAAM,CAkCR"}
@@ -1,11 +1,11 @@
1
- export function parseFiniteNumberHeader(headers, name) {
1
+ function parseFiniteNumberHeader(headers, name) {
2
2
  const raw = headers.get(name);
3
3
  if (!raw)
4
4
  return undefined;
5
5
  const parsed = Number(raw);
6
6
  return Number.isFinite(parsed) ? parsed : undefined;
7
7
  }
8
- export function parseFiniteIntHeader(headers, name) {
8
+ function parseFiniteIntHeader(headers, name) {
9
9
  const raw = headers.get(name);
10
10
  if (!raw)
11
11
  return undefined;
@@ -32,7 +32,7 @@ export function parseResetAtMs(headers, prefix) {
32
32
  const parsedDate = Date.parse(trimmed);
33
33
  return Number.isFinite(parsedDate) ? parsedDate : undefined;
34
34
  }
35
- export function hasCodexQuotaHeaders(headers) {
35
+ function hasCodexQuotaHeaders(headers) {
36
36
  const keys = [
37
37
  "x-codex-primary-used-percent",
38
38
  "x-codex-primary-window-minutes",
@@ -65,7 +65,7 @@ export function parseCodexQuotaSnapshot(headers, status) {
65
65
  const activeLimit = parseFiniteIntHeader(headers, "x-codex-active-limit");
66
66
  return { status, planType, activeLimit, primary, secondary };
67
67
  }
68
- export function formatQuotaWindowLabel(windowMinutes) {
68
+ function formatQuotaWindowLabel(windowMinutes) {
69
69
  if (!windowMinutes || !Number.isFinite(windowMinutes) || windowMinutes <= 0) {
70
70
  return "quota";
71
71
  }
@@ -75,7 +75,7 @@ export function formatQuotaWindowLabel(windowMinutes) {
75
75
  return `${windowMinutes / 60}h`;
76
76
  return `${windowMinutes}m`;
77
77
  }
78
- export function formatResetAt(resetAtMs) {
78
+ function formatResetAt(resetAtMs) {
79
79
  if (!resetAtMs || !Number.isFinite(resetAtMs) || resetAtMs <= 0)
80
80
  return undefined;
81
81
  const date = new Date(resetAtMs);
@@ -1 +1 @@
1
- {"version":3,"file":"rotation-proxy-state.d.ts","sourceRoot":"","sources":["../../../lib/runtime/rotation-proxy-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACtC,oBAAoB,EAAE,cAAc,CAAC;IACrC,gBAAgB,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC5C,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B,EAAE,MAAM,CAAC;IACvC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,8BAA8B,EAAE,MAAM,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACzD,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,wBAAwB,EAAE,MAAM,CAAC;CACjC;AAID,gBAAgB;AAChB,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,sBAAsB,GAC1B,kBAAkB,CAuBpB;AAED,gBAAgB;AAChB,wBAAsB,wBAAwB,CAC7C,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA0BhC"}
1
+ {"version":3,"file":"rotation-proxy-state.d.ts","sourceRoot":"","sources":["../../../lib/runtime/rotation-proxy-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACtC,oBAAoB,EAAE,cAAc,CAAC;IACrC,gBAAgB,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,kBAAkB,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC5C,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B,EAAE,MAAM,CAAC;IACvC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,8BAA8B,EAAE,MAAM,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACzD,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,wBAAwB,EAAE,MAAM,CAAC;CACjC;AAID,gBAAgB;AAChB,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,sBAAsB,GAC1B,kBAAkB,CAuBpB;AAED,gBAAgB;AAChB,wBAAsB,wBAAwB,CAC7C,KAAK,EAAE,kBAAkB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkDhC"}
@@ -39,6 +39,30 @@ export async function recoverStaleRuntimeState(state) {
39
39
  recordRuntimeReset("pool-exhausted-no-account");
40
40
  const reloaded = await AccountManager.loadFromDisk();
41
41
  reloaded.setRoutingMutexMode(state.routingMutexMode);
42
+ // Wipe per-account cooldowns and rate-limit windows on the freshly
43
+ // reloaded pool. `resetVolatileRuntimeState` above only cleared global
44
+ // singletons (trackers, circuit breakers); the per-account transient
45
+ // state is serialized to disk, so loadFromDisk restores the same state
46
+ // that wedged the pool. Clearing it here gives recovery a real clean
47
+ // slate before any request can pick up the manager (issue #606). Runs
48
+ // before the `state.activeAccountManager` assignment so no concurrent
49
+ // request can observe the reloaded manager with stale state.
50
+ //
51
+ // This also drops still-future rate-limit windows from genuine upstream
52
+ // 429s, not just stale ones from a dead prior process. That is the
53
+ // intended trade-off: recovery only runs at full pool exhaustion, where
54
+ // the alternative is a hard 503 anyway, and the 1s reload dedupe bounds
55
+ // re-probing to ~1/sec — the upstream simply re-429s and re-populates the
56
+ // window until the next exhaustion. Availability is preferred over
57
+ // honoring backoff in this already-degraded state.
58
+ reloaded.clearAccountTransientState();
59
+ // Force the cleared snapshot to disk now rather than waiting out the
60
+ // debounce window inside clearAccountTransientState. If the process
61
+ // exited during that window the next startup would reload the wedged
62
+ // snapshot; flushing here makes the "next reload starts clean" guarantee
63
+ // durable across a restart, not just best-effort. Recovery is rare
64
+ // (full-pool exhaustion), so the extra synchronous write is cheap.
65
+ await reloaded.flushPendingSave();
42
66
  state.activeAccountManager = reloaded;
43
67
  state.knownAccountManagers.add(reloaded);
44
68
  state.lastStaleRuntimeReloadAt = Date.now();
@@ -1,8 +1,8 @@
1
1
  import type { RuntimeObservabilitySnapshot } from "./runtime-observability.js";
2
2
  import type { AppBindRouterStatus } from "./app-bind.js";
3
3
  import type { AccountStorageV3 } from "../storage.js";
4
- export type RuntimeCurrentAccountSource = "runtime-observability" | "app-bind" | "app-helper";
5
- export type RuntimeCurrentAccountMatch = "account-id" | "email" | "index";
4
+ type RuntimeCurrentAccountSource = "runtime-observability" | "app-bind" | "app-helper";
5
+ type RuntimeCurrentAccountMatch = "account-id" | "email" | "index";
6
6
  export type AccountCurrentMarker = "current" | "in-use" | "selected";
7
7
  export interface RuntimeAccountSignal {
8
8
  source: RuntimeCurrentAccountSource;
@@ -31,7 +31,6 @@ export interface RuntimeCurrentAccountSources {
31
31
  appBindStatus?: AppBindRouterStatus | null;
32
32
  appHelperStatus?: RuntimeAccountSignal | null;
33
33
  }
34
- export declare const RUNTIME_CURRENT_ACCOUNT_MAX_AGE_MS: number;
35
34
  export interface AppRuntimeHelperAccountStatus {
36
35
  kind: string | null;
37
36
  state: string | null;
@@ -49,4 +48,5 @@ export declare function readAppRuntimeHelperAccountSignal(): RuntimeAccountSigna
49
48
  export declare function resolveRuntimeCurrentAccount(storage: AccountStorageV3, sources: RuntimeCurrentAccountSources, options?: RuntimeCurrentAccountOptions): RuntimeCurrentAccountSelection | null;
50
49
  export declare function resolveAccountCurrentMarkers(index: number, storedCurrentIndex: number, runtimeCurrent: RuntimeCurrentAccountSelection | null): AccountCurrentMarker[];
51
50
  export declare function isDisplayCurrentAccount(index: number, storedCurrentIndex: number, runtimeCurrent: RuntimeCurrentAccountSelection | null): boolean;
51
+ export {};
52
52
  //# sourceMappingURL=runtime-current-account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-current-account.d.ts","sourceRoot":"","sources":["../../../lib/runtime/runtime-current-account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-current-account.d.ts","sourceRoot":"","sources":["../../../lib/runtime/runtime-current-account.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,KAAK,2BAA2B,GAC7B,uBAAuB,GACvB,UAAU,GACV,YAAY,CAAC;AAEhB,KAAK,0BAA0B,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,2BAA2B,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA8B;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,0BAA0B,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC5C,eAAe,CAAC,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC9C;AAMD,MAAM,WAAW,6BAA6B;IAC7C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA8DD,wBAAgB,0BAA0B,IAAI,6BAA6B,GAAG,IAAI,CA0BjF;AAED,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,6BAA6B,GAAG,IAAI,GAC1C,oBAAoB,GAAG,IAAI,CAc7B;AAED,wBAAgB,iCAAiC,IAAI,oBAAoB,GAAG,IAAI,CAE/E;AA+FD,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,4BAA4B,EACrC,OAAO,GAAE,4BAAiC,GACxC,8BAA8B,GAAG,IAAI,CAgDvC;AAED,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,8BAA8B,GAAG,IAAI,GACnD,oBAAoB,EAAE,CAWxB;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,8BAA8B,GAAG,IAAI,GACnD,OAAO,CAET"}
@@ -4,7 +4,7 @@ import process from "node:process";
4
4
  import { APP_RUNTIME_HELPER_STATUS_FILE } from "../runtime-constants.js";
5
5
  import { getCodexMultiAuthDir } from "../runtime-paths.js";
6
6
  import { isRecord } from "../utils.js";
7
- export const RUNTIME_CURRENT_ACCOUNT_MAX_AGE_MS = 24 * 60 * 60 * 1000;
7
+ const RUNTIME_CURRENT_ACCOUNT_MAX_AGE_MS = 24 * 60 * 60 * 1000;
8
8
  const APP_RUNTIME_HELPER_KIND = "codex-app-runtime-rotation-helper";
9
9
  const MAX_STATUS_FILE_BYTES = 1024 * 1024; // 1 MB sanity cap
10
10
  function normalizeString(value) {