diff options
| author | Frank <[email protected]> | 2025-11-03 17:30:16 -0500 |
|---|---|---|
| committer | Frank <[email protected]> | 2025-11-03 17:30:18 -0500 |
| commit | 9fb6e81007ad000e5e55255af7e12a6c6fb58bde (patch) | |
| tree | 44a2e248156261f7ac5c2b88c0788b130d6b88d7 /packages/console/app/src | |
| parent | 3ac82227f1cf53bd4211562c72a982c2358ce48f (diff) | |
| download | opencode-9fb6e81007ad000e5e55255af7e12a6c6fb58bde.tar.gz opencode-9fb6e81007ad000e5e55255af7e12a6c6fb58bde.zip | |
wip: zen
Diffstat (limited to 'packages/console/app/src')
| -rw-r--r-- | packages/console/app/src/routes/zen/util/format.ts | 1 | ||||
| -rw-r--r-- | packages/console/app/src/routes/zen/util/handler.ts | 9 | ||||
| -rw-r--r-- | packages/console/app/src/routes/zen/util/provider/provider.ts | 11 |
3 files changed, 10 insertions, 11 deletions
diff --git a/packages/console/app/src/routes/zen/util/format.ts b/packages/console/app/src/routes/zen/util/format.ts deleted file mode 100644 index 53a074969..000000000 --- a/packages/console/app/src/routes/zen/util/format.ts +++ /dev/null @@ -1 +0,0 @@ -export type Format = "anthropic" | "openai" | "oa-compat" diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index ebf42f4b2..0d46e8580 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -18,7 +18,6 @@ import { createStreamPartConverter, createResponseConverter, } from "./provider/provider" -import { Format } from "./format" import { anthropicHelper } from "./provider/anthropic" import { openaiHelper } from "./provider/openai" import { oaCompatHelper } from "./provider/openai-compatible" @@ -29,7 +28,7 @@ type Model = ZenData["models"][string] export async function handler( input: APIEvent, opts: { - format: Format + format: ZenData.Format parseApiKey: (headers: Headers) => string | undefined }, ) { @@ -248,12 +247,14 @@ export async function handler( throw new ModelError(`Provider ${provider.id} not supported`) } + const format = zenData.providers[provider.id].format + return { ...provider, ...zenData.providers[provider.id], - ...(provider.id === "anthropic" + ...(format === "anthropic" ? anthropicHelper - : provider.id === "openai" + : format === "openai" ? openaiHelper : oaCompatHelper), } diff --git a/packages/console/app/src/routes/zen/util/provider/provider.ts b/packages/console/app/src/routes/zen/util/provider/provider.ts index 03dfbc3c6..d0f123968 100644 --- a/packages/console/app/src/routes/zen/util/provider/provider.ts +++ b/packages/console/app/src/routes/zen/util/provider/provider.ts @@ -1,5 +1,4 @@ -import { Format } from "../format" - +import { ZenData } from "@opencode-ai/console-core/model.js" import { fromAnthropicChunk, fromAnthropicRequest, @@ -26,7 +25,7 @@ import { } from "./openai-compatible" export type ProviderHelper = { - format: Format + format: ZenData.Format modifyUrl: (providerApi: string) => string modifyHeaders: (headers: Headers, body: Record<string, any>, apiKey: string) => void modifyBody: (body: Record<string, any>) => Record<string, any> @@ -158,7 +157,7 @@ export interface CommonChunk { } } -export function createBodyConverter(from: Format, to: Format) { +export function createBodyConverter(from: ZenData.Format, to: ZenData.Format) { return (body: any): any => { if (from === to) return body @@ -173,7 +172,7 @@ export function createBodyConverter(from: Format, to: Format) { } } -export function createStreamPartConverter(from: Format, to: Format) { +export function createStreamPartConverter(from: ZenData.Format, to: ZenData.Format) { return (part: any): any => { if (from === to) return part @@ -191,7 +190,7 @@ export function createStreamPartConverter(from: Format, to: Format) { } } -export function createResponseConverter(from: Format, to: Format) { +export function createResponseConverter(from: ZenData.Format, to: ZenData.Format) { return (response: any): any => { if (from === to) return response |
