oc-codex-multi-auth 6.21.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 (174) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +729 -571
  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 +291 -53
  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 +260 -0
  16. package/dist/lib/account-display.js.map +1 -1
  17. package/dist/lib/accounts.d.ts +4 -0
  18. package/dist/lib/accounts.d.ts.map +1 -1
  19. package/dist/lib/accounts.js +20 -15
  20. package/dist/lib/accounts.js.map +1 -1
  21. package/dist/lib/auth/login-runner.d.ts.map +1 -1
  22. package/dist/lib/auth/login-runner.js +79 -2
  23. package/dist/lib/auth/login-runner.js.map +1 -1
  24. package/dist/lib/auto-update-checker.d.ts +17 -1
  25. package/dist/lib/auto-update-checker.d.ts.map +1 -1
  26. package/dist/lib/auto-update-checker.js +49 -3
  27. package/dist/lib/auto-update-checker.js.map +1 -1
  28. package/dist/lib/cli.d.ts +1 -0
  29. package/dist/lib/cli.d.ts.map +1 -1
  30. package/dist/lib/cli.js +9 -3
  31. package/dist/lib/cli.js.map +1 -1
  32. package/dist/lib/codex-usage.d.ts +4 -3
  33. package/dist/lib/codex-usage.d.ts.map +1 -1
  34. package/dist/lib/codex-usage.js +13 -11
  35. package/dist/lib/codex-usage.js.map +1 -1
  36. package/dist/lib/config.d.ts +75 -0
  37. package/dist/lib/config.d.ts.map +1 -1
  38. package/dist/lib/config.js +152 -1
  39. package/dist/lib/config.js.map +1 -1
  40. package/dist/lib/context-overflow.js +10 -10
  41. package/dist/lib/desktop-notifications.js +6 -6
  42. package/dist/lib/oauth-success.js +202 -202
  43. package/dist/lib/plan-allotment.d.ts +72 -0
  44. package/dist/lib/plan-allotment.d.ts.map +1 -0
  45. package/dist/lib/plan-allotment.js +142 -0
  46. package/dist/lib/plan-allotment.js.map +1 -0
  47. package/dist/lib/plugin-origin.d.ts +77 -0
  48. package/dist/lib/plugin-origin.d.ts.map +1 -0
  49. package/dist/lib/plugin-origin.js +301 -0
  50. package/dist/lib/plugin-origin.js.map +1 -0
  51. package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
  52. package/dist/lib/prompts/codex.js +75 -75
  53. package/dist/lib/quota-display.d.ts +40 -0
  54. package/dist/lib/quota-display.d.ts.map +1 -0
  55. package/dist/lib/quota-display.js +45 -0
  56. package/dist/lib/quota-display.js.map +1 -0
  57. package/dist/lib/quota-notifications.d.ts +2 -1
  58. package/dist/lib/quota-notifications.d.ts.map +1 -1
  59. package/dist/lib/quota-notifications.js +34 -14
  60. package/dist/lib/quota-notifications.js.map +1 -1
  61. package/dist/lib/quota-overview.d.ts +253 -0
  62. package/dist/lib/quota-overview.d.ts.map +1 -0
  63. package/dist/lib/quota-overview.js +707 -0
  64. package/dist/lib/quota-overview.js.map +1 -0
  65. package/dist/lib/request/retry-budget.d.ts +26 -0
  66. package/dist/lib/request/retry-budget.d.ts.map +1 -1
  67. package/dist/lib/request/retry-budget.js +43 -0
  68. package/dist/lib/request/retry-budget.js.map +1 -1
  69. package/dist/lib/schemas.d.ts +67 -0
  70. package/dist/lib/schemas.d.ts.map +1 -1
  71. package/dist/lib/schemas.js +53 -0
  72. package/dist/lib/schemas.js.map +1 -1
  73. package/dist/lib/storage/backup.d.ts +33 -0
  74. package/dist/lib/storage/backup.d.ts.map +1 -1
  75. package/dist/lib/storage/backup.js +43 -7
  76. package/dist/lib/storage/backup.js.map +1 -1
  77. package/dist/lib/storage/credential-snapshots.d.ts +78 -0
  78. package/dist/lib/storage/credential-snapshots.d.ts.map +1 -0
  79. package/dist/lib/storage/credential-snapshots.js +302 -0
  80. package/dist/lib/storage/credential-snapshots.js.map +1 -0
  81. package/dist/lib/storage/export-import.d.ts.map +1 -1
  82. package/dist/lib/storage/export-import.js +7 -0
  83. package/dist/lib/storage/export-import.js.map +1 -1
  84. package/dist/lib/storage/flagged.d.ts.map +1 -1
  85. package/dist/lib/storage/flagged.js +23 -1
  86. package/dist/lib/storage/flagged.js.map +1 -1
  87. package/dist/lib/storage/load-save.d.ts +4 -0
  88. package/dist/lib/storage/load-save.d.ts.map +1 -1
  89. package/dist/lib/storage/load-save.js +50 -0
  90. package/dist/lib/storage/load-save.js.map +1 -1
  91. package/dist/lib/storage/paths.d.ts +1 -0
  92. package/dist/lib/storage/paths.d.ts.map +1 -1
  93. package/dist/lib/storage/paths.js +1 -1
  94. package/dist/lib/storage/paths.js.map +1 -1
  95. package/dist/lib/storage/test-home-guard.d.ts +35 -0
  96. package/dist/lib/storage/test-home-guard.d.ts.map +1 -0
  97. package/dist/lib/storage/test-home-guard.js +59 -0
  98. package/dist/lib/storage/test-home-guard.js.map +1 -0
  99. package/dist/lib/tools/codex-dashboard.d.ts.map +1 -1
  100. package/dist/lib/tools/codex-dashboard.js +3 -2
  101. package/dist/lib/tools/codex-dashboard.js.map +1 -1
  102. package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
  103. package/dist/lib/tools/codex-doctor.js +16 -0
  104. package/dist/lib/tools/codex-doctor.js.map +1 -1
  105. package/dist/lib/tools/codex-health.d.ts.map +1 -1
  106. package/dist/lib/tools/codex-health.js +10 -2
  107. package/dist/lib/tools/codex-health.js.map +1 -1
  108. package/dist/lib/tools/codex-label.d.ts.map +1 -1
  109. package/dist/lib/tools/codex-label.js +1 -0
  110. package/dist/lib/tools/codex-label.js.map +1 -1
  111. package/dist/lib/tools/codex-limits.d.ts.map +1 -1
  112. package/dist/lib/tools/codex-limits.js +13 -9
  113. package/dist/lib/tools/codex-limits.js.map +1 -1
  114. package/dist/lib/tools/codex-list.d.ts.map +1 -1
  115. package/dist/lib/tools/codex-list.js +28 -3
  116. package/dist/lib/tools/codex-list.js.map +1 -1
  117. package/dist/lib/tools/codex-note.d.ts.map +1 -1
  118. package/dist/lib/tools/codex-note.js +4 -1
  119. package/dist/lib/tools/codex-note.js.map +1 -1
  120. package/dist/lib/tools/codex-pool.d.ts.map +1 -1
  121. package/dist/lib/tools/codex-pool.js +6 -2
  122. package/dist/lib/tools/codex-pool.js.map +1 -1
  123. package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
  124. package/dist/lib/tools/codex-refresh.js +4 -1
  125. package/dist/lib/tools/codex-refresh.js.map +1 -1
  126. package/dist/lib/tools/codex-remove.d.ts.map +1 -1
  127. package/dist/lib/tools/codex-remove.js +1 -0
  128. package/dist/lib/tools/codex-remove.js.map +1 -1
  129. package/dist/lib/tools/codex-reset.d.ts.map +1 -1
  130. package/dist/lib/tools/codex-reset.js +13 -7
  131. package/dist/lib/tools/codex-reset.js.map +1 -1
  132. package/dist/lib/tools/codex-status.d.ts.map +1 -1
  133. package/dist/lib/tools/codex-status.js +25 -2
  134. package/dist/lib/tools/codex-status.js.map +1 -1
  135. package/dist/lib/tools/codex-switch.d.ts.map +1 -1
  136. package/dist/lib/tools/codex-switch.js +1 -0
  137. package/dist/lib/tools/codex-switch.js.map +1 -1
  138. package/dist/lib/tools/codex-tag.d.ts.map +1 -1
  139. package/dist/lib/tools/codex-tag.js +4 -1
  140. package/dist/lib/tools/codex-tag.js.map +1 -1
  141. package/dist/lib/tools/codex-warm.d.ts.map +1 -1
  142. package/dist/lib/tools/codex-warm.js +1 -0
  143. package/dist/lib/tools/codex-warm.js.map +1 -1
  144. package/dist/lib/tools/index.d.ts +9 -0
  145. package/dist/lib/tools/index.d.ts.map +1 -1
  146. package/dist/lib/tools/index.js.map +1 -1
  147. package/dist/lib/tui-quota-cache.d.ts +35 -0
  148. package/dist/lib/tui-quota-cache.d.ts.map +1 -1
  149. package/dist/lib/tui-quota-cache.js +76 -11
  150. package/dist/lib/tui-quota-cache.js.map +1 -1
  151. package/dist/lib/tui-quota-overview.d.ts +55 -0
  152. package/dist/lib/tui-quota-overview.d.ts.map +1 -0
  153. package/dist/lib/tui-quota-overview.js +209 -0
  154. package/dist/lib/tui-quota-overview.js.map +1 -0
  155. package/dist/lib/tui-status.d.ts +55 -0
  156. package/dist/lib/tui-status.d.ts.map +1 -1
  157. package/dist/lib/tui-status.js +155 -14
  158. package/dist/lib/tui-status.js.map +1 -1
  159. package/dist/lib/ui/auth-menu.d.ts +2 -0
  160. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  161. package/dist/lib/ui/auth-menu.js +10 -6
  162. package/dist/lib/ui/auth-menu.js.map +1 -1
  163. package/dist/tui.d.ts +55 -0
  164. package/dist/tui.d.ts.map +1 -1
  165. package/dist/tui.js +511 -29
  166. package/dist/tui.js.map +1 -1
  167. package/package.json +155 -155
  168. package/scripts/audit-dev-allowlist.js +114 -114
  169. package/scripts/clean-dist.js +27 -27
  170. package/scripts/copy-oauth-success.js +47 -47
  171. package/scripts/install-oc-codex-multi-auth-core.js +2003 -1499
  172. package/scripts/install-oc-codex-multi-auth.js +37 -37
  173. package/scripts/test-all-models.sh +260 -260
  174. package/scripts/validate-model-map.sh +97 -97
