codex-multi-auth 2.22.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/.codex-plugin/plugin.json +9 -9
  2. package/LICENSE +21 -21
  3. package/README.md +159 -150
  4. package/assets/codex-multi-auth-icon.svg +39 -39
  5. package/assets/readme-hero.svg +31 -31
  6. package/config/README.md +31 -31
  7. package/config/codex-legacy.json +1021 -1021
  8. package/config/codex-modern.json +347 -347
  9. package/config/minimal-codex.json +15 -15
  10. package/config/schema/config.schema.json +8 -0
  11. package/dist/index.js +33 -10
  12. package/dist/lib/account-policy.d.ts +2 -0
  13. package/dist/lib/account-policy.js +3 -1
  14. package/dist/lib/accounts/rate-limits.d.ts +6 -0
  15. package/dist/lib/accounts/rate-limits.js +14 -1
  16. package/dist/lib/accounts.d.ts +6 -1
  17. package/dist/lib/accounts.js +33 -8
  18. package/dist/lib/api-route-store.d.ts +1 -0
  19. package/dist/lib/api-route-store.js +2 -1
  20. package/dist/lib/auth/account-access.js +2 -1
  21. package/dist/lib/auth/auth.js +3 -2
  22. package/dist/lib/auth/device-auth.js +2 -1
  23. package/dist/lib/auth/http.d.ts +1 -0
  24. package/dist/lib/auth/http.js +1 -0
  25. package/dist/lib/auth/token-utils.d.ts +5 -0
  26. package/dist/lib/auth/token-utils.js +10 -0
  27. package/dist/lib/codex-manager/account-manager-commands.js +1 -0
  28. package/dist/lib/codex-manager/commands/account.js +15 -0
  29. package/dist/lib/codex-manager/commands/locale.d.ts +12 -0
  30. package/dist/lib/codex-manager/commands/locale.js +25 -0
  31. package/dist/lib/codex-manager/commands/resets.js +18 -5
  32. package/dist/lib/codex-manager/commands/status.d.ts +4 -0
  33. package/dist/lib/codex-manager/commands/status.js +476 -5
  34. package/dist/lib/codex-manager/commands/workspace.d.ts +4 -2
  35. package/dist/lib/codex-manager/commands/workspace.js +33 -2
  36. package/dist/lib/codex-manager/help.js +5 -3
  37. package/dist/lib/codex-manager.js +112 -30
  38. package/dist/lib/config.js +3 -0
  39. package/dist/lib/constants.d.ts +2 -0
  40. package/dist/lib/constants.js +2 -0
  41. package/dist/lib/context-budget-response.js +8 -8
  42. package/dist/lib/context-overflow.js +10 -10
  43. package/dist/lib/locale.d.ts +7 -0
  44. package/dist/lib/locale.js +35 -0
  45. package/dist/lib/oauth-success.html +125 -125
  46. package/dist/lib/policy/runtime-policy-cache.js +1 -1
  47. package/dist/lib/policy/runtime-policy.d.ts +1 -0
  48. package/dist/lib/policy/runtime-policy.js +4 -0
  49. package/dist/lib/preemptive-quota-scheduler.js +12 -3
  50. package/dist/lib/prompts/codex-host-bridge.js +138 -138
  51. package/dist/lib/prompts/codex.js +79 -79
  52. package/dist/lib/quota-cache.d.ts +4 -0
  53. package/dist/lib/quota-probe.js +2 -1
  54. package/dist/lib/quota-readiness.d.ts +1 -1
  55. package/dist/lib/quota-readiness.js +9 -2
  56. package/dist/lib/request/proxy-fetch.d.ts +5 -0
  57. package/dist/lib/request/proxy-fetch.js +37 -0
  58. package/dist/lib/request/rate-limit-decision.js +1 -1
  59. package/dist/lib/request/url-rewriting.js +17 -0
  60. package/dist/lib/runtime/account-model-catalog.d.ts +2 -0
  61. package/dist/lib/runtime/account-model-catalog.js +7 -2
  62. package/dist/lib/runtime/account-reset-credits.d.ts +11 -2
  63. package/dist/lib/runtime/account-reset-credits.js +35 -12
  64. package/dist/lib/runtime/app-bind.d.ts +4 -1
  65. package/dist/lib/runtime/app-bind.js +63 -3
  66. package/dist/lib/runtime/automatic-account-checks.js +6 -5
  67. package/dist/lib/runtime/automatic-subscription-checks.js +4 -3
  68. package/dist/lib/runtime/model-discovery-status.js +2 -2
  69. package/dist/lib/runtime/reset-credit-routing.d.ts +11 -3
  70. package/dist/lib/runtime/reset-credit-routing.js +66 -21
  71. package/dist/lib/runtime/reset-credits.d.ts +31 -7
  72. package/dist/lib/runtime/reset-credits.js +135 -28
  73. package/dist/lib/runtime/responses-websocket.d.ts +30 -0
  74. package/dist/lib/runtime/responses-websocket.js +243 -29
  75. package/dist/lib/runtime/rotation-account-selection.d.ts +5 -4
  76. package/dist/lib/runtime/rotation-proxy-state.d.ts +3 -0
  77. package/dist/lib/runtime/rotation-server-types.d.ts +4 -1
  78. package/dist/lib/runtime/subscription-quota-order.d.ts +1 -0
  79. package/dist/lib/runtime/subscription-quota-order.js +7 -3
  80. package/dist/lib/runtime/workspace-model-scopes.d.ts +2 -0
  81. package/dist/lib/runtime/workspace-model-scopes.js +14 -4
  82. package/dist/lib/runtime-rotation-proxy.js +138 -38
  83. package/dist/lib/schemas.d.ts +5 -0
  84. package/dist/lib/schemas.js +1 -0
  85. package/dist/lib/storage/snapshot-merge.js +15 -4
  86. package/dist/lib/web-dashboard-html.d.ts +1 -0
  87. package/dist/lib/web-dashboard-html.js +66 -0
  88. package/dist/lib/web-dashboard.d.ts +36 -0
  89. package/dist/lib/web-dashboard.js +322 -0
  90. package/node_modules/@codex-ai/plugin/dist/index.d.ts +2 -2
  91. package/node_modules/@codex-ai/plugin/dist/index.js +2 -2
  92. package/node_modules/@codex-ai/plugin/dist/tool.d.ts +42 -42
  93. package/node_modules/@codex-ai/plugin/dist/tool.js +29 -29
  94. package/node_modules/@codex-ai/plugin/package.json +9 -9
  95. package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -4
  96. package/node_modules/@codex-ai/sdk/dist/index.js +2 -2
  97. package/node_modules/@codex-ai/sdk/package.json +8 -8
  98. package/package.json +209 -207
  99. package/scripts/codex-app-launcher.js +653 -653
  100. package/scripts/codex-app-router.js +446 -402
  101. package/scripts/codex-bin-resolver.js +332 -332
  102. package/scripts/codex-multi-auth.js +65 -65
  103. package/scripts/codex-routing.js +63 -62
  104. package/scripts/codex.js +7143 -7006
  105. package/scripts/install-codex-auth-utils.js +213 -213
  106. package/scripts/mcodex.js +367 -367
  107. package/scripts/postinstall.js +114 -114
  108. package/scripts/preuninstall.js +265 -265
  109. package/skills/codex-auth-setup/SKILL.md +73 -73
  110. package/vendor/codex-ai-plugin/dist/index.d.ts +2 -2
  111. package/vendor/codex-ai-plugin/dist/index.js +2 -2
  112. package/vendor/codex-ai-plugin/dist/tool.d.ts +42 -42
  113. package/vendor/codex-ai-plugin/dist/tool.js +29 -29
  114. package/vendor/codex-ai-plugin/package.json +9 -9
  115. package/vendor/codex-ai-sdk/dist/index.d.ts +4 -4
  116. package/vendor/codex-ai-sdk/dist/index.js +2 -2
  117. package/vendor/codex-ai-sdk/package.json +8 -8
