internal-base.d.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { RealtimeClientEvent, RealtimeServerEvent, ErrorEvent } from "../../resources/beta/realtime/realtime.js";
  2. import { EventEmitter } from "../../lib/EventEmitter.js";
  3. import { OpenAIError } from "../../error.js";
  4. import OpenAI, { AzureOpenAI } from "../../index.js";
  5. export declare class OpenAIRealtimeError extends OpenAIError {
  6. /**
  7. * The error data that the API sent back in an `error` event.
  8. */
  9. error?: ErrorEvent.Error | undefined;
  10. /**
  11. * The unique ID of the server event.
  12. */
  13. event_id?: string | undefined;
  14. constructor(message: string, event: ErrorEvent | null);
  15. }
  16. type Simplify<T> = {
  17. [KeyType in keyof T]: T[KeyType];
  18. } & {};
  19. type RealtimeEvents = Simplify<{
  20. event: (event: RealtimeServerEvent) => void;
  21. error: (error: OpenAIRealtimeError) => void;
  22. } & {
  23. [EventType in Exclude<RealtimeServerEvent['type'], 'error'>]: (event: Extract<RealtimeServerEvent, {
  24. type: EventType;
  25. }>) => unknown;
  26. }>;
  27. export declare abstract class OpenAIRealtimeEmitter extends EventEmitter<RealtimeEvents> {
  28. /**
  29. * Send an event to the API.
  30. */
  31. abstract send(event: RealtimeClientEvent): void;
  32. /**
  33. * Close the websocket connection.
  34. */
  35. abstract close(props?: {
  36. code: number;
  37. reason: string;
  38. }): void;
  39. protected _onError(event: null, message: string, cause: any): void;
  40. protected _onError(event: ErrorEvent, message?: string | undefined): void;
  41. }
  42. export declare function isAzure(client: Pick<OpenAI, 'apiKey' | 'baseURL'>): client is AzureOpenAI;
  43. export declare function buildRealtimeURL(client: Pick<OpenAI, 'apiKey' | 'baseURL'>, model: string): URL;
  44. export {};
  45. //# sourceMappingURL=internal-base.d.ts.map