@@ -569,80 +569,80 @@ export function prewarmCodexInstructions(models = []) {
569
569
  /**
570
570
  * Tool remapping instructions for opencode tools
571
571
  */
572
- export const TOOL_REMAP_MESSAGE = `<user_instructions priority="0">
573
- <environment_override priority="0">
574
- YOU ARE IN A DIFFERENT ENVIRONMENT. These instructions override ALL previous tool references.
575
- </environment_override>
576
-
577
- <tool_replacements priority="0">
578
- <critical_rule priority="0">
579
- Patch-edit tool names differ by runtime (for example: apply_patch, patch, edit).
580
- - Always use the exact tool names listed in the active tool schema/manifest
581
- - If the schema exposes apply_patch, call apply_patch directly
582
- - If the schema exposes patch/edit instead, use patch/edit as listed
583
- - Never invent aliases or auto-translate tool names
584
- </critical_rule>
585
-
586
- <critical_rule priority="0">
587
- ❌ UPDATE_PLAN DOES NOT EXIST → ✅ USE "todowrite" INSTEAD
588
- - NEVER use: update_plan, updatePlan
589
- - ALWAYS use: todowrite for ALL task/plan operations
590
- - Use todoread to read current plan
591
- - Before plan operations: Verify you're using "todowrite", NOT "update_plan"
592
- </critical_rule>
593
- </tool_replacements>
594
-
595
- <available_tools priority="0">
596
- Note: This list is illustrative. Always defer to the active tool schema/manifest.
597
- File Operations:
598
- • write - Create new files
599
- • edit - Modify existing files with string replacement
600
- • patch - Apply diff patches
601
- • apply_patch - Apply diff patches (alternate runtime name; use whichever the schema exposes)
602
- • read - Read file contents
603
-
604
- Search/Discovery:
605
- • grep - Search file contents
606
- • glob - Find files by pattern
607
- • list - List directories
608
-
609
- Execution:
610
- • bash - Run shell commands
611
-
612
- Network:
613
- • webfetch - Fetch web content
614
-
615
- Task Management:
616
- • todowrite - Manage tasks/plans (REPLACES update_plan)
617
- • todoread - Read current plan
618
- </available_tools>
619
-
620
- <tool_call_guardrails priority="0">
621
- - Call only tool names listed in the active tool schema.
622
- - Do not invent wrapper namespaces (for example functions.task or multi_tool_use.parallel) unless explicitly listed.
623
- - Follow each tool's required path format instead of forcing absolute or relative paths globally.
624
- </tool_call_guardrails>
625
-
626
- <substitution_rules priority="0">
627
- Base instruction says: Correct behaviour:
628
- apply_patch/patch → use the exact tool name from the active schema (no renaming)
629
- update_plan → todowrite
630
- read_plan → todoread
631
- </substitution_rules>
632
-
633
- <verification_checklist priority="0">
634
- Before file/plan modifications:
635
- 1. Am I using the exact patch/edit (including apply_patch when exposed) tool name listed by the active schema?
636
- 2. Am I using "todowrite" NOT "update_plan"?
637
- 3. Is this tool in the approved list above?
638
- 4. Am I following the active tool schema (including path format)?
639
-
640
- If ANY answer is NO → STOP and correct before proceeding.
641
- </verification_checklist>
642
-
643
- <safety_rules priority="0">
644
- - Never run destructive git commands (\`git reset --hard\`, \`git checkout --\`) unless explicitly requested by the user.
645
- - Never call \`request_user_input\` unless collaboration mode is explicitly Plan mode.
646
- </safety_rules>
572
+ export const TOOL_REMAP_MESSAGE = `<user_instructions priority="0">
573
+ <environment_override priority="0">
574
+ YOU ARE IN A DIFFERENT ENVIRONMENT. These instructions override ALL previous tool references.
575
+ </environment_override>
576
+
577
+ <tool_replacements priority="0">
578
+ <critical_rule priority="0">
579
+ Patch-edit tool names differ by runtime (for example: apply_patch, patch, edit).
580
+ - Always use the exact tool names listed in the active tool schema/manifest
581
+ - If the schema exposes apply_patch, call apply_patch directly
582
+ - If the schema exposes patch/edit instead, use patch/edit as listed
583
+ - Never invent aliases or auto-translate tool names
584
+ </critical_rule>
585
+
586
+ <critical_rule priority="0">
587
+ ❌ UPDATE_PLAN DOES NOT EXIST → ✅ USE "todowrite" INSTEAD
588
+ - NEVER use: update_plan, updatePlan
589
+ - ALWAYS use: todowrite for ALL task/plan operations
590
+ - Use todoread to read current plan
591
+ - Before plan operations: Verify you're using "todowrite", NOT "update_plan"
592
+ </critical_rule>
593
+ </tool_replacements>
594
+
595
+ <available_tools priority="0">
596
+ Note: This list is illustrative. Always defer to the active tool schema/manifest.
597
+ File Operations:
598
+ • write - Create new files
599
+ • edit - Modify existing files with string replacement
600
+ • patch - Apply diff patches
601
+ • apply_patch - Apply diff patches (alternate runtime name; use whichever the schema exposes)
602
+ • read - Read file contents
603
+
604
+ Search/Discovery:
605
+ • grep - Search file contents
606
+ • glob - Find files by pattern
607
+ • list - List directories
608
+
609
+ Execution:
610
+ • bash - Run shell commands
611
+
612
+ Network:
613
+ • webfetch - Fetch web content
614
+
615
+ Task Management:
616
+ • todowrite - Manage tasks/plans (REPLACES update_plan)
617
+ • todoread - Read current plan
618
+ </available_tools>
619
+
620
+ <tool_call_guardrails priority="0">
621
+ - Call only tool names listed in the active tool schema.
622
+ - Do not invent wrapper namespaces (for example functions.task or multi_tool_use.parallel) unless explicitly listed.
623
+ - Follow each tool's required path format instead of forcing absolute or relative paths globally.
624
+ </tool_call_guardrails>
625
+
626
+ <substitution_rules priority="0">
627
+ Base instruction says: Correct behaviour:
628
+ apply_patch/patch → use the exact tool name from the active schema (no renaming)
629
+ update_plan → todowrite
630
+ read_plan → todoread
631
+ </substitution_rules>
632
+
633
+ <verification_checklist priority="0">
634
+ Before file/plan modifications:
635
+ 1. Am I using the exact patch/edit (including apply_patch when exposed) tool name listed by the active schema?
636
+ 2. Am I using "todowrite" NOT "update_plan"?
637
+ 3. Is this tool in the approved list above?
638
+ 4. Am I following the active tool schema (including path format)?
639
+
640
+ If ANY answer is NO → STOP and correct before proceeding.
641
+ </verification_checklist>
642
+
643
+ <safety_rules priority="0">
644
+ - Never run destructive git commands (\`git reset --hard\`, \`git checkout --\`) unless explicitly requested by the user.
645
+ - Never call \`request_user_input\` unless collaboration mode is explicitly Plan mode.
646
+ </safety_rules>
647
647
  </user_instructions>`;
648
648
  //# sourceMappingURL=codex.js.map
@@ -0,0 +1,40 @@
1
+ /**
2
+ * How a quota percentage is worded on the surfaces a person reads.
3
+ *
4
+ * Codex reports the headroom an account still has, so `free` is the default
5
+ * and the wording every surface here already used. `used` inverts it for
6
+ * people who track consumption rather than headroom.
7
+ *
8
+ * This governs presentation only. Exhaustion, rotation blocks, notification
9
+ * thresholds and the warning/danger colouring all stay keyed on the remaining
10
+ * percentage, because those decisions are about headroom regardless of how the
11
+ * number is worded.
12
+ *
13
+ * This module is deliberately a leaf (no imports): the prompt status line
14
+ * (`lib/tui-status.ts`) and the usage surfaces (`lib/codex-usage.ts`) both
15
+ * depend on it, and it must not drag either into the other.
16
+ */
17
+ export type QuotaDisplayMode = "free" | "used";
18
+ export declare const QUOTA_DISPLAY_MODES: readonly QuotaDisplayMode[];
19
+ export declare const DEFAULT_QUOTA_DISPLAY_MODE: QuotaDisplayMode;
20
+ /**
21
+ * The number to print for a window, given the percentage still free.
22
+ *
23
+ * The used figure is derived from the free one rather than from the raw
24
+ * `used_percent` the backend sent, so the two readings of one window always
25
+ * add up to 100. Rounding them independently would let the same window render
26
+ * as `88% left` on one surface and `13% used` on another in one session.
27
+ */
28
+ export declare function toQuotaDisplayPercent(leftPercent: number, mode: QuotaDisplayMode): number;
29
+ /**
30
+ * `72%` — for surfaces with no room to name what the number counts.
31
+ *
32
+ * The compact prompt status line and the desktop notification both print a
33
+ * bare percentage today, and they keep doing so in either mode: their budget
34
+ * is spent on the account hint and the reset time, and the mode is an explicit
35
+ * opt-in rather than something a reader has to infer per line.
36
+ */
37
+ export declare function formatQuotaPercent(leftPercent: number, mode: QuotaDisplayMode): string;
38
+ /** `72% left` / `28% used` — wherever there is room to say which it is. */
39
+ export declare function formatNamedQuotaPercent(leftPercent: number, mode: QuotaDisplayMode): string;
40
+ //# sourceMappingURL=quota-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-display.d.ts","sourceRoot":"","sources":["../../lib/quota-display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAAqB,CAAC;AAEjF,eAAO,MAAM,0BAA0B,EAAE,gBAAyB,CAAC;AAEnE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,GACpB,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,GACpB,MAAM,CAER;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,gBAAgB,GACpB,MAAM,CAIR"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * How a quota percentage is worded on the surfaces a person reads.
3
+ *
4
+ * Codex reports the headroom an account still has, so `free` is the default
5
+ * and the wording every surface here already used. `used` inverts it for
6
+ * people who track consumption rather than headroom.
7
+ *
8
+ * This governs presentation only. Exhaustion, rotation blocks, notification
9
+ * thresholds and the warning/danger colouring all stay keyed on the remaining
10
+ * percentage, because those decisions are about headroom regardless of how the
11
+ * number is worded.
12
+ *
13
+ * This module is deliberately a leaf (no imports): the prompt status line
14
+ * (`lib/tui-status.ts`) and the usage surfaces (`lib/codex-usage.ts`) both
15
+ * depend on it, and it must not drag either into the other.
16
+ */
17
+ export const QUOTA_DISPLAY_MODES = ["free", "used"];
18
+ export const DEFAULT_QUOTA_DISPLAY_MODE = "free";
19
+ /**
20
+ * The number to print for a window, given the percentage still free.
21
+ *
22
+ * The used figure is derived from the free one rather than from the raw
23
+ * `used_percent` the backend sent, so the two readings of one window always
24
+ * add up to 100. Rounding them independently would let the same window render
25
+ * as `88% left` on one surface and `13% used` on another in one session.
26
+ */
27
+ export function toQuotaDisplayPercent(leftPercent, mode) {
28
+ return mode === "used" ? 100 - leftPercent : leftPercent;
29
+ }
30
+ /**
31
+ * `72%` — for surfaces with no room to name what the number counts.
32
+ *
33
+ * The compact prompt status line and the desktop notification both print a
34
+ * bare percentage today, and they keep doing so in either mode: their budget
35
+ * is spent on the account hint and the reset time, and the mode is an explicit
36
+ * opt-in rather than something a reader has to infer per line.
37
+ */
38
+ export function formatQuotaPercent(leftPercent, mode) {
39
+ return `${toQuotaDisplayPercent(leftPercent, mode)}%`;
40
+ }
41
+ /** `72% left` / `28% used` — wherever there is room to say which it is. */
42
+ export function formatNamedQuotaPercent(leftPercent, mode) {
43
+ return `${formatQuotaPercent(leftPercent, mode)} ${mode === "used" ? "used" : "left"}`;
44
+ }
45
+ //# sourceMappingURL=quota-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-display.js","sourceRoot":"","sources":["../../lib/quota-display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAgC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,0BAA0B,GAAqB,MAAM,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACpC,WAAmB,EACnB,IAAsB;IAEtB,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CACjC,WAAmB,EACnB,IAAsB;IAEtB,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CACtC,WAAmB,EACnB,IAAsB;IAEtB,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,IAC9C,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAC5B,EAAE,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type QuotaNotificationsConfig } from "./config.js";
2
+ import { type QuotaDisplayMode } from "./quota-display.js";
2
3
  import { type CodexUsageSummary } from "./codex-usage.js";
3
4
  import { type DesktopNotifier } from "./desktop-notifications.js";
4
5
  import { type QuotaNotificationState, type QuotaWindowNotificationState } from "./quota-notification-state.js";
@@ -73,7 +74,7 @@ export declare function transitionQuotaState(previous: QuotaNotificationState |
73
74
  state: QuotaNotificationState;
74
75
  crossings: QuotaThresholdCrossing[];
75
76
  };
76
- export declare function formatQuotaNotification(usage: AggregatedQuotaUsage): string;
77
+ export declare function formatQuotaNotification(usage: AggregatedQuotaUsage, mode?: QuotaDisplayMode): string;
77
78
  export declare function createQuotaMonitor(overrides?: Partial<MonitorDependencies>): QuotaMonitor;
78
79
  export {};
79
80
  //# sourceMappingURL=quota-notifications.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota-notifications.d.ts","sourceRoot":"","sources":["../../lib/quota-notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-notifications.d.ts","sourceRoot":"","sources":["../../lib/quota-notifications.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { getQuotaNotifications, loadPluginConfig } from "./config.js";
1
+ import { getQuotaDisplay, getQuotaNotifications, loadPluginConfig, } from "./config.js";
2
+ import { DEFAULT_QUOTA_DISPLAY_MODE, formatNamedQuotaPercent, } from "./quota-display.js";
2
3
  import { deduplicateUsageAccountIndices, ensureCodexUsageAccessToken, fetchCodexUsage, formatUsageReset, getUsageLeftPercent, getUsageQuotaExhaustedResetAtMs, hasUsageWindow, parseCodexUsagePayload, persistUsageQuotaExhaustion, persistUsageQuotaRecovery, isUsageQuotaRecovered, resolveCodexUsageAccountId, } from "./codex-usage.js";
3
4
  import { logDebug, logInfo, logWarn } from "./logger.js";
4
5
  import { isDesktopNotificationSupported, sendDesktopNotification, } from "./desktop-notifications.js";
@@ -132,16 +133,19 @@ export function transitionQuotaState(previous, usage, thresholds, now = Date.now
132
133
  * account; the pool's earlier reset, when there is one, gets its own clause so
133
134
  * nothing reads as "this percentage recovers then".
134
135
  */
135
- function formatQuotaWindow(label, window) {
136
+ function formatQuotaWindow(label, window, mode) {
136
137
  if (window.remainingPercent === undefined)
137
138
  return `${label}: unavailable`;
138
139
  const reset = formatUsageReset(window.resetAtMs) ?? "unavailable";
139
140
  const earliest = formatUsageReset(window.earliestResetAtMs);
140
141
  const poolClause = earliest ? ` | another account resets ${earliest}` : "";
141
- return `${label}: ${window.remainingPercent}% | resets ${reset}${poolClause}`;
142
+ // Named, not bare: a notification is read without the line's context, so
143
+ // `80%` alone cannot say whether it is headroom or consumption.
144
+ const percent = formatNamedQuotaPercent(window.remainingPercent, mode);
145
+ return `${label}: ${percent} | resets ${reset}${poolClause}`;
142
146
  }
143
- export function formatQuotaNotification(usage) {
144
- return `${formatQuotaWindow("5h", usage.fiveHour)}\n${formatQuotaWindow("Weekly", usage.weekly)}`;
147
+ export function formatQuotaNotification(usage, mode = DEFAULT_QUOTA_DISPLAY_MODE) {
148
+ return `${formatQuotaWindow("5h", usage.fiveHour, mode)}\n${formatQuotaWindow("Weekly", usage.weekly, mode)}`;
145
149
  }
146
150
  export function createQuotaMonitor(overrides = {}) {
147
151
  const dependencies = {
@@ -199,7 +203,7 @@ export function createQuotaMonitor(overrides = {}) {
199
203
  logWarn(`Failed to release an undelivered quota notification claim: ${error.message}`);
200
204
  }
201
205
  };
202
- const check = async (config, expectedGeneration) => {
206
+ const check = async (config, expectedGeneration, deliverNotifications = true) => {
203
207
  const storage = await dependencies.loadStorage();
204
208
  if (!storage || storage.accounts.length === 0 || disposed || expectedGeneration !== generation)
205
209
  return;
@@ -236,12 +240,16 @@ export function createQuotaMonitor(overrides = {}) {
236
240
  }
237
241
  if (summaries.length === 0 || disposed || expectedGeneration !== generation)
238
242
  return;
239
- const canDeliver = config.enabled &&
243
+ const canDeliver = deliverNotifications &&
244
+ config.enabled &&
240
245
  (config.notifyEveryCheck || config.thresholds.length > 0) &&
241
246
  dependencies.notificationsSupported();
242
247
  // Credit protection has already persisted any exhausted accounts while
243
248
  // gathering summaries. Do not create notification-state files unless a
244
- // notification can actually be delivered.
249
+ // notification can actually be delivered. A forced check never delivers:
250
+ // it is a request-driven probe, so writing the threshold/delivery state
251
+ // would also consume a crossing the next scheduled poll is meant to
252
+ // announce.
245
253
  if (!canDeliver)
246
254
  return;
247
255
  const now = dependencies.now();
@@ -291,7 +299,7 @@ export function createQuotaMonitor(overrides = {}) {
291
299
  const delivered = disposed || expectedGeneration !== generation
292
300
  ? false
293
301
  : await dependencies
294
- .notify("Codex quota status", formatQuotaNotification(usage))
302
+ .notify("Codex quota status", formatQuotaNotification(usage, getQuotaDisplay(loadPluginConfig())))
295
303
  .catch((error) => {
296
304
  logDebug(`Failed to deliver quota notification: ${error.message}`);
297
305
  return false;
@@ -317,7 +325,7 @@ export function createQuotaMonitor(overrides = {}) {
317
325
  }
318
326
  schedule(intervalMs, expectedGeneration);
319
327
  };
320
- const tick = async (expectedGeneration, reschedule) => {
328
+ const tick = async (expectedGeneration, reschedule, force = false) => {
321
329
  if (disposed || expectedGeneration !== generation)
322
330
  return;
323
331
  if (running) {
@@ -338,8 +346,14 @@ export function createQuotaMonitor(overrides = {}) {
338
346
  // request simply retries on the next interval, so it cannot turn usage
339
347
  // endpoint throttling into a routing block.
340
348
  keepPolling = config.autoProtectCredits !== false || notificationsEnabled;
341
- if (keepPolling)
342
- await check(config, expectedGeneration);
349
+ // Both switches govern the UNATTENDED poll. A forced check is an
350
+ // on-demand request from a caller that is blocked on the answer, so
351
+ // honouring them here would let `runNow()` return without asking
352
+ // upstream anything at all. For the same reason a forced check is a
353
+ // probe, not an alert: `notifyEveryCheck` opts into the poll's
354
+ // cadence, not one notification per re-probe during a long wait.
355
+ if (force || keepPolling)
356
+ await check(config, expectedGeneration, !force);
343
357
  }
344
358
  catch (error) {
345
359
  logDebug(`Quota monitor tick failed: ${error.message}`);
@@ -378,7 +392,7 @@ export function createQuotaMonitor(overrides = {}) {
378
392
  },
379
393
  dispose: disposeMonitor,
380
394
  async runNow() {
381
- await tick(generation, false);
395
+ await tick(generation, false, true);
382
396
  },
383
397
  };
384
398
  }
@@ -417,8 +431,14 @@ async function fetchUsageForAccount(storage, account, onCredentialsPersisted = (
417
431
  // only the proactive routing guard is unavailable until the next poll.
418
432
  logWarn(`Failed to persist exhausted usage quota: ${error.message}`);
419
433
  }
434
+ // Clearing a stale block is not part of the credit guard.
435
+ // `autoProtectCredits` opts out of BLOCKING rotation, while the request
436
+ // path stamps a block from 429 headers regardless of it. Gating the
437
+ // clear on it too left those accounts blocked with nothing able to
438
+ // clear them, so the long-wait probe could never wake.
420
439
  }
421
- else if (autoProtectCredits && isUsageQuotaRecovered([usage.primary, usage.secondary])) {
440
+ else if (quotaExhaustedResetAtMs === undefined &&
441
+ isUsageQuotaRecovered([usage.primary, usage.secondary])) {
422
442
  try {
423
443
  if (await persistUsageQuotaRecovery(account))
424
444
  onCredentialsPersisted();
@@ -1 +1 @@
1
- {"version":3,"file":"quota-notifications.js","sourceRoot":"","sources":["../../lib/quota-notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-notifications.js","sourceRoot":"","sources":["../../lib/quota-notifications.ts"],"names":[],"mappings":"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"}