internal-base.d.mts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { RealtimeClientEvent, RealtimeServerEvent, RealtimeErrorEvent, RealtimeError } from "../resources/realtime/realtime.mjs";
  2. import { EventEmitter } from "../lib/EventEmitter.mjs";
  3. import { OpenAIError } from "../error.mjs";
  4. import OpenAI, { AzureOpenAI } from "../index.mjs";
  5. export declare class OpenAIRealtimeError extends OpenAIError {
  6. /**
  7. * The error data that the API sent back in an `error` event.
  8. */
  9. error?: RealtimeError | undefined;
  10. /**
  11. * The unique ID of the server event.
  12. */
  13. event_id?: string | undefined;
  14. constructor(message: string, event: RealtimeErrorEvent | 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: RealtimeErrorEvent, 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.mts.map