Skip to content

Commit 7bc7291

Browse files
committed
feat(zai): consolidate to two coding entrypoints (International/China) and update tests/UI; default to 'international'; update endpoints to /api/coding/paas/v4
1 parent 87b45de commit 7bc7291

File tree

5 files changed

+10
-12
lines changed

5 files changed

+10
-12
lines changed

packages/types/src/provider-settings.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ const sambaNovaSchema = apiModelIdProviderModelSchema.extend({
376376
sambaNovaApiKey: z.string().optional(),
377377
})
378378

379-
export const zaiApiLineSchema = z.enum(["international_coding", "international", "china_coding", "china"])
379+
export const zaiApiLineSchema = z.enum(["international", "china"])
380380

381381
export type ZaiApiLine = z.infer<typeof zaiApiLineSchema>
382382

packages/types/src/providers/zai.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,10 @@ export const mainlandZAiModels = {
106106
export const ZAI_DEFAULT_TEMPERATURE = 0
107107

108108
export const zaiApiLineConfigs = {
109-
international_coding: {
110-
name: "International Coding Plan",
109+
international: {
110+
name: "International",
111111
baseUrl: "https://api.z.ai/api/coding/paas/v4",
112112
isChina: false,
113113
},
114-
international: { name: "International Standard", baseUrl: "https://api.z.ai/api/paas/v4", isChina: false },
115-
china_coding: { name: "China Coding Plan", baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4", isChina: true },
116-
china: { name: "China Standard", baseUrl: "https://open.bigmodel.cn/api/paas/v4", isChina: true },
114+
china: { name: "China", baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4", isChina: true },
117115
} satisfies Record<ZaiApiLine, { name: string; baseUrl: string; isChina: boolean }>

src/api/providers/__tests__/zai.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe("ZAiHandler", () => {
4343
new ZAiHandler({ zaiApiKey: "test-zai-api-key", zaiApiLine: "international" })
4444
expect(OpenAI).toHaveBeenCalledWith(
4545
expect.objectContaining({
46-
baseURL: "https://api.z.ai/api/paas/v4",
46+
baseURL: "https://api.z.ai/api/coding/paas/v4",
4747
}),
4848
)
4949
})
@@ -81,7 +81,7 @@ describe("ZAiHandler", () => {
8181
it("should use the correct China Z AI base URL", () => {
8282
new ZAiHandler({ zaiApiKey: "test-zai-api-key", zaiApiLine: "china" })
8383
expect(OpenAI).toHaveBeenCalledWith(
84-
expect.objectContaining({ baseURL: "https://open.bigmodel.cn/api/paas/v4" }),
84+
expect.objectContaining({ baseURL: "https://open.bigmodel.cn/api/coding/paas/v4" }),
8585
)
8686
})
8787

src/api/providers/zai.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import { BaseOpenAiCompatibleProvider } from "./base-openai-compatible-provider"
1515

1616
export class ZAiHandler extends BaseOpenAiCompatibleProvider<InternationalZAiModelId | MainlandZAiModelId> {
1717
constructor(options: ApiHandlerOptions) {
18-
const isChina = zaiApiLineConfigs[options.zaiApiLine ?? "international_coding"].isChina
18+
const isChina = zaiApiLineConfigs[options.zaiApiLine ?? "international"].isChina
1919
const models = isChina ? mainlandZAiModels : internationalZAiModels
2020
const defaultModelId = isChina ? mainlandZAiDefaultModelId : internationalZAiDefaultModelId
2121

2222
super({
2323
...options,
2424
providerName: "Z AI",
25-
baseURL: zaiApiLineConfigs[options.zaiApiLine ?? "international_coding"].baseUrl,
25+
baseURL: zaiApiLineConfigs[options.zaiApiLine ?? "international"].baseUrl,
2626
apiKey: options.zaiApiKey ?? "not-provided",
2727
defaultProviderModelId: defaultModelId,
2828
providerModels: models,

webview-ui/src/components/settings/providers/ZAi.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const ZAi = ({ apiConfiguration, setApiConfigurationField }: ZAiProps) =>
3333
<div>
3434
<label className="block font-medium mb-1">{t("settings:providers.zaiEntrypoint")}</label>
3535
<VSCodeDropdown
36-
value={apiConfiguration.zaiApiLine || zaiApiLineSchema.enum.international_coding}
36+
value={apiConfiguration.zaiApiLine || zaiApiLineSchema.enum.international}
3737
onChange={handleInputChange("zaiApiLine")}
3838
className={cn("w-full")}>
3939
{zaiApiLineSchema.options.map((zaiApiLine) => {
@@ -64,7 +64,7 @@ export const ZAi = ({ apiConfiguration, setApiConfigurationField }: ZAiProps) =>
6464
{!apiConfiguration?.zaiApiKey && (
6565
<VSCodeButtonLink
6666
href={
67-
zaiApiLineConfigs[apiConfiguration.zaiApiLine ?? "international_coding"].isChina
67+
zaiApiLineConfigs[apiConfiguration.zaiApiLine ?? "international"].isChina
6868
? "https://open.bigmodel.cn/console/overview"
6969
: "https://z.ai/manage-apikey/apikey-list"
7070
}

0 commit comments

Comments
 (0)