openai
Version:
The official TypeScript library for the OpenAI API
37 lines • 1.48 kB
JavaScript
import { EventEmitter } from "../../lib/EventEmitter.mjs";
import { OpenAIError } from "../../error.mjs";
export class OpenAIRealtimeError extends OpenAIError {
constructor(message, event) {
super(message);
this.error = event?.error;
this.event_id = event?.event_id;
}
}
export class OpenAIRealtimeEmitter extends EventEmitter {
_onError(event, message, cause) {
message =
event?.error ?
`${event.error.message} code=${event.error.code} param=${event.error.param} type=${event.error.type} event_id=${event.error.event_id}`
: message ?? 'unknown error';
if (!this._hasListener('error')) {
const error = new OpenAIRealtimeError(message +
`\n\nTo resolve these unhandled rejection errors you should bind an \`error\` callback, e.g. \`rt.on('error', (error) => ...)\` `, event);
// @ts-ignore
error.cause = cause;
Promise.reject(error);
return;
}
const error = new OpenAIRealtimeError(message, event);
// @ts-ignore
error.cause = cause;
this._emit('error', error);
}
}
export function buildRealtimeURL(props) {
const path = '/realtime';
const url = new URL(props.baseURL + (props.baseURL.endsWith('/') ? path.slice(1) : path));
url.protocol = 'wss';
url.searchParams.set('model', props.model);
return url;
}
//# sourceMappingURL=internal-base.mjs.map