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.
- package/LICENSE +21 -21
- package/README.md +729 -571
- package/assets/icon.svg +7 -7
- package/assets/opencode-logo-ornate-dark.svg +18 -18
- package/assets/readme-hero.svg +31 -31
- package/config/README.md +177 -177
- package/config/minimal-opencode.json +14 -14
- package/config/opencode-legacy.json +1496 -1496
- package/config/opencode-modern.json +555 -555
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +291 -53
- package/dist/index.js.map +1 -1
- package/dist/lib/account-display.d.ts +46 -0
- package/dist/lib/account-display.d.ts.map +1 -1
- package/dist/lib/account-display.js +260 -0
- package/dist/lib/account-display.js.map +1 -1
- package/dist/lib/accounts.d.ts +4 -0
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +20 -15
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/auth/login-runner.d.ts.map +1 -1
- package/dist/lib/auth/login-runner.js +79 -2
- package/dist/lib/auth/login-runner.js.map +1 -1
- package/dist/lib/auto-update-checker.d.ts +17 -1
- package/dist/lib/auto-update-checker.d.ts.map +1 -1
- package/dist/lib/auto-update-checker.js +49 -3
- package/dist/lib/auto-update-checker.js.map +1 -1
- package/dist/lib/cli.d.ts +1 -0
- package/dist/lib/cli.d.ts.map +1 -1
- package/dist/lib/cli.js +9 -3
- package/dist/lib/cli.js.map +1 -1
- package/dist/lib/codex-usage.d.ts +4 -3
- package/dist/lib/codex-usage.d.ts.map +1 -1
- package/dist/lib/codex-usage.js +13 -11
- package/dist/lib/codex-usage.js.map +1 -1
- package/dist/lib/config.d.ts +75 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +152 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-overflow.js +10 -10
- package/dist/lib/desktop-notifications.js +6 -6
- package/dist/lib/oauth-success.js +202 -202
- package/dist/lib/plan-allotment.d.ts +72 -0
- package/dist/lib/plan-allotment.d.ts.map +1 -0
- package/dist/lib/plan-allotment.js +142 -0
- package/dist/lib/plan-allotment.js.map +1 -0
- package/dist/lib/plugin-origin.d.ts +77 -0
- package/dist/lib/plugin-origin.d.ts.map +1 -0
- package/dist/lib/plugin-origin.js +301 -0
- package/dist/lib/plugin-origin.js.map +1 -0
- package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
- package/dist/lib/prompts/codex.js +75 -75
- package/dist/lib/quota-display.d.ts +40 -0
- package/dist/lib/quota-display.d.ts.map +1 -0
- package/dist/lib/quota-display.js +45 -0
- package/dist/lib/quota-display.js.map +1 -0
- package/dist/lib/quota-notifications.d.ts +2 -1
- package/dist/lib/quota-notifications.d.ts.map +1 -1
- package/dist/lib/quota-notifications.js +34 -14
- package/dist/lib/quota-notifications.js.map +1 -1
- package/dist/lib/quota-overview.d.ts +253 -0
- package/dist/lib/quota-overview.d.ts.map +1 -0
- package/dist/lib/quota-overview.js +707 -0
- package/dist/lib/quota-overview.js.map +1 -0
- package/dist/lib/request/retry-budget.d.ts +26 -0
- package/dist/lib/request/retry-budget.d.ts.map +1 -1
- package/dist/lib/request/retry-budget.js +43 -0
- package/dist/lib/request/retry-budget.js.map +1 -1
- package/dist/lib/schemas.d.ts +67 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +53 -0
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/storage/backup.d.ts +33 -0
- package/dist/lib/storage/backup.d.ts.map +1 -1
- package/dist/lib/storage/backup.js +43 -7
- package/dist/lib/storage/backup.js.map +1 -1
- package/dist/lib/storage/credential-snapshots.d.ts +78 -0
- package/dist/lib/storage/credential-snapshots.d.ts.map +1 -0
- package/dist/lib/storage/credential-snapshots.js +302 -0
- package/dist/lib/storage/credential-snapshots.js.map +1 -0
- package/dist/lib/storage/export-import.d.ts.map +1 -1
- package/dist/lib/storage/export-import.js +7 -0
- package/dist/lib/storage/export-import.js.map +1 -1
- package/dist/lib/storage/flagged.d.ts.map +1 -1
- package/dist/lib/storage/flagged.js +23 -1
- package/dist/lib/storage/flagged.js.map +1 -1
- package/dist/lib/storage/load-save.d.ts +4 -0
- package/dist/lib/storage/load-save.d.ts.map +1 -1
- package/dist/lib/storage/load-save.js +50 -0
- package/dist/lib/storage/load-save.js.map +1 -1
- package/dist/lib/storage/paths.d.ts +1 -0
- package/dist/lib/storage/paths.d.ts.map +1 -1
- package/dist/lib/storage/paths.js +1 -1
- package/dist/lib/storage/paths.js.map +1 -1
- package/dist/lib/storage/test-home-guard.d.ts +35 -0
- package/dist/lib/storage/test-home-guard.d.ts.map +1 -0
- package/dist/lib/storage/test-home-guard.js +59 -0
- package/dist/lib/storage/test-home-guard.js.map +1 -0
- package/dist/lib/tools/codex-dashboard.d.ts.map +1 -1
- package/dist/lib/tools/codex-dashboard.js +3 -2
- package/dist/lib/tools/codex-dashboard.js.map +1 -1
- package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
- package/dist/lib/tools/codex-doctor.js +16 -0
- package/dist/lib/tools/codex-doctor.js.map +1 -1
- package/dist/lib/tools/codex-health.d.ts.map +1 -1
- package/dist/lib/tools/codex-health.js +10 -2
- package/dist/lib/tools/codex-health.js.map +1 -1
- package/dist/lib/tools/codex-label.d.ts.map +1 -1
- package/dist/lib/tools/codex-label.js +1 -0
- package/dist/lib/tools/codex-label.js.map +1 -1
- package/dist/lib/tools/codex-limits.d.ts.map +1 -1
- package/dist/lib/tools/codex-limits.js +13 -9
- package/dist/lib/tools/codex-limits.js.map +1 -1
- package/dist/lib/tools/codex-list.d.ts.map +1 -1
- package/dist/lib/tools/codex-list.js +28 -3
- package/dist/lib/tools/codex-list.js.map +1 -1
- package/dist/lib/tools/codex-note.d.ts.map +1 -1
- package/dist/lib/tools/codex-note.js +4 -1
- package/dist/lib/tools/codex-note.js.map +1 -1
- package/dist/lib/tools/codex-pool.d.ts.map +1 -1
- package/dist/lib/tools/codex-pool.js +6 -2
- package/dist/lib/tools/codex-pool.js.map +1 -1
- package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
- package/dist/lib/tools/codex-refresh.js +4 -1
- package/dist/lib/tools/codex-refresh.js.map +1 -1
- package/dist/lib/tools/codex-remove.d.ts.map +1 -1
- package/dist/lib/tools/codex-remove.js +1 -0
- package/dist/lib/tools/codex-remove.js.map +1 -1
- package/dist/lib/tools/codex-reset.d.ts.map +1 -1
- package/dist/lib/tools/codex-reset.js +13 -7
- package/dist/lib/tools/codex-reset.js.map +1 -1
- package/dist/lib/tools/codex-status.d.ts.map +1 -1
- package/dist/lib/tools/codex-status.js +25 -2
- package/dist/lib/tools/codex-status.js.map +1 -1
- package/dist/lib/tools/codex-switch.d.ts.map +1 -1
- package/dist/lib/tools/codex-switch.js +1 -0
- package/dist/lib/tools/codex-switch.js.map +1 -1
- package/dist/lib/tools/codex-tag.d.ts.map +1 -1
- package/dist/lib/tools/codex-tag.js +4 -1
- package/dist/lib/tools/codex-tag.js.map +1 -1
- package/dist/lib/tools/codex-warm.d.ts.map +1 -1
- package/dist/lib/tools/codex-warm.js +1 -0
- package/dist/lib/tools/codex-warm.js.map +1 -1
- package/dist/lib/tools/index.d.ts +9 -0
- package/dist/lib/tools/index.d.ts.map +1 -1
- package/dist/lib/tools/index.js.map +1 -1
- package/dist/lib/tui-quota-cache.d.ts +35 -0
- package/dist/lib/tui-quota-cache.d.ts.map +1 -1
- package/dist/lib/tui-quota-cache.js +76 -11
- package/dist/lib/tui-quota-cache.js.map +1 -1
- package/dist/lib/tui-quota-overview.d.ts +55 -0
- package/dist/lib/tui-quota-overview.d.ts.map +1 -0
- package/dist/lib/tui-quota-overview.js +209 -0
- package/dist/lib/tui-quota-overview.js.map +1 -0
- package/dist/lib/tui-status.d.ts +55 -0
- package/dist/lib/tui-status.d.ts.map +1 -1
- package/dist/lib/tui-status.js +155 -14
- package/dist/lib/tui-status.js.map +1 -1
- package/dist/lib/ui/auth-menu.d.ts +2 -0
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +10 -6
- package/dist/lib/ui/auth-menu.js.map +1 -1
- package/dist/tui.d.ts +55 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +511 -29
- package/dist/tui.js.map +1 -1
- package/package.json +155 -155
- package/scripts/audit-dev-allowlist.js +114 -114
- package/scripts/clean-dist.js +27 -27
- package/scripts/copy-oauth-success.js +47 -47
- package/scripts/install-oc-codex-multi-auth-core.js +2003 -1499
- package/scripts/install-oc-codex-multi-auth.js +37 -37
- package/scripts/test-all-models.sh +260 -260
- 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":"AAAA,OAAO,
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
342
|
-
|
|
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 (
|
|
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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"}
|