@omnicross/contracts 0.2.1 → 0.3.1

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Sayo
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sayo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
- # @omnicross/contracts
2
-
3
- Dependency-light, host-agnostic contract types + runtime-value helpers shared across the omnicross packages: LLM config, completion types + message blocks, provider presets, thinking config, usage, and subscription/account-token types.
4
-
5
- Consumed via subpaths to keep the dependency graph tight, e.g. `@omnicross/contracts/llm-config`, `@omnicross/contracts/provider-presets`, `@omnicross/contracts/completion-types`.
6
-
7
- Part of the [omnicross](https://github.com/Dumoedss/omnicross) monorepo — see the root README for the full overview.
8
-
9
- ```bash
10
- npm install @omnicross/contracts
11
- ```
12
-
13
- ## License
14
-
15
- [MIT](LICENSE)
1
+ # @omnicross/contracts
2
+
3
+ Dependency-light, host-agnostic contract types + runtime-value helpers shared across the omnicross packages: LLM config, completion types + message blocks, provider presets, thinking config, usage, and subscription/account-token types.
4
+
5
+ Consumed via subpaths to keep the dependency graph tight, e.g. `@omnicross/contracts/llm-config`, `@omnicross/contracts/provider-presets`, `@omnicross/contracts/completion-types`.
6
+
7
+ Part of the [omnicross](https://github.com/Dumoedss/omnicross) monorepo — see the root README for the full overview.
8
+
9
+ ```bash
10
+ npm install @omnicross/contracts
11
+ ```
12
+
13
+ ## License
14
+
15
+ [MIT](LICENSE)
@@ -122,6 +122,27 @@ type GeminiTokenConfig = {
122
122
  lastRefreshedAt?: string;
123
123
  errorMessage?: string;
124
124
  };
125
+ /**
126
+ * Kimi Code (Moonshot) token configuration. OAuth is a RFC 8628 device flow
127
+ * (`auth.kimi.com`); the access token serves BOTH inference
128
+ * (`api.kimi.com/coding/v1`, anthropic + openai faces) and the
129
+ * `/coding/v1/usages` quota endpoint. `accountId` is the access-token JWT's
130
+ * `user_id | sub` claim; `deviceId` backs the `X-Msh-Device-Id` fingerprint
131
+ * header Kimi expects (stable per account, minted at login).
132
+ */
133
+ type KimiTokenConfig = {
134
+ authMethod: AuthMethod;
135
+ status: TokenStatus;
136
+ accessToken?: string;
137
+ refreshToken?: string;
138
+ expiresAt?: string;
139
+ accountId?: string;
140
+ deviceId?: string;
141
+ lastRefreshedAt?: string;
142
+ errorMessage?: string;
143
+ /** Managed-account credential warning (duplicate-token, projected on listing). */
144
+ syncWarning?: SyncWarningCode;
145
+ };
125
146
  /**
126
147
  * A single subscription account entry. The provider's existing token config
127
148
  * is carried verbatim under a nested `tokens` field; entry metadata
@@ -210,6 +231,7 @@ type AccountTokensConfig = {
210
231
  codex?: CodexTokenConfig;
211
232
  gemini?: GeminiTokenConfig;
212
233
  opencodego?: OpenCodeGoTokenConfig;
234
+ kimi?: KimiTokenConfig;
213
235
  claudeAccounts?: SubscriptionAccountEntry<ClaudeTokenConfig>[];
214
236
  activeClaudeAccountId?: string;
215
237
  codexAccounts?: SubscriptionAccountEntry<CodexTokenConfig>[];
@@ -218,6 +240,8 @@ type AccountTokensConfig = {
218
240
  activeGeminiAccountId?: string;
219
241
  opencodegoAccounts?: SubscriptionAccountEntry<OpenCodeGoTokenConfig>[];
220
242
  activeOpencodegoAccountId?: string;
243
+ kimiAccounts?: SubscriptionAccountEntry<KimiTokenConfig>[];
244
+ activeKimiAccountId?: string;
221
245
  updatedAt: string;
222
246
  };
223
247
  /**
@@ -340,4 +364,4 @@ type TokenExchangeRequest = {
340
364
  state: string;
341
365
  };
342
366
 
343
- export type { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus };
367
+ export type { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, KimiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus };
@@ -122,6 +122,27 @@ type GeminiTokenConfig = {
122
122
  lastRefreshedAt?: string;
123
123
  errorMessage?: string;
124
124
  };
125
+ /**
126
+ * Kimi Code (Moonshot) token configuration. OAuth is a RFC 8628 device flow
127
+ * (`auth.kimi.com`); the access token serves BOTH inference
128
+ * (`api.kimi.com/coding/v1`, anthropic + openai faces) and the
129
+ * `/coding/v1/usages` quota endpoint. `accountId` is the access-token JWT's
130
+ * `user_id | sub` claim; `deviceId` backs the `X-Msh-Device-Id` fingerprint
131
+ * header Kimi expects (stable per account, minted at login).
132
+ */
133
+ type KimiTokenConfig = {
134
+ authMethod: AuthMethod;
135
+ status: TokenStatus;
136
+ accessToken?: string;
137
+ refreshToken?: string;
138
+ expiresAt?: string;
139
+ accountId?: string;
140
+ deviceId?: string;
141
+ lastRefreshedAt?: string;
142
+ errorMessage?: string;
143
+ /** Managed-account credential warning (duplicate-token, projected on listing). */
144
+ syncWarning?: SyncWarningCode;
145
+ };
125
146
  /**
126
147
  * A single subscription account entry. The provider's existing token config
127
148
  * is carried verbatim under a nested `tokens` field; entry metadata
@@ -210,6 +231,7 @@ type AccountTokensConfig = {
210
231
  codex?: CodexTokenConfig;
211
232
  gemini?: GeminiTokenConfig;
212
233
  opencodego?: OpenCodeGoTokenConfig;
234
+ kimi?: KimiTokenConfig;
213
235
  claudeAccounts?: SubscriptionAccountEntry<ClaudeTokenConfig>[];
214
236
  activeClaudeAccountId?: string;
215
237
  codexAccounts?: SubscriptionAccountEntry<CodexTokenConfig>[];
@@ -218,6 +240,8 @@ type AccountTokensConfig = {
218
240
  activeGeminiAccountId?: string;
219
241
  opencodegoAccounts?: SubscriptionAccountEntry<OpenCodeGoTokenConfig>[];
220
242
  activeOpencodegoAccountId?: string;
243
+ kimiAccounts?: SubscriptionAccountEntry<KimiTokenConfig>[];
244
+ activeKimiAccountId?: string;
221
245
  updatedAt: string;
222
246
  };
223
247
  /**
@@ -340,4 +364,4 @@ type TokenExchangeRequest = {
340
364
  state: string;
341
365
  };
342
366
 
343
- export type { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus };
367
+ export type { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, KimiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus };
@@ -77,6 +77,8 @@ var DEEPSEEK_MODELS = {
77
77
  "deepseek-r1": { category: "reasoning", contextLength: 64e3, maxTokens: 8192, reasoning: true, thinkingTokenLimit: { min: 0, max: 32768 } }
78
78
  };
79
79
  var ZHIPU_MODELS = {
80
+ "glm-5.3": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
81
+ "glm-5.3-flash": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
80
82
  "glm-5.2": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
81
83
  "glm-5": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
82
84
  "glm-5.1": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
@@ -111,10 +113,15 @@ var TENCENT_HUNYUAN_MODELS = {
111
113
  "hunyuan-turbos": { category: "chat", functionCall: true }
112
114
  };
113
115
  var MINIMAX_MODELS = {
116
+ "minimax-m3": { category: "code", contextLength: 204800, functionCall: true, reasoning: true },
117
+ "minimax-m2.7": { category: "code", contextLength: 204800, functionCall: true },
118
+ "minimax-m2.7-highspeed": { category: "code", contextLength: 204800, functionCall: true },
114
119
  "minimax-m2.5": { category: "code", contextLength: 204800, functionCall: true },
115
120
  "minimax-m2.5-highspeed": { category: "code", contextLength: 204800, functionCall: true },
121
+ "minimax-m2.5-lightning": { category: "code", contextLength: 204800, functionCall: true },
116
122
  "minimax-m2.1": { category: "code", contextLength: 204800, functionCall: true },
117
- "minimax-m2.1-highspeed": { category: "code", contextLength: 204800, functionCall: true }
123
+ "minimax-m2.1-lightning": { category: "code", contextLength: 204800, functionCall: true },
124
+ "minimax-m2": { category: "code", contextLength: 204800, functionCall: true }
118
125
  };
119
126
  var XIAOMI_MIMO_CANONICAL = {
120
127
  "mimo-v2.5": { category: "code", contextLength: 1e6, maxTokens: 32768, vision: true, functionCall: true, reasoning: true, thinkingLevels: ["none", "low", "medium", "high"], thinkingTokenLimit: { min: 0, max: 32768 } },
@@ -48,6 +48,8 @@ var DEEPSEEK_MODELS = {
48
48
  "deepseek-r1": { category: "reasoning", contextLength: 64e3, maxTokens: 8192, reasoning: true, thinkingTokenLimit: { min: 0, max: 32768 } }
49
49
  };
50
50
  var ZHIPU_MODELS = {
51
+ "glm-5.3": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
52
+ "glm-5.3-flash": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
51
53
  "glm-5.2": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
52
54
  "glm-5": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
53
55
  "glm-5.1": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
@@ -82,10 +84,15 @@ var TENCENT_HUNYUAN_MODELS = {
82
84
  "hunyuan-turbos": { category: "chat", functionCall: true }
83
85
  };
84
86
  var MINIMAX_MODELS = {
87
+ "minimax-m3": { category: "code", contextLength: 204800, functionCall: true, reasoning: true },
88
+ "minimax-m2.7": { category: "code", contextLength: 204800, functionCall: true },
89
+ "minimax-m2.7-highspeed": { category: "code", contextLength: 204800, functionCall: true },
85
90
  "minimax-m2.5": { category: "code", contextLength: 204800, functionCall: true },
86
91
  "minimax-m2.5-highspeed": { category: "code", contextLength: 204800, functionCall: true },
92
+ "minimax-m2.5-lightning": { category: "code", contextLength: 204800, functionCall: true },
87
93
  "minimax-m2.1": { category: "code", contextLength: 204800, functionCall: true },
88
- "minimax-m2.1-highspeed": { category: "code", contextLength: 204800, functionCall: true }
94
+ "minimax-m2.1-lightning": { category: "code", contextLength: 204800, functionCall: true },
95
+ "minimax-m2": { category: "code", contextLength: 204800, functionCall: true }
89
96
  };
90
97
  var XIAOMI_MIMO_CANONICAL = {
91
98
  "mimo-v2.5": { category: "code", contextLength: 1e6, maxTokens: 32768, vision: true, functionCall: true, reasoning: true, thinkingLevels: ["none", "low", "medium", "high"], thinkingTokenLimit: { min: 0, max: 32768 } },
package/dist/index.cjs CHANGED
@@ -155,6 +155,8 @@ var DEEPSEEK_MODELS = {
155
155
  "deepseek-r1": { category: "reasoning", contextLength: 64e3, maxTokens: 8192, reasoning: true, thinkingTokenLimit: { min: 0, max: 32768 } }
156
156
  };
157
157
  var ZHIPU_MODELS = {
158
+ "glm-5.3": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
159
+ "glm-5.3-flash": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
158
160
  "glm-5.2": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
159
161
  "glm-5": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
160
162
  "glm-5.1": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
@@ -189,10 +191,15 @@ var TENCENT_HUNYUAN_MODELS = {
189
191
  "hunyuan-turbos": { category: "chat", functionCall: true }
190
192
  };
191
193
  var MINIMAX_MODELS = {
194
+ "minimax-m3": { category: "code", contextLength: 204800, functionCall: true, reasoning: true },
195
+ "minimax-m2.7": { category: "code", contextLength: 204800, functionCall: true },
196
+ "minimax-m2.7-highspeed": { category: "code", contextLength: 204800, functionCall: true },
192
197
  "minimax-m2.5": { category: "code", contextLength: 204800, functionCall: true },
193
198
  "minimax-m2.5-highspeed": { category: "code", contextLength: 204800, functionCall: true },
199
+ "minimax-m2.5-lightning": { category: "code", contextLength: 204800, functionCall: true },
194
200
  "minimax-m2.1": { category: "code", contextLength: 204800, functionCall: true },
195
- "minimax-m2.1-highspeed": { category: "code", contextLength: 204800, functionCall: true }
201
+ "minimax-m2.1-lightning": { category: "code", contextLength: 204800, functionCall: true },
202
+ "minimax-m2": { category: "code", contextLength: 204800, functionCall: true }
196
203
  };
197
204
  var XIAOMI_MIMO_CANONICAL = {
198
205
  "mimo-v2.5": { category: "code", contextLength: 1e6, maxTokens: 32768, vision: true, functionCall: true, reasoning: true, thinkingLevels: ["none", "low", "medium", "high"], thinkingTokenLimit: { min: 0, max: 32768 } },
@@ -601,6 +608,7 @@ var MAX_CONCURRENCY_DEFAULTS = {
601
608
  "zhipu-bigmodel": 5,
602
609
  kimi: 5,
603
610
  minimax: 5,
611
+ "minimax-token-plan": 5,
604
612
  dashscope: 5,
605
613
  volcengine: 5,
606
614
  tencent: 5,
@@ -1401,6 +1409,44 @@ var minimax_default = {
1401
1409
  }
1402
1410
  };
1403
1411
 
1412
+ // src/provider-presets/presets/minimax-token-plan.json
1413
+ var minimax_token_plan_default = {
1414
+ id: "minimax-token-plan",
1415
+ presetId: "minimax",
1416
+ name: "MiniMax Token Plan",
1417
+ nameKey: "presetName.minimaxTokenPlan",
1418
+ apiFormat: "openai",
1419
+ api_base_url: "https://api.minimax.io/v1",
1420
+ models: [
1421
+ "MiniMax-M3",
1422
+ "MiniMax-M2.7",
1423
+ "MiniMax-M2.7-highspeed",
1424
+ "MiniMax-M2.5",
1425
+ "MiniMax-M2.5-highspeed",
1426
+ "MiniMax-M2.5-lightning",
1427
+ "MiniMax-M2.1",
1428
+ "MiniMax-M2.1-lightning",
1429
+ "MiniMax-M2"
1430
+ ],
1431
+ modelConfigs: [
1432
+ { id: "MiniMax-M3", name: "MiniMax M3", enabled: true, category: "code", contextLength: 204800, functionCall: true, reasoning: true },
1433
+ { id: "MiniMax-M2.7", name: "MiniMax M2.7", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1434
+ { id: "MiniMax-M2.7-highspeed", name: "MiniMax M2.7 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1435
+ { id: "MiniMax-M2.5", name: "MiniMax M2.5", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1436
+ { id: "MiniMax-M2.5-highspeed", name: "MiniMax M2.5 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1437
+ { id: "MiniMax-M2.5-lightning", name: "MiniMax M2.5 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1438
+ { id: "MiniMax-M2.1", name: "MiniMax M2.1", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1439
+ { id: "MiniMax-M2.1-lightning", name: "MiniMax M2.1 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1440
+ { id: "MiniMax-M2", name: "MiniMax M2", enabled: true, category: "code", contextLength: 204800, functionCall: true }
1441
+ ],
1442
+ description: "MiniMax \u8BA2\u9605 Token Plan\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u4E2D\u56FD\u5927\u9646\u7528\u6237\u53EF\u5C06 base URL \u6362\u4E3A https://api.minimaxi.com/v1\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6/\u5468\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1443
+ icon: "minimax",
1444
+ website: "https://platform.minimax.io",
1445
+ docsUrl: "https://platform.minimax.io/docs",
1446
+ isSystem: true,
1447
+ features: ["coding-plan"]
1448
+ };
1449
+
1404
1450
  // src/provider-presets/presets/mistral.json
1405
1451
  var mistral_default = {
1406
1452
  id: "mistral",
@@ -1816,6 +1862,36 @@ var siliconflow_default = {
1816
1862
  ]
1817
1863
  };
1818
1864
 
1865
+ // src/provider-presets/presets/synthetic.json
1866
+ var synthetic_default = {
1867
+ id: "synthetic",
1868
+ presetId: "synthetic",
1869
+ name: "Synthetic",
1870
+ nameKey: "presetName.synthetic",
1871
+ apiFormat: "openai",
1872
+ api_base_url: "https://api.synthetic.new/openai/v1",
1873
+ models: [
1874
+ "hf:moonshotai/Kimi-K3",
1875
+ "hf:zai-org/GLM-5.3-Flash",
1876
+ "hf:zai-org/GLM-5.2",
1877
+ "hf:Qwen/Qwen3.8-27B",
1878
+ "hf:openai/gpt-oss-120b"
1879
+ ],
1880
+ modelConfigs: [
1881
+ { id: "hf:moonshotai/Kimi-K3", name: "Kimi K3", enabled: true, category: "code", functionCall: true },
1882
+ { id: "hf:zai-org/GLM-5.3-Flash", name: "GLM-5.3 Flash", enabled: true, category: "code", functionCall: true },
1883
+ { id: "hf:zai-org/GLM-5.2", name: "GLM-5.2", enabled: true, category: "code", functionCall: true },
1884
+ { id: "hf:Qwen/Qwen3.8-27B", name: "Qwen3.8 27B", enabled: true, category: "code", functionCall: true },
1885
+ { id: "hf:openai/gpt-oss-120b", name: "gpt-oss-120b", enabled: true, category: "code", functionCall: true }
1886
+ ],
1887
+ description: "Synthetic \u6258\u7BA1\u5F00\u6E90\u6A21\u578B\u8BA2\u9605\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6\u8BF7\u6C42\u989D\u5EA6\u4E0E\u6BCF\u5468\u79EF\u5206\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1888
+ icon: "synthetic",
1889
+ website: "https://synthetic.new",
1890
+ docsUrl: "https://dev.synthetic.new/docs/api/overview",
1891
+ isSystem: true,
1892
+ features: ["coding-plan"]
1893
+ };
1894
+
1819
1895
  // src/provider-presets/presets/tencent.json
1820
1896
  var tencent_default = {
1821
1897
  id: "tencent",
@@ -2010,6 +2086,35 @@ var together_default = {
2010
2086
  features: []
2011
2087
  };
2012
2088
 
2089
+ // src/provider-presets/presets/umans.json
2090
+ var umans_default = {
2091
+ id: "umans",
2092
+ presetId: "umans",
2093
+ name: "Umans AI Coding Plan",
2094
+ nameKey: "presetName.umans",
2095
+ apiFormat: "anthropic",
2096
+ api_base_url: "https://api.code.umans.ai",
2097
+ transformer: { use: ["anthropic"] },
2098
+ models: [
2099
+ "umans-coder",
2100
+ "umans-flash",
2101
+ "umans-glm-5.3",
2102
+ "umans-deepseek-v4-pro"
2103
+ ],
2104
+ modelConfigs: [
2105
+ { id: "umans-coder", name: "Umans Coder", enabled: true, category: "code", contextLength: 262144, functionCall: true, reasoning: true },
2106
+ { id: "umans-flash", name: "Umans Flash", enabled: true, category: "code", contextLength: 262144, functionCall: true },
2107
+ { id: "umans-glm-5.3", name: "Umans GLM-5.3", enabled: true, category: "code", contextLength: 262144, functionCall: true },
2108
+ { id: "umans-deepseek-v4-pro", name: "Umans DeepSeek V4 Pro", enabled: true, category: "code", contextLength: 262144, functionCall: true }
2109
+ ],
2110
+ description: "Umans AI Coding Plan\uFF08Anthropic Messages \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684\u6EDA\u52A8 5 \u5C0F\u65F6\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
2111
+ icon: "umans",
2112
+ website: "https://umans.ai",
2113
+ docsUrl: "https://dev.umans.ai",
2114
+ isSystem: true,
2115
+ features: ["coding-plan"]
2116
+ };
2117
+
2013
2118
  // src/provider-presets/presets/volcengine.json
2014
2119
  var volcengine_default = {
2015
2120
  id: "volcengine",
@@ -2244,6 +2349,8 @@ var zhipu_default = {
2244
2349
  codingPlanBaseUrl: "https://api.z.ai/api/coding/paas/v4",
2245
2350
  modelsEndpoint: "https://api.z.ai/api/paas/v4/models",
2246
2351
  models: [
2352
+ "glm-5.3",
2353
+ "glm-5.3-flash",
2247
2354
  "glm-5.2",
2248
2355
  "glm-5",
2249
2356
  "glm-5.1",
@@ -2252,6 +2359,24 @@ var zhipu_default = {
2252
2359
  "glm-4.7"
2253
2360
  ],
2254
2361
  modelConfigs: [
2362
+ {
2363
+ id: "glm-5.3",
2364
+ name: "GLM-5.3",
2365
+ enabled: true,
2366
+ category: "chat",
2367
+ contextLength: 1048576,
2368
+ maxTokens: 131072,
2369
+ functionCall: true
2370
+ },
2371
+ {
2372
+ id: "glm-5.3-flash",
2373
+ name: "GLM-5.3 Flash",
2374
+ enabled: true,
2375
+ category: "chat",
2376
+ contextLength: 1048576,
2377
+ maxTokens: 131072,
2378
+ functionCall: true
2379
+ },
2255
2380
  {
2256
2381
  id: "glm-5.2",
2257
2382
  name: "GLM-5.2",
@@ -2330,6 +2455,8 @@ var zhipu_bigmodel_default = {
2330
2455
  codingPlanBaseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
2331
2456
  modelsEndpoint: "https://open.bigmodel.cn/api/paas/v4/models",
2332
2457
  models: [
2458
+ "glm-5.3",
2459
+ "glm-5.3-flash",
2333
2460
  "glm-5.2",
2334
2461
  "glm-5",
2335
2462
  "glm-5.1",
@@ -2338,6 +2465,24 @@ var zhipu_bigmodel_default = {
2338
2465
  "glm-4.7"
2339
2466
  ],
2340
2467
  modelConfigs: [
2468
+ {
2469
+ id: "glm-5.3",
2470
+ name: "GLM-5.3",
2471
+ enabled: true,
2472
+ category: "chat",
2473
+ contextLength: 1048576,
2474
+ maxTokens: 131072,
2475
+ functionCall: true
2476
+ },
2477
+ {
2478
+ id: "glm-5.3-flash",
2479
+ name: "GLM-5.3 Flash",
2480
+ enabled: true,
2481
+ category: "chat",
2482
+ contextLength: 1048576,
2483
+ maxTokens: 131072,
2484
+ functionCall: true
2485
+ },
2341
2486
  {
2342
2487
  id: "glm-5.2",
2343
2488
  name: "GLM-5.2",
@@ -2447,6 +2592,8 @@ var RAW_PRESETS_IN_ORDER = [
2447
2592
  mistral_default,
2448
2593
  together_default,
2449
2594
  perplexity_default,
2595
+ synthetic_default,
2596
+ umans_default,
2450
2597
  // Chinese cloud
2451
2598
  zhipu_default,
2452
2599
  zhipu_bigmodel_default,
@@ -2456,6 +2603,7 @@ var RAW_PRESETS_IN_ORDER = [
2456
2603
  tencent_default,
2457
2604
  tencent_anthropic_default,
2458
2605
  minimax_default,
2606
+ minimax_token_plan_default,
2459
2607
  baidu_default,
2460
2608
  kuaishou_default,
2461
2609
  mthreads_default,
@@ -2757,9 +2905,12 @@ function describeUnknownError(value) {
2757
2905
  // src/subscription-model-catalog.ts
2758
2906
  var SUBSCRIPTION_MODEL_CATALOG = {
2759
2907
  claude: ["claude-haiku-4-5", "claude-sonnet-5", "claude-opus-5", "claude-fable-5"],
2760
- codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol"],
2908
+ codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol", "gpt-6-astra"],
2761
2909
  gemini: [],
2762
- opencodego: []
2910
+ opencodego: [],
2911
+ // Kimi Code's subscription catalog (the official CLI's built-ins + the
2912
+ // k2.6/k2.7-code coding models, small → large).
2913
+ kimi: ["kimi-k2.5", "kimi-k2.6", "kimi-k2.7-code", "kimi-k3", "kimi-for-coding", "kimi-for-coding-highspeed"]
2763
2914
  };
2764
2915
  function subscriptionProviderHasCatalog(providerId) {
2765
2916
  return SUBSCRIPTION_MODEL_CATALOG[providerId].length > 0;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus } from './account-tokens-types.cjs';
1
+ export { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, KimiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus } from './account-tokens-types.cjs';
2
2
  import { SubscriptionProviderId } from './subscription-types.cjs';
3
3
  export { OpenCodeGoModelEntry, OpenCodeGoScenario, OpenCodeGoTokenConfig, OpenCodeGoTokenSanitized, ProviderChannel, SubscriptionListEntry, SubscriptionStatusEntry, legacyCliBackendToSubscriptionProvider, subscriptionTargetForSession } from './subscription-types.cjs';
4
4
  export { AuditBodyResult, AuditConfig, AuditQueryResult, AuditRecord, AuditStats, DEFAULT_AUDIT_CONFIG } from './audit-types.cjs';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus } from './account-tokens-types.js';
1
+ export { AccountClientIdentity, AccountTokensConfig, AuthMethod, ClaudeAuthMethod, ClaudeTokenConfig, CodexTokenConfig, GeminiTokenConfig, KimiTokenConfig, OAuthParams, ProxyConfig, SanitizedProxyConfig, SubscriptionAccountEntry, SubscriptionAccountSanitized, SubscriptionLevel, SyncWarningCode, TokenExchangeRequest, TokenStatus } from './account-tokens-types.js';
2
2
  import { SubscriptionProviderId } from './subscription-types.js';
3
3
  export { OpenCodeGoModelEntry, OpenCodeGoScenario, OpenCodeGoTokenConfig, OpenCodeGoTokenSanitized, ProviderChannel, SubscriptionListEntry, SubscriptionStatusEntry, legacyCliBackendToSubscriptionProvider, subscriptionTargetForSession } from './subscription-types.js';
4
4
  export { AuditBodyResult, AuditConfig, AuditQueryResult, AuditRecord, AuditStats, DEFAULT_AUDIT_CONFIG } from './audit-types.js';
package/dist/index.js CHANGED
@@ -64,6 +64,8 @@ var DEEPSEEK_MODELS = {
64
64
  "deepseek-r1": { category: "reasoning", contextLength: 64e3, maxTokens: 8192, reasoning: true, thinkingTokenLimit: { min: 0, max: 32768 } }
65
65
  };
66
66
  var ZHIPU_MODELS = {
67
+ "glm-5.3": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
68
+ "glm-5.3-flash": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
67
69
  "glm-5.2": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
68
70
  "glm-5": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
69
71
  "glm-5.1": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
@@ -98,10 +100,15 @@ var TENCENT_HUNYUAN_MODELS = {
98
100
  "hunyuan-turbos": { category: "chat", functionCall: true }
99
101
  };
100
102
  var MINIMAX_MODELS = {
103
+ "minimax-m3": { category: "code", contextLength: 204800, functionCall: true, reasoning: true },
104
+ "minimax-m2.7": { category: "code", contextLength: 204800, functionCall: true },
105
+ "minimax-m2.7-highspeed": { category: "code", contextLength: 204800, functionCall: true },
101
106
  "minimax-m2.5": { category: "code", contextLength: 204800, functionCall: true },
102
107
  "minimax-m2.5-highspeed": { category: "code", contextLength: 204800, functionCall: true },
108
+ "minimax-m2.5-lightning": { category: "code", contextLength: 204800, functionCall: true },
103
109
  "minimax-m2.1": { category: "code", contextLength: 204800, functionCall: true },
104
- "minimax-m2.1-highspeed": { category: "code", contextLength: 204800, functionCall: true }
110
+ "minimax-m2.1-lightning": { category: "code", contextLength: 204800, functionCall: true },
111
+ "minimax-m2": { category: "code", contextLength: 204800, functionCall: true }
105
112
  };
106
113
  var XIAOMI_MIMO_CANONICAL = {
107
114
  "mimo-v2.5": { category: "code", contextLength: 1e6, maxTokens: 32768, vision: true, functionCall: true, reasoning: true, thinkingLevels: ["none", "low", "medium", "high"], thinkingTokenLimit: { min: 0, max: 32768 } },
@@ -510,6 +517,7 @@ var MAX_CONCURRENCY_DEFAULTS = {
510
517
  "zhipu-bigmodel": 5,
511
518
  kimi: 5,
512
519
  minimax: 5,
520
+ "minimax-token-plan": 5,
513
521
  dashscope: 5,
514
522
  volcengine: 5,
515
523
  tencent: 5,
@@ -1310,6 +1318,44 @@ var minimax_default = {
1310
1318
  }
1311
1319
  };
1312
1320
 
1321
+ // src/provider-presets/presets/minimax-token-plan.json
1322
+ var minimax_token_plan_default = {
1323
+ id: "minimax-token-plan",
1324
+ presetId: "minimax",
1325
+ name: "MiniMax Token Plan",
1326
+ nameKey: "presetName.minimaxTokenPlan",
1327
+ apiFormat: "openai",
1328
+ api_base_url: "https://api.minimax.io/v1",
1329
+ models: [
1330
+ "MiniMax-M3",
1331
+ "MiniMax-M2.7",
1332
+ "MiniMax-M2.7-highspeed",
1333
+ "MiniMax-M2.5",
1334
+ "MiniMax-M2.5-highspeed",
1335
+ "MiniMax-M2.5-lightning",
1336
+ "MiniMax-M2.1",
1337
+ "MiniMax-M2.1-lightning",
1338
+ "MiniMax-M2"
1339
+ ],
1340
+ modelConfigs: [
1341
+ { id: "MiniMax-M3", name: "MiniMax M3", enabled: true, category: "code", contextLength: 204800, functionCall: true, reasoning: true },
1342
+ { id: "MiniMax-M2.7", name: "MiniMax M2.7", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1343
+ { id: "MiniMax-M2.7-highspeed", name: "MiniMax M2.7 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1344
+ { id: "MiniMax-M2.5", name: "MiniMax M2.5", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1345
+ { id: "MiniMax-M2.5-highspeed", name: "MiniMax M2.5 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1346
+ { id: "MiniMax-M2.5-lightning", name: "MiniMax M2.5 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1347
+ { id: "MiniMax-M2.1", name: "MiniMax M2.1", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1348
+ { id: "MiniMax-M2.1-lightning", name: "MiniMax M2.1 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1349
+ { id: "MiniMax-M2", name: "MiniMax M2", enabled: true, category: "code", contextLength: 204800, functionCall: true }
1350
+ ],
1351
+ description: "MiniMax \u8BA2\u9605 Token Plan\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u4E2D\u56FD\u5927\u9646\u7528\u6237\u53EF\u5C06 base URL \u6362\u4E3A https://api.minimaxi.com/v1\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6/\u5468\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1352
+ icon: "minimax",
1353
+ website: "https://platform.minimax.io",
1354
+ docsUrl: "https://platform.minimax.io/docs",
1355
+ isSystem: true,
1356
+ features: ["coding-plan"]
1357
+ };
1358
+
1313
1359
  // src/provider-presets/presets/mistral.json
1314
1360
  var mistral_default = {
1315
1361
  id: "mistral",
@@ -1725,6 +1771,36 @@ var siliconflow_default = {
1725
1771
  ]
1726
1772
  };
1727
1773
 
1774
+ // src/provider-presets/presets/synthetic.json
1775
+ var synthetic_default = {
1776
+ id: "synthetic",
1777
+ presetId: "synthetic",
1778
+ name: "Synthetic",
1779
+ nameKey: "presetName.synthetic",
1780
+ apiFormat: "openai",
1781
+ api_base_url: "https://api.synthetic.new/openai/v1",
1782
+ models: [
1783
+ "hf:moonshotai/Kimi-K3",
1784
+ "hf:zai-org/GLM-5.3-Flash",
1785
+ "hf:zai-org/GLM-5.2",
1786
+ "hf:Qwen/Qwen3.8-27B",
1787
+ "hf:openai/gpt-oss-120b"
1788
+ ],
1789
+ modelConfigs: [
1790
+ { id: "hf:moonshotai/Kimi-K3", name: "Kimi K3", enabled: true, category: "code", functionCall: true },
1791
+ { id: "hf:zai-org/GLM-5.3-Flash", name: "GLM-5.3 Flash", enabled: true, category: "code", functionCall: true },
1792
+ { id: "hf:zai-org/GLM-5.2", name: "GLM-5.2", enabled: true, category: "code", functionCall: true },
1793
+ { id: "hf:Qwen/Qwen3.8-27B", name: "Qwen3.8 27B", enabled: true, category: "code", functionCall: true },
1794
+ { id: "hf:openai/gpt-oss-120b", name: "gpt-oss-120b", enabled: true, category: "code", functionCall: true }
1795
+ ],
1796
+ description: "Synthetic \u6258\u7BA1\u5F00\u6E90\u6A21\u578B\u8BA2\u9605\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6\u8BF7\u6C42\u989D\u5EA6\u4E0E\u6BCF\u5468\u79EF\u5206\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1797
+ icon: "synthetic",
1798
+ website: "https://synthetic.new",
1799
+ docsUrl: "https://dev.synthetic.new/docs/api/overview",
1800
+ isSystem: true,
1801
+ features: ["coding-plan"]
1802
+ };
1803
+
1728
1804
  // src/provider-presets/presets/tencent.json
1729
1805
  var tencent_default = {
1730
1806
  id: "tencent",
@@ -1919,6 +1995,35 @@ var together_default = {
1919
1995
  features: []
1920
1996
  };
1921
1997
 
1998
+ // src/provider-presets/presets/umans.json
1999
+ var umans_default = {
2000
+ id: "umans",
2001
+ presetId: "umans",
2002
+ name: "Umans AI Coding Plan",
2003
+ nameKey: "presetName.umans",
2004
+ apiFormat: "anthropic",
2005
+ api_base_url: "https://api.code.umans.ai",
2006
+ transformer: { use: ["anthropic"] },
2007
+ models: [
2008
+ "umans-coder",
2009
+ "umans-flash",
2010
+ "umans-glm-5.3",
2011
+ "umans-deepseek-v4-pro"
2012
+ ],
2013
+ modelConfigs: [
2014
+ { id: "umans-coder", name: "Umans Coder", enabled: true, category: "code", contextLength: 262144, functionCall: true, reasoning: true },
2015
+ { id: "umans-flash", name: "Umans Flash", enabled: true, category: "code", contextLength: 262144, functionCall: true },
2016
+ { id: "umans-glm-5.3", name: "Umans GLM-5.3", enabled: true, category: "code", contextLength: 262144, functionCall: true },
2017
+ { id: "umans-deepseek-v4-pro", name: "Umans DeepSeek V4 Pro", enabled: true, category: "code", contextLength: 262144, functionCall: true }
2018
+ ],
2019
+ description: "Umans AI Coding Plan\uFF08Anthropic Messages \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684\u6EDA\u52A8 5 \u5C0F\u65F6\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
2020
+ icon: "umans",
2021
+ website: "https://umans.ai",
2022
+ docsUrl: "https://dev.umans.ai",
2023
+ isSystem: true,
2024
+ features: ["coding-plan"]
2025
+ };
2026
+
1922
2027
  // src/provider-presets/presets/volcengine.json
1923
2028
  var volcengine_default = {
1924
2029
  id: "volcengine",
@@ -2153,6 +2258,8 @@ var zhipu_default = {
2153
2258
  codingPlanBaseUrl: "https://api.z.ai/api/coding/paas/v4",
2154
2259
  modelsEndpoint: "https://api.z.ai/api/paas/v4/models",
2155
2260
  models: [
2261
+ "glm-5.3",
2262
+ "glm-5.3-flash",
2156
2263
  "glm-5.2",
2157
2264
  "glm-5",
2158
2265
  "glm-5.1",
@@ -2161,6 +2268,24 @@ var zhipu_default = {
2161
2268
  "glm-4.7"
2162
2269
  ],
2163
2270
  modelConfigs: [
2271
+ {
2272
+ id: "glm-5.3",
2273
+ name: "GLM-5.3",
2274
+ enabled: true,
2275
+ category: "chat",
2276
+ contextLength: 1048576,
2277
+ maxTokens: 131072,
2278
+ functionCall: true
2279
+ },
2280
+ {
2281
+ id: "glm-5.3-flash",
2282
+ name: "GLM-5.3 Flash",
2283
+ enabled: true,
2284
+ category: "chat",
2285
+ contextLength: 1048576,
2286
+ maxTokens: 131072,
2287
+ functionCall: true
2288
+ },
2164
2289
  {
2165
2290
  id: "glm-5.2",
2166
2291
  name: "GLM-5.2",
@@ -2239,6 +2364,8 @@ var zhipu_bigmodel_default = {
2239
2364
  codingPlanBaseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
2240
2365
  modelsEndpoint: "https://open.bigmodel.cn/api/paas/v4/models",
2241
2366
  models: [
2367
+ "glm-5.3",
2368
+ "glm-5.3-flash",
2242
2369
  "glm-5.2",
2243
2370
  "glm-5",
2244
2371
  "glm-5.1",
@@ -2247,6 +2374,24 @@ var zhipu_bigmodel_default = {
2247
2374
  "glm-4.7"
2248
2375
  ],
2249
2376
  modelConfigs: [
2377
+ {
2378
+ id: "glm-5.3",
2379
+ name: "GLM-5.3",
2380
+ enabled: true,
2381
+ category: "chat",
2382
+ contextLength: 1048576,
2383
+ maxTokens: 131072,
2384
+ functionCall: true
2385
+ },
2386
+ {
2387
+ id: "glm-5.3-flash",
2388
+ name: "GLM-5.3 Flash",
2389
+ enabled: true,
2390
+ category: "chat",
2391
+ contextLength: 1048576,
2392
+ maxTokens: 131072,
2393
+ functionCall: true
2394
+ },
2250
2395
  {
2251
2396
  id: "glm-5.2",
2252
2397
  name: "GLM-5.2",
@@ -2356,6 +2501,8 @@ var RAW_PRESETS_IN_ORDER = [
2356
2501
  mistral_default,
2357
2502
  together_default,
2358
2503
  perplexity_default,
2504
+ synthetic_default,
2505
+ umans_default,
2359
2506
  // Chinese cloud
2360
2507
  zhipu_default,
2361
2508
  zhipu_bigmodel_default,
@@ -2365,6 +2512,7 @@ var RAW_PRESETS_IN_ORDER = [
2365
2512
  tencent_default,
2366
2513
  tencent_anthropic_default,
2367
2514
  minimax_default,
2515
+ minimax_token_plan_default,
2368
2516
  baidu_default,
2369
2517
  kuaishou_default,
2370
2518
  mthreads_default,
@@ -2666,9 +2814,12 @@ function describeUnknownError(value) {
2666
2814
  // src/subscription-model-catalog.ts
2667
2815
  var SUBSCRIPTION_MODEL_CATALOG = {
2668
2816
  claude: ["claude-haiku-4-5", "claude-sonnet-5", "claude-opus-5", "claude-fable-5"],
2669
- codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol"],
2817
+ codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol", "gpt-6-astra"],
2670
2818
  gemini: [],
2671
- opencodego: []
2819
+ opencodego: [],
2820
+ // Kimi Code's subscription catalog (the official CLI's built-ins + the
2821
+ // k2.6/k2.7-code coding models, small → large).
2822
+ kimi: ["kimi-k2.5", "kimi-k2.6", "kimi-k2.7-code", "kimi-k3", "kimi-for-coding", "kimi-for-coding-highspeed"]
2672
2823
  };
2673
2824
  function subscriptionProviderHasCatalog(providerId) {
2674
2825
  return SUBSCRIPTION_MODEL_CATALOG[providerId].length > 0;
@@ -210,6 +210,7 @@ var MAX_CONCURRENCY_DEFAULTS = {
210
210
  "zhipu-bigmodel": 5,
211
211
  kimi: 5,
212
212
  minimax: 5,
213
+ "minimax-token-plan": 5,
213
214
  dashscope: 5,
214
215
  volcengine: 5,
215
216
  tencent: 5,
@@ -1010,6 +1011,44 @@ var minimax_default = {
1010
1011
  }
1011
1012
  };
1012
1013
 
1014
+ // src/provider-presets/presets/minimax-token-plan.json
1015
+ var minimax_token_plan_default = {
1016
+ id: "minimax-token-plan",
1017
+ presetId: "minimax",
1018
+ name: "MiniMax Token Plan",
1019
+ nameKey: "presetName.minimaxTokenPlan",
1020
+ apiFormat: "openai",
1021
+ api_base_url: "https://api.minimax.io/v1",
1022
+ models: [
1023
+ "MiniMax-M3",
1024
+ "MiniMax-M2.7",
1025
+ "MiniMax-M2.7-highspeed",
1026
+ "MiniMax-M2.5",
1027
+ "MiniMax-M2.5-highspeed",
1028
+ "MiniMax-M2.5-lightning",
1029
+ "MiniMax-M2.1",
1030
+ "MiniMax-M2.1-lightning",
1031
+ "MiniMax-M2"
1032
+ ],
1033
+ modelConfigs: [
1034
+ { id: "MiniMax-M3", name: "MiniMax M3", enabled: true, category: "code", contextLength: 204800, functionCall: true, reasoning: true },
1035
+ { id: "MiniMax-M2.7", name: "MiniMax M2.7", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1036
+ { id: "MiniMax-M2.7-highspeed", name: "MiniMax M2.7 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1037
+ { id: "MiniMax-M2.5", name: "MiniMax M2.5", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1038
+ { id: "MiniMax-M2.5-highspeed", name: "MiniMax M2.5 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1039
+ { id: "MiniMax-M2.5-lightning", name: "MiniMax M2.5 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1040
+ { id: "MiniMax-M2.1", name: "MiniMax M2.1", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1041
+ { id: "MiniMax-M2.1-lightning", name: "MiniMax M2.1 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1042
+ { id: "MiniMax-M2", name: "MiniMax M2", enabled: true, category: "code", contextLength: 204800, functionCall: true }
1043
+ ],
1044
+ description: "MiniMax \u8BA2\u9605 Token Plan\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u4E2D\u56FD\u5927\u9646\u7528\u6237\u53EF\u5C06 base URL \u6362\u4E3A https://api.minimaxi.com/v1\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6/\u5468\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1045
+ icon: "minimax",
1046
+ website: "https://platform.minimax.io",
1047
+ docsUrl: "https://platform.minimax.io/docs",
1048
+ isSystem: true,
1049
+ features: ["coding-plan"]
1050
+ };
1051
+
1013
1052
  // src/provider-presets/presets/mistral.json
1014
1053
  var mistral_default = {
1015
1054
  id: "mistral",
@@ -1425,6 +1464,36 @@ var siliconflow_default = {
1425
1464
  ]
1426
1465
  };
1427
1466
 
1467
+ // src/provider-presets/presets/synthetic.json
1468
+ var synthetic_default = {
1469
+ id: "synthetic",
1470
+ presetId: "synthetic",
1471
+ name: "Synthetic",
1472
+ nameKey: "presetName.synthetic",
1473
+ apiFormat: "openai",
1474
+ api_base_url: "https://api.synthetic.new/openai/v1",
1475
+ models: [
1476
+ "hf:moonshotai/Kimi-K3",
1477
+ "hf:zai-org/GLM-5.3-Flash",
1478
+ "hf:zai-org/GLM-5.2",
1479
+ "hf:Qwen/Qwen3.8-27B",
1480
+ "hf:openai/gpt-oss-120b"
1481
+ ],
1482
+ modelConfigs: [
1483
+ { id: "hf:moonshotai/Kimi-K3", name: "Kimi K3", enabled: true, category: "code", functionCall: true },
1484
+ { id: "hf:zai-org/GLM-5.3-Flash", name: "GLM-5.3 Flash", enabled: true, category: "code", functionCall: true },
1485
+ { id: "hf:zai-org/GLM-5.2", name: "GLM-5.2", enabled: true, category: "code", functionCall: true },
1486
+ { id: "hf:Qwen/Qwen3.8-27B", name: "Qwen3.8 27B", enabled: true, category: "code", functionCall: true },
1487
+ { id: "hf:openai/gpt-oss-120b", name: "gpt-oss-120b", enabled: true, category: "code", functionCall: true }
1488
+ ],
1489
+ description: "Synthetic \u6258\u7BA1\u5F00\u6E90\u6A21\u578B\u8BA2\u9605\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6\u8BF7\u6C42\u989D\u5EA6\u4E0E\u6BCF\u5468\u79EF\u5206\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1490
+ icon: "synthetic",
1491
+ website: "https://synthetic.new",
1492
+ docsUrl: "https://dev.synthetic.new/docs/api/overview",
1493
+ isSystem: true,
1494
+ features: ["coding-plan"]
1495
+ };
1496
+
1428
1497
  // src/provider-presets/presets/tencent.json
1429
1498
  var tencent_default = {
1430
1499
  id: "tencent",
@@ -1619,6 +1688,35 @@ var together_default = {
1619
1688
  features: []
1620
1689
  };
1621
1690
 
1691
+ // src/provider-presets/presets/umans.json
1692
+ var umans_default = {
1693
+ id: "umans",
1694
+ presetId: "umans",
1695
+ name: "Umans AI Coding Plan",
1696
+ nameKey: "presetName.umans",
1697
+ apiFormat: "anthropic",
1698
+ api_base_url: "https://api.code.umans.ai",
1699
+ transformer: { use: ["anthropic"] },
1700
+ models: [
1701
+ "umans-coder",
1702
+ "umans-flash",
1703
+ "umans-glm-5.3",
1704
+ "umans-deepseek-v4-pro"
1705
+ ],
1706
+ modelConfigs: [
1707
+ { id: "umans-coder", name: "Umans Coder", enabled: true, category: "code", contextLength: 262144, functionCall: true, reasoning: true },
1708
+ { id: "umans-flash", name: "Umans Flash", enabled: true, category: "code", contextLength: 262144, functionCall: true },
1709
+ { id: "umans-glm-5.3", name: "Umans GLM-5.3", enabled: true, category: "code", contextLength: 262144, functionCall: true },
1710
+ { id: "umans-deepseek-v4-pro", name: "Umans DeepSeek V4 Pro", enabled: true, category: "code", contextLength: 262144, functionCall: true }
1711
+ ],
1712
+ description: "Umans AI Coding Plan\uFF08Anthropic Messages \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684\u6EDA\u52A8 5 \u5C0F\u65F6\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1713
+ icon: "umans",
1714
+ website: "https://umans.ai",
1715
+ docsUrl: "https://dev.umans.ai",
1716
+ isSystem: true,
1717
+ features: ["coding-plan"]
1718
+ };
1719
+
1622
1720
  // src/provider-presets/presets/volcengine.json
1623
1721
  var volcengine_default = {
1624
1722
  id: "volcengine",
@@ -1853,6 +1951,8 @@ var zhipu_default = {
1853
1951
  codingPlanBaseUrl: "https://api.z.ai/api/coding/paas/v4",
1854
1952
  modelsEndpoint: "https://api.z.ai/api/paas/v4/models",
1855
1953
  models: [
1954
+ "glm-5.3",
1955
+ "glm-5.3-flash",
1856
1956
  "glm-5.2",
1857
1957
  "glm-5",
1858
1958
  "glm-5.1",
@@ -1861,6 +1961,24 @@ var zhipu_default = {
1861
1961
  "glm-4.7"
1862
1962
  ],
1863
1963
  modelConfigs: [
1964
+ {
1965
+ id: "glm-5.3",
1966
+ name: "GLM-5.3",
1967
+ enabled: true,
1968
+ category: "chat",
1969
+ contextLength: 1048576,
1970
+ maxTokens: 131072,
1971
+ functionCall: true
1972
+ },
1973
+ {
1974
+ id: "glm-5.3-flash",
1975
+ name: "GLM-5.3 Flash",
1976
+ enabled: true,
1977
+ category: "chat",
1978
+ contextLength: 1048576,
1979
+ maxTokens: 131072,
1980
+ functionCall: true
1981
+ },
1864
1982
  {
1865
1983
  id: "glm-5.2",
1866
1984
  name: "GLM-5.2",
@@ -1939,6 +2057,8 @@ var zhipu_bigmodel_default = {
1939
2057
  codingPlanBaseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
1940
2058
  modelsEndpoint: "https://open.bigmodel.cn/api/paas/v4/models",
1941
2059
  models: [
2060
+ "glm-5.3",
2061
+ "glm-5.3-flash",
1942
2062
  "glm-5.2",
1943
2063
  "glm-5",
1944
2064
  "glm-5.1",
@@ -1947,6 +2067,24 @@ var zhipu_bigmodel_default = {
1947
2067
  "glm-4.7"
1948
2068
  ],
1949
2069
  modelConfigs: [
2070
+ {
2071
+ id: "glm-5.3",
2072
+ name: "GLM-5.3",
2073
+ enabled: true,
2074
+ category: "chat",
2075
+ contextLength: 1048576,
2076
+ maxTokens: 131072,
2077
+ functionCall: true
2078
+ },
2079
+ {
2080
+ id: "glm-5.3-flash",
2081
+ name: "GLM-5.3 Flash",
2082
+ enabled: true,
2083
+ category: "chat",
2084
+ contextLength: 1048576,
2085
+ maxTokens: 131072,
2086
+ functionCall: true
2087
+ },
1950
2088
  {
1951
2089
  id: "glm-5.2",
1952
2090
  name: "GLM-5.2",
@@ -2056,6 +2194,8 @@ var RAW_PRESETS_IN_ORDER = [
2056
2194
  mistral_default,
2057
2195
  together_default,
2058
2196
  perplexity_default,
2197
+ synthetic_default,
2198
+ umans_default,
2059
2199
  // Chinese cloud
2060
2200
  zhipu_default,
2061
2201
  zhipu_bigmodel_default,
@@ -2065,6 +2205,7 @@ var RAW_PRESETS_IN_ORDER = [
2065
2205
  tencent_default,
2066
2206
  tencent_anthropic_default,
2067
2207
  minimax_default,
2208
+ minimax_token_plan_default,
2068
2209
  baidu_default,
2069
2210
  kuaishou_default,
2070
2211
  mthreads_default,
@@ -171,6 +171,7 @@ var MAX_CONCURRENCY_DEFAULTS = {
171
171
  "zhipu-bigmodel": 5,
172
172
  kimi: 5,
173
173
  minimax: 5,
174
+ "minimax-token-plan": 5,
174
175
  dashscope: 5,
175
176
  volcengine: 5,
176
177
  tencent: 5,
@@ -971,6 +972,44 @@ var minimax_default = {
971
972
  }
972
973
  };
973
974
 
975
+ // src/provider-presets/presets/minimax-token-plan.json
976
+ var minimax_token_plan_default = {
977
+ id: "minimax-token-plan",
978
+ presetId: "minimax",
979
+ name: "MiniMax Token Plan",
980
+ nameKey: "presetName.minimaxTokenPlan",
981
+ apiFormat: "openai",
982
+ api_base_url: "https://api.minimax.io/v1",
983
+ models: [
984
+ "MiniMax-M3",
985
+ "MiniMax-M2.7",
986
+ "MiniMax-M2.7-highspeed",
987
+ "MiniMax-M2.5",
988
+ "MiniMax-M2.5-highspeed",
989
+ "MiniMax-M2.5-lightning",
990
+ "MiniMax-M2.1",
991
+ "MiniMax-M2.1-lightning",
992
+ "MiniMax-M2"
993
+ ],
994
+ modelConfigs: [
995
+ { id: "MiniMax-M3", name: "MiniMax M3", enabled: true, category: "code", contextLength: 204800, functionCall: true, reasoning: true },
996
+ { id: "MiniMax-M2.7", name: "MiniMax M2.7", enabled: true, category: "code", contextLength: 204800, functionCall: true },
997
+ { id: "MiniMax-M2.7-highspeed", name: "MiniMax M2.7 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
998
+ { id: "MiniMax-M2.5", name: "MiniMax M2.5", enabled: true, category: "code", contextLength: 204800, functionCall: true },
999
+ { id: "MiniMax-M2.5-highspeed", name: "MiniMax M2.5 \u6781\u901F\u7248", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1000
+ { id: "MiniMax-M2.5-lightning", name: "MiniMax M2.5 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1001
+ { id: "MiniMax-M2.1", name: "MiniMax M2.1", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1002
+ { id: "MiniMax-M2.1-lightning", name: "MiniMax M2.1 Lightning", enabled: true, category: "code", contextLength: 204800, functionCall: true },
1003
+ { id: "MiniMax-M2", name: "MiniMax M2", enabled: true, category: "code", contextLength: 204800, functionCall: true }
1004
+ ],
1005
+ description: "MiniMax \u8BA2\u9605 Token Plan\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u4E2D\u56FD\u5927\u9646\u7528\u6237\u53EF\u5C06 base URL \u6362\u4E3A https://api.minimaxi.com/v1\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6/\u5468\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1006
+ icon: "minimax",
1007
+ website: "https://platform.minimax.io",
1008
+ docsUrl: "https://platform.minimax.io/docs",
1009
+ isSystem: true,
1010
+ features: ["coding-plan"]
1011
+ };
1012
+
974
1013
  // src/provider-presets/presets/mistral.json
975
1014
  var mistral_default = {
976
1015
  id: "mistral",
@@ -1386,6 +1425,36 @@ var siliconflow_default = {
1386
1425
  ]
1387
1426
  };
1388
1427
 
1428
+ // src/provider-presets/presets/synthetic.json
1429
+ var synthetic_default = {
1430
+ id: "synthetic",
1431
+ presetId: "synthetic",
1432
+ name: "Synthetic",
1433
+ nameKey: "presetName.synthetic",
1434
+ apiFormat: "openai",
1435
+ api_base_url: "https://api.synthetic.new/openai/v1",
1436
+ models: [
1437
+ "hf:moonshotai/Kimi-K3",
1438
+ "hf:zai-org/GLM-5.3-Flash",
1439
+ "hf:zai-org/GLM-5.2",
1440
+ "hf:Qwen/Qwen3.8-27B",
1441
+ "hf:openai/gpt-oss-120b"
1442
+ ],
1443
+ modelConfigs: [
1444
+ { id: "hf:moonshotai/Kimi-K3", name: "Kimi K3", enabled: true, category: "code", functionCall: true },
1445
+ { id: "hf:zai-org/GLM-5.3-Flash", name: "GLM-5.3 Flash", enabled: true, category: "code", functionCall: true },
1446
+ { id: "hf:zai-org/GLM-5.2", name: "GLM-5.2", enabled: true, category: "code", functionCall: true },
1447
+ { id: "hf:Qwen/Qwen3.8-27B", name: "Qwen3.8 27B", enabled: true, category: "code", functionCall: true },
1448
+ { id: "hf:openai/gpt-oss-120b", name: "gpt-oss-120b", enabled: true, category: "code", functionCall: true }
1449
+ ],
1450
+ description: "Synthetic \u6258\u7BA1\u5F00\u6E90\u6A21\u578B\u8BA2\u9605\uFF08OpenAI \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684 5 \u5C0F\u65F6\u8BF7\u6C42\u989D\u5EA6\u4E0E\u6BCF\u5468\u79EF\u5206\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1451
+ icon: "synthetic",
1452
+ website: "https://synthetic.new",
1453
+ docsUrl: "https://dev.synthetic.new/docs/api/overview",
1454
+ isSystem: true,
1455
+ features: ["coding-plan"]
1456
+ };
1457
+
1389
1458
  // src/provider-presets/presets/tencent.json
1390
1459
  var tencent_default = {
1391
1460
  id: "tencent",
@@ -1580,6 +1649,35 @@ var together_default = {
1580
1649
  features: []
1581
1650
  };
1582
1651
 
1652
+ // src/provider-presets/presets/umans.json
1653
+ var umans_default = {
1654
+ id: "umans",
1655
+ presetId: "umans",
1656
+ name: "Umans AI Coding Plan",
1657
+ nameKey: "presetName.umans",
1658
+ apiFormat: "anthropic",
1659
+ api_base_url: "https://api.code.umans.ai",
1660
+ transformer: { use: ["anthropic"] },
1661
+ models: [
1662
+ "umans-coder",
1663
+ "umans-flash",
1664
+ "umans-glm-5.3",
1665
+ "umans-deepseek-v4-pro"
1666
+ ],
1667
+ modelConfigs: [
1668
+ { id: "umans-coder", name: "Umans Coder", enabled: true, category: "code", contextLength: 262144, functionCall: true, reasoning: true },
1669
+ { id: "umans-flash", name: "Umans Flash", enabled: true, category: "code", contextLength: 262144, functionCall: true },
1670
+ { id: "umans-glm-5.3", name: "Umans GLM-5.3", enabled: true, category: "code", contextLength: 262144, functionCall: true },
1671
+ { id: "umans-deepseek-v4-pro", name: "Umans DeepSeek V4 Pro", enabled: true, category: "code", contextLength: 262144, functionCall: true }
1672
+ ],
1673
+ description: "Umans AI Coding Plan\uFF08Anthropic Messages \u517C\u5BB9\u7AEF\u70B9\uFF09\u3002\u5BC6\u94A5\u7684\u6EDA\u52A8 5 \u5C0F\u65F6\u7528\u91CF\u4F1A\u81EA\u52A8\u663E\u793A\u5728\u5BC6\u94A5\u5217\u8868\u3002",
1674
+ icon: "umans",
1675
+ website: "https://umans.ai",
1676
+ docsUrl: "https://dev.umans.ai",
1677
+ isSystem: true,
1678
+ features: ["coding-plan"]
1679
+ };
1680
+
1583
1681
  // src/provider-presets/presets/volcengine.json
1584
1682
  var volcengine_default = {
1585
1683
  id: "volcengine",
@@ -1814,6 +1912,8 @@ var zhipu_default = {
1814
1912
  codingPlanBaseUrl: "https://api.z.ai/api/coding/paas/v4",
1815
1913
  modelsEndpoint: "https://api.z.ai/api/paas/v4/models",
1816
1914
  models: [
1915
+ "glm-5.3",
1916
+ "glm-5.3-flash",
1817
1917
  "glm-5.2",
1818
1918
  "glm-5",
1819
1919
  "glm-5.1",
@@ -1822,6 +1922,24 @@ var zhipu_default = {
1822
1922
  "glm-4.7"
1823
1923
  ],
1824
1924
  modelConfigs: [
1925
+ {
1926
+ id: "glm-5.3",
1927
+ name: "GLM-5.3",
1928
+ enabled: true,
1929
+ category: "chat",
1930
+ contextLength: 1048576,
1931
+ maxTokens: 131072,
1932
+ functionCall: true
1933
+ },
1934
+ {
1935
+ id: "glm-5.3-flash",
1936
+ name: "GLM-5.3 Flash",
1937
+ enabled: true,
1938
+ category: "chat",
1939
+ contextLength: 1048576,
1940
+ maxTokens: 131072,
1941
+ functionCall: true
1942
+ },
1825
1943
  {
1826
1944
  id: "glm-5.2",
1827
1945
  name: "GLM-5.2",
@@ -1900,6 +2018,8 @@ var zhipu_bigmodel_default = {
1900
2018
  codingPlanBaseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
1901
2019
  modelsEndpoint: "https://open.bigmodel.cn/api/paas/v4/models",
1902
2020
  models: [
2021
+ "glm-5.3",
2022
+ "glm-5.3-flash",
1903
2023
  "glm-5.2",
1904
2024
  "glm-5",
1905
2025
  "glm-5.1",
@@ -1908,6 +2028,24 @@ var zhipu_bigmodel_default = {
1908
2028
  "glm-4.7"
1909
2029
  ],
1910
2030
  modelConfigs: [
2031
+ {
2032
+ id: "glm-5.3",
2033
+ name: "GLM-5.3",
2034
+ enabled: true,
2035
+ category: "chat",
2036
+ contextLength: 1048576,
2037
+ maxTokens: 131072,
2038
+ functionCall: true
2039
+ },
2040
+ {
2041
+ id: "glm-5.3-flash",
2042
+ name: "GLM-5.3 Flash",
2043
+ enabled: true,
2044
+ category: "chat",
2045
+ contextLength: 1048576,
2046
+ maxTokens: 131072,
2047
+ functionCall: true
2048
+ },
1911
2049
  {
1912
2050
  id: "glm-5.2",
1913
2051
  name: "GLM-5.2",
@@ -2017,6 +2155,8 @@ var RAW_PRESETS_IN_ORDER = [
2017
2155
  mistral_default,
2018
2156
  together_default,
2019
2157
  perplexity_default,
2158
+ synthetic_default,
2159
+ umans_default,
2020
2160
  // Chinese cloud
2021
2161
  zhipu_default,
2022
2162
  zhipu_bigmodel_default,
@@ -2026,6 +2166,7 @@ var RAW_PRESETS_IN_ORDER = [
2026
2166
  tencent_default,
2027
2167
  tencent_anthropic_default,
2028
2168
  minimax_default,
2169
+ minimax_token_plan_default,
2029
2170
  baidu_default,
2030
2171
  kuaishou_default,
2031
2172
  mthreads_default,
@@ -26,9 +26,12 @@ __export(subscription_model_catalog_exports, {
26
26
  module.exports = __toCommonJS(subscription_model_catalog_exports);
27
27
  var SUBSCRIPTION_MODEL_CATALOG = {
28
28
  claude: ["claude-haiku-4-5", "claude-sonnet-5", "claude-opus-5", "claude-fable-5"],
29
- codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol"],
29
+ codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol", "gpt-6-astra"],
30
30
  gemini: [],
31
- opencodego: []
31
+ opencodego: [],
32
+ // Kimi Code's subscription catalog (the official CLI's built-ins + the
33
+ // k2.6/k2.7-code coding models, small → large).
34
+ kimi: ["kimi-k2.5", "kimi-k2.6", "kimi-k2.7-code", "kimi-k3", "kimi-for-coding", "kimi-for-coding-highspeed"]
32
35
  };
33
36
  function subscriptionProviderHasCatalog(providerId) {
34
37
  return SUBSCRIPTION_MODEL_CATALOG[providerId].length > 0;
@@ -25,7 +25,7 @@ import { SubscriptionProviderId } from './subscription-types.cjs';
25
25
  * The model ids each subscription provider serves, small → large.
26
26
  *
27
27
  * - claude: `claude-haiku-4-5` < `claude-sonnet-5` < `claude-opus-5` < `claude-fable-5`
28
- * - codex: `gpt-5.6-luna` (nano) < `gpt-5.6-terra` (mini) < `gpt-5.6-sol` (flagship)
28
+ * - codex: `gpt-5.6-luna` (nano) < `gpt-5.6-terra` (mini) < `gpt-5.6-sol` (flagship) < `gpt-6-astra`
29
29
  */
30
30
  declare const SUBSCRIPTION_MODEL_CATALOG: Record<SubscriptionProviderId, string[]>;
31
31
  /** Whether a provider has any cataloged models (drives UI model-picker gating). */
@@ -25,7 +25,7 @@ import { SubscriptionProviderId } from './subscription-types.js';
25
25
  * The model ids each subscription provider serves, small → large.
26
26
  *
27
27
  * - claude: `claude-haiku-4-5` < `claude-sonnet-5` < `claude-opus-5` < `claude-fable-5`
28
- * - codex: `gpt-5.6-luna` (nano) < `gpt-5.6-terra` (mini) < `gpt-5.6-sol` (flagship)
28
+ * - codex: `gpt-5.6-luna` (nano) < `gpt-5.6-terra` (mini) < `gpt-5.6-sol` (flagship) < `gpt-6-astra`
29
29
  */
30
30
  declare const SUBSCRIPTION_MODEL_CATALOG: Record<SubscriptionProviderId, string[]>;
31
31
  /** Whether a provider has any cataloged models (drives UI model-picker gating). */
@@ -1,9 +1,12 @@
1
1
  // src/subscription-model-catalog.ts
2
2
  var SUBSCRIPTION_MODEL_CATALOG = {
3
3
  claude: ["claude-haiku-4-5", "claude-sonnet-5", "claude-opus-5", "claude-fable-5"],
4
- codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol"],
4
+ codex: ["gpt-5.6-luna", "gpt-5.6-terra", "gpt-5.6-sol", "gpt-6-astra"],
5
5
  gemini: [],
6
- opencodego: []
6
+ opencodego: [],
7
+ // Kimi Code's subscription catalog (the official CLI's built-ins + the
8
+ // k2.6/k2.7-code coding models, small → large).
9
+ kimi: ["kimi-k2.5", "kimi-k2.6", "kimi-k2.7-code", "kimi-k3", "kimi-for-coding", "kimi-for-coding-highspeed"]
7
10
  };
8
11
  function subscriptionProviderHasCatalog(providerId) {
9
12
  return SUBSCRIPTION_MODEL_CATALOG[providerId].length > 0;
@@ -10,7 +10,7 @@
10
10
  * helpers the `@omnicross/*` packages consume.
11
11
  */
12
12
  /** Stable IDs for built-in subscription providers. */
13
- type SubscriptionProviderId = 'claude' | 'codex' | 'gemini' | 'opencodego';
13
+ type SubscriptionProviderId = 'claude' | 'codex' | 'gemini' | 'opencodego' | 'kimi';
14
14
  /**
15
15
  * OpenCodeGo routing scenarios used for model selection and fallback.
16
16
  *
@@ -10,7 +10,7 @@
10
10
  * helpers the `@omnicross/*` packages consume.
11
11
  */
12
12
  /** Stable IDs for built-in subscription providers. */
13
- type SubscriptionProviderId = 'claude' | 'codex' | 'gemini' | 'opencodego';
13
+ type SubscriptionProviderId = 'claude' | 'codex' | 'gemini' | 'opencodego' | 'kimi';
14
14
  /**
15
15
  * OpenCodeGo routing scenarios used for model selection and fallback.
16
16
  *
@@ -89,6 +89,8 @@ var DEEPSEEK_MODELS = {
89
89
  "deepseek-r1": { category: "reasoning", contextLength: 64e3, maxTokens: 8192, reasoning: true, thinkingTokenLimit: { min: 0, max: 32768 } }
90
90
  };
91
91
  var ZHIPU_MODELS = {
92
+ "glm-5.3": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
93
+ "glm-5.3-flash": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
92
94
  "glm-5.2": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
93
95
  "glm-5": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
94
96
  "glm-5.1": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
@@ -123,10 +125,15 @@ var TENCENT_HUNYUAN_MODELS = {
123
125
  "hunyuan-turbos": { category: "chat", functionCall: true }
124
126
  };
125
127
  var MINIMAX_MODELS = {
128
+ "minimax-m3": { category: "code", contextLength: 204800, functionCall: true, reasoning: true },
129
+ "minimax-m2.7": { category: "code", contextLength: 204800, functionCall: true },
130
+ "minimax-m2.7-highspeed": { category: "code", contextLength: 204800, functionCall: true },
126
131
  "minimax-m2.5": { category: "code", contextLength: 204800, functionCall: true },
127
132
  "minimax-m2.5-highspeed": { category: "code", contextLength: 204800, functionCall: true },
133
+ "minimax-m2.5-lightning": { category: "code", contextLength: 204800, functionCall: true },
128
134
  "minimax-m2.1": { category: "code", contextLength: 204800, functionCall: true },
129
- "minimax-m2.1-highspeed": { category: "code", contextLength: 204800, functionCall: true }
135
+ "minimax-m2.1-lightning": { category: "code", contextLength: 204800, functionCall: true },
136
+ "minimax-m2": { category: "code", contextLength: 204800, functionCall: true }
130
137
  };
131
138
  var XIAOMI_MIMO_CANONICAL = {
132
139
  "mimo-v2.5": { category: "code", contextLength: 1e6, maxTokens: 32768, vision: true, functionCall: true, reasoning: true, thinkingLevels: ["none", "low", "medium", "high"], thinkingTokenLimit: { min: 0, max: 32768 } },
@@ -48,6 +48,8 @@ var DEEPSEEK_MODELS = {
48
48
  "deepseek-r1": { category: "reasoning", contextLength: 64e3, maxTokens: 8192, reasoning: true, thinkingTokenLimit: { min: 0, max: 32768 } }
49
49
  };
50
50
  var ZHIPU_MODELS = {
51
+ "glm-5.3": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
52
+ "glm-5.3-flash": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
51
53
  "glm-5.2": { category: "chat", contextLength: 1048576, maxTokens: 131072, functionCall: true },
52
54
  "glm-5": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
53
55
  "glm-5.1": { category: "chat", contextLength: 2e5, maxTokens: 128e3, functionCall: true },
@@ -82,10 +84,15 @@ var TENCENT_HUNYUAN_MODELS = {
82
84
  "hunyuan-turbos": { category: "chat", functionCall: true }
83
85
  };
84
86
  var MINIMAX_MODELS = {
87
+ "minimax-m3": { category: "code", contextLength: 204800, functionCall: true, reasoning: true },
88
+ "minimax-m2.7": { category: "code", contextLength: 204800, functionCall: true },
89
+ "minimax-m2.7-highspeed": { category: "code", contextLength: 204800, functionCall: true },
85
90
  "minimax-m2.5": { category: "code", contextLength: 204800, functionCall: true },
86
91
  "minimax-m2.5-highspeed": { category: "code", contextLength: 204800, functionCall: true },
92
+ "minimax-m2.5-lightning": { category: "code", contextLength: 204800, functionCall: true },
87
93
  "minimax-m2.1": { category: "code", contextLength: 204800, functionCall: true },
88
- "minimax-m2.1-highspeed": { category: "code", contextLength: 204800, functionCall: true }
94
+ "minimax-m2.1-lightning": { category: "code", contextLength: 204800, functionCall: true },
95
+ "minimax-m2": { category: "code", contextLength: 204800, functionCall: true }
89
96
  };
90
97
  var XIAOMI_MIMO_CANONICAL = {
91
98
  "mimo-v2.5": { category: "code", contextLength: 1e6, maxTokens: 32768, vision: true, functionCall: true, reasoning: true, thinkingLevels: ["none", "low", "medium", "high"], thinkingTokenLimit: { min: 0, max: 32768 } },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnicross/contracts",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "description": "Dependency-light, host-agnostic contract types + runtime-value helpers shared by the @omnicross/* packages.",
5
5
  "license": "MIT",
6
6
  "author": "Sayo (https://github.com/Dumoedss)",