oc-codex-multi-auth 6.21.0 → 6.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +729 -571
  3. package/assets/icon.svg +7 -7
  4. package/assets/opencode-logo-ornate-dark.svg +18 -18
  5. package/assets/readme-hero.svg +31 -31
  6. package/config/README.md +177 -177
  7. package/config/minimal-opencode.json +14 -14
  8. package/config/opencode-legacy.json +1496 -1496
  9. package/config/opencode-modern.json +555 -555
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +291 -53
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/account-display.d.ts +46 -0
  14. package/dist/lib/account-display.d.ts.map +1 -1
  15. package/dist/lib/account-display.js +260 -0
  16. package/dist/lib/account-display.js.map +1 -1
  17. package/dist/lib/accounts.d.ts +4 -0
  18. package/dist/lib/accounts.d.ts.map +1 -1
  19. package/dist/lib/accounts.js +20 -15
  20. package/dist/lib/accounts.js.map +1 -1
  21. package/dist/lib/auth/login-runner.d.ts.map +1 -1
  22. package/dist/lib/auth/login-runner.js +79 -2
  23. package/dist/lib/auth/login-runner.js.map +1 -1
  24. package/dist/lib/auto-update-checker.d.ts +17 -1
  25. package/dist/lib/auto-update-checker.d.ts.map +1 -1
  26. package/dist/lib/auto-update-checker.js +49 -3
  27. package/dist/lib/auto-update-checker.js.map +1 -1
  28. package/dist/lib/cli.d.ts +1 -0
  29. package/dist/lib/cli.d.ts.map +1 -1
  30. package/dist/lib/cli.js +9 -3
  31. package/dist/lib/cli.js.map +1 -1
  32. package/dist/lib/codex-usage.d.ts +4 -3
  33. package/dist/lib/codex-usage.d.ts.map +1 -1
  34. package/dist/lib/codex-usage.js +13 -11
  35. package/dist/lib/codex-usage.js.map +1 -1
  36. package/dist/lib/config.d.ts +75 -0
  37. package/dist/lib/config.d.ts.map +1 -1
  38. package/dist/lib/config.js +152 -1
  39. package/dist/lib/config.js.map +1 -1
  40. package/dist/lib/context-overflow.js +10 -10
  41. package/dist/lib/desktop-notifications.js +6 -6
  42. package/dist/lib/oauth-success.js +202 -202
  43. package/dist/lib/plan-allotment.d.ts +72 -0
  44. package/dist/lib/plan-allotment.d.ts.map +1 -0
  45. package/dist/lib/plan-allotment.js +142 -0
  46. package/dist/lib/plan-allotment.js.map +1 -0
  47. package/dist/lib/plugin-origin.d.ts +77 -0
  48. package/dist/lib/plugin-origin.d.ts.map +1 -0
  49. package/dist/lib/plugin-origin.js +301 -0
  50. package/dist/lib/plugin-origin.js.map +1 -0
  51. package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
  52. package/dist/lib/prompts/codex.js +75 -75
  53. package/dist/lib/quota-display.d.ts +40 -0
  54. package/dist/lib/quota-display.d.ts.map +1 -0
  55. package/dist/lib/quota-display.js +45 -0
  56. package/dist/lib/quota-display.js.map +1 -0
  57. package/dist/lib/quota-notifications.d.ts +2 -1
  58. package/dist/lib/quota-notifications.d.ts.map +1 -1
  59. package/dist/lib/quota-notifications.js +34 -14
  60. package/dist/lib/quota-notifications.js.map +1 -1
  61. package/dist/lib/quota-overview.d.ts +253 -0
  62. package/dist/lib/quota-overview.d.ts.map +1 -0
  63. package/dist/lib/quota-overview.js +707 -0
  64. package/dist/lib/quota-overview.js.map +1 -0
  65. package/dist/lib/request/retry-budget.d.ts +26 -0
  66. package/dist/lib/request/retry-budget.d.ts.map +1 -1
  67. package/dist/lib/request/retry-budget.js +43 -0
  68. package/dist/lib/request/retry-budget.js.map +1 -1
  69. package/dist/lib/schemas.d.ts +67 -0
  70. package/dist/lib/schemas.d.ts.map +1 -1
  71. package/dist/lib/schemas.js +53 -0
  72. package/dist/lib/schemas.js.map +1 -1
  73. package/dist/lib/storage/backup.d.ts +33 -0
  74. package/dist/lib/storage/backup.d.ts.map +1 -1
  75. package/dist/lib/storage/backup.js +43 -7
  76. package/dist/lib/storage/backup.js.map +1 -1
  77. package/dist/lib/storage/credential-snapshots.d.ts +78 -0
  78. package/dist/lib/storage/credential-snapshots.d.ts.map +1 -0
  79. package/dist/lib/storage/credential-snapshots.js +302 -0
  80. package/dist/lib/storage/credential-snapshots.js.map +1 -0
  81. package/dist/lib/storage/export-import.d.ts.map +1 -1
  82. package/dist/lib/storage/export-import.js +7 -0
  83. package/dist/lib/storage/export-import.js.map +1 -1
  84. package/dist/lib/storage/flagged.d.ts.map +1 -1
  85. package/dist/lib/storage/flagged.js +23 -1
  86. package/dist/lib/storage/flagged.js.map +1 -1
  87. package/dist/lib/storage/load-save.d.ts +4 -0
  88. package/dist/lib/storage/load-save.d.ts.map +1 -1
  89. package/dist/lib/storage/load-save.js +50 -0
  90. package/dist/lib/storage/load-save.js.map +1 -1
  91. package/dist/lib/storage/paths.d.ts +1 -0
  92. package/dist/lib/storage/paths.d.ts.map +1 -1
  93. package/dist/lib/storage/paths.js +1 -1
  94. package/dist/lib/storage/paths.js.map +1 -1
  95. package/dist/lib/storage/test-home-guard.d.ts +35 -0
  96. package/dist/lib/storage/test-home-guard.d.ts.map +1 -0
  97. package/dist/lib/storage/test-home-guard.js +59 -0
  98. package/dist/lib/storage/test-home-guard.js.map +1 -0
  99. package/dist/lib/tools/codex-dashboard.d.ts.map +1 -1
  100. package/dist/lib/tools/codex-dashboard.js +3 -2
  101. package/dist/lib/tools/codex-dashboard.js.map +1 -1
  102. package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
  103. package/dist/lib/tools/codex-doctor.js +16 -0
  104. package/dist/lib/tools/codex-doctor.js.map +1 -1
  105. package/dist/lib/tools/codex-health.d.ts.map +1 -1
  106. package/dist/lib/tools/codex-health.js +10 -2
  107. package/dist/lib/tools/codex-health.js.map +1 -1
  108. package/dist/lib/tools/codex-label.d.ts.map +1 -1
  109. package/dist/lib/tools/codex-label.js +1 -0
  110. package/dist/lib/tools/codex-label.js.map +1 -1
  111. package/dist/lib/tools/codex-limits.d.ts.map +1 -1
  112. package/dist/lib/tools/codex-limits.js +13 -9
  113. package/dist/lib/tools/codex-limits.js.map +1 -1
  114. package/dist/lib/tools/codex-list.d.ts.map +1 -1
  115. package/dist/lib/tools/codex-list.js +28 -3
  116. package/dist/lib/tools/codex-list.js.map +1 -1
  117. package/dist/lib/tools/codex-note.d.ts.map +1 -1
  118. package/dist/lib/tools/codex-note.js +4 -1
  119. package/dist/lib/tools/codex-note.js.map +1 -1
  120. package/dist/lib/tools/codex-pool.d.ts.map +1 -1
  121. package/dist/lib/tools/codex-pool.js +6 -2
  122. package/dist/lib/tools/codex-pool.js.map +1 -1
  123. package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
  124. package/dist/lib/tools/codex-refresh.js +4 -1
  125. package/dist/lib/tools/codex-refresh.js.map +1 -1
  126. package/dist/lib/tools/codex-remove.d.ts.map +1 -1
  127. package/dist/lib/tools/codex-remove.js +1 -0
  128. package/dist/lib/tools/codex-remove.js.map +1 -1
  129. package/dist/lib/tools/codex-reset.d.ts.map +1 -1
  130. package/dist/lib/tools/codex-reset.js +13 -7
  131. package/dist/lib/tools/codex-reset.js.map +1 -1
  132. package/dist/lib/tools/codex-status.d.ts.map +1 -1
  133. package/dist/lib/tools/codex-status.js +25 -2
  134. package/dist/lib/tools/codex-status.js.map +1 -1
  135. package/dist/lib/tools/codex-switch.d.ts.map +1 -1
  136. package/dist/lib/tools/codex-switch.js +1 -0
  137. package/dist/lib/tools/codex-switch.js.map +1 -1
  138. package/dist/lib/tools/codex-tag.d.ts.map +1 -1
  139. package/dist/lib/tools/codex-tag.js +4 -1
  140. package/dist/lib/tools/codex-tag.js.map +1 -1
  141. package/dist/lib/tools/codex-warm.d.ts.map +1 -1
  142. package/dist/lib/tools/codex-warm.js +1 -0
  143. package/dist/lib/tools/codex-warm.js.map +1 -1
  144. package/dist/lib/tools/index.d.ts +9 -0
  145. package/dist/lib/tools/index.d.ts.map +1 -1
  146. package/dist/lib/tools/index.js.map +1 -1
  147. package/dist/lib/tui-quota-cache.d.ts +35 -0
  148. package/dist/lib/tui-quota-cache.d.ts.map +1 -1
  149. package/dist/lib/tui-quota-cache.js +76 -11
  150. package/dist/lib/tui-quota-cache.js.map +1 -1
  151. package/dist/lib/tui-quota-overview.d.ts +55 -0
  152. package/dist/lib/tui-quota-overview.d.ts.map +1 -0
  153. package/dist/lib/tui-quota-overview.js +209 -0
  154. package/dist/lib/tui-quota-overview.js.map +1 -0
  155. package/dist/lib/tui-status.d.ts +55 -0
  156. package/dist/lib/tui-status.d.ts.map +1 -1
  157. package/dist/lib/tui-status.js +155 -14
  158. package/dist/lib/tui-status.js.map +1 -1
  159. package/dist/lib/ui/auth-menu.d.ts +2 -0
  160. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  161. package/dist/lib/ui/auth-menu.js +10 -6
  162. package/dist/lib/ui/auth-menu.js.map +1 -1
  163. package/dist/tui.d.ts +55 -0
  164. package/dist/tui.d.ts.map +1 -1
  165. package/dist/tui.js +511 -29
  166. package/dist/tui.js.map +1 -1
  167. package/package.json +155 -155
  168. package/scripts/audit-dev-allowlist.js +114 -114
  169. package/scripts/clean-dist.js +27 -27
  170. package/scripts/copy-oauth-success.js +47 -47
  171. package/scripts/install-oc-codex-multi-auth-core.js +2003 -1499
  172. package/scripts/install-oc-codex-multi-auth.js +37 -37
  173. package/scripts/test-all-models.sh +260 -260
  174. package/scripts/validate-model-map.sh +97 -97
