diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index b7803afc7e..ddeafa5265 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -196,6 +196,7 @@ export async function handler( providerInfo.modifyHeaders(headers, providerInfo.apiKey, stickyId) Object.entries(providerInfo.headerModifier ?? {}).forEach(([k, v]) => { if (v === "$ip") return headers.set(k, ip) + if (v === "$caller") return headers.set(k, `caller:${ip}`) if (v === "$session") return headers.set(k, sessionId) if (v === "$model") return headers.set(k, model) if (v === "$request") return headers.set(k, requestId) @@ -354,7 +355,7 @@ export async function handler( responseLength += value.length buffer += decoder.decode(value, { stream: true }) - const parts = buffer.split(providerInfo.streamSeparator) + const parts = buffer.split(/\r\n\r\n|\n\n|\r\r/) buffer = parts.pop() ?? "" for (let part of parts) { diff --git a/packages/console/app/src/routes/zen/util/provider/anthropic.ts b/packages/console/app/src/routes/zen/util/provider/anthropic.ts index 64053fd734..e975c2fc74 100644 --- a/packages/console/app/src/routes/zen/util/provider/anthropic.ts +++ b/packages/console/app/src/routes/zen/util/provider/anthropic.ts @@ -139,7 +139,6 @@ export const anthropicHelper: ProviderHelper = ({ reqModel, providerModel }) => return encoder.encode(messages.join("")) } }, - streamSeparator: "\n\n", createUsageParser: () => { let usage: Usage diff --git a/packages/console/app/src/routes/zen/util/provider/google.ts b/packages/console/app/src/routes/zen/util/provider/google.ts index eead927c82..404657d443 100644 --- a/packages/console/app/src/routes/zen/util/provider/google.ts +++ b/packages/console/app/src/routes/zen/util/provider/google.ts @@ -37,7 +37,6 @@ export const googleHelper: ProviderHelper = ({ providerModel }) => ({ return body }, createBinaryStreamDecoder: () => undefined, - streamSeparator: "\r\n\r\n", createUsageParser: () => { let usage: Usage 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 9e5e15d944..666ed52f97 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 @@ -37,7 +37,6 @@ export const oaCompatHelper: ProviderHelper = ({ adjustCacheUsage }) => ({ } }, createBinaryStreamDecoder: () => undefined, - streamSeparator: "\n\n", createUsageParser: () => { let usage: Usage 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 e55dcd8783..0e9992a289 100644 --- a/packages/console/app/src/routes/zen/util/provider/openai.ts +++ b/packages/console/app/src/routes/zen/util/provider/openai.ts @@ -20,7 +20,6 @@ export const openaiHelper: ProviderHelper = ({ workspaceID }) => ({ }, modifyBody: (body: Record) => body, createBinaryStreamDecoder: () => undefined, - streamSeparator: "\n\n", createUsageParser: () => { let usage: Usage 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 d9fe55681f..9b26c82377 100644 --- a/packages/console/app/src/routes/zen/util/provider/provider.ts +++ b/packages/console/app/src/routes/zen/util/provider/provider.ts @@ -44,7 +44,6 @@ export type ProviderHelper = (input: { modifyHeaders: (headers: Headers, apiKey: string, stickyId: string) => void modifyBody: (body: Record) => Record createBinaryStreamDecoder: () => ((chunk: Uint8Array) => Uint8Array | undefined) | undefined - streamSeparator: string createUsageParser: () => { parse: (chunk: string) => void retrieve: () => any diff --git a/packages/schema/sst-env.d.ts b/packages/schema/sst-env.d.ts new file mode 100644 index 0000000000..64441936d7 --- /dev/null +++ b/packages/schema/sst-env.d.ts @@ -0,0 +1,10 @@ +/* This file is auto-generated by SST. Do not edit. */ +/* tslint:disable */ +/* eslint-disable */ +/* deno-fmt-ignore-file */ +/* biome-ignore-all lint: auto-generated */ + +/// + +import "sst" +export {} \ No newline at end of file