openai
Version:
The official TypeScript library for the OpenAI API
71 lines • 2.52 kB
text/typescript
import * as ResponsesAPI from "./responses.mjs";
import { OpenAI } from "../../client.mjs";
import { EventEmitter } from "../../core/EventEmitter.mjs";
import { OpenAIError } from "../../core/error.mjs";
import type { RawWebSocketData, ReconnectingEvent, UnsentMessage } from "../../internal/ws.mjs";
export type ResponsesStreamMessage = {
type: 'connecting' | 'open' | 'closing';
} | {
type: 'close';
code: number;
reason: string;
unsent: UnsentMessage<ResponsesAPI.ResponsesClientEvent>[];
} | {
type: 'reconnecting';
reconnect: ReconnectingEvent;
} | {
type: 'reconnected';
} | {
type: 'message';
message: ResponsesAPI.ResponsesServerEvent;
} | {
type: 'raw';
data: RawWebSocketData;
} | {
type: 'error';
error: WebSocketError;
};
export declare class WebSocketError extends OpenAIError {
/**
* The error data that the API sent back in an error event.
*/
error?: ResponsesAPI.ResponseErrorEvent | undefined;
constructor(message: string, event: ResponsesAPI.ResponseErrorEvent | null);
}
type Simplify<T> = {
[KeyType in keyof T]: T[KeyType];
} & {};
type WebSocketEvents = Simplify<{
event: (event: ResponsesAPI.ResponsesServerEvent) => void;
raw: (data: RawWebSocketData) => void;
error: (error: WebSocketError) => void;
close: (code: number, reason: string, unsent: UnsentMessage<ResponsesAPI.ResponsesClientEvent>[]) => void;
reconnecting: (event: ReconnectingEvent) => void;
reconnected: () => void;
} & {
[EventType in Exclude<NonNullable<ResponsesAPI.ResponsesServerEvent['type']>, 'error'>]: (event: Extract<ResponsesAPI.ResponsesServerEvent, {
type?: EventType;
}>) => unknown;
}>;
export declare abstract class ResponsesEmitter extends EventEmitter<WebSocketEvents> {
/**
* Send an event to the API.
*/
abstract send(event: ResponsesAPI.ResponsesClientEvent): void;
/**
* Send raw data over the WebSocket without JSON serialization.
*/
abstract sendRaw(data: RawWebSocketData): void;
/**
* Close the WebSocket connection.
*/
abstract close(props?: {
code: number;
reason: string;
}): void;
protected _onError(event: null, message: string, cause: any): void;
protected _onError(event: ResponsesAPI.ResponseErrorEvent, message?: string | undefined): void;
}
export declare function buildURL(client: OpenAI, parameters: Record<string, unknown>): URL;
export {};
//# sourceMappingURL=internal-base.d.mts.map