diff options
| author | Frank <[email protected]> | 2026-03-30 16:28:37 -0400 |
|---|---|---|
| committer | Frank <[email protected]> | 2026-03-30 16:28:40 -0400 |
| commit | 054f4be18538531c7e61378ddbba8104f4a0fbb5 (patch) | |
| tree | 5ab36f1776a97ad83b84fe8f7fdd9a0c0f18b1d5 /packages/console/app/src/routes/zen/util/provider | |
| parent | e3e1e9af507120cabfcdc31fd20227d67d3906e8 (diff) | |
| download | opencode-054f4be18538531c7e61378ddbba8104f4a0fbb5.tar.gz opencode-054f4be18538531c7e61378ddbba8104f4a0fbb5.zip | |
zen: add safety identifier
Diffstat (limited to 'packages/console/app/src/routes/zen/util/provider')
3 files changed, 13 insertions, 6 deletions
diff --git a/packages/console/app/src/routes/zen/util/provider/openai-compatible.ts b/packages/console/app/src/routes/zen/util/provider/openai-compatible.ts index 6cb4b6a75..bdc12ba8b 100644 --- a/packages/console/app/src/routes/zen/util/provider/openai-compatible.ts +++ b/packages/console/app/src/routes/zen/util/provider/openai-compatible.ts @@ -21,17 +21,18 @@ type Usage = { } } -export const oaCompatHelper: ProviderHelper = ({ adjustCacheUsage }) => ({ +export const oaCompatHelper: ProviderHelper = ({ adjustCacheUsage, safetyIdentifier }) => ({ format: "oa-compat", modifyUrl: (providerApi: string) => providerApi + "/chat/completions", modifyHeaders: (headers: Headers, body: Record<string, any>, apiKey: string) => { headers.set("authorization", `Bearer ${apiKey}`) headers.set("x-session-affinity", headers.get("x-opencode-session") ?? "") }, - modifyBody: (body: Record<string, any>) => { + modifyBody: (body: Record<string, any>, workspaceID?: string) => { return { ...body, ...(body.stream ? { stream_options: { include_usage: true } } : {}), + ...(safetyIdentifier ? { safety_identifier: safetyIdentifier } : {}), } }, createBinaryStreamDecoder: () => undefined, diff --git a/packages/console/app/src/routes/zen/util/provider/openai.ts b/packages/console/app/src/routes/zen/util/provider/openai.ts index e5649239e..3c5831a9a 100644 --- a/packages/console/app/src/routes/zen/util/provider/openai.ts +++ b/packages/console/app/src/routes/zen/util/provider/openai.ts @@ -12,13 +12,13 @@ type Usage = { total_tokens?: number } -export const openaiHelper: ProviderHelper = () => ({ +export const openaiHelper: ProviderHelper = ({ workspaceID }) => ({ format: "openai", modifyUrl: (providerApi: string) => providerApi + "/responses", modifyHeaders: (headers: Headers, body: Record<string, any>, apiKey: string) => { headers.set("authorization", `Bearer ${apiKey}`) }, - modifyBody: (body: Record<string, any>, workspaceID?: string) => ({ + modifyBody: (body: Record<string, any>) => ({ ...body, ...(workspaceID ? { safety_identifier: workspaceID } : {}), }), 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 64444ec9e..ffb23f54c 100644 --- a/packages/console/app/src/routes/zen/util/provider/provider.ts +++ b/packages/console/app/src/routes/zen/util/provider/provider.ts @@ -33,11 +33,17 @@ export type UsageInfo = { cacheWrite1hTokens?: number } -export type ProviderHelper = (input: { reqModel: string; providerModel: string; adjustCacheUsage?: boolean }) => { +export type ProviderHelper = (input: { + reqModel: string + providerModel: string + adjustCacheUsage?: boolean + safetyIdentifier?: string + workspaceID?: string +}) => { format: ZenData.Format modifyUrl: (providerApi: string, isStream?: boolean) => string modifyHeaders: (headers: Headers, body: Record<string, any>, apiKey: string) => void - modifyBody: (body: Record<string, any>, workspaceID?: string) => Record<string, any> + modifyBody: (body: Record<string, any>) => Record<string, any> createBinaryStreamDecoder: () => ((chunk: Uint8Array) => Uint8Array | undefined) | undefined streamSeparator: string createUsageParser: () => { |