@@ -1,65 +1,65 @@
1
- #!/usr/bin/env node
2
-
3
- // @ts-check
4
-
5
- import { createRequire } from "node:module";
6
- import { AUTH_SUBCOMMANDS } from "./codex-routing.js";
7
-
8
- const versionFlags = new Set(["--version", "-v"]);
9
-
10
- function resolveCliVersion() {
11
- const require = createRequire(import.meta.url);
12
- try {
13
- const pkg = require("../package.json");
14
- const version = typeof pkg?.version === "string" ? pkg.version.trim() : "";
15
- if (version.length > 0) {
16
- return version;
17
- }
18
- } catch {
19
- // Best effort only.
20
- }
21
- return "";
22
- }
23
-
24
- /**
25
- * @param {string[]} args
26
- * @returns {string[]}
27
- */
28
- function normalizeStandaloneArgs(args) {
29
- if (args[0] === "auth") return args;
30
- const firstArg = args[0] ?? "";
31
- if (AUTH_SUBCOMMANDS.has(firstArg)) {
32
- // Keep this exhaustive: generic names here are reserved for auth routing.
33
- return ["auth", ...args];
34
- }
35
- return args;
36
- }
37
-
38
- const args = normalizeStandaloneArgs(process.argv.slice(2));
39
- const version = resolveCliVersion();
40
-
41
- if (version.length > 0) {
42
- process.env.CODEX_MULTI_AUTH_CLI_VERSION = version;
43
- }
44
-
45
- const firstArg = args[0] ?? "";
46
-
47
- if (args.length === 1 && versionFlags.has(firstArg)) {
48
- if (version.length > 0) {
49
- process.stdout.write(`${version}\n`);
50
- process.exitCode = 0;
51
- } else {
52
- process.stderr.write("codex-multi-auth version is unavailable.\n");
53
- process.exitCode = 1;
54
- }
55
- } else {
56
- // The specifier lives in a variable so `tsc -p tsconfig.scripts.json` can
57
- // check this file without a prior `npm run build`: a literal
58
- // "../dist/lib/codex-manager.js" specifier forces module resolution against
59
- // dist/. The imported surface is guarded by Number.isInteger below, so the
60
- // erased type information costs nothing here.
61
- const managerModuleSpecifier = "../dist/lib/codex-manager.js";
62
- const { runCodexMultiAuthCli } = await import(managerModuleSpecifier);
63
- const exitCode = await runCodexMultiAuthCli(args);
64
- process.exitCode = Number.isInteger(exitCode) ? exitCode : 1;
65
- }
1
+ #!/usr/bin/env node
2
+
3
+ // @ts-check
4
+
5
+ import { createRequire } from "node:module";
6
+ import { AUTH_SUBCOMMANDS } from "./codex-routing.js";
7
+
8
+ const versionFlags = new Set(["--version", "-v"]);
9
+
10
+ function resolveCliVersion() {
11
+ const require = createRequire(import.meta.url);
12
+ try {
13
+ const pkg = require("../package.json");
14
+ const version = typeof pkg?.version === "string" ? pkg.version.trim() : "";
15
+ if (version.length > 0) {
16
+ return version;
17
+ }
18
+ } catch {
19
+ // Best effort only.
20
+ }
21
+ return "";
22
+ }
23
+
24
+ /**
25
+ * @param {string[]} args
26
+ * @returns {string[]}
27
+ */
28
+ function normalizeStandaloneArgs(args) {
29
+ if (args[0] === "auth") return args;
30
+ const firstArg = args[0] ?? "";
31
+ if (AUTH_SUBCOMMANDS.has(firstArg)) {
32
+ // Keep this exhaustive: generic names here are reserved for auth routing.
33
+ return ["auth", ...args];
34
+ }
35
+ return args;
36
+ }
37
+
38
+ const args = normalizeStandaloneArgs(process.argv.slice(2));
39
+ const version = resolveCliVersion();
40
+
41
+ if (version.length > 0) {
42
+ process.env.CODEX_MULTI_AUTH_CLI_VERSION = version;
43
+ }
44
+
45
+ const firstArg = args[0] ?? "";
46
+
47
+ if (args.length === 1 && versionFlags.has(firstArg)) {
48
+ if (version.length > 0) {
49
+ process.stdout.write(`${version}\n`);
50
+ process.exitCode = 0;
51
+ } else {
52
+ process.stderr.write("codex-multi-auth version is unavailable.\n");
53
+ process.exitCode = 1;
54
+ }
55
+ } else {
56
+ // The specifier lives in a variable so `tsc -p tsconfig.scripts.json` can
57
+ // check this file without a prior `npm run build`: a literal
58
+ // "../dist/lib/codex-manager.js" specifier forces module resolution against
59
+ // dist/. The imported surface is guarded by Number.isInteger below, so the
60
+ // erased type information costs nothing here.
61
+ const managerModuleSpecifier = "../dist/lib/codex-manager.js";
62
+ const { runCodexMultiAuthCli } = await import(managerModuleSpecifier);
63
+ const exitCode = await runCodexMultiAuthCli(args);
64
+ process.exitCode = Number.isInteger(exitCode) ? exitCode : 1;
65
+ }
@@ -1,62 +1,63 @@
1
- const AUTH_SUBCOMMANDS = new Set([
2
- "login",
3
- "list",
4
- "status",
5
- "limits",
6
- "switch",
7
- "unpin",
8
- "workspace",
9
- "best",
10
- "check",
11
- "features",
12
- "usage",
13
- "resets",
14
- "verify-flagged",
15
- "verify",
16
- "forecast",
17
- "report",
18
- "fix",
19
- "doctor",
20
- "uninstall",
21
- "account",
22
- "budget",
23
- "bridge",
24
- "integrations",
25
- "models",
26
- "monitor",
27
- "rotation",
28
- "why-selected",
29
- "history",
30
- "config",
31
- "init-config",
32
- "debug",
33
- ]);
34
-
35
- /**
36
- * @param {string[]} args
37
- * @returns {string[]}
38
- */
39
- export function normalizeAuthAlias(args) {
40
- if (args.length >= 2 && args[0] === "multi" && args[1] === "auth") {
41
- return ["auth", ...args.slice(2)];
42
- }
43
- if (args.length >= 1 && (args[0] === "multi-auth" || args[0] === "multiauth")) {
44
- return ["auth", ...args.slice(1)];
45
- }
46
- return args;
47
- }
48
-
49
- /**
50
- * @param {string[]} args
51
- * @returns {boolean}
52
- */
53
- export function shouldHandleMultiAuthAuth(args) {
54
- if (args[0] !== "auth") return false;
55
- if (args.length === 1) return true;
56
- const subcommand = args[1];
57
- if (typeof subcommand !== "string") return false;
58
- if (subcommand.startsWith("-")) return true;
59
- return AUTH_SUBCOMMANDS.has(subcommand);
60
- }
61
-
62
- export { AUTH_SUBCOMMANDS };
1
+ const AUTH_SUBCOMMANDS = new Set([
2
+ "login",
3
+ "list",
4
+ "status",
5
+ "web",
6
+ "limits",
7
+ "switch",
8
+ "unpin",
9
+ "workspace",
10
+ "best",
11
+ "check",
12
+ "features",
13
+ "usage",
14
+ "resets",
15
+ "verify-flagged",
16
+ "verify",
17
+ "forecast",
18
+ "report",
19
+ "fix",
20
+ "doctor",
21
+ "uninstall",
22
+ "account",
23
+ "budget",
24
+ "bridge",
25
+ "integrations",
26
+ "models",
27
+ "monitor",
28
+ "rotation",
29
+ "why-selected",
30
+ "history",
31
+ "config",
32
+ "init-config",
33
+ "debug",
34
+ ]);
35
+
36
+ /**
37
+ * @param {string[]} args
38
+ * @returns {string[]}
39
+ */
40
+ export function normalizeAuthAlias(args) {
41
+ if (args.length >= 2 && args[0] === "multi" && args[1] === "auth") {
42
+ return ["auth", ...args.slice(2)];
43
+ }
44
+ if (args.length >= 1 && (args[0] === "multi-auth" || args[0] === "multiauth")) {
45
+ return ["auth", ...args.slice(1)];
46
+ }
47
+ return args;
48
+ }
49
+
50
+ /**
51
+ * @param {string[]} args
52
+ * @returns {boolean}
53
+ */
54
+ export function shouldHandleMultiAuthAuth(args) {
55
+ if (args[0] !== "auth") return false;
56
+ if (args.length === 1) return true;
57
+ const subcommand = args[1];
58
+ if (typeof subcommand !== "string") return false;
59
+ if (subcommand.startsWith("-")) return true;
60
+ return AUTH_SUBCOMMANDS.has(subcommand);
61
+ }
62
+
63
+ export { AUTH_SUBCOMMANDS };