@slkiser/opencode-quota 3.7.1 → 3.8.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 (67) hide show
  1. package/README.md +7 -3
  2. package/dist/lib/entries.d.ts +9 -1
  3. package/dist/lib/entries.d.ts.map +1 -1
  4. package/dist/lib/google-gemini-cli-companion.d.ts.map +1 -1
  5. package/dist/lib/google-gemini-cli-companion.js +43 -6
  6. package/dist/lib/google-gemini-cli-companion.js.map +1 -1
  7. package/dist/lib/jsonc.d.ts.map +1 -1
  8. package/dist/lib/jsonc.js +2 -1
  9. package/dist/lib/jsonc.js.map +1 -1
  10. package/dist/lib/minimax-auth.d.ts +18 -8
  11. package/dist/lib/minimax-auth.d.ts.map +1 -1
  12. package/dist/lib/minimax-auth.js +124 -45
  13. package/dist/lib/minimax-auth.js.map +1 -1
  14. package/dist/lib/minimax-endpoints.d.ts +10 -0
  15. package/dist/lib/minimax-endpoints.d.ts.map +1 -0
  16. package/dist/lib/minimax-endpoints.js +19 -0
  17. package/dist/lib/minimax-endpoints.js.map +1 -0
  18. package/dist/lib/provider-metadata.d.ts +1 -1
  19. package/dist/lib/provider-metadata.d.ts.map +1 -1
  20. package/dist/lib/provider-metadata.js +29 -0
  21. package/dist/lib/provider-metadata.js.map +1 -1
  22. package/dist/lib/quota-render-data.d.ts +1 -0
  23. package/dist/lib/quota-render-data.d.ts.map +1 -1
  24. package/dist/lib/quota-render-data.js +13 -4
  25. package/dist/lib/quota-render-data.js.map +1 -1
  26. package/dist/lib/quota-runtime-context.d.ts.map +1 -1
  27. package/dist/lib/quota-runtime-context.js +3 -0
  28. package/dist/lib/quota-runtime-context.js.map +1 -1
  29. package/dist/lib/quota-stats.d.ts +4 -0
  30. package/dist/lib/quota-stats.d.ts.map +1 -1
  31. package/dist/lib/quota-stats.js +21 -5
  32. package/dist/lib/quota-stats.js.map +1 -1
  33. package/dist/lib/quota-status.d.ts.map +1 -1
  34. package/dist/lib/quota-status.js +124 -45
  35. package/dist/lib/quota-status.js.map +1 -1
  36. package/dist/lib/session-tokens-format.d.ts.map +1 -1
  37. package/dist/lib/session-tokens-format.js +19 -5
  38. package/dist/lib/session-tokens-format.js.map +1 -1
  39. package/dist/lib/session-tokens.d.ts.map +1 -1
  40. package/dist/lib/session-tokens.js +2 -0
  41. package/dist/lib/session-tokens.js.map +1 -1
  42. package/dist/lib/tui-compact-format.d.ts.map +1 -1
  43. package/dist/lib/tui-compact-format.js +6 -1
  44. package/dist/lib/tui-compact-format.js.map +1 -1
  45. package/dist/lib/types.d.ts +6 -0
  46. package/dist/lib/types.d.ts.map +1 -1
  47. package/dist/lib/types.js.map +1 -1
  48. package/dist/lib/zhipu-auth.d.ts +38 -0
  49. package/dist/lib/zhipu-auth.d.ts.map +1 -0
  50. package/dist/lib/zhipu-auth.js +107 -0
  51. package/dist/lib/zhipu-auth.js.map +1 -0
  52. package/dist/lib/zhipu.d.ts +11 -0
  53. package/dist/lib/zhipu.d.ts.map +1 -0
  54. package/dist/lib/zhipu.js +87 -0
  55. package/dist/lib/zhipu.js.map +1 -0
  56. package/dist/providers/minimax-coding-plan.d.ts +4 -0
  57. package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
  58. package/dist/providers/minimax-coding-plan.js +106 -56
  59. package/dist/providers/minimax-coding-plan.js.map +1 -1
  60. package/dist/providers/registry.d.ts.map +1 -1
  61. package/dist/providers/registry.js +4 -1
  62. package/dist/providers/registry.js.map +1 -1
  63. package/dist/providers/zhipu.d.ts +8 -0
  64. package/dist/providers/zhipu.d.ts.map +1 -0
  65. package/dist/providers/zhipu.js +79 -0
  66. package/dist/providers/zhipu.js.map +1 -0
  67. package/package.json +1 -1
