@nextclaw/runtime 0.2.55 → 0.2.57-beta.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.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ProviderCatalogPlugin, ProviderCatalogPlugin as ProviderCatalogPlugin$1, ProviderSpec, ProviderSpec as ProviderSpec$1 } from "@nextclaw/core";
2
2
 
3
3
  //#region src/channels/builtin-channel.config.d.ts
4
- declare const BUILTIN_CHANNEL_PLUGIN_IDS: readonly ["telegram", "whatsapp", "discord", "feishu", "dingtalk", "wecom", "email", "slack", "qq", "weixin"];
5
- type BuiltinChannelPluginId = (typeof BUILTIN_CHANNEL_PLUGIN_IDS)[number];
6
- declare function isBuiltinChannelPluginId(value: string): value is BuiltinChannelPluginId;
4
+ declare const BUILTIN_CHANNEL_IDS: readonly ["telegram", "whatsapp", "discord", "feishu", "dingtalk", "wecom", "email", "slack", "qq", "weixin"];
5
+ type BuiltinChannelId = (typeof BUILTIN_CHANNEL_IDS)[number];
6
+ declare function isBuiltinChannelId(value: string): value is BuiltinChannelId;
7
7
  //#endregion
8
8
  //#region src/providers/builtin-provider-registry.provider.d.ts
9
9
  declare function listBuiltinProviderPlugins(): ProviderCatalogPlugin$1[];
@@ -14,5 +14,5 @@ declare function builtinProviderIds(): string[];
14
14
  //#region src/providers/plugins/index.d.ts
15
15
  declare const BUILTIN_PROVIDER_PLUGINS: ProviderCatalogPlugin$1[];
16
16
  //#endregion
17
- export { BUILTIN_CHANNEL_PLUGIN_IDS, BUILTIN_PROVIDER_PLUGINS, type BuiltinChannelPluginId, type ProviderCatalogPlugin, type ProviderSpec, builtinProviderIds, findBuiltinProviderByName, isBuiltinChannelPluginId, listBuiltinProviderPlugins, listBuiltinProviders };
17
+ export { BUILTIN_CHANNEL_IDS, BUILTIN_PROVIDER_PLUGINS, type BuiltinChannelId, type ProviderCatalogPlugin, type ProviderSpec, builtinProviderIds, findBuiltinProviderByName, isBuiltinChannelId, listBuiltinProviderPlugins, listBuiltinProviders };
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/channels/builtin-channel.config.ts","../src/providers/builtin-provider-registry.provider.ts","../src/providers/plugins/index.ts"],"mappings":";;;cAAa,0BAAA;AAAA,KAaD,sBAAA,WAAiC,0BAAA;AAAA,iBAE7B,wBAAA,CAAyB,KAAA,WAAgB,KAAA,IAAS,sBAAA;;;iBCDlD,0BAAA,CAAA,GAA8B,uBAAA;AAAA,iBAI9B,oBAAA,CAAA,GAAwB,cAAA;AAAA,iBAIxB,yBAAA,CAA0B,IAAA,WAAe,cAAA;AAAA,iBAIzC,kBAAA,CAAA;;;cCvBH,wBAAA,EAA0B,uBAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/channels/builtin-channel.config.ts","../src/providers/builtin-provider-registry.provider.ts","../src/providers/plugins/index.ts"],"mappings":";;;cAAa,mBAAA;AAAA,KAaD,gBAAA,WAA2B,mBAAA;AAAA,iBAEvB,kBAAA,CAAmB,KAAA,WAAgB,KAAA,IAAS,gBAAA;;;iBCD5C,0BAAA,CAAA,GAA8B,uBAAA;AAAA,iBAI9B,oBAAA,CAAA,GAAwB,cAAA;AAAA,iBAIxB,yBAAA,CAA0B,IAAA,WAAe,cAAA;AAAA,iBAIzC,kBAAA,CAAA;;;cCvBH,wBAAA,EAA0B,uBAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ProviderRegistry } from "@nextclaw/core";
2
2
  //#region src/channels/builtin-channel.config.ts
