codex-multi-auth 2.3.0-beta.2 → 2.3.0-beta.3
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/.codex-plugin/plugin.json +2 -1
- package/README.md +1 -1
- package/dist/lib/account-policy.d.ts.map +1 -1
- package/dist/lib/account-policy.js +2 -1
- package/dist/lib/audit.d.ts +0 -9
- package/dist/lib/audit.d.ts.map +1 -1
- package/dist/lib/auth/device-auth.d.ts +1 -6
- package/dist/lib/auth/device-auth.d.ts.map +1 -1
- package/dist/lib/auth/device-auth.js +5 -5
- package/dist/lib/budget-guard.d.ts.map +1 -1
- package/dist/lib/budget-guard.js +2 -1
- package/dist/lib/codex-cli/writer.d.ts.map +1 -1
- package/dist/lib/codex-cli/writer.js +2 -1
- package/dist/lib/codex-manager/backend-settings-helpers.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-helpers.d.ts.map +1 -1
- package/dist/lib/codex-manager/backend-settings-helpers.js +1 -1
- package/dist/lib/codex-manager/behavior-settings-panel.d.ts +0 -19
- package/dist/lib/codex-manager/behavior-settings-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/report.js +2 -1
- package/dist/lib/codex-manager/commands/uninstall.d.ts +2 -2
- package/dist/lib/codex-manager/commands/uninstall.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/uninstall.js +1 -1
- package/dist/lib/codex-manager/commands/usage.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/usage.js +2 -1
- package/dist/lib/codex-manager/commands/verify.d.ts +2 -2
- package/dist/lib/codex-manager/commands/verify.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/why-selected.d.ts +1 -22
- package/dist/lib/codex-manager/commands/why-selected.d.ts.map +1 -1
- package/dist/lib/codex-manager/dashboard-display-panel.d.ts +0 -14
- package/dist/lib/codex-manager/dashboard-display-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts +2 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
- package/dist/lib/codex-manager/forecast-report-shared.d.ts +2 -2
- package/dist/lib/codex-manager/forecast-report-shared.d.ts.map +1 -1
- package/dist/lib/codex-manager/forecast-report-shared.js +2 -2
- package/dist/lib/codex-manager/formatters/quota-formatters.d.ts +0 -2
- package/dist/lib/codex-manager/formatters/quota-formatters.d.ts.map +1 -1
- package/dist/lib/codex-manager/formatters/quota-formatters.js +2 -2
- package/dist/lib/codex-manager/help.d.ts +2 -1
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/repair-commands.d.ts +0 -15
- package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/repair-commands.js +5 -5
- package/dist/lib/codex-manager/settings-hub/backend.d.ts +0 -5
- package/dist/lib/codex-manager/settings-hub/backend.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-hub/backend.js +1 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts +1 -14
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.js +8 -8
- package/dist/lib/codex-manager/settings-write-queue.d.ts +0 -10
- package/dist/lib/codex-manager/settings-write-queue.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-write-queue.js +10 -10
- package/dist/lib/codex-manager/statusline-settings-panel.d.ts +2 -17
- package/dist/lib/codex-manager/statusline-settings-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/theme-settings-panel.d.ts +0 -13
- package/dist/lib/codex-manager/theme-settings-panel.d.ts.map +1 -1
- package/dist/lib/config.d.ts +0 -13
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +22 -19
- package/dist/lib/dashboard-settings.d.ts +3 -3
- package/dist/lib/dashboard-settings.d.ts.map +1 -1
- package/dist/lib/dashboard-settings.js +0 -1
- package/dist/lib/errors.d.ts +0 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/forecast.d.ts +4 -3
- package/dist/lib/forecast.d.ts.map +1 -1
- package/dist/lib/fs-retry.d.ts +0 -3
- package/dist/lib/fs-retry.d.ts.map +1 -1
- package/dist/lib/fs-retry.js +3 -3
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/local-client-tokens.d.ts.map +1 -1
- package/dist/lib/local-client-tokens.js +2 -1
- package/dist/lib/oc-chatgpt-import-adapter.d.ts +1 -1
- package/dist/lib/oc-chatgpt-import-adapter.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.js +2 -1
- package/dist/lib/oc-chatgpt-target-detection.d.ts +1 -1
- package/dist/lib/oc-chatgpt-target-detection.d.ts.map +1 -1
- package/dist/lib/prompts/codex-host-bridge.d.ts +0 -8
- package/dist/lib/prompts/codex-host-bridge.d.ts.map +1 -1
- package/dist/lib/prompts/codex-host-bridge.js +0 -20
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +2 -1
- package/dist/lib/prompts/fetch-utils.d.ts +0 -2
- package/dist/lib/prompts/fetch-utils.d.ts.map +1 -1
- package/dist/lib/prompts/fetch-utils.js +2 -2
- package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
- package/dist/lib/prompts/host-codex-prompt.js +2 -1
- package/dist/lib/quota-cache.d.ts.map +1 -1
- package/dist/lib/quota-cache.js +2 -1
- package/dist/lib/recovery/storage.d.ts.map +1 -1
- package/dist/lib/recovery/storage.js +5 -3
- package/dist/lib/recovery/types.d.ts +4 -12
- package/dist/lib/recovery/types.d.ts.map +1 -1
- package/dist/lib/recovery.d.ts +2 -2
- package/dist/lib/recovery.d.ts.map +1 -1
- package/dist/lib/request/response-compaction.d.ts +2 -1
- package/dist/lib/request/response-compaction.d.ts.map +1 -1
- package/dist/lib/request/stream-failover-runtime.d.ts.map +1 -1
- package/dist/lib/request/stream-failover-runtime.js +23 -1
- package/dist/lib/rotation.d.ts +1 -3
- package/dist/lib/rotation.d.ts.map +1 -1
- package/dist/lib/rotation.js +1 -2
- package/dist/lib/routing-profiles.d.ts.map +1 -1
- package/dist/lib/routing-profiles.js +2 -1
- package/dist/lib/runtime/config-toml.d.ts +0 -6
- package/dist/lib/runtime/config-toml.d.ts.map +1 -1
- package/dist/lib/runtime/config-toml.js +6 -6
- package/dist/lib/runtime/event-handler.d.ts +0 -31
- package/dist/lib/runtime/event-handler.d.ts.map +1 -1
- package/dist/lib/runtime/event-handler.js +0 -22
- package/dist/lib/runtime/first-run.d.ts +3 -5
- package/dist/lib/runtime/first-run.d.ts.map +1 -1
- package/dist/lib/runtime/first-run.js +2 -2
- package/dist/lib/runtime/quota-headers.d.ts +1 -6
- package/dist/lib/runtime/quota-headers.d.ts.map +1 -1
- package/dist/lib/runtime/quota-headers.js +5 -5
- package/dist/lib/runtime/runtime-current-account.d.ts +3 -3
- package/dist/lib/runtime/runtime-current-account.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-current-account.js +1 -1
- package/dist/lib/runtime/runtime-observability.d.ts +2 -2
- package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-observability.js +0 -4
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
- package/dist/lib/runtime-rotation-proxy.js +4 -3
- package/dist/lib/schemas.d.ts +3 -91
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +8 -8
- package/dist/lib/storage/file-paths.d.ts +2 -2
- package/dist/lib/storage/file-paths.d.ts.map +1 -1
- package/dist/lib/storage/file-paths.js +2 -2
- package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
- package/dist/lib/storage/flagged-storage-io.js +2 -2
- package/dist/lib/storage/import-export.d.ts.map +1 -1
- package/dist/lib/storage/import-export.js +2 -2
- package/dist/lib/storage/migrations.d.ts +2 -1
- package/dist/lib/storage/migrations.d.ts.map +1 -1
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +30 -23
- package/dist/lib/temp-path.d.ts +26 -0
- package/dist/lib/temp-path.d.ts.map +1 -0
- package/dist/lib/temp-path.js +30 -0
- package/dist/lib/ui/theme.d.ts +3 -2
- package/dist/lib/ui/theme.d.ts.map +1 -1
- package/dist/lib/unified-settings.d.ts.map +1 -1
- package/dist/lib/unified-settings.js +2 -1
- package/dist/lib/update-notice.d.ts.map +1 -1
- package/dist/lib/update-notice.js +2 -1
- package/package.json +1 -2
|
@@ -28,16 +28,6 @@ export interface FixCliOptions {
|
|
|
28
28
|
live: boolean;
|
|
29
29
|
model: string;
|
|
30
30
|
}
|
|
31
|
-
export interface VerifyFlaggedCliOptions {
|
|
32
|
-
dryRun: boolean;
|
|
33
|
-
json: boolean;
|
|
34
|
-
restore: boolean;
|
|
35
|
-
}
|
|
36
|
-
export interface DoctorCliOptions {
|
|
37
|
-
json: boolean;
|
|
38
|
-
fix: boolean;
|
|
39
|
-
dryRun: boolean;
|
|
40
|
-
}
|
|
41
31
|
export interface RepairCommandDeps {
|
|
42
32
|
stylePromptText: (text: string, tone: PromptTone) => string;
|
|
43
33
|
styleAccountDetailText: (detail: string, fallbackTone?: PromptTone) => string;
|
|
@@ -57,12 +47,7 @@ export interface RepairCommandDeps {
|
|
|
57
47
|
resolveStoredAccountIdentity: (storedAccountId: string | undefined, storedAccountIdSource: AccountIdSource | undefined, refreshedAccountId: string | undefined) => AccountIdentityResolution;
|
|
58
48
|
applyTokenAccountIdentity: (account: AccountMetadataV3, refreshedAccountId: string | undefined) => boolean;
|
|
59
49
|
}
|
|
60
|
-
export declare function printFixUsage(): void;
|
|
61
|
-
export declare function printVerifyFlaggedUsage(): void;
|
|
62
|
-
export declare function printDoctorUsage(): void;
|
|
63
50
|
export declare function parseFixArgs(args: string[]): ParsedArgsResult<FixCliOptions>;
|
|
64
|
-
export declare function parseVerifyFlaggedArgs(args: string[]): ParsedArgsResult<VerifyFlaggedCliOptions>;
|
|
65
|
-
export declare function parseDoctorArgs(args: string[]): ParsedArgsResult<DoctorCliOptions>;
|
|
66
51
|
export declare function runVerifyFlagged(args: string[], deps: RepairCommandDeps): Promise<number>;
|
|
67
52
|
export declare function runFix(args: string[], deps: RepairCommandDeps): Promise<number>;
|
|
68
53
|
export declare function runDoctor(args: string[], deps: RepairCommandDeps): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair-commands.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/repair-commands.ts"],"names":[],"mappings":"AAcA,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EACN,uBAAuB,EAEvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EASN,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGrB,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,KAAK,EAAE,eAAe,EAA6B,MAAM,aAAa,CAAC;AAG9E,KAAK,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE,KAAK,uBAAuB,GAAG;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,KAAK,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF,KAAK,yBAAyB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;
|
|
1
|
+
{"version":3,"file":"repair-commands.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/repair-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { setCodexCliActiveSelection } from "../codex-cli/writer.js";
|
|
|
13
13
|
import { MODEL_FAMILIES } from "../prompts/codex.js";
|
|
14
14
|
import { DEFAULT_MODEL, resolveNormalizedModel } from "../request/helpers/model-map.js";
|
|
15
15
|
import { loadPersistedRuntimeObservabilitySnapshot } from "../runtime/runtime-observability.js";
|
|
16
|
-
|
|
16
|
+
function printFixUsage() {
|
|
17
17
|
console.log([
|
|
18
18
|
"Usage:",
|
|
19
19
|
" codex-multi-auth fix [--dry-run] [--json] [--live] [--model <model>]",
|
|
@@ -30,7 +30,7 @@ export function printFixUsage() {
|
|
|
30
30
|
" - Recommends a better current account when needed",
|
|
31
31
|
].join("\n"));
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
function printVerifyFlaggedUsage() {
|
|
34
34
|
console.log([
|
|
35
35
|
"Usage:",
|
|
36
36
|
" codex-multi-auth verify-flagged [--dry-run] [--json] [--no-restore]",
|
|
@@ -45,7 +45,7 @@ export function printVerifyFlaggedUsage() {
|
|
|
45
45
|
" - Restores healthy accounts back to active storage by default",
|
|
46
46
|
].join("\n"));
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
function printDoctorUsage() {
|
|
49
49
|
console.log([
|
|
50
50
|
"Usage:",
|
|
51
51
|
" codex-multi-auth doctor [--json] [--fix] [--dry-run]",
|
|
@@ -105,7 +105,7 @@ export function parseFixArgs(args) {
|
|
|
105
105
|
}
|
|
106
106
|
return { ok: true, options };
|
|
107
107
|
}
|
|
108
|
-
|
|
108
|
+
function parseVerifyFlaggedArgs(args) {
|
|
109
109
|
const options = {
|
|
110
110
|
dryRun: false,
|
|
111
111
|
json: false,
|
|
@@ -128,7 +128,7 @@ export function parseVerifyFlaggedArgs(args) {
|
|
|
128
128
|
}
|
|
129
129
|
return { ok: true, options };
|
|
130
130
|
}
|
|
131
|
-
|
|
131
|
+
function parseDoctorArgs(args) {
|
|
132
132
|
const options = { json: false, fix: false, dryRun: false };
|
|
133
133
|
for (const arg of args) {
|
|
134
134
|
if (arg === "--json" || arg === "-j") {
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import type { PluginConfig } from "../../types.js";
|
|
2
|
-
import { type BackendCategoryOption, type BackendSettingFocusKey } from "../backend-settings-schema.js";
|
|
3
|
-
export declare function promptBackendCategorySettings(initial: PluginConfig, category: BackendCategoryOption, initialFocus: BackendSettingFocusKey): Promise<{
|
|
4
|
-
draft: PluginConfig;
|
|
5
|
-
focusKey: BackendSettingFocusKey;
|
|
6
|
-
}>;
|
|
7
2
|
export declare function promptBackendSettings(initial: PluginConfig): Promise<PluginConfig | null>;
|
|
8
3
|
export declare function configureBackendSettings(currentConfig?: PluginConfig): Promise<PluginConfig>;
|
|
9
4
|
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/settings-hub/backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/settings-hub/backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAsEnD,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED,wBAAsB,wBAAwB,CAC7C,aAAa,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,YAAY,CAAC,CAavB"}
|
|
@@ -14,7 +14,7 @@ import { formatDashboardSettingState } from "../dashboard-formatters.js";
|
|
|
14
14
|
import { highlightPreviewToken } from "../settings-preview.js";
|
|
15
15
|
import { clampBackendNumber, isTtyInteractive, persistBackendConfigSelection, } from "./shared.js";
|
|
16
16
|
/* c8 ignore start - interactive prompt flows are covered by integration tests */
|
|
17
|
-
|
|
17
|
+
async function promptBackendCategorySettings(initial, category, initialFocus) {
|
|
18
18
|
return promptBackendCategorySettingsEntry({
|
|
19
19
|
initial,
|
|
20
20
|
category,
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type DashboardDisplaySettingOption } from "../dashboard-display-panel.js";
|
|
3
|
-
export declare const DASHBOARD_DISPLAY_OPTIONS: DashboardDisplaySettingOption[];
|
|
4
|
-
export declare const STATUSLINE_FIELD_OPTIONS: Array<{
|
|
5
|
-
key: DashboardStatuslineField;
|
|
6
|
-
label: string;
|
|
7
|
-
description: string;
|
|
8
|
-
}>;
|
|
9
|
-
export declare const AUTO_RETURN_OPTIONS_MS: readonly [1000, 2000, 4000];
|
|
10
|
-
export declare const MENU_QUOTA_TTL_OPTIONS_MS: readonly [60000, number, number];
|
|
11
|
-
export declare const THEME_PRESET_OPTIONS: DashboardThemePreset[];
|
|
12
|
-
export declare const ACCENT_COLOR_OPTIONS: DashboardAccentColor[];
|
|
13
|
-
export declare const ACCOUNT_LIST_PANEL_KEYS: readonly ["menuShowStatusBadge", "menuShowCurrentBadge", "menuShowLastUsed", "menuShowQuotaSummary", "menuShowQuotaCooldown", "menuShowFetchStatus", "menuShowDetailsForUnselectedRows", "menuHighlightCurrentRow", "menuSortEnabled", "menuSortMode", "menuSortPinCurrent", "menuSortQuickSwitchVisibleRow", "menuLayoutMode"];
|
|
14
|
-
export declare const STATUSLINE_PANEL_KEYS: readonly ["menuStatuslineFields"];
|
|
1
|
+
import { type DashboardDisplaySettings } from "../../dashboard-settings.js";
|
|
15
2
|
export declare const BEHAVIOR_PANEL_KEYS: readonly ["actionAutoReturnMs", "actionPauseOnKey", "menuAutoFetchLimits", "menuShowFetchStatus", "menuQuotaTtlMs"];
|
|
16
3
|
export declare const THEME_PANEL_KEYS: readonly ["uiThemePreset", "uiAccentColor"];
|
|
17
4
|
export declare function applyUiThemeFromDashboardSettings(settings: DashboardDisplaySettings): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/settings-hub/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/settings-hub/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,wBAAwB,EAM7B,MAAM,6BAA6B,CAAC;AAgJrC,eAAO,MAAM,mBAAmB,qHAMmB,CAAC;AACpD,eAAO,MAAM,gBAAgB,6CAGsB,CAAC;AAEpD,wBAAgB,iCAAiC,CAChD,QAAQ,EAAE,wBAAwB,GAChC,IAAI,CASN;AAGD,wBAAsB,8BAA8B,CACnD,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAgB1C;AAED,wBAAsB,iCAAiC,CACtD,eAAe,CAAC,EAAE,wBAAwB,GACxC,OAAO,CAAC,wBAAwB,CAAC,CAmBnC;AAED,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAa1C;AAED,wBAAsB,2BAA2B,CAChD,eAAe,CAAC,EAAE,wBAAwB,GACxC,OAAO,CAAC,wBAAwB,CAAC,CAmBnC;AAED,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAY1C;AAED,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAY1C"}
|
|
@@ -11,7 +11,7 @@ import { normalizeStatuslineFields } from "../settings-preview.js";
|
|
|
11
11
|
import { promptStatuslineSettingsPanel } from "../statusline-settings-panel.js";
|
|
12
12
|
import { promptThemeSettingsPanel } from "../theme-settings-panel.js";
|
|
13
13
|
import { applyDashboardDefaultsForKeys, buildAccountListPreview, cloneDashboardSettings, dashboardSettingsEqual, isTtyInteractive, persistDashboardSettingsSelection, resolveMenuLayoutMode, } from "./shared.js";
|
|
14
|
-
|
|
14
|
+
const DASHBOARD_DISPLAY_OPTIONS = [
|
|
15
15
|
{
|
|
16
16
|
key: "menuShowStatusBadge",
|
|
17
17
|
label: "Show Status Badges",
|
|
@@ -63,7 +63,7 @@ export const DASHBOARD_DISPLAY_OPTIONS = [
|
|
|
63
63
|
description: "Number keys (1-9) follow what you see in the list.",
|
|
64
64
|
},
|
|
65
65
|
];
|
|
66
|
-
|
|
66
|
+
const STATUSLINE_FIELD_OPTIONS = [
|
|
67
67
|
{
|
|
68
68
|
key: "last-used",
|
|
69
69
|
label: "Show Last Used",
|
|
@@ -80,20 +80,20 @@ export const STATUSLINE_FIELD_OPTIONS = [
|
|
|
80
80
|
description: "Visible when badges are hidden.",
|
|
81
81
|
},
|
|
82
82
|
];
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
const AUTO_RETURN_OPTIONS_MS = [1_000, 2_000, 4_000];
|
|
84
|
+
const MENU_QUOTA_TTL_OPTIONS_MS = [
|
|
85
85
|
60_000,
|
|
86
86
|
5 * 60_000,
|
|
87
87
|
10 * 60_000,
|
|
88
88
|
];
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
const THEME_PRESET_OPTIONS = ["green", "blue"];
|
|
90
|
+
const ACCENT_COLOR_OPTIONS = [
|
|
91
91
|
"green",
|
|
92
92
|
"cyan",
|
|
93
93
|
"blue",
|
|
94
94
|
"yellow",
|
|
95
95
|
];
|
|
96
|
-
|
|
96
|
+
const ACCOUNT_LIST_PANEL_KEYS = [
|
|
97
97
|
"menuShowStatusBadge",
|
|
98
98
|
"menuShowCurrentBadge",
|
|
99
99
|
"menuShowLastUsed",
|
|
@@ -108,7 +108,7 @@ export const ACCOUNT_LIST_PANEL_KEYS = [
|
|
|
108
108
|
"menuSortQuickSwitchVisibleRow",
|
|
109
109
|
"menuLayoutMode",
|
|
110
110
|
];
|
|
111
|
-
|
|
111
|
+
const STATUSLINE_PANEL_KEYS = [
|
|
112
112
|
"menuStatuslineFields",
|
|
113
113
|
];
|
|
114
114
|
export const BEHAVIOR_PANEL_KEYS = [
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
export declare const SETTINGS_WRITE_MAX_ATTEMPTS = 4;
|
|
2
|
-
export declare const SETTINGS_WRITE_BASE_DELAY_MS = 50;
|
|
3
|
-
export declare const SETTINGS_WRITE_MAX_DELAY_MS = 30000;
|
|
4
|
-
export declare const RETRYABLE_SETTINGS_WRITE_CODES: Set<string>;
|
|
5
|
-
export declare function readErrorNumber(value: unknown): number | undefined;
|
|
6
|
-
export declare function getErrorStatusCode(error: unknown): number | undefined;
|
|
7
|
-
export declare function getRetryAfterMs(error: unknown): number | undefined;
|
|
8
|
-
export declare function isRetryableSettingsWriteError(error: unknown): boolean;
|
|
9
|
-
export declare function resolveRetryDelayMs(error: unknown, attempt: number): number;
|
|
10
|
-
export declare function enqueueSettingsWrite<T>(pathKey: string, task: () => Promise<T>): Promise<T>;
|
|
11
1
|
export declare function withQueuedRetry<T>(pathKey: string, task: () => Promise<T>, deps: {
|
|
12
2
|
sleep: (ms: number) => Promise<void>;
|
|
13
3
|
}): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-write-queue.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/settings-write-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings-write-queue.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/settings-write-queue.ts"],"names":[],"mappings":"AAoFA,wBAAsB,eAAe,CAAC,CAAC,EACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAC5C,OAAO,CAAC,CAAC,CAAC,CAmBZ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const SETTINGS_WRITE_MAX_ATTEMPTS = 4;
|
|
2
|
+
const SETTINGS_WRITE_BASE_DELAY_MS = 50;
|
|
3
|
+
const SETTINGS_WRITE_MAX_DELAY_MS = 30_000;
|
|
4
|
+
const RETRYABLE_SETTINGS_WRITE_CODES = new Set([
|
|
5
5
|
"EBUSY",
|
|
6
6
|
"EPERM",
|
|
7
7
|
"EAGAIN",
|
|
@@ -9,7 +9,7 @@ export const RETRYABLE_SETTINGS_WRITE_CODES = new Set([
|
|
|
9
9
|
"EACCES",
|
|
10
10
|
]);
|
|
11
11
|
const settingsWriteQueues = new Map();
|
|
12
|
-
|
|
12
|
+
function readErrorNumber(value) {
|
|
13
13
|
if (typeof value === "number" && Number.isFinite(value))
|
|
14
14
|
return value;
|
|
15
15
|
if (typeof value === "string" && value.trim().length > 0) {
|
|
@@ -19,13 +19,13 @@ export function readErrorNumber(value) {
|
|
|
19
19
|
}
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
function getErrorStatusCode(error) {
|
|
23
23
|
if (!error || typeof error !== "object")
|
|
24
24
|
return undefined;
|
|
25
25
|
const record = error;
|
|
26
26
|
return readErrorNumber(record.status) ?? readErrorNumber(record.statusCode);
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
function getRetryAfterMs(error) {
|
|
29
29
|
if (!error || typeof error !== "object")
|
|
30
30
|
return undefined;
|
|
31
31
|
const record = error;
|
|
@@ -34,14 +34,14 @@ export function getRetryAfterMs(error) {
|
|
|
34
34
|
readErrorNumber(record.retryAfter) ??
|
|
35
35
|
readErrorNumber(record.retry_after));
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
function isRetryableSettingsWriteError(error) {
|
|
38
38
|
const statusCode = getErrorStatusCode(error);
|
|
39
39
|
if (statusCode === 429)
|
|
40
40
|
return true;
|
|
41
41
|
const code = error?.code;
|
|
42
42
|
return typeof code === "string" && RETRYABLE_SETTINGS_WRITE_CODES.has(code);
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
function resolveRetryDelayMs(error, attempt) {
|
|
45
45
|
const retryAfterMs = getRetryAfterMs(error);
|
|
46
46
|
if (typeof retryAfterMs === "number" &&
|
|
47
47
|
Number.isFinite(retryAfterMs) &&
|
|
@@ -50,7 +50,7 @@ export function resolveRetryDelayMs(error, attempt) {
|
|
|
50
50
|
}
|
|
51
51
|
return Math.min(SETTINGS_WRITE_MAX_DELAY_MS, SETTINGS_WRITE_BASE_DELAY_MS * 2 ** attempt);
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
async function enqueueSettingsWrite(pathKey, task) {
|
|
54
54
|
const previous = settingsWriteQueues.get(pathKey) ?? Promise.resolve();
|
|
55
55
|
const queued = previous.catch(() => { }).then(task);
|
|
56
56
|
const queueTail = queued.then(() => undefined, () => undefined);
|
|
@@ -1,23 +1,7 @@
|
|
|
1
1
|
import type { DashboardDisplaySettings, DashboardStatuslineField } from "../dashboard-settings.js";
|
|
2
2
|
import type { UI_COPY } from "../ui/ui-copy.js";
|
|
3
3
|
import { getUiRuntimeOptions } from "../ui/runtime.js";
|
|
4
|
-
|
|
5
|
-
type: "toggle";
|
|
6
|
-
key: DashboardStatuslineField;
|
|
7
|
-
} | {
|
|
8
|
-
type: "move-up";
|
|
9
|
-
key: DashboardStatuslineField;
|
|
10
|
-
} | {
|
|
11
|
-
type: "move-down";
|
|
12
|
-
key: DashboardStatuslineField;
|
|
13
|
-
} | {
|
|
14
|
-
type: "reset";
|
|
15
|
-
} | {
|
|
16
|
-
type: "save";
|
|
17
|
-
} | {
|
|
18
|
-
type: "cancel";
|
|
19
|
-
};
|
|
20
|
-
export interface StatuslineFieldOption {
|
|
4
|
+
interface StatuslineFieldOption {
|
|
21
5
|
key: DashboardStatuslineField;
|
|
22
6
|
label: string;
|
|
23
7
|
description: string;
|
|
@@ -37,4 +21,5 @@ export interface StatuslineSettingsPanelDeps {
|
|
|
37
21
|
UI_COPY: typeof UI_COPY;
|
|
38
22
|
}
|
|
39
23
|
export declare function promptStatuslineSettingsPanel(initial: DashboardDisplaySettings, deps: StatuslineSettingsPanelDeps): Promise<DashboardDisplaySettings | null>;
|
|
24
|
+
export {};
|
|
40
25
|
//# sourceMappingURL=statusline-settings-panel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline-settings-panel.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/statusline-settings-panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"statusline-settings-panel.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/statusline-settings-panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAWvD,UAAU,qBAAqB;IAC9B,GAAG,EAAE,wBAAwB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC3C,sBAAsB,EAAE,CACvB,QAAQ,EAAE,wBAAwB,KAC9B,wBAAwB,CAAC;IAC9B,uBAAuB,EAAE,CACxB,QAAQ,EAAE,wBAAwB,EAClC,EAAE,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC1C,QAAQ,EAAE,wBAAwB,KAC9B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,yBAAyB,EAAE,CAC1B,MAAM,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,KACpD,wBAAwB,EAAE,CAAC;IAChC,2BAA2B,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAC1D,YAAY,EAAE,CACb,MAAM,EAAE,wBAAwB,EAAE,EAClC,GAAG,EAAE,wBAAwB,EAC7B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KACb,wBAAwB,EAAE,CAAC;IAChC,6BAA6B,EAAE,CAC9B,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,SAAS,CAAC,MAAM,wBAAwB,CAAC,EAAE,KAC7C,wBAAwB,CAAC;IAC9B,wBAAwB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3D,qBAAqB,EAAE,SAAS,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAAC;IACnE,OAAO,EAAE,OAAO,OAAO,CAAC;CACxB;AAED,wBAAsB,6BAA6B,CAClD,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,2BAA2B,GAC/B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAmL1C"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import type { DashboardAccentColor, DashboardDisplaySettings, DashboardThemePreset } from "../dashboard-settings.js";
|
|
2
2
|
import type { UI_COPY } from "../ui/ui-copy.js";
|
|
3
|
-
export type ThemeConfigAction = {
|
|
4
|
-
type: "set-palette";
|
|
5
|
-
palette: DashboardThemePreset;
|
|
6
|
-
} | {
|
|
7
|
-
type: "set-accent";
|
|
8
|
-
accent: DashboardAccentColor;
|
|
9
|
-
} | {
|
|
10
|
-
type: "reset";
|
|
11
|
-
} | {
|
|
12
|
-
type: "save";
|
|
13
|
-
} | {
|
|
14
|
-
type: "cancel";
|
|
15
|
-
};
|
|
16
3
|
export interface ThemeSettingsPanelDeps {
|
|
17
4
|
cloneDashboardSettings: (settings: DashboardDisplaySettings) => DashboardDisplaySettings;
|
|
18
5
|
applyDashboardDefaultsForKeys: (draft: DashboardDisplaySettings, keys: readonly (keyof DashboardDisplaySettings)[]) => DashboardDisplaySettings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-settings-panel.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/theme-settings-panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"theme-settings-panel.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/theme-settings-panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAWhD,MAAM,WAAW,sBAAsB;IACtC,sBAAsB,EAAE,CACvB,QAAQ,EAAE,wBAAwB,KAC9B,wBAAwB,CAAC;IAC9B,6BAA6B,EAAE,CAC9B,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,SAAS,CAAC,MAAM,wBAAwB,CAAC,EAAE,KAC7C,wBAAwB,CAAC;IAC9B,iCAAiC,EAAE,CAClC,QAAQ,EAAE,wBAAwB,KAC9B,IAAI,CAAC;IACV,oBAAoB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,oBAAoB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,gBAAgB,EAAE,SAAS,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAAC;IAC9D,OAAO,EAAE,OAAO,OAAO,CAAC;CACxB;AAED,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAgI1C"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -40,19 +40,6 @@ export declare function getDefaultPluginConfig(): PluginConfig;
|
|
|
40
40
|
* @returns The effective PluginConfig: a shallow merge of DEFAULT_PLUGIN_CONFIG with any validated user-provided settings
|
|
41
41
|
*/
|
|
42
42
|
export declare function loadPluginConfig(): PluginConfig;
|
|
43
|
-
/**
|
|
44
|
-
* Persist a partial plugin configuration to disk, merging it with existing stored settings.
|
|
45
|
-
*
|
|
46
|
-
* This writes the sanitized patch either to the path specified by the CODEX_MULTI_AUTH_CONFIG_PATH
|
|
47
|
-
* environment variable (if set) or into the unified settings store. The function does not take
|
|
48
|
-
* internal locks; callers should avoid concurrent invocations that might overwrite each other.
|
|
49
|
-
* On Windows and other platforms the write behavior follows the Node.js filesystem semantics and may
|
|
50
|
-
* not be atomic across processes. Callers are responsible for redacting any sensitive values
|
|
51
|
-
* (tokens, secrets) before calling if redaction is required; this function writes merged values as-is.
|
|
52
|
-
*
|
|
53
|
-
* @param configPatch - Partial PluginConfig containing changes to persist; undefined fields are ignored.
|
|
54
|
-
* @returns void
|
|
55
|
-
*/
|
|
56
43
|
export declare function savePluginConfig(configPatch: Partial<PluginConfig>): Promise<void>;
|
|
57
44
|
export declare function getCodexMode(pluginConfig: PluginConfig): boolean;
|
|
58
45
|
export declare function getCodexRuntimeRotationProxy(pluginConfig: PluginConfig): boolean;
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -4,9 +4,11 @@ import { dirname, join } from "node:path";
|
|
|
4
4
|
import { parseBooleanEnv } from "./env-parsing.js";
|
|
5
5
|
import { withRetry, withRetrySync } from "./fs-retry.js";
|
|
6
6
|
import { logWarn } from "./logger.js";
|
|
7
|
+
import { StorageError } from "./errors.js";
|
|
7
8
|
import { getCodexHomeDir, getCodexMultiAuthDir, getLegacyCodexDir, } from "./runtime-paths.js";
|
|
8
9
|
import { getValidationErrors, PluginConfigSchema } from "./schemas.js";
|
|
9
10
|
import { getUnifiedSettingsPath, loadUnifiedPluginConfigSync, saveUnifiedPluginConfig, } from "./unified-settings.js";
|
|
11
|
+
import { tempPathFor } from "./temp-path.js";
|
|
10
12
|
const CONFIG_DIR = getCodexMultiAuthDir();
|
|
11
13
|
const CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
12
14
|
const CODEX_HOME_DIR = getCodexHomeDir();
|
|
@@ -347,7 +349,7 @@ async function getConfigFileMtimeMs(filePath) {
|
|
|
347
349
|
});
|
|
348
350
|
}
|
|
349
351
|
async function writeJsonFileAtomicWithRetry(filePath, payload, options) {
|
|
350
|
-
const tempPath =
|
|
352
|
+
const tempPath = tempPathFor(filePath);
|
|
351
353
|
await fs.mkdir(dirname(filePath), { recursive: true });
|
|
352
354
|
await fs.writeFile(tempPath, `${JSON.stringify(payload, null, 2)}\n`, "utf8");
|
|
353
355
|
let renamed = false;
|
|
@@ -692,6 +694,14 @@ function sanitizePluginConfigForSave(config) {
|
|
|
692
694
|
* @param configPatch - Partial PluginConfig containing changes to persist; undefined fields are ignored.
|
|
693
695
|
* @returns void
|
|
694
696
|
*/
|
|
697
|
+
/**
|
|
698
|
+
* Typed abort for a config save that found the existing file unreadable
|
|
699
|
+
* (audit §4.3): same message as the historical bare Error, but callers can
|
|
700
|
+
* now branch on `instanceof StorageError` / the path field instead of text.
|
|
701
|
+
*/
|
|
702
|
+
function unreadableConfigSaveError(configPath, errorMessage) {
|
|
703
|
+
return new StorageError(`Aborting config save because ${configPath} is unreadable.`, "UNREADABLE", configPath, "Fix or remove the unreadable config file, then retry the save.", new Error(errorMessage));
|
|
704
|
+
}
|
|
695
705
|
export async function savePluginConfig(configPatch) {
|
|
696
706
|
const { sanitized: sanitizedPatch, droppedKeys } = sanitizePluginConfigForSave(configPatch);
|
|
697
707
|
if (droppedKeys.length > 0) {
|
|
@@ -707,11 +717,14 @@ export async function savePluginConfig(configPatch) {
|
|
|
707
717
|
// writer. Mirrors the unified-settings save path (writeSettingsRecordAsync
|
|
708
718
|
// CAS).
|
|
709
719
|
await withConfigFileLock(envPath, async () => {
|
|
710
|
-
|
|
720
|
+
// CAS retry: ESTALE means the file's mtime moved between our stat and
|
|
721
|
+
// the write, so each attempt re-stats, re-reads, and re-merges against
|
|
722
|
+
// the latest on-disk state before writing again.
|
|
723
|
+
await withRetry(async () => {
|
|
711
724
|
const expectedMtimeMs = await getConfigFileMtimeMs(envPath);
|
|
712
725
|
const envConfigState = await readConfigRecordForSave(envPath);
|
|
713
726
|
if (envConfigState.status === "unreadable") {
|
|
714
|
-
throw
|
|
727
|
+
throw unreadableConfigSaveError(envPath, envConfigState.errorMessage);
|
|
715
728
|
}
|
|
716
729
|
const existingConfig = envConfigState.status === "ok"
|
|
717
730
|
? sanitizeStoredPluginConfigRecord(envConfigState.record)
|
|
@@ -720,20 +733,10 @@ export async function savePluginConfig(configPatch) {
|
|
|
720
733
|
...(existingConfig ?? {}),
|
|
721
734
|
...sanitizedPatch,
|
|
722
735
|
};
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
return;
|
|
728
|
-
}
|
|
729
|
-
catch (error) {
|
|
730
|
-
if (error.code !== "ESTALE" ||
|
|
731
|
-
attempt >= 2) {
|
|
732
|
-
throw error;
|
|
733
|
-
}
|
|
734
|
-
// Loop: re-stat, re-read, re-merge against the latest on-disk state.
|
|
735
|
-
}
|
|
736
|
-
}
|
|
736
|
+
await writeJsonFileAtomicWithRetry(envPath, merged, {
|
|
737
|
+
expectedMtimeMs,
|
|
738
|
+
});
|
|
739
|
+
}, { maxAttempts: 3, backoffMs: 0, retryableCodes: ["ESTALE"] });
|
|
737
740
|
});
|
|
738
741
|
});
|
|
739
742
|
return;
|
|
@@ -742,7 +745,7 @@ export async function savePluginConfig(configPatch) {
|
|
|
742
745
|
await withConfigSaveLock(unifiedPath, async () => {
|
|
743
746
|
const unifiedConfigState = await readConfigRecordForSave(unifiedPath);
|
|
744
747
|
if (unifiedConfigState.status === "unreadable") {
|
|
745
|
-
throw
|
|
748
|
+
throw unreadableConfigSaveError(unifiedPath, unifiedConfigState.errorMessage);
|
|
746
749
|
}
|
|
747
750
|
const unifiedConfigRecord = unifiedConfigState.status === "ok"
|
|
748
751
|
? unifiedConfigState.record.pluginConfig
|
|
@@ -753,7 +756,7 @@ export async function savePluginConfig(configPatch) {
|
|
|
753
756
|
? await readConfigRecordForSave(legacyPath)
|
|
754
757
|
: null;
|
|
755
758
|
if (legacyConfigState?.status === "unreadable") {
|
|
756
|
-
throw
|
|
759
|
+
throw unreadableConfigSaveError(legacyPath, legacyConfigState.errorMessage);
|
|
757
760
|
}
|
|
758
761
|
const legacyConfig = legacyConfigState?.status === "ok"
|
|
759
762
|
? sanitizeStoredPluginConfigRecord(legacyConfigState.record)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type DashboardThemePreset = "green" | "blue";
|
|
2
2
|
export type DashboardAccentColor = "green" | "cyan" | "blue" | "yellow";
|
|
3
3
|
export type DashboardAccountSortMode = "manual" | "ready-first";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
type DashboardLayoutMode = "compact-details" | "expanded-rows";
|
|
5
|
+
type DashboardFocusStyle = "row-invert";
|
|
6
6
|
export interface DashboardDisplaySettings {
|
|
7
7
|
showPerAccountRows: boolean;
|
|
8
8
|
showQuotaDetails: boolean;
|
|
@@ -32,7 +32,6 @@ export interface DashboardDisplaySettings {
|
|
|
32
32
|
menuStatuslineFields?: DashboardStatuslineField[];
|
|
33
33
|
}
|
|
34
34
|
export type DashboardStatuslineField = "last-used" | "limits" | "status";
|
|
35
|
-
export declare const DASHBOARD_DISPLAY_SETTINGS_VERSION: 1;
|
|
36
35
|
export declare const DEFAULT_DASHBOARD_DISPLAY_SETTINGS: DashboardDisplaySettings;
|
|
37
36
|
/**
|
|
38
37
|
* Filesystem path to the unified dashboard settings file.
|
|
@@ -87,4 +86,5 @@ export declare function loadDashboardDisplaySettings(): Promise<DashboardDisplay
|
|
|
87
86
|
* @param settings - The dashboard display settings to normalize and save
|
|
88
87
|
*/
|
|
89
88
|
export declare function saveDashboardDisplaySettings(settings: DashboardDisplaySettings): Promise<void>;
|
|
89
|
+
export {};
|
|
90
90
|
//# sourceMappingURL=dashboard-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-settings.d.ts","sourceRoot":"","sources":["../../lib/dashboard-settings.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,aAAa,CAAC;AAChE,
|
|
1
|
+
{"version":3,"file":"dashboard-settings.d.ts","sourceRoot":"","sources":["../../lib/dashboard-settings.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,aAAa,CAAC;AAChE,KAAK,mBAAmB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAC/D,KAAK,mBAAmB,GAAG,YAAY,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAClD;AAED,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzE,eAAO,MAAM,kCAAkC,EAAE,wBA2BhD,CAAC;AA4LF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAChD,KAAK,EAAE,OAAO,GACZ,wBAAwB,CAoG1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CA+BtF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CACjD,QAAQ,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAGf"}
|
|
@@ -4,7 +4,6 @@ import { getCodexMultiAuthDir } from "./runtime-paths.js";
|
|
|
4
4
|
import { logWarn } from "./logger.js";
|
|
5
5
|
import { sleep } from "./utils.js";
|
|
6
6
|
import { getUnifiedSettingsPath, loadUnifiedDashboardSettings, saveUnifiedDashboardSettings, } from "./unified-settings.js";
|
|
7
|
-
export const DASHBOARD_DISPLAY_SETTINGS_VERSION = 1;
|
|
8
7
|
export const DEFAULT_DASHBOARD_DISPLAY_SETTINGS = {
|
|
9
8
|
showPerAccountRows: true,
|
|
10
9
|
showQuotaDetails: true,
|
package/dist/lib/errors.d.ts
CHANGED
package/dist/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../lib/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../lib/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/forecast.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { CodexQuotaSnapshot } from "./quota-probe.js";
|
|
|
2
2
|
import type { QuotaCacheData } from "./quota-cache.js";
|
|
3
3
|
import type { AccountMetadataV3 } from "./storage.js";
|
|
4
4
|
import type { TokenFailure } from "./types.js";
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
type ForecastAvailability = "ready" | "delayed" | "unavailable";
|
|
6
|
+
type ForecastRiskLevel = "low" | "medium" | "high";
|
|
7
7
|
export interface ForecastAccountInput {
|
|
8
8
|
index: number;
|
|
9
9
|
account: AccountMetadataV3;
|
|
@@ -37,7 +37,7 @@ export interface ForecastRecommendation {
|
|
|
37
37
|
recommendedIndex: number | null;
|
|
38
38
|
reason: string;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
interface ForecastExplanationAccount {
|
|
41
41
|
index: number;
|
|
42
42
|
label: string;
|
|
43
43
|
isCurrent: boolean;
|
|
@@ -66,4 +66,5 @@ export declare function evaluateForecastAccounts(inputs: ForecastAccountInput[])
|
|
|
66
66
|
export declare function recommendForecastAccount(results: ForecastAccountResult[]): ForecastRecommendation;
|
|
67
67
|
export declare function summarizeForecast(results: ForecastAccountResult[]): ForecastSummary;
|
|
68
68
|
export declare function buildForecastExplanation(results: ForecastAccountResult[], recommendation: ForecastRecommendation): ForecastExplanation;
|
|
69
|
+
export {};
|
|
69
70
|
//# sourceMappingURL=forecast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../lib/forecast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../lib/forecast.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/fs-retry.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export declare const FILE_RETRY_CODES: Set<string>;
|
|
2
|
-
export declare const FILE_RETRY_MAX_ATTEMPTS = 6;
|
|
3
|
-
export declare const FILE_RETRY_BASE_DELAY_MS = 25;
|
|
4
|
-
export declare const FILE_RETRY_JITTER_MS = 20;
|
|
5
2
|
export declare function shouldRetryFileOperation(error: unknown): boolean;
|
|
6
3
|
/**
|
|
7
4
|
* Options for {@link withRetry} / {@link withRetrySync}.
|