codex-multi-auth 1.3.1 → 2.0.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/README.md +39 -26
- package/config/README.md +3 -3
- package/dist/lib/codex-manager/commands/rotation.d.ts +22 -0
- package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -0
- package/dist/lib/codex-manager/commands/rotation.js +287 -0
- package/dist/lib/codex-manager/commands/rotation.js.map +1 -0
- package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/status.js +38 -7
- package/dist/lib/codex-manager/commands/status.js.map +1 -1
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +1 -0
- package/dist/lib/codex-manager/help.js.map +1 -1
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +59 -1
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +9 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +2 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +2 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/fs-retry.d.ts +7 -0
- package/dist/lib/fs-retry.d.ts.map +1 -0
- package/dist/lib/fs-retry.js +35 -0
- package/dist/lib/fs-retry.js.map +1 -0
- 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/index.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +1 -0
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/runtime/app-bind.d.ts +74 -0
- package/dist/lib/runtime/app-bind.d.ts.map +1 -0
- package/dist/lib/runtime/app-bind.js +620 -0
- package/dist/lib/runtime/app-bind.js.map +1 -0
- package/dist/lib/runtime/config-toml.d.ts +10 -0
- package/dist/lib/runtime/config-toml.d.ts.map +1 -0
- package/dist/lib/runtime/config-toml.js +128 -0
- package/dist/lib/runtime/config-toml.js.map +1 -0
- package/dist/lib/runtime/runtime-observability.d.ts +5 -0
- package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-observability.js +5 -0
- package/dist/lib/runtime/runtime-observability.js.map +1 -1
- package/dist/lib/runtime-constants.d.ts +3 -0
- package/dist/lib/runtime-constants.d.ts.map +1 -0
- package/dist/lib/runtime-constants.js +3 -0
- package/dist/lib/runtime-constants.js.map +1 -0
- package/dist/lib/runtime-rotation-proxy.d.ts +36 -0
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -0
- package/dist/lib/runtime-rotation-proxy.js +828 -0
- package/dist/lib/runtime-rotation-proxy.js.map +1 -0
- package/dist/lib/schemas.d.ts +1 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +1 -0
- package/dist/lib/schemas.js.map +1 -1
- package/package.json +13 -11
- package/scripts/bench-format/codex-host.mjs +142 -73
- package/scripts/bench-format/models.mjs +17 -16
- package/scripts/benchmark-edit-formats.mjs +8 -6
- package/scripts/check-pack-budget-lib.js +49 -6
- package/scripts/codex-app-launcher.js +653 -0
- package/scripts/codex-app-router.js +322 -0
- package/scripts/codex-multi-auth.js +3 -1
- package/scripts/codex-routing.js +6 -0
- package/scripts/codex.js +3473 -1618
- package/scripts/postinstall.js +237 -0
package/README.md
CHANGED
|
@@ -3,28 +3,32 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/codex-multi-auth)
|
|
4
4
|
[](https://www.npmjs.com/package/codex-multi-auth)
|
|
5
5
|
|
|
6
|
-
Codex CLI-first multi-account OAuth manager for the official Codex CLI
|
|
6
|
+
Codex CLI-first multi-account OAuth manager for the official Codex CLI. The installed `codex` wrapper handles `codex auth ...` locally, forwards normal Codex commands to the official runtime, and can optionally route live Responses traffic through a localhost account-rotation proxy.
|
|
7
7
|
|
|
8
8
|
<img width="1270" height="729" alt="2026-02-28 12_54_58-prompt txt - Notepads" src="https://github.com/user-attachments/assets/0cecb77e-a6d3-432a-ba48-3577db0c7093" />
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
|
|
11
12
|
> [!NOTE]
|
|
12
13
|
> Legacy scoped prerelease package `@ndycode/codex-multi-auth` is migration-only.
|
|
13
14
|
> Use `codex-multi-auth` for all new installs.
|
|
14
15
|
|
|
15
16
|
## What You Get
|
|
16
17
|
|
|
17
|
-
- Canonical `codex auth ...` workflow for account login, switching, checks, and diagnostics
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
18
|
+
- Canonical `codex auth ...` workflow for account login, switching, checks, and diagnostics
|
|
19
|
+
- Official Codex CLI forwarding for all non-auth commands
|
|
20
|
+
- Multi-account OAuth pool with health-aware selection and automatic failover
|
|
21
|
+
- Project-scoped account storage under `~/.codex/multi-auth/projects/<project-key>/...`
|
|
22
|
+
- Interactive dashboard for account actions and settings
|
|
23
|
+
- Experimental settings tab for staged sync, backup, and refresh-guard controls
|
|
24
|
+
- Forecast, report, fix, and doctor commands for operational safety
|
|
25
|
+
- Runtime counters, budget/cooldown state, and multi-auth probe visibility in `codex auth status` / `codex auth report`
|
|
26
|
+
- Opt-in runtime Responses proxy for live account rotation inside forwarded Codex CLI/app sessions
|
|
27
|
+
- Reversible packaged Codex app bind and user-level launcher routing helpers
|
|
28
|
+
- Flagged account verification and restore flow
|
|
29
|
+
- Session affinity and live account sync controls
|
|
30
|
+
- Proactive refresh and preemptive quota deferral controls
|
|
31
|
+
- Codex-oriented request/prompt compatibility with strict runtime handling
|
|
28
32
|
- Stable docs set for install, config, troubleshooting, and upgrade paths
|
|
29
33
|
|
|
30
34
|
---
|
|
@@ -35,7 +39,7 @@ Codex CLI-first multi-account OAuth manager for the official Codex CLI, includin
|
|
|
35
39
|
> [!CAUTION]
|
|
36
40
|
> This project uses OAuth account credentials and is intended for personal development use.
|
|
37
41
|
>
|
|
38
|
-
> By using this
|
|
42
|
+
> By using this package, you acknowledge:
|
|
39
43
|
> - This is an independent open-source project, not an official OpenAI product
|
|
40
44
|
> - You are responsible for your own usage and policy compliance
|
|
41
45
|
> - For production/commercial workloads, use the OpenAI Platform API
|
|
@@ -165,9 +169,10 @@ If browser launch is blocked, use the alternate login paths in [docs/getting-sta
|
|
|
165
169
|
|
|
166
170
|
| Command | What it answers |
|
|
167
171
|
| --- | --- |
|
|
168
|
-
| `codex auth report --live --json` | How do I get the full machine-readable health report? |
|
|
169
|
-
| `codex auth fix --live --model gpt-5-codex` | How do I run live repair probes with a chosen model? |
|
|
170
|
-
| `codex auth why-selected --json` | Which account does the selector pick now, and why? |
|
|
172
|
+
| `codex auth report --live --json` | How do I get the full machine-readable health report? |
|
|
173
|
+
| `codex auth fix --live --model gpt-5-codex` | How do I run live repair probes with a chosen model? |
|
|
174
|
+
| `codex auth why-selected --json` | Which account does the selector pick now, and why? |
|
|
175
|
+
| `codex auth rotation status` | Is live runtime account rotation enabled for forwarded Codex sessions? |
|
|
171
176
|
|
|
172
177
|
### Reliability behavior
|
|
173
178
|
|
|
@@ -211,9 +216,11 @@ If browser launch is blocked, use the alternate login paths in [docs/getting-sta
|
|
|
211
216
|
| Accounts | `~/.codex/multi-auth/openai-codex-accounts.json` |
|
|
212
217
|
| Flagged accounts | `~/.codex/multi-auth/openai-codex-flagged-accounts.json` |
|
|
213
218
|
| Quota cache | `~/.codex/multi-auth/quota-cache.json` |
|
|
214
|
-
| Runtime observability | `~/.codex/multi-auth/runtime-observability.json` |
|
|
215
|
-
|
|
|
216
|
-
|
|
|
219
|
+
| Runtime observability | `~/.codex/multi-auth/runtime-observability.json` |
|
|
220
|
+
| Runtime app helper status | `~/.codex/multi-auth/runtime-rotation-app-helper.json` |
|
|
221
|
+
| Persistent app bind state/logs | `~/.codex/multi-auth/app-bind/` |
|
|
222
|
+
| Logs | `~/.codex/multi-auth/logs/codex-plugin/` |
|
|
223
|
+
| Per-project accounts | `~/.codex/multi-auth/projects/<project-key>/openai-codex-accounts.json` |
|
|
217
224
|
|
|
218
225
|
Override root with `CODEX_MULTI_AUTH_DIR=<path>`.
|
|
219
226
|
|
|
@@ -230,9 +237,13 @@ Selected runtime/environment overrides:
|
|
|
230
237
|
| Variable | Effect |
|
|
231
238
|
| --- | --- |
|
|
232
239
|
| `CODEX_MULTI_AUTH_DIR` | Override settings/accounts root |
|
|
233
|
-
| `CODEX_MULTI_AUTH_CONFIG_PATH` | Alternate config file path |
|
|
234
|
-
| `CODEX_MODE=0/1` | Disable/enable Codex mode |
|
|
235
|
-
| `
|
|
240
|
+
| `CODEX_MULTI_AUTH_CONFIG_PATH` | Alternate config file path |
|
|
241
|
+
| `CODEX_MODE=0/1` | Disable/enable Codex mode |
|
|
242
|
+
| `CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY=0/1` | Opt in/out of live Responses proxy rotation for forwarded Codex CLI/app sessions |
|
|
243
|
+
| `CODEX_MULTI_AUTH_APP_ROTATION_IDLE_MS=<ms>` | Override automatic Codex app helper idle shutdown |
|
|
244
|
+
| `CODEX_MULTI_AUTH_APP_BIND_INSTALL=0/1` | Opt out/in of packaged Codex app bind self-heal during install/update or rotation enable |
|
|
245
|
+
| `CODEX_MULTI_AUTH_APP_LAUNCHER_INSTALL=0/1` | Opt out/in of routing supported app shortcuts during rotation enable |
|
|
246
|
+
| `CODEX_TUI_V2=0/1` | Disable/enable TUI v2 |
|
|
236
247
|
| `CODEX_TUI_COLOR_PROFILE=truecolor|ansi256|ansi16` | TUI color profile |
|
|
237
248
|
| `CODEX_TUI_GLYPHS=ascii|unicode|auto` | TUI glyph style |
|
|
238
249
|
| `CODEX_AUTH_BACKGROUND_RESPONSES=0/1` | Opt in/out of stateful Responses `background: true` compatibility |
|
|
@@ -247,7 +258,9 @@ codex auth check
|
|
|
247
258
|
codex auth forecast --live
|
|
248
259
|
```
|
|
249
260
|
|
|
250
|
-
Responses background mode stays opt-in. Enable `backgroundResponses` in settings or `CODEX_AUTH_BACKGROUND_RESPONSES=1` only for callers that intentionally send `background: true`, because those requests switch from stateless `store=false` routing to stateful `store=true`. See [docs/upgrade.md](docs/upgrade.md) for rollout guidance.
|
|
261
|
+
Responses background mode stays opt-in. Enable `backgroundResponses` in settings or `CODEX_AUTH_BACKGROUND_RESPONSES=1` only for callers that intentionally send `background: true`, because those requests switch from stateless `store=false` routing to stateful `store=true`. See [docs/upgrade.md](docs/upgrade.md) for rollout guidance.
|
|
262
|
+
|
|
263
|
+
Runtime rotation also stays opt-in. `codex auth rotation enable` persists the setting, starts a localhost-only provider path for future wrapper-launched sessions, and binds supported packaged Codex app installs through a reversible local router. `codex auth rotation disable` turns the setting off and removes the persistent app bind.
|
|
251
264
|
|
|
252
265
|
---
|
|
253
266
|
|
|
@@ -333,9 +346,9 @@ codex auth doctor --json
|
|
|
333
346
|
|
|
334
347
|
## Release Notes
|
|
335
348
|
|
|
336
|
-
- Current stable: [docs/releases/
|
|
337
|
-
- Previous stable: [docs/releases/v1.2.
|
|
338
|
-
- Earlier stable: [docs/releases/v1.
|
|
349
|
+
- Current stable: [docs/releases/v2.0.0.md](docs/releases/v2.0.0.md)
|
|
350
|
+
- Previous stable: [docs/releases/v1.3.2.md](docs/releases/v1.3.2.md)
|
|
351
|
+
- Earlier stable: [docs/releases/v1.3.1.md](docs/releases/v1.3.1.md)
|
|
339
352
|
- Full release archive: [docs/README.md#release-history](docs/README.md#release-history)
|
|
340
353
|
- Archived prerelease: [docs/releases/v0.1.0-beta.0.md](docs/releases/v0.1.0-beta.0.md)
|
|
341
354
|
|
package/config/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Config Templates
|
|
2
2
|
|
|
3
|
-
These files are
|
|
3
|
+
These files are optional model/provider templates for host/plugin configurations that still load `codex-multi-auth` directly. The normal wrapper workflow uses `codex auth ...` and does not require these templates.
|
|
4
4
|
|
|
5
5
|
## Primary (Codex-named)
|
|
6
6
|
|
|
@@ -12,8 +12,8 @@ These files are example model/provider templates for `codex-multi-auth`.
|
|
|
12
12
|
|
|
13
13
|
## Notes
|
|
14
14
|
|
|
15
|
-
- These templates are optional for the OAuth account manager flow.
|
|
16
|
-
- Core auth commands use `codex auth login`.
|
|
15
|
+
- These templates are optional for the OAuth account manager flow and the runtime rotation proxy.
|
|
16
|
+
- Core auth commands use `codex auth login`.
|
|
17
17
|
|
|
18
18
|
## Defaults Included
|
|
19
19
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type AppBindResult, type AppBindStatus } from "../../runtime/app-bind.js";
|
|
2
|
+
import type { PluginConfig } from "../../types.js";
|
|
3
|
+
import type { AccountStorageV3 } from "../../storage.js";
|
|
4
|
+
type LoadedStorage = AccountStorageV3 | null;
|
|
5
|
+
export interface RotationCommandDeps {
|
|
6
|
+
loadPluginConfig: () => PluginConfig;
|
|
7
|
+
savePluginConfig: (config: Partial<PluginConfig>) => Promise<void>;
|
|
8
|
+
getCodexRuntimeRotationProxy: (config: PluginConfig) => boolean;
|
|
9
|
+
loadAccounts: () => Promise<LoadedStorage>;
|
|
10
|
+
resolveActiveIndex: (storage: AccountStorageV3) => number;
|
|
11
|
+
getStoragePath: () => string | null;
|
|
12
|
+
setStoragePath: (path: string | null) => void;
|
|
13
|
+
bindCodexApp?: () => Promise<AppBindResult>;
|
|
14
|
+
unbindCodexApp?: () => Promise<AppBindResult>;
|
|
15
|
+
getCodexAppBindStatus?: () => Promise<AppBindStatus>;
|
|
16
|
+
getNow?: () => number;
|
|
17
|
+
logInfo?: (message: string) => void;
|
|
18
|
+
logError?: (message: string) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function runRotationCommand(args: string[], deps: RotationCommandDeps): Promise<number>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=rotation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/rotation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,KAAK,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAiB7C,MAAM,WAAW,mBAAmB;IACnC,gBAAgB,EAAE,MAAM,YAAY,CAAC;IACrC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,4BAA4B,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC;IAChE,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAC1D,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAgND,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,mBAAmB,GACvB,OAAO,CAAC,MAAM,CAAC,CA4EjB"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { formatAccountLabel, formatCooldown, formatWaitTime } from "../../accounts.js";
|
|
4
|
+
import { getCodexMultiAuthDir } from "../../runtime-paths.js";
|
|
5
|
+
import { formatAppBindStatus, } from "../../runtime/app-bind.js";
|
|
6
|
+
import { APP_RUNTIME_HELPER_STATUS_FILE } from "../../runtime-constants.js";
|
|
7
|
+
function printRotationUsage(logInfo) {
|
|
8
|
+
logInfo([
|
|
9
|
+
"Usage:",
|
|
10
|
+
" codex auth rotation enable",
|
|
11
|
+
" codex auth rotation disable",
|
|
12
|
+
" codex auth rotation status",
|
|
13
|
+
" codex auth rotation bind-app",
|
|
14
|
+
" codex auth rotation unbind-app",
|
|
15
|
+
"",
|
|
16
|
+
"Behavior:",
|
|
17
|
+
" - Enables an opt-in localhost Responses proxy for live Codex runtime account rotation",
|
|
18
|
+
" - Binds the packaged Codex desktop app to the same localhost router when enabled",
|
|
19
|
+
" - Env override: CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY=1",
|
|
20
|
+
].join("\n"));
|
|
21
|
+
}
|
|
22
|
+
function parseBooleanEnv(value) {
|
|
23
|
+
if (value === undefined || value.trim().length === 0)
|
|
24
|
+
return null;
|
|
25
|
+
const normalized = value.trim().toLowerCase();
|
|
26
|
+
if (normalized === "1" || normalized === "true" || normalized === "yes") {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
if (normalized === "0" || normalized === "false" || normalized === "no") {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
function formatEnvOverride() {
|
|
35
|
+
const raw = process.env.CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY;
|
|
36
|
+
if (raw === undefined || raw.trim().length === 0)
|
|
37
|
+
return "none";
|
|
38
|
+
const parsed = parseBooleanEnv(raw);
|
|
39
|
+
if (parsed === null)
|
|
40
|
+
return `invalid (${raw})`;
|
|
41
|
+
return parsed ? "enabled" : "disabled";
|
|
42
|
+
}
|
|
43
|
+
function isRecord(value) {
|
|
44
|
+
return typeof value === "object" && value !== null;
|
|
45
|
+
}
|
|
46
|
+
function readOptionalNumber(record, key) {
|
|
47
|
+
const value = record[key];
|
|
48
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
49
|
+
}
|
|
50
|
+
function readOptionalString(record, key) {
|
|
51
|
+
const value = record[key];
|
|
52
|
+
return typeof value === "string" && value.trim().length > 0
|
|
53
|
+
? value.trim()
|
|
54
|
+
: null;
|
|
55
|
+
}
|
|
56
|
+
function readAppRuntimeHelperStatus() {
|
|
57
|
+
const statusPath = join(getCodexMultiAuthDir(), APP_RUNTIME_HELPER_STATUS_FILE);
|
|
58
|
+
if (!existsSync(statusPath))
|
|
59
|
+
return null;
|
|
60
|
+
try {
|
|
61
|
+
const parsed = JSON.parse(readFileSync(statusPath, "utf8"));
|
|
62
|
+
if (!isRecord(parsed))
|
|
63
|
+
return null;
|
|
64
|
+
return {
|
|
65
|
+
state: readOptionalString(parsed, "state"),
|
|
66
|
+
kind: readOptionalString(parsed, "kind"),
|
|
67
|
+
pid: readOptionalNumber(parsed, "pid"),
|
|
68
|
+
idleExpiresAt: readOptionalNumber(parsed, "idleExpiresAt"),
|
|
69
|
+
totalRequests: readOptionalNumber(parsed, "totalRequests"),
|
|
70
|
+
rotations: readOptionalNumber(parsed, "rotations"),
|
|
71
|
+
lastAccountIndex: readOptionalNumber(parsed, "lastAccountIndex"),
|
|
72
|
+
lastAccountLabel: readOptionalString(parsed, "lastAccountLabel"),
|
|
73
|
+
lastAccountEmail: null,
|
|
74
|
+
lastAccountId: readOptionalString(parsed, "lastAccountId"),
|
|
75
|
+
lastAccountUpdatedAt: readOptionalNumber(parsed, "lastAccountUpdatedAt"),
|
|
76
|
+
updatedAt: readOptionalNumber(parsed, "updatedAt"),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function isProcessAlive(pid) {
|
|
84
|
+
if (!pid)
|
|
85
|
+
return false;
|
|
86
|
+
try {
|
|
87
|
+
process.kill(pid, 0);
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
const code = error && typeof error === "object" && "code" in error ? error.code : null;
|
|
92
|
+
return code === "EPERM";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function formatHelperLastAccount(status) {
|
|
96
|
+
if (status.lastAccountLabel && !status.lastAccountLabel.includes("@")) {
|
|
97
|
+
return status.lastAccountLabel;
|
|
98
|
+
}
|
|
99
|
+
if (status.lastAccountId) {
|
|
100
|
+
return status.lastAccountIndex !== null
|
|
101
|
+
? `Account ${status.lastAccountIndex + 1} (${status.lastAccountId})`
|
|
102
|
+
: status.lastAccountId;
|
|
103
|
+
}
|
|
104
|
+
if (status.lastAccountIndex !== null) {
|
|
105
|
+
return `Account ${status.lastAccountIndex + 1}`;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
function formatAppRuntimeHelperStatus(now) {
|
|
110
|
+
const status = readAppRuntimeHelperStatus();
|
|
111
|
+
if (!status)
|
|
112
|
+
return "Codex app helper: not running";
|
|
113
|
+
if (status.kind !== "codex-app-runtime-rotation-helper") {
|
|
114
|
+
return "Codex app helper: not running";
|
|
115
|
+
}
|
|
116
|
+
const alive = isProcessAlive(status.pid);
|
|
117
|
+
if (!alive || status.state === "stopped" || status.state === "idle-timeout") {
|
|
118
|
+
return "Codex app helper: not running";
|
|
119
|
+
}
|
|
120
|
+
const parts = [`running${status.pid ? ` pid=${status.pid}` : ""}`];
|
|
121
|
+
if (status.totalRequests !== null)
|
|
122
|
+
parts.push(`requests=${status.totalRequests}`);
|
|
123
|
+
if (status.rotations !== null)
|
|
124
|
+
parts.push(`rotations=${status.rotations}`);
|
|
125
|
+
const lastAccount = formatHelperLastAccount(status);
|
|
126
|
+
if (lastAccount)
|
|
127
|
+
parts.push(`lastAccount=${lastAccount}`);
|
|
128
|
+
if (status.idleExpiresAt !== null && status.idleExpiresAt > now) {
|
|
129
|
+
parts.push(`idle-expires=${formatWaitTime(status.idleExpiresAt - now)}`);
|
|
130
|
+
}
|
|
131
|
+
return `Codex app helper: ${parts.join(", ")}`;
|
|
132
|
+
}
|
|
133
|
+
function shouldAutoBindCodexApp(env = process.env) {
|
|
134
|
+
const override = (env.CODEX_MULTI_AUTH_APP_BIND_INSTALL ?? "1")
|
|
135
|
+
.trim()
|
|
136
|
+
.toLowerCase();
|
|
137
|
+
return !new Set(["0", "false", "no"]).has(override);
|
|
138
|
+
}
|
|
139
|
+
async function printCodexAppBindStatus(deps) {
|
|
140
|
+
const logInfo = deps.logInfo ?? console.log;
|
|
141
|
+
if (!deps.getCodexAppBindStatus) {
|
|
142
|
+
logInfo("Codex app bind: unavailable");
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
logInfo(formatAppBindStatus(await deps.getCodexAppBindStatus()));
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
150
|
+
logInfo(`Codex app bind: unavailable (${message})`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async function printRotationStatus(deps) {
|
|
154
|
+
const logInfo = deps.logInfo ?? console.log;
|
|
155
|
+
const previousStoragePath = deps.getStoragePath();
|
|
156
|
+
let config;
|
|
157
|
+
let enabled;
|
|
158
|
+
let storage;
|
|
159
|
+
let storagePath;
|
|
160
|
+
const now = deps.getNow?.() ?? Date.now();
|
|
161
|
+
try {
|
|
162
|
+
// Rotation status reports the shared Codex account pool, not a project-scoped override.
|
|
163
|
+
deps.setStoragePath(null);
|
|
164
|
+
config = deps.loadPluginConfig();
|
|
165
|
+
const envOverride = parseBooleanEnv(process.env.CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY);
|
|
166
|
+
enabled = envOverride ?? deps.getCodexRuntimeRotationProxy(config);
|
|
167
|
+
storage = await deps.loadAccounts();
|
|
168
|
+
storagePath = deps.getStoragePath();
|
|
169
|
+
}
|
|
170
|
+
finally {
|
|
171
|
+
deps.setStoragePath(previousStoragePath);
|
|
172
|
+
}
|
|
173
|
+
logInfo(`Runtime rotation proxy: ${enabled ? "enabled" : "disabled"}`);
|
|
174
|
+
logInfo(`Stored setting: ${config.codexRuntimeRotationProxy === true ? "enabled" : "disabled"}`);
|
|
175
|
+
logInfo(`Env override: ${formatEnvOverride()}`);
|
|
176
|
+
logInfo(formatAppRuntimeHelperStatus(now));
|
|
177
|
+
await printCodexAppBindStatus(deps);
|
|
178
|
+
logInfo(`Storage: ${storagePath}`);
|
|
179
|
+
if (!storage || storage.accounts.length === 0) {
|
|
180
|
+
logInfo("Accounts: none configured");
|
|
181
|
+
return 0;
|
|
182
|
+
}
|
|
183
|
+
const activeIndex = deps.resolveActiveIndex(storage);
|
|
184
|
+
logInfo(`Accounts: ${storage.accounts.length}`);
|
|
185
|
+
for (let index = 0; index < storage.accounts.length; index += 1) {
|
|
186
|
+
const account = storage.accounts[index];
|
|
187
|
+
if (!account)
|
|
188
|
+
continue;
|
|
189
|
+
const markers = [];
|
|
190
|
+
if (index === activeIndex)
|
|
191
|
+
markers.push("current");
|
|
192
|
+
if (account.enabled === false)
|
|
193
|
+
markers.push("disabled");
|
|
194
|
+
const cooldown = formatCooldown(account, now);
|
|
195
|
+
if (cooldown)
|
|
196
|
+
markers.push(`cooldown:${cooldown}`);
|
|
197
|
+
const rateLimitResetTimes = Object.values(account.rateLimitResetTimes ?? {})
|
|
198
|
+
.filter((value) => typeof value === "number")
|
|
199
|
+
.filter((value) => value > now);
|
|
200
|
+
if (rateLimitResetTimes.length > 0) {
|
|
201
|
+
const waitMs = Math.min(...rateLimitResetTimes) - now;
|
|
202
|
+
markers.push(`rate-limited:${formatWaitTime(waitMs)}`);
|
|
203
|
+
}
|
|
204
|
+
const markerLabel = markers.length > 0 ? ` [${markers.join(", ")}]` : "";
|
|
205
|
+
logInfo(`${index + 1}. ${formatAccountLabel(account, index)}${markerLabel}`);
|
|
206
|
+
}
|
|
207
|
+
return 0;
|
|
208
|
+
}
|
|
209
|
+
export async function runRotationCommand(args, deps) {
|
|
210
|
+
const logInfo = deps.logInfo ?? console.log;
|
|
211
|
+
const logError = deps.logError ?? console.error;
|
|
212
|
+
const [subcommand, ...rest] = args;
|
|
213
|
+
if (!subcommand || subcommand === "status") {
|
|
214
|
+
if (rest.length > 0) {
|
|
215
|
+
logError(`Unknown rotation status option: ${rest[0]}`);
|
|
216
|
+
return 1;
|
|
217
|
+
}
|
|
218
|
+
return printRotationStatus(deps);
|
|
219
|
+
}
|
|
220
|
+
if (subcommand === "--help" || subcommand === "-h" || subcommand === "help") {
|
|
221
|
+
printRotationUsage(logInfo);
|
|
222
|
+
return 0;
|
|
223
|
+
}
|
|
224
|
+
if (rest.length > 0) {
|
|
225
|
+
logError(`Unknown rotation option: ${rest[0]}`);
|
|
226
|
+
return 1;
|
|
227
|
+
}
|
|
228
|
+
if (subcommand === "enable") {
|
|
229
|
+
await deps.savePluginConfig({ codexRuntimeRotationProxy: true });
|
|
230
|
+
logInfo("Runtime rotation proxy enabled.");
|
|
231
|
+
logInfo("New Codex sessions will route Responses traffic through the localhost proxy.");
|
|
232
|
+
if (deps.bindCodexApp && shouldAutoBindCodexApp()) {
|
|
233
|
+
try {
|
|
234
|
+
const result = await deps.bindCodexApp();
|
|
235
|
+
logInfo(result.message);
|
|
236
|
+
logInfo(formatAppBindStatus(result.status));
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
240
|
+
logError(`Codex app bind failed: ${message}`);
|
|
241
|
+
logInfo("Wrapper-launched CLI and app sessions still use runtime rotation.");
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return 0;
|
|
245
|
+
}
|
|
246
|
+
if (subcommand === "disable") {
|
|
247
|
+
await deps.savePluginConfig({ codexRuntimeRotationProxy: false });
|
|
248
|
+
logInfo("Runtime rotation proxy disabled.");
|
|
249
|
+
if (deps.unbindCodexApp) {
|
|
250
|
+
try {
|
|
251
|
+
const result = await deps.unbindCodexApp();
|
|
252
|
+
logInfo(result.message);
|
|
253
|
+
logInfo(formatAppBindStatus(result.status));
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
257
|
+
logError(`Codex app unbind failed: ${message}`);
|
|
258
|
+
return 1;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return 0;
|
|
262
|
+
}
|
|
263
|
+
if (subcommand === "bind-app") {
|
|
264
|
+
if (!deps.bindCodexApp) {
|
|
265
|
+
logError("Codex app bind is unavailable in this build.");
|
|
266
|
+
return 1;
|
|
267
|
+
}
|
|
268
|
+
const result = await deps.bindCodexApp();
|
|
269
|
+
logInfo(result.message);
|
|
270
|
+
logInfo(formatAppBindStatus(result.status));
|
|
271
|
+
return 0;
|
|
272
|
+
}
|
|
273
|
+
if (subcommand === "unbind-app") {
|
|
274
|
+
if (!deps.unbindCodexApp) {
|
|
275
|
+
logError("Codex app bind is unavailable in this build.");
|
|
276
|
+
return 1;
|
|
277
|
+
}
|
|
278
|
+
const result = await deps.unbindCodexApp();
|
|
279
|
+
logInfo(result.message);
|
|
280
|
+
logInfo(formatAppBindStatus(result.status));
|
|
281
|
+
return 0;
|
|
282
|
+
}
|
|
283
|
+
logError(`Unknown rotation command: ${subcommand}`);
|
|
284
|
+
printRotationUsage(logInfo);
|
|
285
|
+
return 1;
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=rotation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rotation.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/rotation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,KAAK,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,KAAK,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAG7C,MAAM,WAAW,iBAAiB;IACjC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,WAAW,KAChB,MAAM,CAAC;IACZ,oBAAoB,EAAE,CACrB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAC7C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,KACf,MAAM,GAAG,IAAI,CAAC;IACnB,gCAAgC,CAAC,EAAE,MAAM,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAqCD,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,iBAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,CA4GjB;AAED,MAAM,WAAW,mBAAmB;IACnC,mBAAmB,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAQpE"}
|
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
import { formatAccountLabel, formatCooldown, formatWaitTime, } from "../../accounts.js";
|
|
2
2
|
import { evaluateForecastAccounts, recommendForecastAccount, } from "../../forecast.js";
|
|
3
|
+
function isRestoreReason(value) {
|
|
4
|
+
return (value === "empty-storage" ||
|
|
5
|
+
value === "intentional-reset" ||
|
|
6
|
+
value === "missing-storage");
|
|
7
|
+
}
|
|
8
|
+
function readRestoreReason(storage) {
|
|
9
|
+
if (!("restoreReason" in storage))
|
|
10
|
+
return undefined;
|
|
11
|
+
return isRestoreReason(storage.restoreReason)
|
|
12
|
+
? storage.restoreReason
|
|
13
|
+
: undefined;
|
|
14
|
+
}
|
|
15
|
+
function formatRuntimeLastAccount(runtimeSnapshot) {
|
|
16
|
+
if (runtimeSnapshot.lastAccountLabel &&
|
|
17
|
+
!runtimeSnapshot.lastAccountLabel.includes("@")) {
|
|
18
|
+
return runtimeSnapshot.lastAccountLabel;
|
|
19
|
+
}
|
|
20
|
+
if (runtimeSnapshot.lastAccountId) {
|
|
21
|
+
return typeof runtimeSnapshot.lastAccountIndex === "number"
|
|
22
|
+
? `Account ${runtimeSnapshot.lastAccountIndex + 1} (${runtimeSnapshot.lastAccountId})`
|
|
23
|
+
: runtimeSnapshot.lastAccountId;
|
|
24
|
+
}
|
|
25
|
+
if (typeof runtimeSnapshot.lastAccountIndex === "number") {
|
|
26
|
+
return `Account ${runtimeSnapshot.lastAccountIndex + 1}`;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
3
30
|
export async function runStatusCommand(deps) {
|
|
4
31
|
deps.setStoragePath(null);
|
|
5
32
|
const storage = await deps.loadAccounts();
|
|
@@ -7,14 +34,14 @@ export async function runStatusCommand(deps) {
|
|
|
7
34
|
const storageHealth = await deps.inspectStorageHealth?.();
|
|
8
35
|
const logInfo = deps.logInfo ?? console.log;
|
|
9
36
|
if (!storage || storage.accounts.length === 0) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// not see if the storage path has already been cleared or redirected. Treat
|
|
13
|
-
// the null return as a stronger "reset" signal than the filesystem probe's
|
|
14
|
-
// "empty" fallback so the output message is accurate.
|
|
15
|
-
const effectiveState = storage === null && (!storageHealth || storageHealth.state === "empty")
|
|
37
|
+
const restoreReason = storage ? readRestoreReason(storage) : undefined;
|
|
38
|
+
const effectiveState = restoreReason === "intentional-reset"
|
|
16
39
|
? "intentional-reset"
|
|
17
|
-
: storageHealth?.state
|
|
40
|
+
: storageHealth?.state ??
|
|
41
|
+
(restoreReason === "empty-storage" ||
|
|
42
|
+
restoreReason === "missing-storage"
|
|
43
|
+
? "empty"
|
|
44
|
+
: undefined);
|
|
18
45
|
logInfo(effectiveState === "intentional-reset"
|
|
19
46
|
? "No accounts configured. Storage was intentionally reset."
|
|
20
47
|
: effectiveState === "recoverable"
|
|
@@ -57,6 +84,10 @@ export async function runStatusCommand(deps) {
|
|
|
57
84
|
? formatWaitTime(runtimeSnapshot.serverBurstCooldownUntil - now)
|
|
58
85
|
: null;
|
|
59
86
|
logInfo(`Runtime: responses=${runtimeSnapshot.responsesRequests}, refresh=${runtimeSnapshot.authRefreshRequests}, probes=${runtimeSnapshot.diagnosticProbeRequests}, budgetExhaustions=${runtimeMetrics.requestAttemptBudgetExhaustions}`);
|
|
87
|
+
const lastRuntimeAccount = formatRuntimeLastAccount(runtimeSnapshot);
|
|
88
|
+
if (lastRuntimeAccount) {
|
|
89
|
+
logInfo(`Last runtime account: ${lastRuntimeAccount}`);
|
|
90
|
+
}
|
|
60
91
|
if (poolCooldown || serverCooldown) {
|
|
61
92
|
logInfo(`Cooldowns: pool=${poolCooldown ?? "none"}, server-burst=${serverCooldown ?? "none"}`);
|
|
62
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,cAAc,EACd,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,IAAI,CAsCjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAqBtE;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,cAAc,IAAI,IAAI,CAgBrC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAyD5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../lib/codex-manager/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-manager.d.ts","sourceRoot":"","sources":["../../lib/codex-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex-manager.d.ts","sourceRoot":"","sources":["../../lib/codex-manager.ts"],"names":[],"mappings":"AA46CA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAguDD,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC,CAuGrE;AAuCD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+K7E"}
|