@@ -1,27 +1,27 @@
1
- import { promises as fs } from "node:fs";
2
- import { dirname, relative, resolve } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
-
8
- function normalizeRelativePath(path) {
9
- return path.replaceAll("\\", "/");
10
- }
11
-
12
- export async function cleanDist(options = {}) {
13
- const repoRoot = resolve(options.repoRoot ?? resolve(__dirname, ".."));
14
- const distDir = resolve(options.distDir ?? resolve(repoRoot, "dist"));
15
- const relativeDist = normalizeRelativePath(relative(repoRoot, distDir));
16
-
17
- if (relativeDist !== "dist") {
18
- throw new Error(`Refusing to clean non-dist path: ${distDir}`);
19
- }
20
-
21
- await fs.rm(distDir, { recursive: true, force: true });
22
- return { distDir };
23
- }
24
-
25
- if (process.argv[1] && resolve(process.argv[1]) === __filename) {
26
- await cleanDist();
27
- }
1
+ import { promises as fs } from "node:fs";
2
+ import { dirname, relative, resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+
8
+ function normalizeRelativePath(path) {
9
+ return path.replaceAll("\\", "/");
10
+ }
11
+
12
+ export async function cleanDist(options = {}) {
13
+ const repoRoot = resolve(options.repoRoot ?? resolve(__dirname, ".."));
14
+ const distDir = resolve(options.distDir ?? resolve(repoRoot, "dist"));
15
+ const relativeDist = normalizeRelativePath(relative(repoRoot, distDir));
16
+
17
+ if (relativeDist !== "dist") {
18
+ throw new Error(`Refusing to clean non-dist path: ${distDir}`);
19
+ }
20
+
21
+ await fs.rm(distDir, { recursive: true, force: true });
22
+ return { distDir };
23
+ }
24
+
25
+ if (process.argv[1] && resolve(process.argv[1]) === __filename) {
26
+ await cleanDist();
27
+ }
@@ -1,47 +1,47 @@
1
- import { promises as fs } from "node:fs";
2
- import { dirname, join, resolve } from "node:path";
3
- import { fileURLToPath, pathToFileURL } from "node:url";
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
-
8
- function normalizePathForCompare(path) {
9
- const resolved = resolve(path);
10
- return process.platform === "win32" ? resolved.toLowerCase() : resolved;
11
- }
12
-
13
- function getDefaultPaths() {
14
- const modulePath = join(__dirname, "..", "dist", "lib", "oauth-success.js");
15
- const dest = join(__dirname, "..", "dist", "lib", "oauth-success.html");
16
- return { modulePath, dest };
17
- }
18
-
19
- async function loadOAuthSuccessHtml(modulePath) {
20
- const moduleUrl = pathToFileURL(modulePath).href;
21
- const mod = await import(moduleUrl);
22
- if (typeof mod.oauthSuccessHtml !== "string") {
23
- throw new TypeError(`Expected oauthSuccessHtml string export from ${modulePath}`);
24
- }
25
- return mod.oauthSuccessHtml;
26
- }
27
-
28
- export async function copyOAuthSuccessHtml(options = {}) {
29
- const defaults = getDefaultPaths();
30
- const modulePath = options.modulePath ?? defaults.modulePath;
31
- const dest = options.dest ?? defaults.dest;
32
- const html = options.html ?? (await loadOAuthSuccessHtml(modulePath));
33
-
34
- await fs.mkdir(dirname(dest), { recursive: true });
35
- await fs.writeFile(dest, html, "utf-8");
36
-
37
- return { modulePath, dest };
38
- }
39
-
40
- const isDirectRun = (() => {
41
- if (!process.argv[1]) return false;
42
- return normalizePathForCompare(process.argv[1]) === normalizePathForCompare(__filename);
43
- })();
44
-
45
- if (isDirectRun) {
46
- await copyOAuthSuccessHtml();
47
- }
1
+ import { promises as fs } from "node:fs";
2
+ import { dirname, join, resolve } from "node:path";
3
+ import { fileURLToPath, pathToFileURL } from "node:url";
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+
8
+ function normalizePathForCompare(path) {
9
+ const resolved = resolve(path);
10
+ return process.platform === "win32" ? resolved.toLowerCase() : resolved;
11
+ }
12
+
13
+ function getDefaultPaths() {
14
+ const modulePath = join(__dirname, "..", "dist", "lib", "oauth-success.js");
15
+ const dest = join(__dirname, "..", "dist", "lib", "oauth-success.html");
16
+ return { modulePath, dest };
17
+ }
18
+
19
+ async function loadOAuthSuccessHtml(modulePath) {
20
+ const moduleUrl = pathToFileURL(modulePath).href;
21
+ const mod = await import(moduleUrl);
22
+ if (typeof mod.oauthSuccessHtml !== "string") {
23
+ throw new TypeError(`Expected oauthSuccessHtml string export from ${modulePath}`);
24
+ }
25
+ return mod.oauthSuccessHtml;
26
+ }
27
+
28
+ export async function copyOAuthSuccessHtml(options = {}) {
29
+ const defaults = getDefaultPaths();
30
+ const modulePath = options.modulePath ?? defaults.modulePath;
31
+ const dest = options.dest ?? defaults.dest;
32
+ const html = options.html ?? (await loadOAuthSuccessHtml(modulePath));
33
+
34
+ await fs.mkdir(dirname(dest), { recursive: true });
35
+ await fs.writeFile(dest, html, "utf-8");
36
+
37
+ return { modulePath, dest };
38
+ }
39
+
40
+ const isDirectRun = (() => {
41
+ if (!process.argv[1]) return false;
42
+ return normalizePathForCompare(process.argv[1]) === normalizePathForCompare(__filename);
43
+ })();
44
+
45
+ if (isDirectRun) {
46
+ await copyOAuthSuccessHtml();
47
+ }