codex-multi-auth 2.19.1 → 2.20.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 (79) hide show
  1. package/.codex-plugin/plugin.json +9 -9
  2. package/LICENSE +21 -21
  3. package/README.md +149 -148
  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/dist/index.js +1 -1
  11. package/dist/lib/accounts/rate-limits.js +5 -0
  12. package/dist/lib/accounts.js +5 -4
  13. package/dist/lib/auth/account-access.js +2 -2
  14. package/dist/lib/codex-cli/version.d.ts +22 -0
  15. package/dist/lib/codex-cli/version.js +78 -0
  16. package/dist/lib/codex-manager/commands/limits.d.ts +2 -0
  17. package/dist/lib/codex-manager/commands/limits.js +31 -0
  18. package/dist/lib/codex-manager/commands/status.js +1 -1
  19. package/dist/lib/codex-manager.js +2 -0
  20. package/dist/lib/constants.d.ts +2 -0
  21. package/dist/lib/constants.js +2 -0
  22. package/dist/lib/context-budget/model-context-windows.d.ts +1 -1
  23. package/dist/lib/context-budget/model-context-windows.js +4 -0
  24. package/dist/lib/context-budget-response.js +8 -8
  25. package/dist/lib/context-overflow.js +10 -10
  26. package/dist/lib/luna-reserve.d.ts +26 -0
  27. package/dist/lib/luna-reserve.js +68 -0
  28. package/dist/lib/oauth-success.html +125 -125
  29. package/dist/lib/policy/runtime-policy.js +14 -0
  30. package/dist/lib/prompts/codex-host-bridge.js +138 -138
  31. package/dist/lib/prompts/codex.js +79 -79
  32. package/dist/lib/request/helpers/model-map.d.ts +1 -1
  33. package/dist/lib/request/helpers/model-map.js +12 -0
  34. package/dist/lib/request/response-outcome.d.ts +1 -1
  35. package/dist/lib/request/response-outcome.js +4 -1
  36. package/dist/lib/runtime/account-status.js +2 -1
  37. package/dist/lib/runtime/luna-reserve-usage.d.ts +9 -0
  38. package/dist/lib/runtime/luna-reserve-usage.js +68 -0
  39. package/dist/lib/runtime/model-discovery-status.d.ts +6 -2
  40. package/dist/lib/runtime/model-discovery-status.js +13 -5
  41. package/dist/lib/runtime/reset-credit-routing.js +4 -1
  42. package/dist/lib/runtime/rotation-server-types.d.ts +2 -0
  43. package/dist/lib/runtime/runtime-observability.d.ts +2 -0
  44. package/dist/lib/runtime/runtime-observability.js +1 -0
  45. package/dist/lib/runtime-rotation-proxy.js +200 -32
  46. package/dist/lib/usage/pricing.d.ts +1 -1
  47. package/dist/lib/usage/pricing.js +4 -0
  48. package/dist/lib/usage/usage-extraction.d.ts +2 -0
  49. package/dist/lib/usage/usage-extraction.js +25 -1
  50. package/dist/lib/utils.d.ts +1 -1
  51. package/dist/lib/utils.js +1 -1
  52. package/node_modules/@codex-ai/plugin/dist/index.d.ts +2 -2
  53. package/node_modules/@codex-ai/plugin/dist/index.js +2 -2
  54. package/node_modules/@codex-ai/plugin/dist/tool.d.ts +42 -42
  55. package/node_modules/@codex-ai/plugin/dist/tool.js +29 -29
  56. package/node_modules/@codex-ai/plugin/package.json +9 -9
  57. package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -4
  58. package/node_modules/@codex-ai/sdk/dist/index.js +2 -2
  59. package/node_modules/@codex-ai/sdk/package.json +8 -8
  60. package/package.json +207 -207
  61. package/scripts/codex-app-launcher.js +653 -653
  62. package/scripts/codex-app-router.js +374 -373
  63. package/scripts/codex-bin-resolver.js +332 -332
  64. package/scripts/codex-multi-auth.js +65 -65
  65. package/scripts/codex-routing.js +62 -62
  66. package/scripts/codex.js +7006 -7005
  67. package/scripts/install-codex-auth-utils.js +213 -213
  68. package/scripts/mcodex.js +367 -367
  69. package/scripts/postinstall.js +114 -114
  70. package/scripts/preuninstall.js +265 -265
  71. package/skills/codex-auth-setup/SKILL.md +73 -73
  72. package/vendor/codex-ai-plugin/dist/index.d.ts +2 -2
  73. package/vendor/codex-ai-plugin/dist/index.js +2 -2
  74. package/vendor/codex-ai-plugin/dist/tool.d.ts +42 -42
  75. package/vendor/codex-ai-plugin/dist/tool.js +29 -29
  76. package/vendor/codex-ai-plugin/package.json +9 -9
  77. package/vendor/codex-ai-sdk/dist/index.d.ts +4 -4
  78. package/vendor/codex-ai-sdk/dist/index.js +2 -2
  79. 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,62 @@
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
+ "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 };