package/README.md CHANGED
@@ -200,6 +200,7 @@ Most providers work automatically. If a provider has a “Needs setup” link, o
200
200
  | Qwen Code | [Needs setup](#qwen-code) | Local estimation |
201
201
  | Alibaba Coding Plan | Automatic | Local estimation |
202
202
  | MiniMax Coding Plan | Automatic | Remote API |
203
+ | MiniMax Coding Plan (CN) | Automatic | Remote API |
203
204
  | Kimi Code | Automatic | Remote API |
204
205
  | Chutes AI | Usually automatic | Remote API |
205
206
  | Crof.ai | Manual env/config | Remote API |
@@ -207,6 +208,7 @@ Most providers work automatically. If a provider has a “Needs setup” link, o
207
208
  | Google Antigravity | [Needs setup](#google-antigravity) | Remote API |
208
209
  | Gemini CLI | [Needs setup](#gemini-cli) | Remote API |
209
210
  | Z.ai Coding Plan | Automatic | Remote API |
211
+ | Zhipu Coding Plan | Automatic | Remote API |
210
212
  | NanoGPT | Usually automatic | Remote API |
211
213
  | OpenCode Go | [Needs setup](#opencode-go) | Dashboard scraping |
212
214
 
@@ -344,7 +346,7 @@ Existing `experimental.quotaToast` settings still work when no sidecar file exis
344
346
  | `formatStyle` | `singleWindow` | Shared quota reset-period display for popup toasts and the Sidebar panel: `singleWindow` shows one reset period per provider; `allWindows` shows all reset periods per provider. Legacy `classic`/`grouped` aliases are still accepted. |
345
347
  | `percentDisplayMode` | `remaining` | Shared quota percentage meaning for popup toasts and the Sidebar panel: `remaining` shows quota left; `used` shows quota consumed. `/quota` keeps its existing remaining-percent output. |
346
348
  | `onlyCurrentModel` | `false` | Filter quota rows to the current model/provider when that session selection can be resolved. |
347
- | `showSessionTokens` | `true` | Show the `Session input/output tokens` section when session token data is available. |
349
+ | `showSessionTokens` | `true` | Show the `Session input/output tokens` section when session token data is available. When cached input is present, the section keeps the legacy `in/out` layout and appends cached input in parentheses next to the input amount. |
348
350
  | `pricingSnapshot.source` | `"auto"` | Token pricing snapshot selection for `/tokens_*`: `auto`, `bundled`, or `runtime`. |
349
351
  | `pricingSnapshot.autoRefresh` | `7` | Refresh stale local pricing data after this many days. |
350
352
 
@@ -572,18 +574,20 @@ Run `/quota_status` and check the Alibaba auth, resolved tier, state-file path,
572
574
  </details>
573
575
 
574
576
  <details>
575
- <summary><strong>MiniMax, Kimi, Chutes AI, Crof.ai, Synthetic, Z.ai, and NanoGPT</strong></summary>
577
+ <summary><strong>MiniMax, Kimi, Chutes AI, Crof.ai, Synthetic, Z.ai, Zhipu, and NanoGPT</strong></summary>
576
578
 
577
579
  These providers use trusted env vars, trusted user/global OpenCode config, or native OpenCode auth. Run `/quota_status` and check the provider-specific API-key diagnostics. Crof.ai is env/config only.
578
580
 
579
581
  | Provider | Useful checks |
580
582
  | --- | --- |
581
- | MiniMax Coding Plan | Use `MINIMAX_CODING_PLAN_API_KEY` or `MINIMAX_API_KEY`; repo-local provider secrets are ignored. |
583
+ | MiniMax Coding Plan | Use `MINIMAX_CODING_PLAN_API_KEY` or `MINIMAX_API_KEY` for the international endpoint. Runtime/config ids like `minimax` and `minimax-coding-plan` use this provider. Repo-local provider secrets are ignored. |
584
+ | MiniMax Coding Plan (CN) | Use `MINIMAX_CHINA_CODING_PLAN_API_KEY` or trusted user/global OpenCode config under `minimax-china-coding-plan`, `minimax-cn-coding-plan`, `minimax-cn`, or `minimax-china`. Runtime id `minimax-cn-coding-plan` uses this provider. |
582
585
  | Kimi Code | Use `KIMI_API_KEY` or `KIMI_CODE_API_KEY`; repo-local provider secrets are ignored. |
583
586
  | Chutes AI | Use `CHUTES_API_KEY` or trusted user/global config. |
584
587
  | Crof.ai | Use `CROF_API_KEY`, `CROFAI_API_KEY`, or trusted user/global config. |
585
588
  | Synthetic | Use `SYNTHETIC_API_KEY`, trusted user/global config, or OpenCode auth. |
586
589
  | Z.ai Coding Plan | Use `ZAI_API_KEY` or `ZAI_CODING_PLAN_API_KEY`; malformed fallback auth is surfaced as an auth error. |
590
+ | Zhipu Coding Plan | Use `ZHIPU_API_KEY` or `ZHIPU_CODING_PLAN_API_KEY`; malformed fallback auth is surfaced as an auth error. |
587
591
  | NanoGPT | Use `NANOGPT_API_KEY`, `NANO_GPT_API_KEY`, trusted user/global config, or OpenCode auth. |
588
592
 
589
593
  For security, repo-local `opencode.json` / `opencode.jsonc` is ignored for provider secrets in these integrations. Put secrets in environment variables or trusted user/global config.
@@ -50,12 +50,16 @@ export interface QuotaToastError {
50
50
  export interface SessionTokenModel {
51
51
  modelID: string;
52
52
  input: number;
53
+ cachedInput?: number;
54
+ totalInput?: number;
53
55
  output: number;
54
56
  }
55
57
  /** Session tokens data for toast display. */
56
58
  export interface SessionTokensData {
57
59
  models: SessionTokenModel[];
58
60
  totalInput: number;
61
+ totalCachedInput?: number;
62
+ totalCombinedInput?: number;
59
63
  totalOutput: number;
60
64
  }
61
65
  export interface QuotaProviderPresentation {
@@ -69,6 +73,9 @@ export interface QuotaProviderResult {
69
73
  errors: QuotaToastError[];
70
74
  presentation?: QuotaProviderPresentation;
71
75
  }
76
+ export interface QuotaProviderMatchContext {
77
+ enabledProviders: string[] | "auto";
78
+ }
72
79
  export interface QuotaProviderContext {
73
80
  client: {
74
81
  config: {
@@ -100,6 +107,7 @@ export interface QuotaProviderContext {
100
107
  onlyCurrentModel?: boolean;
101
108
  currentModel?: string;
102
109
  currentProviderID?: string;
110
+ enabledProviders: string[] | "auto";
103
111
  };
104
112
  }
105
113
  export interface QuotaProvider {
@@ -110,6 +118,6 @@ export interface QuotaProvider {
110
118
  /** Fetch and normalize quota for this provider */
111
119
  fetch: (ctx: QuotaProviderContext) => Promise<QuotaProviderResult>;
112
120
  /** Optional provider match for onlyCurrentModel filtering */
113
- matchesCurrentModel?: (model: string) => boolean;
121
+ matchesCurrentModel?: (model: string, context?: QuotaProviderMatchContext) => boolean;
114
122
  }
115
123
  //# sourceMappingURL=entries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvE;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GACvB,CAAC,qBAAqB,GAAG;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IAEb,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC;IAEzB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,GACF,CAAC,qBAAqB,GAAG;IACvB,0CAA0C;IAC1C,IAAI,EAAE,OAAO,CAAC;IAEd,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IAEd,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEP,wBAAgB,YAAY,CAC1B,CAAC,EAAE,eAAe,GACjB,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAElD;AAED,wBAAgB,cAAc,CAC5B,CAAC,EAAE,eAAe,GACjB,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAE7D;AAED,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE;QACN,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,CAAC,EAAE;oBAAE,SAAS,EAAE,KAAK,CAAC;wBAAE,EAAE,EAAE,MAAM,CAAA;qBAAE,CAAC,CAAA;iBAAE,CAAA;aAAE,CAAC,CAAC;YAC1E,GAAG,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,CAAC,EAAE;oBAAE,KAAK,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;aAAE,CAAC,CAAC;SACnD,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,qBAAqB,EAAE,MAAM,GAAG,KAAK,CAAC;QACtC,UAAU,EAAE,eAAe,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mFAAmF;QACnF,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IAEX,8DAA8D;IAC9D,WAAW,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D,kDAAkD;IAClD,KAAK,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEnE,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"google-gemini-cli-companion.d.ts","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,0BAA0B,GAClC;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,8BAA8B,GAC9B;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqNN,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAG7F;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAG7F;AAED,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
1
+ {"version":3,"file":"google-gemini-cli-companion.d.ts","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,0BAA0B,GAClC;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,8BAA8B,GAC9B;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AA2PN,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAG7F;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAG7F;AAED,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
@@ -25,6 +25,15 @@ function isModuleNotFoundError(error) {
25
25
  const message = error instanceof Error ? error.message : "";
26
26
  return message.includes("Cannot find module");
27
27
  }
28
+ function isPackagePathNotExportedError(error) {
29
+ if (!error || typeof error !== "object") {
30
+ return false;
31
+ }
32
+ return "code" in error && error.code === "ERR_PACKAGE_PATH_NOT_EXPORTED";
33
+ }
34
+ function isFallthroughResolutionError(error) {
35
+ return isModuleNotFoundError(error) || isPackagePathNotExportedError(error);
36
+ }
28
37
  function normalizeCredential(value) {
29
38
  return typeof value === "string" ? value.trim() : "";
30
39
  }
@@ -73,12 +82,15 @@ function buildInvalidState(importSpecifier, resolvedPath) {
73
82
  };
74
83
  }
75
84
  function parseSourceCredentials(content) {
76
- const clientId = content.match(/export\s+const\s+GEMINI_CLIENT_ID\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
77
- const clientSecret = content.match(/export\s+const\s+GEMINI_CLIENT_SECRET\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
85
+ const clientId = content.match(/(?:export\s+const|var)\s+GEMINI_CLIENT_ID\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
86
+ const clientSecret = content.match(/(?:export\s+const|var)\s+GEMINI_CLIENT_SECRET\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
78
87
  return clientId && clientSecret ? { clientId, clientSecret } : null;
79
88
  }
80
89
  function getRuntimeSourceConstantPaths() {
81
- return getCompanionResolvePaths().map((cacheDir) => join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "src", "constants.ts"));
90
+ return getCompanionResolvePaths().flatMap((cacheDir) => [
91
+ join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "src", "constants.ts"),
92
+ join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "dist", "index.js"),
93
+ ]);
82
94
  }
83
95
  async function tryReadSourceConstantsPath(resolvedPath) {
84
96
  try {
@@ -104,7 +116,7 @@ async function tryResolveJsConstants(importSpecifier) {
104
116
  resolvedPath = resolveCompanionSpecifier(importSpecifier);
105
117
  }
106
118
  catch (error) {
107
- if (isModuleNotFoundError(error)) {
119
+ if (isFallthroughResolutionError(error)) {
108
120
  return null;
109
121
  }
110
122
  return buildInvalidState(importSpecifier);
@@ -129,7 +141,7 @@ async function tryResolveSourceConstants() {
129
141
  resolvedPath = require.resolve(COMPANION_SOURCE_IMPORT_SPECIFIER);
130
142
  }
131
143
  catch (error) {
132
- if (!isModuleNotFoundError(error)) {
144
+ if (!isFallthroughResolutionError(error)) {
133
145
  return buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
134
146
  }
135
147
  for (const candidatePath of getRuntimeSourceConstantPaths()) {
@@ -140,9 +152,34 @@ async function tryResolveSourceConstants() {
140
152
  }
141
153
  try {
142
154
  const packageJsonPath = resolveCompanionSpecifier(COMPANION_PACKAGE_JSON_SPECIFIER);
143
- resolvedPath = join(dirname(packageJsonPath), "src", "constants.ts");
155
+ const packageRoot = dirname(packageJsonPath);
156
+ for (const candidatePath of [
157
+ join(packageRoot, "src", "constants.ts"),
158
+ join(packageRoot, "dist", "index.js"),
159
+ ]) {
160
+ const packageResolved = await tryReadSourceConstantsPath(candidatePath);
161
+ if (packageResolved) {
162
+ return packageResolved;
163
+ }
164
+ }
165
+ resolvedPath = join(packageRoot, "src", "constants.ts");
144
166
  }
145
167
  catch (packageError) {
168
+ if (isPackagePathNotExportedError(packageError)) {
169
+ try {
170
+ const packageEntryPath = resolveCompanionSpecifier(COMPANION_PACKAGE_NAME);
171
+ const packageEntryResolved = await tryReadSourceConstantsPath(packageEntryPath);
172
+ if (packageEntryResolved) {
173
+ return packageEntryResolved;
174
+ }
175
+ return buildInvalidState(COMPANION_PACKAGE_NAME, packageEntryPath);
176
+ }
177
+ catch (packageEntryError) {
178
+ return isModuleNotFoundError(packageEntryError)
179
+ ? null
180
+ : buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
181
+ }
182
+ }
146
183
  return isModuleNotFoundError(packageError)
147
184
  ? null
148
185
  : buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
@@ -1 +1 @@
1
- {"version":3,"file":"google-gemini-cli-companion.js","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-gemini-cli-companion.js","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiD3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG3D"}
1
+ {"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiD3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG3D"}
package/dist/lib/jsonc.js CHANGED
@@ -1,4 +1,5 @@
1
- import { parse, stringify } from "comment-json";
1
+ import commentJson from "comment-json";
2
+ const { parse, stringify } = commentJson;
2
3
  /**
3
4
  * Strip trailing commas from JSON content.
4
5
  * Removes commas that appear before closing brackets/braces,
@@ -1 +1 @@
1
- {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,2BAA2B;QAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrC,cAAc,EAAE,CAAC;gBACjB,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,IAAI,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,mFAAmF;YACnF,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrE,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;QACf,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAgB;IAChE,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,8EAA8E;IAC9E,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,2BAA2B;QAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrC,cAAc,EAAE,CAAC;gBACjB,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,IAAI,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,mFAAmF;YACnF,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrE,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;QACf,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAgB;IAChE,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,8EAA8E;IAC9E,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC"}
@@ -3,16 +3,19 @@
3
3
  *
4
4
  * Resolves MiniMax credentials from trusted env vars, trusted user/global
5
5
  * OpenCode config, and auth.json fallback into the standardized shape used
6
- * by the MiniMax Coding Plan provider.
6
+ * by the MiniMax Coding Plan providers.
7
7
  */
8
+ import type { MiniMaxQuotaEndpointId } from "./minimax-endpoints.js";
8
9
  import type { AuthData } from "./types.js";
9
10
  export declare const DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS = 5000;
10
- export type MiniMaxKeySource = "env:MINIMAX_CODING_PLAN_API_KEY" | "env:MINIMAX_API_KEY" | "opencode.json" | "opencode.jsonc" | "auth.json";
11
+ export type MiniMaxKeySource = "env:MINIMAX_CHINA_CODING_PLAN_API_KEY" | "env:MINIMAX_CODING_PLAN_API_KEY" | "env:MINIMAX_API_KEY" | "opencode.json" | "opencode.jsonc" | "auth.json";
12
+ type MiniMaxInvalidSource = "opencode.json" | "opencode.jsonc" | "auth.json";
11
13
  export type ResolvedMiniMaxAuth = {
12
14
  state: "none";
13
15
  } | {
14
16
  state: "configured";
15
17
  apiKey: string;
18
+ endpoint: MiniMaxQuotaEndpointId;
16
19
  } | {
17
20
  state: "invalid";
18
21
  error: string;
@@ -25,28 +28,35 @@ export type MiniMaxAuthDiagnostics = {
25
28
  } | {
26
29
  state: "configured";
27
30
  source: MiniMaxKeySource;
31
+ endpoint: MiniMaxQuotaEndpointId;
28
32
  checkedPaths: string[];
29
33
  authPaths: string[];
30
34
  } | {
31
35
  state: "invalid";
32
- source: "auth.json";
36
+ source: MiniMaxInvalidSource;
33
37
  checkedPaths: string[];
34
38
  authPaths: string[];
35
39
  error: string;
36
40
  };
37
41
  export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
38
42
  /**
39
- * Resolve MiniMax auth from the full auth data.
40
- *
41
- * Returns `"none"` when no minimax-coding-plan entry exists,
42
- * `"invalid"` when the entry exists but has wrong type or empty credentials,
43
- * and `"configured"` when a usable API key is found.
43
+ * Resolve international MiniMax auth from the full auth data.
44
44
  */
45
45
  export declare function resolveMiniMaxAuth(auth: AuthData | null | undefined): ResolvedMiniMaxAuth;
46
+ /**
47
+ * Resolve MiniMax China auth from the full auth data.
48
+ */
49
+ export declare function resolveMiniMaxChinaAuth(auth: AuthData | null | undefined): ResolvedMiniMaxAuth;
46
50
  export declare function resolveMiniMaxAuthCached(params?: {
47
51
  maxAgeMs?: number;
48
52
  }): Promise<ResolvedMiniMaxAuth>;
53
+ export declare function resolveMiniMaxChinaAuthCached(params?: {
54
+ maxAgeMs?: number;
55
+ }): Promise<ResolvedMiniMaxAuth>;
49
56
  export declare function getMiniMaxAuthDiagnostics(params?: {
50
57
  maxAgeMs?: number;
51
58
  }): Promise<MiniMaxAuthDiagnostics>;
59
+ export declare function getMiniMaxChinaAuthDiagnostics(params?: {
60
+ maxAgeMs?: number;
61
+ }): Promise<MiniMaxAuthDiagnostics>;
52
62
  //# sourceMappingURL=minimax-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimax-auth.d.ts","sourceRoot":"","sources":["../../src/lib/minimax-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAI5D,eAAO,MAAM,qCAAqC,OAAQ,CAAC;AAK3D,MAAM,MAAM,gBAAgB,GACxB,iCAAiC,GACjC,qBAAqB,GACrB,eAAe,GACf,gBAAgB,GAChB,WAAW,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAC9B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,OAAO,EAAE,qCAAqC,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAqBjH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,CA2BzF;AA0CD,wBAAsB,wBAAwB,CAAC,MAAM,CAAC,EAAE;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE/B;AAED,wBAAsB,yBAAyB,CAAC,MAAM,CAAC,EAAE;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAiClC"}
1
+ {"version":3,"file":"minimax-auth.d.ts","sourceRoot":"","sources":["../../src/lib/minimax-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAI5D,eAAO,MAAM,qCAAqC,OAAQ,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GACxB,uCAAuC,GACvC,iCAAiC,GACjC,qBAAqB,GACrB,eAAe,GACf,gBAAgB,GAChB,WAAW,CAAC;AAEhB,KAAK,oBAAoB,GAAG,eAAe,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAE,GACzE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAC9B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,OAAO,EAAE,qCAAqC,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AA0JjH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,CAEzF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,CAE9F;AAsCD,wBAAsB,wBAAwB,CAAC,MAAM,CAAC,EAAE;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE/B;AAED,wBAAsB,6BAA6B,CAAC,MAAM,CAAC,EAAE;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAE/B;AA2CD,wBAAsB,yBAAyB,CAAC,MAAM,CAAC,EAAE;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAElC;AAED,wBAAsB,8BAA8B,CAAC,MAAM,CAAC,EAAE;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAElC"}
@@ -3,18 +3,43 @@
3
3
  *
4
4
  * Resolves MiniMax credentials from trusted env vars, trusted user/global
5
5
  * OpenCode config, and auth.json fallback into the standardized shape used
6
- * by the MiniMax Coding Plan provider.
6
+ * by the MiniMax Coding Plan providers.
7
7
  */
8
- import { extractProviderOptionsApiKey, getApiKeyCheckedPaths, getFirstAuthEntryValue, getGlobalOpencodeConfigCandidatePaths, resolveApiKeyFromEnvAndConfig, } from "./api-key-resolver.js";
8
+ import { getApiKeyCheckedPaths, getFirstAuthEntryValue, getGlobalOpencodeConfigCandidatePaths, readOpencodeConfig, } from "./api-key-resolver.js";
9
+ import { resolveEnvTemplate } from "./env-template.js";
9
10
  import { sanitizeDisplayText } from "./display-sanitize.js";
10
11
  import { getAuthPaths, readAuthFileCached } from "./opencode-auth.js";
11
12
  export const DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS = 5_000;
12
- const MINIMAX_AUTH_KEYS = ["minimax-coding-plan"];
13
- const MINIMAX_PROVIDER_KEYS = ["minimax-coding-plan", "minimax"];
14
- const ALLOWED_MINIMAX_ENV_VARS = ["MINIMAX_CODING_PLAN_API_KEY", "MINIMAX_API_KEY"];
15
13
  export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
16
- function getMiniMaxAuthEntry(auth) {
17
- return getFirstAuthEntryValue(auth, MINIMAX_AUTH_KEYS);
14
+ const MINIMAX_AUTH_SPEC = {
15
+ endpoint: "international",
16
+ authKeys: ["minimax-coding-plan"],
17
+ providerKeys: ["minimax-coding-plan", "minimax"],
18
+ envVars: [
19
+ { name: "MINIMAX_CODING_PLAN_API_KEY", source: "env:MINIMAX_CODING_PLAN_API_KEY" },
20
+ { name: "MINIMAX_API_KEY", source: "env:MINIMAX_API_KEY" },
21
+ ],
22
+ allowedEnvVars: ["MINIMAX_CODING_PLAN_API_KEY", "MINIMAX_API_KEY"],
23
+ };
24
+ const MINIMAX_CHINA_AUTH_SPEC = {
25
+ endpoint: "china",
26
+ authKeys: ["minimax-china-coding-plan", "minimax-cn-coding-plan"],
27
+ providerKeys: [
28
+ "minimax-china-coding-plan",
29
+ "minimax-cn-coding-plan",
30
+ "minimax-cn",
31
+ "minimax-china",
32
+ ],
33
+ envVars: [
34
+ {
35
+ name: "MINIMAX_CHINA_CODING_PLAN_API_KEY",
36
+ source: "env:MINIMAX_CHINA_CODING_PLAN_API_KEY",
37
+ },
38
+ ],
39
+ allowedEnvVars: ["MINIMAX_CHINA_CODING_PLAN_API_KEY"],
40
+ };
41
+ function getMiniMaxAuthEntry(auth, spec) {
42
+ return getFirstAuthEntryValue(auth, spec.authKeys);
18
43
  }
19
44
  function isMiniMaxAuthData(value) {
20
45
  return value !== null && typeof value === "object";
@@ -28,15 +53,53 @@ function sanitizeMiniMaxAuthValue(value) {
28
53
  const sanitized = sanitizeDisplayText(value).replace(/\s+/g, " ").trim();
29
54
  return (sanitized || "unknown").slice(0, 120);
30
55
  }
31
- /**
32
- * Resolve MiniMax auth from the full auth data.
33
- *
34
- * Returns `"none"` when no minimax-coding-plan entry exists,
35
- * `"invalid"` when the entry exists but has wrong type or empty credentials,
36
- * and `"configured"` when a usable API key is found.
37
- */
38
- export function resolveMiniMaxAuth(auth) {
39
- const minimax = getMiniMaxAuthEntry(auth);
56
+ function asRecord(value) {
57
+ return value !== null && typeof value === "object" ? value : null;
58
+ }
59
+ function getConfigOptionString(options, key) {
60
+ const value = options[key];
61
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
62
+ }
63
+ function extractMiniMaxConfigAuth(config, spec) {
64
+ const provider = asRecord(asRecord(config)?.provider);
65
+ if (!provider)
66
+ return null;
67
+ for (const providerKey of spec.providerKeys) {
68
+ const options = asRecord(asRecord(provider[providerKey])?.options);
69
+ if (!options)
70
+ continue;
71
+ const apiKey = getConfigOptionString(options, "apiKey");
72
+ if (!apiKey)
73
+ continue;
74
+ const resolvedApiKey = resolveEnvTemplate(apiKey, spec.allowedEnvVars);
75
+ if (!resolvedApiKey)
76
+ continue;
77
+ return {
78
+ state: "configured",
79
+ apiKey: resolvedApiKey,
80
+ endpoint: spec.endpoint,
81
+ };
82
+ }
83
+ return null;
84
+ }
85
+ async function resolveMiniMaxConfigAuth(spec) {
86
+ const candidates = getGlobalOpencodeConfigCandidatePaths();
87
+ for (const candidate of candidates) {
88
+ const result = await readOpencodeConfig(candidate.path, candidate.isJsonc);
89
+ if (!result)
90
+ continue;
91
+ const configAuth = extractMiniMaxConfigAuth(result.config, spec);
92
+ if (!configAuth)
93
+ continue;
94
+ return {
95
+ ...configAuth,
96
+ source: result.isJsonc ? "opencode.jsonc" : "opencode.json",
97
+ };
98
+ }
99
+ return null;
100
+ }
101
+ function resolveMiniMaxAuthForSpec(auth, spec) {
102
+ const minimax = getMiniMaxAuthEntry(auth, spec);
40
103
  if (minimax === null || minimax === undefined) {
41
104
  return { state: "none" };
42
105
  }
@@ -56,48 +119,57 @@ export function resolveMiniMaxAuth(auth) {
56
119
  if (!credential) {
57
120
  return { state: "invalid", error: "MiniMax auth entry present but credentials are empty" };
58
121
  }
59
- return { state: "configured", apiKey: credential };
60
- }
61
- async function resolveMiniMaxAuthWithSource(params) {
62
- const resolvedFromEnvOrConfig = await resolveApiKeyFromEnvAndConfig({
63
- envVars: [
64
- {
65
- name: "MINIMAX_CODING_PLAN_API_KEY",
66
- source: "env:MINIMAX_CODING_PLAN_API_KEY",
67
- },
68
- { name: "MINIMAX_API_KEY", source: "env:MINIMAX_API_KEY" },
69
- ],
70
- extractFromConfig: (config) => extractProviderOptionsApiKey(config, {
71
- providerKeys: MINIMAX_PROVIDER_KEYS,
72
- allowedEnvVars: ALLOWED_MINIMAX_ENV_VARS,
73
- }),
74
- configJsonSource: "opencode.json",
75
- configJsoncSource: "opencode.jsonc",
76
- getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
77
- });
78
- if (resolvedFromEnvOrConfig) {
122
+ return { state: "configured", apiKey: credential, endpoint: spec.endpoint };
123
+ }
124
+ /**
125
+ * Resolve international MiniMax auth from the full auth data.
126
+ */
127
+ export function resolveMiniMaxAuth(auth) {
128
+ return resolveMiniMaxAuthForSpec(auth, MINIMAX_AUTH_SPEC);
129
+ }
130
+ /**
131
+ * Resolve MiniMax China auth from the full auth data.
132
+ */
133
+ export function resolveMiniMaxChinaAuth(auth) {
134
+ return resolveMiniMaxAuthForSpec(auth, MINIMAX_CHINA_AUTH_SPEC);
135
+ }
136
+ async function resolveMiniMaxAuthWithSource(spec, params) {
137
+ for (const envVar of spec.envVars) {
138
+ const envKey = process.env[envVar.name]?.trim();
139
+ if (envKey) {
140
+ return {
141
+ auth: { state: "configured", apiKey: envKey, endpoint: spec.endpoint },
142
+ source: envVar.source,
143
+ };
144
+ }
145
+ }
146
+ const configAuth = await resolveMiniMaxConfigAuth(spec);
147
+ if (configAuth) {
79
148
  return {
80
- auth: { state: "configured", apiKey: resolvedFromEnvOrConfig.key },
81
- source: resolvedFromEnvOrConfig.source,
149
+ auth: { state: "configured", apiKey: configAuth.apiKey, endpoint: configAuth.endpoint },
150
+ source: configAuth.source,
82
151
  };
83
152
  }
84
153
  const maxAgeMs = Math.max(0, params?.maxAgeMs ?? DEFAULT_MINIMAX_AUTH_CACHE_MAX_AGE_MS);
85
154
  const authData = await readAuthFileCached({
86
155
  maxAgeMs,
87
156
  });
88
- const auth = resolveMiniMaxAuth(authData);
157
+ const auth = resolveMiniMaxAuthForSpec(authData, spec);
89
158
  return {
90
159
  auth,
91
160
  source: auth.state === "none" ? null : "auth.json",
92
161
  };
93
162
  }
94
163
  export async function resolveMiniMaxAuthCached(params) {
95
- return (await resolveMiniMaxAuthWithSource(params)).auth;
164
+ return (await resolveMiniMaxAuthWithSource(MINIMAX_AUTH_SPEC, params)).auth;
96
165
  }
97
- export async function getMiniMaxAuthDiagnostics(params) {
98
- const { auth, source } = await resolveMiniMaxAuthWithSource(params);
166
+ export async function resolveMiniMaxChinaAuthCached(params) {
167
+ return (await resolveMiniMaxAuthWithSource(MINIMAX_CHINA_AUTH_SPEC, params)).auth;
168
+ }
169
+ async function getMiniMaxAuthDiagnosticsForSpec(spec, params) {
170
+ const { auth, source } = await resolveMiniMaxAuthWithSource(spec, params);
99
171
  const checkedPaths = getApiKeyCheckedPaths({
100
- envVarNames: [...ALLOWED_MINIMAX_ENV_VARS],
172
+ envVarNames: spec.envVars.map((envVar) => envVar.name),
101
173
  getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
102
174
  });
103
175
  const authPaths = getAuthPaths();
@@ -112,7 +184,7 @@ export async function getMiniMaxAuthDiagnostics(params) {
112
184
  if (auth.state === "invalid") {
113
185
  return {
114
186
  state: "invalid",
115
- source: "auth.json",
187
+ source: (source ?? "auth.json"),
116
188
  checkedPaths,
117
189
  authPaths,
118
190
  error: auth.error,
@@ -120,9 +192,16 @@ export async function getMiniMaxAuthDiagnostics(params) {
120
192
  }
121
193
  return {
122
194
  state: "configured",
123
- source: source ?? "auth.json",
195
+ source: (source ?? "auth.json"),
196
+ endpoint: auth.endpoint,
124
197
  checkedPaths,
125
198
  authPaths,
126
199
  };
127
200
  }
201
+ export async function getMiniMaxAuthDiagnostics(params) {
202
+ return getMiniMaxAuthDiagnosticsForSpec(MINIMAX_AUTH_SPEC, params);
203
+ }
204
+ export async function getMiniMaxChinaAuthDiagnostics(params) {
205
+ return getMiniMaxAuthDiagnosticsForSpec(MINIMAX_CHINA_AUTH_SPEC, params);
206
+ }
128
207
  //# sourceMappingURL=minimax-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimax-auth.js","sourceRoot":"","sources":["../../src/lib/minimax-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minimax-auth.js","sourceRoot":"","sources":["../../src/lib/minimax-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type MiniMaxQuotaEndpointId = "international" | "china";
2
+ export interface MiniMaxQuotaEndpoint {
3
+ id: MiniMaxQuotaEndpointId;
4
+ label: string;
5
+ apiBaseUrl: string;
6
+ quotaUrl: string;
7
+ }
8
+ export declare const MINIMAX_QUOTA_ENDPOINTS: Readonly<Record<MiniMaxQuotaEndpointId, MiniMaxQuotaEndpoint>>;
9
+ export declare function getMiniMaxQuotaEndpoint(id: MiniMaxQuotaEndpointId): MiniMaxQuotaEndpoint;
10
+ //# sourceMappingURL=minimax-endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax-endpoints.d.ts","sourceRoot":"","sources":["../../src/lib/minimax-endpoints.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,sBAAsB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAclG,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,sBAAsB,GAAG,oBAAoB,CAExF"}
@@ -0,0 +1,19 @@
1
+ export const MINIMAX_QUOTA_ENDPOINTS = {
2
+ international: {
3
+ id: "international",
4
+ label: "MiniMax International",
5
+ apiBaseUrl: "https://api.minimax.io",
6
+ quotaUrl: "https://api.minimax.io/v1/api/openplatform/coding_plan/remains",
7
+ },
8
+ china: {
9
+ id: "china",
10
+ label: "MiniMax China",
11
+ apiBaseUrl: "https://api.minimaxi.com",
12
+ // CN Token Plan docs use this path on minimaxi.com; api.minimaxi.com returns MiniMax base_resp auth errors for it.
13
+ quotaUrl: "https://api.minimaxi.com/v1/token_plan/remains",
14
+ },
15
+ };
16
+ export function getMiniMaxQuotaEndpoint(id) {
17
+ return MINIMAX_QUOTA_ENDPOINTS[id];
18
+ }
19
+ //# sourceMappingURL=minimax-endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax-endpoints.js","sourceRoot":"","sources":["../../src/lib/minimax-endpoints.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,uBAAuB,GAAmE;IACrG,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,uBAAuB;QAC9B,UAAU,EAAE,wBAAwB;QACpC,QAAQ,EAAE,gEAAgE;KAC3E;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,0BAA0B;QACtC,mHAAmH;QACnH,QAAQ,EAAE,gDAAgD;KAC3D;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,EAA0B;IAChE,OAAO,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC"}