From c930e05700fd5a679dde2326c7d18ecd7154921f Mon Sep 17 00:00:00 2001 From: Sarp Tan Doven <119648987+sarptandoven@users.noreply.github.com> Date: Mon, 6 Jul 2026 11:00:46 -0700 Subject: [PATCH] fix: export stream types from root --- src/client.ts | 5 +++++ src/index.ts | 2 ++ tests/stream-exports.test.ts | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 tests/stream-exports.test.ts diff --git a/src/client.ts b/src/client.ts index c7df965cd..6b9938dde 100644 --- a/src/client.ts +++ b/src/client.ts @@ -15,6 +15,8 @@ import { stringifyQuery } from './internal/utils/query'; import { VERSION } from './version'; import * as Errors from './core/error'; import * as Pagination from './core/pagination'; +import * as Streaming from './streaming'; +import * as ChatCompletionStreams from './lib/ChatCompletionStream'; import type { WorkloadIdentity } from './auth/types'; import { WorkloadIdentityAuth } from './auth/workload-identity-auth'; import { OAuthError, SubjectTokenProviderError } from './core/error'; @@ -1394,6 +1396,9 @@ function isUndiciDispatcherVersionMismatchError(error: unknown): boolean { export declare namespace OpenAI { export type RequestOptions = Opts.RequestOptions; + export import Stream = Streaming.Stream; + export import ChatCompletionStream = ChatCompletionStreams.ChatCompletionStream; + export import Page = Pagination.Page; export { type PageResponse as PageResponse }; diff --git a/src/index.ts b/src/index.ts index bd5e7743f..cb8f3e142 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,6 +5,8 @@ export { OpenAI as default } from './client'; export { type Uploadable, toFile } from './core/uploads'; export { APIPromise } from './core/api-promise'; export { OpenAI, type ClientOptions } from './client'; +export { Stream } from './streaming'; +export { ChatCompletionStream } from './lib/ChatCompletionStream'; export { PagePromise } from './core/pagination'; export { OpenAIError, diff --git a/tests/stream-exports.test.ts b/tests/stream-exports.test.ts new file mode 100644 index 000000000..48eb86d5e --- /dev/null +++ b/tests/stream-exports.test.ts @@ -0,0 +1,24 @@ +import OpenAI, { ChatCompletionStream, Stream } from '../src'; +import type { ChatCompletionChunk } from '../src/resources/chat/completions'; + +const expectType = (_value: T): void => {}; + +describe('stream exports', () => { + test('exports Stream and ChatCompletionStream from the top level', () => { + expectType(Stream); + expectType(ChatCompletionStream); + + expect(Stream).toBeDefined(); + expect(ChatCompletionStream).toBeDefined(); + }); + + test('exposes stream types on the OpenAI namespace', () => { + type ChatStream = OpenAI.Stream; + type ChatRunner = OpenAI.ChatCompletionStream; + + expectType(null); + expectType(null); + + expect(true).toBe(true); + }); +});