3
- const BUILTIN_CHANNEL_PLUGIN_IDS = [
3
+ const BUILTIN_CHANNEL_IDS = [
4
4
  "telegram",
5
5
  "whatsapp",
6
6
  "discord",
@@ -12,10 +12,78 @@ const BUILTIN_CHANNEL_PLUGIN_IDS = [
12
12
  "qq",
13
13
  "weixin"
14
14
  ];
15
- function isBuiltinChannelPluginId(value) {
16
- return BUILTIN_CHANNEL_PLUGIN_IDS.includes(value);
15
+ function isBuiltinChannelId(value) {
16
+ return BUILTIN_CHANNEL_IDS.includes(value);
17
17
  }
18
18
  //#endregion
19
+ //#region src/providers/plugins/dashscope-coding-plan.ts
20
+ const dashscopeCodingPlanProviderSpec = {
21
+ name: "dashscope-coding-plan",
22
+ keywords: ["dashscope-coding-plan", "coding-plan"],
23
+ envKey: "DASHSCOPE_CODING_PLAN_API_KEY",
24
+ displayName: "DashScope Coding Plan",
25
+ modelPrefix: "dashscope-coding-plan",
26
+ litellmPrefix: "dashscope-coding-plan",
27
+ skipPrefixes: ["dashscope-coding-plan/"],
28
+ envExtras: [],
29
+ isGateway: false,
30
+ isLocal: false,
31
+ detectByKeyPrefix: "sk-sp-",
32
+ detectByBaseKeyword: "coding.dashscope.aliyuncs.com",
33
+ defaultApiBase: "https://coding.dashscope.aliyuncs.com/v1",
34
+ defaultModels: [
35
+ "dashscope-coding-plan/qwen3.5-plus",
36
+ "dashscope-coding-plan/qwen3-max-2026-01-23",
37
+ "dashscope-coding-plan/qwen3-coder-next",
38
+ "dashscope-coding-plan/qwen3-coder-plus",
39
+ "dashscope-coding-plan/MiniMax-M2.5",
40
+ "dashscope-coding-plan/glm-5",
41
+ "dashscope-coding-plan/glm-4.7",
42
+ "dashscope-coding-plan/kimi-k2.5"
43
+ ],
44
+ modelConfig: {
45
+ "dashscope-coding-plan/qwen3.5-plus": { vision: true },
46
+ "dashscope-coding-plan/kimi-k2.5": { vision: true }
47
+ },
48
+ stripModelPrefix: false,
49
+ modelOverrides: [],
50
+ supportsResponsesApi: false,
51
+ logo: "dashscope.png",
52
+ apiBaseHelp: {
53
+ zh: "Coding Plan 必须使用专属 Base URL https://coding.dashscope.aliyuncs.com/v1,并配合 sk-sp- 开头的专属 API Key;不要与普通 DashScope 按量计费 Key/Base URL 混用。",
54
+ en: "Coding Plan must use the dedicated base URL https://coding.dashscope.aliyuncs.com/v1 together with an sk-sp- API key. Do not mix it with the regular DashScope pay-as-you-go key/base URL."
55
+ }
56
+ };
57
+ //#endregion
58
+ //#region src/providers/plugins/kimi-coding.provider.ts
59
+ const kimiCodingProviderSpec = {
60
+ name: "kimi-coding",
61
+ keywords: [
62
+ "kimi-coding",
63
+ "kimi-code",
64
+ "kimi-for-coding"
65
+ ],
66
+ envKey: "KIMI_CODING_API_KEY",
67
+ displayName: "Kimi Coding",
68
+ apiProtocol: "anthropic-messages",
69
+ modelPrefix: "kimi-coding",
70
+ defaultModels: ["kimi-coding/kimi-for-coding"],
71
+ defaultHeaders: { "User-Agent": "claude-code/0.1.0" },
72
+ envExtras: [],
73
+ isGateway: false,
74
+ isLocal: false,
75
+ detectByKeyPrefix: "",
76
+ detectByBaseKeyword: "api.kimi.com/coding",
77
+ defaultApiBase: "https://api.kimi.com/coding",
78
+ stripModelPrefix: false,
79
+ modelOverrides: [],
80
+ logo: "moonshot.png",
81
+ apiBaseHelp: {
82
+ zh: "Kimi Coding 需要使用专属 Base URL https://api.kimi.com/coding,并通过 Anthropic Messages 协议访问。",
83
+ en: "Kimi Coding requires the dedicated base URL https://api.kimi.com/coding and uses the Anthropic Messages protocol."
84
+ }
85
+ };
86
+ //#endregion
19
87
  //#region src/providers/plugins/index.ts
20
88
  const BUILTIN_PROVIDER_PLUGINS = [{
21
89
  id: "builtin-runtime-providers",
@@ -96,7 +164,10 @@ const BUILTIN_PROVIDER_PLUGINS = [{
96
164
  "aihubmix/claude-opus-4.6",
97
165
  "aihubmix/gemini-3.1-pro-preview"
98
166
  ],
99
- visionModels: ["aihubmix/gemini-3.1-pro-preview", "aihubmix/gpt-5.4"],
167
+ modelConfig: {
168
+ "aihubmix/gemini-3.1-pro-preview": { vision: true },
169
+ "aihubmix/gpt-5.4": { vision: true }
170
+ },
100
171
  stripModelPrefix: true,
101
172
  modelOverrides: [],
102
173
  logo: "aihubmix.png"
@@ -139,7 +210,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
139
210
  "openai/gpt-5-mini",
140
211
  "openai/gpt-5-nano"
141
212
  ],
142
- visionModels: ["openai/gpt-5.4"],
213
+ modelConfig: { "openai/gpt-5.4": { vision: true } },
143
214
  stripModelPrefix: false,
144
215
  modelOverrides: [],
145
216
  supportsWireApi: true,
@@ -190,7 +261,10 @@ const BUILTIN_PROVIDER_PLUGINS = [{
190
261
  detectByBaseKeyword: "",
191
262
  defaultApiBase: "https://generativelanguage.googleapis.com/v1beta/openai",
192
263
  defaultModels: ["gemini/gemini-3.1-pro-preview", "gemini/gemini-3-flash-preview"],
193
- visionModels: ["gemini/gemini-3.1-pro-preview", "gemini/gemini-3-flash-preview"],
264
+ modelConfig: {
265
+ "gemini/gemini-3.1-pro-preview": { vision: true },
266
+ "gemini/gemini-3-flash-preview": { vision: true }
267
+ },
194
268
  stripModelPrefix: false,
195
269
  modelOverrides: [],
196
270
  logo: "gemini.svg"
@@ -250,67 +324,8 @@ const BUILTIN_PROVIDER_PLUGINS = [{
250
324
  supportsResponsesApi: false,
251
325
  logo: "dashscope.png"
252
326
  },
253
- {
254
- name: "dashscope-coding-plan",
255
- keywords: ["dashscope-coding-plan", "coding-plan"],
256
- envKey: "DASHSCOPE_CODING_PLAN_API_KEY",
257
- displayName: "DashScope Coding Plan",
258
- modelPrefix: "dashscope-coding-plan",
259
- litellmPrefix: "dashscope-coding-plan",
260
- skipPrefixes: ["dashscope-coding-plan/"],
261
- envExtras: [],
262
- isGateway: false,
263
- isLocal: false,
264
- detectByKeyPrefix: "sk-sp-",
265
- detectByBaseKeyword: "coding.dashscope.aliyuncs.com",
266
- defaultApiBase: "https://coding.dashscope.aliyuncs.com/v1",
267
- defaultModels: [
268
- "dashscope-coding-plan/qwen3.5-plus",
269
- "dashscope-coding-plan/qwen3-max-2026-01-23",
270
- "dashscope-coding-plan/qwen3-coder-next",
271
- "dashscope-coding-plan/qwen3-coder-plus",
272
- "dashscope-coding-plan/MiniMax-M2.5",
273
- "dashscope-coding-plan/glm-5",
274
- "dashscope-coding-plan/glm-4.7",
275
- "dashscope-coding-plan/kimi-k2.5"
276
- ],
277
- visionModels: ["dashscope-coding-plan/qwen3.5-plus", "dashscope-coding-plan/kimi-k2.5"],
278
- stripModelPrefix: false,
279
- modelOverrides: [],
280
- supportsResponsesApi: false,
281
- logo: "dashscope.png",
282
- apiBaseHelp: {
283
- zh: "Coding Plan 必须使用专属 Base URL https://coding.dashscope.aliyuncs.com/v1,并配合 sk-sp- 开头的专属 API Key;不要与普通 DashScope 按量计费 Key/Base URL 混用。",
284
- en: "Coding Plan must use the dedicated base URL https://coding.dashscope.aliyuncs.com/v1 together with an sk-sp- API key. Do not mix it with the regular DashScope pay-as-you-go key/base URL."
285
- }
286
- },
287
- {
288
- name: "kimi-coding",
289
- keywords: [
290
- "kimi-coding",
291
- "kimi-code",
292
- "kimi-for-coding"
293
- ],
294
- envKey: "KIMI_CODING_API_KEY",
295
- displayName: "Kimi Coding",
296
- apiProtocol: "anthropic-messages",
297
- modelPrefix: "kimi-coding",
298
- defaultModels: ["kimi-coding/kimi-for-coding"],
299
- defaultHeaders: { "User-Agent": "claude-code/0.1.0" },
300
- envExtras: [],
301
- isGateway: false,
302
- isLocal: false,
303
- detectByKeyPrefix: "",
304
- detectByBaseKeyword: "api.kimi.com/coding",
305
- defaultApiBase: "https://api.kimi.com/coding",
306
- stripModelPrefix: false,
307
- modelOverrides: [],
308
- logo: "moonshot.png",
309
- apiBaseHelp: {
310
- zh: "Kimi Coding 需要使用专属 Base URL https://api.kimi.com/coding,并通过 Anthropic Messages 协议访问。",
311
- en: "Kimi Coding requires the dedicated base URL https://api.kimi.com/coding and uses the Anthropic Messages protocol."
312
- }
313
- },
327
+ dashscopeCodingPlanProviderSpec,
328
+ kimiCodingProviderSpec,
314
329
  {
315
330
  name: "qwen-portal",
316
331
  keywords: ["qwen-portal", "qwen"],
@@ -326,7 +341,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
326
341
  detectByBaseKeyword: "portal.qwen.ai",
327
342
  defaultApiBase: "https://portal.qwen.ai/v1",
328
343
  defaultModels: ["qwen-portal/coder-model", "qwen-portal/vision-model"],
329
- visionModels: ["qwen-portal/vision-model"],
344
+ modelConfig: { "qwen-portal/vision-model": { vision: true } },
330
345
  stripModelPrefix: false,
331
346
  modelOverrides: [],
332
347
  auth: {
@@ -530,6 +545,6 @@ function builtinProviderIds() {
530
545
  return listBuiltinProviders().map((provider) => provider.name);
531
546
  }
532
547
  //#endregion
533
- export { BUILTIN_CHANNEL_PLUGIN_IDS, BUILTIN_PROVIDER_PLUGINS, builtinProviderIds, findBuiltinProviderByName, isBuiltinChannelPluginId, listBuiltinProviderPlugins, listBuiltinProviders };
548
+ export { BUILTIN_CHANNEL_IDS, BUILTIN_PROVIDER_PLUGINS, builtinProviderIds, findBuiltinProviderByName, isBuiltinChannelId, listBuiltinProviderPlugins, listBuiltinProviders };
534
549
 
535
550
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/channels/builtin-channel.config.ts","../src/providers/plugins/dashscope-coding-plan.ts","../src/providers/plugins/kimi-coding.provider.ts","../src/providers/plugins/builtin.ts","../src/providers/plugins/index.ts","../src/providers/builtin-provider-registry.provider.ts"],"sourcesContent":["export const BUILTIN_CHANNEL_PLUGIN_IDS = [\n \"telegram\",\n \"whatsapp\",\n \"discord\",\n \"feishu\",\n \"dingtalk\",\n \"wecom\",\n \"email\",\n \"slack\",\n \"qq\",\n \"weixin\"\n] as const;\n\nexport type BuiltinChannelPluginId = (typeof BUILTIN_CHANNEL_PLUGIN_IDS)[number];\n\nexport function isBuiltinChannelPluginId(value: string): value is BuiltinChannelPluginId {\n return BUILTIN_CHANNEL_PLUGIN_IDS.includes(value as BuiltinChannelPluginId);\n}\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const dashscopeCodingPlanProviderSpec: ProviderSpec = {\n name: \"dashscope-coding-plan\",\n keywords: [\"dashscope-coding-plan\", \"coding-plan\"],\n envKey: \"DASHSCOPE_CODING_PLAN_API_KEY\",\n displayName: \"DashScope Coding Plan\",\n modelPrefix: \"dashscope-coding-plan\",\n litellmPrefix: \"dashscope-coding-plan\",\n skipPrefixes: [\"dashscope-coding-plan/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"sk-sp-\",\n detectByBaseKeyword: \"coding.dashscope.aliyuncs.com\",\n defaultApiBase: \"https://coding.dashscope.aliyuncs.com/v1\",\n defaultModels: [\n \"dashscope-coding-plan/qwen3.5-plus\",\n \"dashscope-coding-plan/qwen3-max-2026-01-23\",\n \"dashscope-coding-plan/qwen3-coder-next\",\n \"dashscope-coding-plan/qwen3-coder-plus\",\n \"dashscope-coding-plan/MiniMax-M2.5\",\n \"dashscope-coding-plan/glm-5\",\n \"dashscope-coding-plan/glm-4.7\",\n \"dashscope-coding-plan/kimi-k2.5\"\n ],\n visionModels: [\"dashscope-coding-plan/qwen3.5-plus\", \"dashscope-coding-plan/kimi-k2.5\"],\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\",\n apiBaseHelp: {\n zh: \"Coding Plan 必须使用专属 Base URL https://coding.dashscope.aliyuncs.com/v1,并配合 sk-sp- 开头的专属 API Key;不要与普通 DashScope 按量计费 Key/Base URL 混用。\",\n en: \"Coding Plan must use the dedicated base URL https://coding.dashscope.aliyuncs.com/v1 together with an sk-sp- API key. Do not mix it with the regular DashScope pay-as-you-go key/base URL.\"\n }\n};\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const kimiCodingProviderSpec: ProviderSpec = {\n name: \"kimi-coding\",\n keywords: [\"kimi-coding\", \"kimi-code\", \"kimi-for-coding\"],\n envKey: \"KIMI_CODING_API_KEY\",\n displayName: \"Kimi Coding\",\n apiProtocol: \"anthropic-messages\",\n modelPrefix: \"kimi-coding\",\n defaultModels: [\"kimi-coding/kimi-for-coding\"],\n defaultHeaders: {\n \"User-Agent\": \"claude-code/0.1.0\"\n },\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"api.kimi.com/coding\",\n defaultApiBase: \"https://api.kimi.com/coding\",\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\",\n apiBaseHelp: {\n zh: \"Kimi Coding 需要使用专属 Base URL https://api.kimi.com/coding,并通过 Anthropic Messages 协议访问。\",\n en: \"Kimi Coding requires the dedicated base URL https://api.kimi.com/coding and uses the Anthropic Messages protocol.\"\n }\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { dashscopeCodingPlanProviderSpec } from \"./dashscope-coding-plan.js\"; import { kimiCodingProviderSpec } from \"./kimi-coding.provider.js\";\nexport const builtinProviderPlugin: ProviderCatalogPlugin = { id: \"builtin-runtime-providers\",\n providers: [\n {\n name: \"nextclaw\",\n keywords: [\"nextclaw\", \"dashscope/\", \"qwen3.5\", \"qwen\"],\n envKey: \"NEXTCLAW_API_KEY\",\n displayName: \"NextClaw Built-in\",\n modelPrefix: \"nextclaw\",\n litellmPrefix: \"nextclaw\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"nc_free_\",\n detectByBaseKeyword: \"nextclaw.io\",\n defaultApiBase: \"https://ai-gateway-api.nextclaw.io/v1\",\n defaultModels: [\n \"dashscope/qwen3.5-plus\",\n \"dashscope/qwen3.5-flash\",\n \"dashscope/qwen3.5-122b-a10b\",\n \"dashscope/qwen3.5-35b-a3b\"\n ],\n stripModelPrefix: false,\n modelOverrides: []\n },\n {\n name: \"openrouter\",\n keywords: [\"openrouter\"],\n envKey: \"OPENROUTER_API_KEY\",\n displayName: \"OpenRouter\",\n modelPrefix: \"openrouter\",\n litellmPrefix: \"openrouter\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"sk-or-\",\n detectByBaseKeyword: \"openrouter\",\n defaultApiBase: \"https://openrouter.ai/api/v1\",\n defaultModels: [\n \"openrouter/minimax/minimax-m2.5\", \"openrouter/xiaomi/mimo-v2-pro\",\n \"openrouter/stepfun/step-3.5-flash:free\", \"openrouter/google/gemini-3-flash-preview\",\n \"openrouter/deepseek/deepseek-v3.2\",\n \"openrouter/x-ai/grok-4.1-fast\",\n \"openrouter/z-ai/glm-5\",\n \"openrouter/anthropic/claude-opus-4.6\",\n \"openrouter/openai/gpt-5.3-codex\"\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"openrouter.svg\"\n },\n {\n name: \"aihubmix\",\n keywords: [\"aihubmix\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"AiHubMix\",\n modelPrefix: \"aihubmix\",\n litellmPrefix: \"openai\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"aihubmix\",\n defaultApiBase: \"https://aihubmix.com/v1\",\n defaultModels: [\"aihubmix/gpt-5.3-codex\", \"aihubmix/claude-opus-4.6\", \"aihubmix/gemini-3.1-pro-preview\"],\n visionModels: [\"aihubmix/gemini-3.1-pro-preview\", \"aihubmix/gpt-5.4\"],\n stripModelPrefix: true,\n modelOverrides: [],\n logo: \"aihubmix.png\"\n },\n {\n name: \"anthropic\",\n keywords: [\"anthropic\", \"claude\"],\n envKey: \"ANTHROPIC_API_KEY\",\n displayName: \"Anthropic\",\n modelPrefix: \"anthropic\",\n litellmPrefix: \"anthropic\",\n skipPrefixes: [\"anthropic/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.anthropic.com\",\n defaultModels: [\"anthropic/claude-opus-4-6\", \"anthropic/claude-sonnet-4-6\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"anthropic.svg\"\n },\n {\n name: \"openai\",\n keywords: [\"openai\", \"gpt\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"OpenAI\",\n modelPrefix: \"openai\",\n litellmPrefix: \"openai\",\n skipPrefixes: [\"openai/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.openai.com/v1\",\n defaultModels: [\"openai/gpt-5.3-codex\", \"openai/gpt-5-mini\", \"openai/gpt-5-nano\"],\n visionModels: [\"openai/gpt-5.4\"],\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"auto\",\n logo: \"openai.svg\"\n },\n {\n name: \"deepseek\",\n keywords: [\"deepseek\"],\n envKey: \"DEEPSEEK_API_KEY\",\n displayName: \"DeepSeek\",\n modelPrefix: \"deepseek\",\n litellmPrefix: \"deepseek\",\n skipPrefixes: [\"deepseek/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.deepseek.com\",\n defaultModels: [\"deepseek/deepseek-chat\", \"deepseek/deepseek-reasoner\", \"deepseek/deepseek-v4-flash\", \"deepseek/deepseek-v4-pro\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"deepseek.png\"\n },\n {\n name: \"gemini\",\n keywords: [\"gemini\"],\n envKey: \"GEMINI_API_KEY\",\n displayName: \"Gemini\",\n modelPrefix: \"gemini\",\n litellmPrefix: \"gemini\",\n skipPrefixes: [\"gemini/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://generativelanguage.googleapis.com/v1beta/openai\",\n defaultModels: [\"gemini/gemini-3.1-pro-preview\", \"gemini/gemini-3-flash-preview\"],\n visionModels: [\"gemini/gemini-3.1-pro-preview\", \"gemini/gemini-3-flash-preview\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"gemini.svg\"\n },\n {\n name: \"zhipu\",\n keywords: [\"zhipu\", \"glm\", \"zai\"],\n envKey: \"ZAI_API_KEY\",\n displayName: \"Zhipu AI\",\n modelPrefix: \"zai\",\n litellmPrefix: \"zai\",\n skipPrefixes: [\"zhipu/\", \"zai/\", \"openrouter/\", \"hosted_vllm/\"],\n envExtras: [[\"ZHIPUAI_API_KEY\", \"{api_key}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://open.bigmodel.cn/api/paas/v4\",\n defaultModels: [\"zai/glm-5\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"zhipu.svg\"\n },\n {\n name: \"dashscope\",\n keywords: [\"qwen\", \"dashscope\"],\n envKey: \"DASHSCOPE_API_KEY\",\n displayName: \"DashScope\",\n modelPrefix: \"dashscope\",\n litellmPrefix: \"dashscope\",\n skipPrefixes: [\"dashscope/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n defaultModels: [\n \"dashscope/qwen3.5-plus\",\n \"dashscope/qwen3.5-flash\",\n \"dashscope/qwen3.5-397b-a17b\",\n \"dashscope/qwen3.5-122b-a10b\",\n \"dashscope/qwen3.5-35b-a3b\",\n \"dashscope/qwen3.5-27b\"\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\"\n },\n dashscopeCodingPlanProviderSpec, kimiCodingProviderSpec,\n {\n name: \"qwen-portal\",\n keywords: [\"qwen-portal\", \"qwen\"],\n envKey: \"QWEN_PORTAL_TOKEN\",\n displayName: \"Qwen Portal\",\n modelPrefix: \"qwen-portal\",\n litellmPrefix: \"qwen-portal\",\n skipPrefixes: [\"qwen-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"portal.qwen.ai\",\n defaultApiBase: \"https://portal.qwen.ai/v1\",\n defaultModels: [\"qwen-portal/coder-model\", \"qwen-portal/vision-model\"],\n visionModels: [\"qwen-portal/vision-model\"],\n stripModelPrefix: false,\n modelOverrides: [],\n auth: {\n kind: \"device_code\",\n displayName: \"Qwen OAuth\",\n baseUrl: \"https://chat.qwen.ai\",\n deviceCodePath: \"/api/v1/oauth2/device/code\",\n tokenPath: \"/api/v1/oauth2/token\",\n clientId: \"f0304373b74a44d2b584a3fb70ca9e56\",\n scope: \"openid profile email model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:device_code\",\n usePkce: true,\n cliCredential: {\n path: \"~/.qwen/oauth_creds.json\",\n accessTokenField: \"access_token\",\n refreshTokenField: \"refresh_token\",\n expiresAtField: \"expiry_date\"\n },\n note: {\n zh: \"通过浏览器登录 Qwen 后即可在 NextClaw 中使用该 Provider。\",\n en: \"Log in to Qwen in your browser, then use this provider in NextClaw.\"\n }\n }\n },\n {\n name: \"moonshot\",\n keywords: [\"moonshot\", \"kimi\"],\n envKey: \"MOONSHOT_API_KEY\",\n displayName: \"Moonshot\",\n modelPrefix: \"moonshot\",\n litellmPrefix: \"moonshot\",\n skipPrefixes: [\"moonshot/\", \"openrouter/\"],\n envExtras: [[\"MOONSHOT_API_BASE\", \"{api_base}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.moonshot.ai/v1\",\n defaultModels: [\"moonshot/kimi-k2.5\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\"\n },\n {\n name: \"minimax\",\n keywords: [\"minimax\"],\n envKey: \"MINIMAX_API_KEY\",\n displayName: \"MiniMax\",\n modelPrefix: \"minimax\",\n litellmPrefix: \"minimax\",\n skipPrefixes: [\"minimax/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimaxi.com/v1\",\n defaultModels: [\"minimax/MiniMax-M2.7\", \"minimax/MiniMax-M2.7-highspeed\", \"minimax/MiniMax-M2.5\", \"minimax/MiniMax-M2.5-highspeed\"],\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"chat\",\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"MiniMax 中国区请使用 https://api.minimaxi.com/v1;海外请使用 https://api.minimax.io/v1。AI Coding Tools 推荐使用 MiniMax-M2.7,并将 Wire API 设为 Chat。\",\n en: \"Use https://api.minimaxi.com/v1 for Mainland China accounts, and https://api.minimax.io/v1 for overseas accounts. For AI Coding Tools, prefer MiniMax-M2.7 with Wire API set to Chat.\"\n }\n },\n {\n name: \"minimax-portal\",\n keywords: [\"minimax-portal\", \"minimax\"],\n envKey: \"MINIMAX_PORTAL_TOKEN\",\n displayName: \"MiniMax Portal\",\n modelPrefix: \"minimax-portal\",\n litellmPrefix: \"minimax-portal\",\n skipPrefixes: [\"minimax-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimax.io/v1\",\n defaultModels: [\"minimax-portal/MiniMax-M2.5\", \"minimax-portal/MiniMax-M2.5-highspeed\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"OAuth Global 默认使用 https://api.minimax.io/v1;OAuth 中国区默认使用 https://api.minimaxi.com/v1。\",\n en: \"OAuth Global uses https://api.minimax.io/v1 by default; OAuth CN uses https://api.minimaxi.com/v1.\"\n },\n auth: {\n kind: \"device_code\",\n protocol: \"minimax_user_code\",\n displayName: \"MiniMax OAuth\",\n baseUrl: \"https://api.minimax.io\",\n deviceCodePath: \"/oauth/code\",\n tokenPath: \"/oauth/token\",\n clientId: \"78257093-7e40-4613-99e0-527b14b39113\",\n scope: \"group_id profile model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:user_code\",\n usePkce: true,\n defaultMethodId: \"cn\",\n methods: [\n {\n id: \"global\",\n label: {\n zh: \"Global(海外)\",\n en: \"Global\"\n },\n hint: {\n zh: \"适用于海外用户,默认 API Base 为 https://api.minimax.io/v1。\",\n en: \"For international users. Default API base: https://api.minimax.io/v1.\"\n },\n baseUrl: \"https://api.minimax.io\",\n defaultApiBase: \"https://api.minimax.io/v1\"\n },\n {\n id: \"cn\",\n label: {\n zh: \"中国区(CN)\",\n en: \"China Mainland (CN)\"\n },\n hint: {\n zh: \"适用于中国区用户,默认 API Base 为 https://api.minimaxi.com/v1。\",\n en: \"For Mainland China users. Default API base: https://api.minimaxi.com/v1.\"\n },\n baseUrl: \"https://api.minimaxi.com\",\n defaultApiBase: \"https://api.minimaxi.com/v1\"\n }\n ],\n note: {\n zh: \"通过浏览器完成 MiniMax OAuth 授权后即可使用,无需手动填写 API Key。\",\n en: \"Complete MiniMax OAuth in browser to use this provider without manually entering an API key.\"\n }\n }\n },\n {\n name: \"vllm\",\n keywords: [\"vllm\"],\n envKey: \"HOSTED_VLLM_API_KEY\",\n displayName: \"vLLM/Local\",\n modelPrefix: \"hosted_vllm\",\n litellmPrefix: \"hosted_vllm\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: false,\n isLocal: true,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"http://127.0.0.1:8000/v1\",\n defaultModels: [\n \"hosted_vllm/meta-llama/Llama-3.1-8B-Instruct\",\n \"hosted_vllm/Qwen/Qwen2.5-7B-Instruct\"\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"vllm.svg\"\n },\n {\n name: \"groq\",\n keywords: [\"groq\"],\n envKey: \"GROQ_API_KEY\",\n displayName: \"Groq\",\n modelPrefix: \"groq\",\n litellmPrefix: \"groq\",\n skipPrefixes: [\"groq/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.groq.com/openai/v1\",\n defaultModels: [\"groq/openai/gpt-oss-120b\", \"groq/llama-3.1-8b-instant\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"groq.svg\"\n }\n ]\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { builtinProviderPlugin } from \"./builtin.js\";\n\nexport const BUILTIN_PROVIDER_PLUGINS: ProviderCatalogPlugin[] = [builtinProviderPlugin];\n","import {\n ProviderRegistry,\n type ProviderCatalogPlugin,\n type ProviderSpec\n} from \"@nextclaw/core\";\nimport { BUILTIN_PROVIDER_PLUGINS } from \"./plugins/index.js\";\n\nlet builtinProviderRegistry: ProviderRegistry | null = null;\n\nfunction getBuiltinProviderRegistry(): ProviderRegistry {\n builtinProviderRegistry ??= new ProviderRegistry(BUILTIN_PROVIDER_PLUGINS);\n return builtinProviderRegistry;\n}\n\nexport function listBuiltinProviderPlugins(): ProviderCatalogPlugin[] {\n return getBuiltinProviderRegistry().listProviderPlugins();\n}\n\nexport function listBuiltinProviders(): ProviderSpec[] {\n return getBuiltinProviderRegistry().listProviderSpecs();\n}\n\nexport function findBuiltinProviderByName(name: string): ProviderSpec | undefined {\n return getBuiltinProviderRegistry().findProviderByName(name);\n}\n\nexport function builtinProviderIds(): string[] {\n return listBuiltinProviders().map((provider) => provider.name);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/channels/builtin-channel.config.ts","../src/providers/plugins/dashscope-coding-plan.ts","../src/providers/plugins/kimi-coding.provider.ts","../src/providers/plugins/builtin.ts","../src/providers/plugins/index.ts","../src/providers/builtin-provider-registry.provider.ts"],"sourcesContent":["export const BUILTIN_CHANNEL_IDS = [\n \"telegram\",\n \"whatsapp\",\n \"discord\",\n \"feishu\",\n \"dingtalk\",\n \"wecom\",\n \"email\",\n \"slack\",\n \"qq\",\n \"weixin\"\n] as const;\n\nexport type BuiltinChannelId = (typeof BUILTIN_CHANNEL_IDS)[number];\n\nexport function isBuiltinChannelId(value: string): value is BuiltinChannelId {\n return BUILTIN_CHANNEL_IDS.includes(value as BuiltinChannelId);\n}\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const dashscopeCodingPlanProviderSpec: ProviderSpec = {\n name: \"dashscope-coding-plan\",\n keywords: [\"dashscope-coding-plan\", \"coding-plan\"],\n envKey: \"DASHSCOPE_CODING_PLAN_API_KEY\",\n displayName: \"DashScope Coding Plan\",\n modelPrefix: \"dashscope-coding-plan\",\n litellmPrefix: \"dashscope-coding-plan\",\n skipPrefixes: [\"dashscope-coding-plan/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"sk-sp-\",\n detectByBaseKeyword: \"coding.dashscope.aliyuncs.com\",\n defaultApiBase: \"https://coding.dashscope.aliyuncs.com/v1\",\n defaultModels: [\n \"dashscope-coding-plan/qwen3.5-plus\",\n \"dashscope-coding-plan/qwen3-max-2026-01-23\",\n \"dashscope-coding-plan/qwen3-coder-next\",\n \"dashscope-coding-plan/qwen3-coder-plus\",\n \"dashscope-coding-plan/MiniMax-M2.5\",\n \"dashscope-coding-plan/glm-5\",\n \"dashscope-coding-plan/glm-4.7\",\n \"dashscope-coding-plan/kimi-k2.5\"\n ],\n modelConfig: {\n \"dashscope-coding-plan/qwen3.5-plus\": { vision: true },\n \"dashscope-coding-plan/kimi-k2.5\": { vision: true }\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\",\n apiBaseHelp: {\n zh: \"Coding Plan 必须使用专属 Base URL https://coding.dashscope.aliyuncs.com/v1,并配合 sk-sp- 开头的专属 API Key;不要与普通 DashScope 按量计费 Key/Base URL 混用。\",\n en: \"Coding Plan must use the dedicated base URL https://coding.dashscope.aliyuncs.com/v1 together with an sk-sp- API key. Do not mix it with the regular DashScope pay-as-you-go key/base URL.\"\n }\n};\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const kimiCodingProviderSpec: ProviderSpec = {\n name: \"kimi-coding\",\n keywords: [\"kimi-coding\", \"kimi-code\", \"kimi-for-coding\"],\n envKey: \"KIMI_CODING_API_KEY\",\n displayName: \"Kimi Coding\",\n apiProtocol: \"anthropic-messages\",\n modelPrefix: \"kimi-coding\",\n defaultModels: [\"kimi-coding/kimi-for-coding\"],\n defaultHeaders: {\n \"User-Agent\": \"claude-code/0.1.0\"\n },\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"api.kimi.com/coding\",\n defaultApiBase: \"https://api.kimi.com/coding\",\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\",\n apiBaseHelp: {\n zh: \"Kimi Coding 需要使用专属 Base URL https://api.kimi.com/coding,并通过 Anthropic Messages 协议访问。\",\n en: \"Kimi Coding requires the dedicated base URL https://api.kimi.com/coding and uses the Anthropic Messages protocol.\"\n }\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { dashscopeCodingPlanProviderSpec } from \"./dashscope-coding-plan.js\"; import { kimiCodingProviderSpec } from \"./kimi-coding.provider.js\";\nexport const builtinProviderPlugin: ProviderCatalogPlugin = { id: \"builtin-runtime-providers\",\n providers: [\n {\n name: \"nextclaw\",\n keywords: [\"nextclaw\", \"dashscope/\", \"qwen3.5\", \"qwen\"],\n envKey: \"NEXTCLAW_API_KEY\",\n displayName: \"NextClaw Built-in\",\n modelPrefix: \"nextclaw\",\n litellmPrefix: \"nextclaw\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"nc_free_\",\n detectByBaseKeyword: \"nextclaw.io\",\n defaultApiBase: \"https://ai-gateway-api.nextclaw.io/v1\",\n defaultModels: [\n \"dashscope/qwen3.5-plus\",\n \"dashscope/qwen3.5-flash\",\n \"dashscope/qwen3.5-122b-a10b\",\n \"dashscope/qwen3.5-35b-a3b\"\n ],\n stripModelPrefix: false,\n modelOverrides: []\n },\n {\n name: \"openrouter\",\n keywords: [\"openrouter\"],\n envKey: \"OPENROUTER_API_KEY\",\n displayName: \"OpenRouter\",\n modelPrefix: \"openrouter\",\n litellmPrefix: \"openrouter\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"sk-or-\",\n detectByBaseKeyword: \"openrouter\",\n defaultApiBase: \"https://openrouter.ai/api/v1\",\n defaultModels: [\n \"openrouter/minimax/minimax-m2.5\", \"openrouter/xiaomi/mimo-v2-pro\",\n \"openrouter/stepfun/step-3.5-flash:free\", \"openrouter/google/gemini-3-flash-preview\",\n \"openrouter/deepseek/deepseek-v3.2\",\n \"openrouter/x-ai/grok-4.1-fast\",\n \"openrouter/z-ai/glm-5\",\n \"openrouter/anthropic/claude-opus-4.6\",\n \"openrouter/openai/gpt-5.3-codex\"\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"openrouter.svg\"\n },\n {\n name: \"aihubmix\",\n keywords: [\"aihubmix\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"AiHubMix\",\n modelPrefix: \"aihubmix\",\n litellmPrefix: \"openai\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"aihubmix\",\n defaultApiBase: \"https://aihubmix.com/v1\",\n defaultModels: [\"aihubmix/gpt-5.3-codex\", \"aihubmix/claude-opus-4.6\", \"aihubmix/gemini-3.1-pro-preview\"],\n modelConfig: { \"aihubmix/gemini-3.1-pro-preview\": { vision: true }, \"aihubmix/gpt-5.4\": { vision: true } },\n stripModelPrefix: true,\n modelOverrides: [],\n logo: \"aihubmix.png\"\n },\n {\n name: \"anthropic\",\n keywords: [\"anthropic\", \"claude\"],\n envKey: \"ANTHROPIC_API_KEY\",\n displayName: \"Anthropic\",\n modelPrefix: \"anthropic\",\n litellmPrefix: \"anthropic\",\n skipPrefixes: [\"anthropic/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.anthropic.com\",\n defaultModels: [\"anthropic/claude-opus-4-6\", \"anthropic/claude-sonnet-4-6\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"anthropic.svg\"\n },\n {\n name: \"openai\",\n keywords: [\"openai\", \"gpt\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"OpenAI\",\n modelPrefix: \"openai\",\n litellmPrefix: \"openai\",\n skipPrefixes: [\"openai/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.openai.com/v1\",\n defaultModels: [\"openai/gpt-5.3-codex\", \"openai/gpt-5-mini\", \"openai/gpt-5-nano\"],\n modelConfig: { \"openai/gpt-5.4\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"auto\",\n logo: \"openai.svg\"\n },\n {\n name: \"deepseek\",\n keywords: [\"deepseek\"],\n envKey: \"DEEPSEEK_API_KEY\",\n displayName: \"DeepSeek\",\n modelPrefix: \"deepseek\",\n litellmPrefix: \"deepseek\",\n skipPrefixes: [\"deepseek/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.deepseek.com\",\n defaultModels: [\"deepseek/deepseek-chat\", \"deepseek/deepseek-reasoner\", \"deepseek/deepseek-v4-flash\", \"deepseek/deepseek-v4-pro\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"deepseek.png\"\n },\n {\n name: \"gemini\",\n keywords: [\"gemini\"],\n envKey: \"GEMINI_API_KEY\",\n displayName: \"Gemini\",\n modelPrefix: \"gemini\",\n litellmPrefix: \"gemini\",\n skipPrefixes: [\"gemini/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://generativelanguage.googleapis.com/v1beta/openai\",\n defaultModels: [\"gemini/gemini-3.1-pro-preview\", \"gemini/gemini-3-flash-preview\"],\n modelConfig: { \"gemini/gemini-3.1-pro-preview\": { vision: true }, \"gemini/gemini-3-flash-preview\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"gemini.svg\"\n },\n {\n name: \"zhipu\",\n keywords: [\"zhipu\", \"glm\", \"zai\"],\n envKey: \"ZAI_API_KEY\",\n displayName: \"Zhipu AI\",\n modelPrefix: \"zai\",\n litellmPrefix: \"zai\",\n skipPrefixes: [\"zhipu/\", \"zai/\", \"openrouter/\", \"hosted_vllm/\"],\n envExtras: [[\"ZHIPUAI_API_KEY\", \"{api_key}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://open.bigmodel.cn/api/paas/v4\",\n defaultModels: [\"zai/glm-5\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"zhipu.svg\"\n },\n {\n name: \"dashscope\",\n keywords: [\"qwen\", \"dashscope\"],\n envKey: \"DASHSCOPE_API_KEY\",\n displayName: \"DashScope\",\n modelPrefix: \"dashscope\",\n litellmPrefix: \"dashscope\",\n skipPrefixes: [\"dashscope/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n defaultModels: [\n \"dashscope/qwen3.5-plus\",\n \"dashscope/qwen3.5-flash\",\n \"dashscope/qwen3.5-397b-a17b\",\n \"dashscope/qwen3.5-122b-a10b\",\n \"dashscope/qwen3.5-35b-a3b\",\n \"dashscope/qwen3.5-27b\"\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\"\n },\n dashscopeCodingPlanProviderSpec, kimiCodingProviderSpec,\n {\n name: \"qwen-portal\",\n keywords: [\"qwen-portal\", \"qwen\"],\n envKey: \"QWEN_PORTAL_TOKEN\",\n displayName: \"Qwen Portal\",\n modelPrefix: \"qwen-portal\",\n litellmPrefix: \"qwen-portal\",\n skipPrefixes: [\"qwen-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"portal.qwen.ai\",\n defaultApiBase: \"https://portal.qwen.ai/v1\",\n defaultModels: [\"qwen-portal/coder-model\", \"qwen-portal/vision-model\"],\n modelConfig: { \"qwen-portal/vision-model\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n auth: {\n kind: \"device_code\",\n displayName: \"Qwen OAuth\",\n baseUrl: \"https://chat.qwen.ai\",\n deviceCodePath: \"/api/v1/oauth2/device/code\",\n tokenPath: \"/api/v1/oauth2/token\",\n clientId: \"f0304373b74a44d2b584a3fb70ca9e56\",\n scope: \"openid profile email model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:device_code\",\n usePkce: true,\n cliCredential: {\n path: \"~/.qwen/oauth_creds.json\",\n accessTokenField: \"access_token\",\n refreshTokenField: \"refresh_token\",\n expiresAtField: \"expiry_date\"\n },\n note: {\n zh: \"通过浏览器登录 Qwen 后即可在 NextClaw 中使用该 Provider。\",\n en: \"Log in to Qwen in your browser, then use this provider in NextClaw.\"\n }\n }\n },\n {\n name: \"moonshot\",\n keywords: [\"moonshot\", \"kimi\"],\n envKey: \"MOONSHOT_API_KEY\",\n displayName: \"Moonshot\",\n modelPrefix: \"moonshot\",\n litellmPrefix: \"moonshot\",\n skipPrefixes: [\"moonshot/\", \"openrouter/\"],\n envExtras: [[\"MOONSHOT_API_BASE\", \"{api_base}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.moonshot.ai/v1\",\n defaultModels: [\"moonshot/kimi-k2.5\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\"\n },\n {\n name: \"minimax\",\n keywords: [\"minimax\"],\n envKey: \"MINIMAX_API_KEY\",\n displayName: \"MiniMax\",\n modelPrefix: \"minimax\",\n litellmPrefix: \"minimax\",\n skipPrefixes: [\"minimax/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimaxi.com/v1\",\n defaultModels: [\"minimax/MiniMax-M2.7\", \"minimax/MiniMax-M2.7-highspeed\", \"minimax/MiniMax-M2.5\", \"minimax/MiniMax-M2.5-highspeed\"],\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"chat\",\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"MiniMax 中国区请使用 https://api.minimaxi.com/v1;海外请使用 https://api.minimax.io/v1。AI Coding Tools 推荐使用 MiniMax-M2.7,并将 Wire API 设为 Chat。\",\n en: \"Use https://api.minimaxi.com/v1 for Mainland China accounts, and https://api.minimax.io/v1 for overseas accounts. For AI Coding Tools, prefer MiniMax-M2.7 with Wire API set to Chat.\"\n }\n },\n {\n name: \"minimax-portal\",\n keywords: [\"minimax-portal\", \"minimax\"],\n envKey: \"MINIMAX_PORTAL_TOKEN\",\n displayName: \"MiniMax Portal\",\n modelPrefix: \"minimax-portal\",\n litellmPrefix: \"minimax-portal\",\n skipPrefixes: [\"minimax-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimax.io/v1\",\n defaultModels: [\"minimax-portal/MiniMax-M2.5\", \"minimax-portal/MiniMax-M2.5-highspeed\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"OAuth Global 默认使用 https://api.minimax.io/v1;OAuth 中国区默认使用 https://api.minimaxi.com/v1。\",\n en: \"OAuth Global uses https://api.minimax.io/v1 by default; OAuth CN uses https://api.minimaxi.com/v1.\"\n },\n auth: {\n kind: \"device_code\",\n protocol: \"minimax_user_code\",\n displayName: \"MiniMax OAuth\",\n baseUrl: \"https://api.minimax.io\",\n deviceCodePath: \"/oauth/code\",\n tokenPath: \"/oauth/token\",\n clientId: \"78257093-7e40-4613-99e0-527b14b39113\",\n scope: \"group_id profile model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:user_code\",\n usePkce: true,\n defaultMethodId: \"cn\",\n methods: [\n {\n id: \"global\",\n label: {\n zh: \"Global(海外)\",\n en: \"Global\"\n },\n hint: {\n zh: \"适用于海外用户,默认 API Base 为 https://api.minimax.io/v1。\",\n en: \"For international users. Default API base: https://api.minimax.io/v1.\"\n },\n baseUrl: \"https://api.minimax.io\",\n defaultApiBase: \"https://api.minimax.io/v1\"\n },\n {\n id: \"cn\",\n label: {\n zh: \"中国区(CN)\",\n en: \"China Mainland (CN)\"\n },\n hint: {\n zh: \"适用于中国区用户,默认 API Base 为 https://api.minimaxi.com/v1。\",\n en: \"For Mainland China users. Default API base: https://api.minimaxi.com/v1.\"\n },\n baseUrl: \"https://api.minimaxi.com\",\n defaultApiBase: \"https://api.minimaxi.com/v1\"\n }\n ],\n note: {\n zh: \"通过浏览器完成 MiniMax OAuth 授权后即可使用,无需手动填写 API Key。\",\n en: \"Complete MiniMax OAuth in browser to use this provider without manually entering an API key.\"\n }\n }\n },\n {\n name: \"vllm\",\n keywords: [\"vllm\"],\n envKey: \"HOSTED_VLLM_API_KEY\",\n displayName: \"vLLM/Local\",\n modelPrefix: \"hosted_vllm\",\n litellmPrefix: \"hosted_vllm\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: false,\n isLocal: true,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"http://127.0.0.1:8000/v1\",\n defaultModels: [\n \"hosted_vllm/meta-llama/Llama-3.1-8B-Instruct\",\n \"hosted_vllm/Qwen/Qwen2.5-7B-Instruct\"\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"vllm.svg\"\n },\n {\n name: \"groq\",\n keywords: [\"groq\"],\n envKey: \"GROQ_API_KEY\",\n displayName: \"Groq\",\n modelPrefix: \"groq\",\n litellmPrefix: \"groq\",\n skipPrefixes: [\"groq/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.groq.com/openai/v1\",\n defaultModels: [\"groq/openai/gpt-oss-120b\", \"groq/llama-3.1-8b-instant\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"groq.svg\"\n }\n ]\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { builtinProviderPlugin } from \"./builtin.js\";\n\nexport const BUILTIN_PROVIDER_PLUGINS: ProviderCatalogPlugin[] = [builtinProviderPlugin];\n","import {\n ProviderRegistry,\n type ProviderCatalogPlugin,\n type ProviderSpec\n} from \"@nextclaw/core\";\nimport { BUILTIN_PROVIDER_PLUGINS } from \"./plugins/index.js\";\n\nlet builtinProviderRegistry: ProviderRegistry | null = null;\n\nfunction getBuiltinProviderRegistry(): ProviderRegistry {\n builtinProviderRegistry ??= new ProviderRegistry(BUILTIN_PROVIDER_PLUGINS);\n return builtinProviderRegistry;\n}\n\nexport function listBuiltinProviderPlugins(): ProviderCatalogPlugin[] {\n return getBuiltinProviderRegistry().listProviderPlugins();\n}\n\nexport function listBuiltinProviders(): ProviderSpec[] {\n return getBuiltinProviderRegistry().listProviderSpecs();\n}\n\nexport function findBuiltinProviderByName(name: string): ProviderSpec | undefined {\n return getBuiltinProviderRegistry().findProviderByName(name);\n}\n\nexport function builtinProviderIds(): string[] {\n return listBuiltinProviders().map((provider) => provider.name);\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextclaw/runtime",
3
- "version": "0.2.55",
3
+ "version": "0.2.57-beta.0",
4
4
  "private": false,
5
5
  "description": "NextClaw runtime assembly for builtin providers and channels.",
6
6
  "type": "module",
@@ -15,7 +15,7 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@nextclaw/core": "0.12.23"
18
+ "@nextclaw/core": "0.12.25-beta.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "^20.17.6",