diff --git a/packages/proxy/src/proxy.ts b/packages/proxy/src/proxy.ts index c49e76d..de250c7 100644 --- a/packages/proxy/src/proxy.ts +++ b/packages/proxy/src/proxy.ts @@ -106,6 +106,8 @@ export const CACHED_HEADER = "x-bt-cached"; export const USED_ENDPOINT_HEADER = "x-bt-used-endpoint"; +export const OAI_STAINLESS_METHOD_HEADER = "x-stainless-helper-method"; + const CACHE_MODES = ["auto", "always", "never"] as const; // Options to control how the cache key is generated. @@ -334,6 +336,13 @@ export async function proxyV1({ let startTime = getCurrentUnixTimestamp(); let spanType: SpanType | undefined = undefined; + // TEMP: support OAI streaming via oai.beta.chat.completions.stream + // openai-node currently overrides the usual stream param to false + const isStainlessStream = + proxyHeaders[OAI_STAINLESS_METHOD_HEADER] === "stream"; + if (isStainlessStream && bodyData) { + bodyData.stream = true; + } const isStreaming = !!bodyData?.stream; let stream: ReadableStream | null = null;