@anganyai/voice-sdk 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -17012,7 +17012,11 @@ var TranscriptionService = class extends EventEmitter {
17012
17012
  */
17013
17013
  async connectToSSE(accessToken, isRetry = false) {
17014
17014
  const sseUrl = `${this.apiUrl}/api/v1/events?event_types=transcription,call_event`;
17015
- this.logger.debug("Connecting to SSE endpoint", { url: sseUrl, isRetry, useEventSource: this.useEventSource });
17015
+ this.logger.debug("Connecting to SSE endpoint", {
17016
+ url: sseUrl,
17017
+ isRetry,
17018
+ useEventSource: this.useEventSource
17019
+ });
17016
17020
  if (this.useEventSource && this.eventSourceFactory) {
17017
17021
  return this.connectWithEventSource(sseUrl, accessToken);
17018
17022
  }
@@ -17072,19 +17076,26 @@ var TranscriptionService = class extends EventEmitter {
17072
17076
  "Cache-Control": "no-cache"
17073
17077
  }
17074
17078
  });
17075
- this.eventSource.addEventListener("open", () => {
17076
- this.logger.info("EventSource SSE connection established");
17077
- this.reconnectAttempts = 0;
17078
- this.emit("connected");
17079
- });
17080
- this.eventSource.addEventListener("message", (event) => {
17081
- this.logger.debug("EventSource message received", { data: event.data });
17079
+ const handleSSEEvent = (eventType, event) => {
17080
+ this.logger.debug(`EventSource [${eventType}] received`, { data: event.data, type: event.type });
17081
+ if (!event.data) {
17082
+ this.logger.debug(`EventSource [${eventType}] has no data, skipping`);
17083
+ return;
17084
+ }
17082
17085
  try {
17083
17086
  const data = JSON.parse(event.data);
17087
+ if (!data.type && eventType !== "message") {
17088
+ data.type = eventType;
17089
+ }
17084
17090
  this.handleMessage(data);
17085
17091
  } catch (error) {
17086
- this.logger.error("Error parsing EventSource message", { error, data: event.data });
17092
+ this.logger.error(`Error parsing EventSource [${eventType}]`, { error, data: event.data });
17087
17093
  }
17094
+ };
17095
+ this.eventSource.addEventListener("open", () => {
17096
+ this.logger.info("EventSource SSE connection established");
17097
+ this.reconnectAttempts = 0;
17098
+ this.emit("connected");
17088
17099
  });
17089
17100
  this.eventSource.addEventListener("error", (event) => {
17090
17101
  this.logger.error("EventSource error", { event });
@@ -17093,24 +17104,14 @@ var TranscriptionService = class extends EventEmitter {
17093
17104
  this.handleReconnection();
17094
17105
  }
17095
17106
  });
17096
- this.eventSource.addEventListener("transcription", (event) => {
17097
- this.logger.debug("EventSource transcription event", { data: event.data });
17098
- try {
17099
- const data = JSON.parse(event.data);
17100
- this.handleMessage({ ...data, type: "transcription" });
17101
- } catch (error) {
17102
- this.logger.error("Error parsing transcription event", { error, data: event.data });
17103
- }
17104
- });
17105
- this.eventSource.addEventListener("call_event", (event) => {
17106
- this.logger.debug("EventSource call_event", { data: event.data });
17107
- try {
17108
- const data = JSON.parse(event.data);
17109
- this.handleMessage(data);
17110
- } catch (error) {
17111
- this.logger.error("Error parsing call_event", { error, data: event.data });
17112
- }
17113
- });
17107
+ this.eventSource.addEventListener("message", (event) => handleSSEEvent("message", event));
17108
+ this.eventSource.addEventListener("transcription", (event) => handleSSEEvent("transcription", event));
17109
+ this.eventSource.addEventListener("call_event", (event) => handleSSEEvent("call_event", event));
17110
+ this.eventSource.addEventListener("call_started", (event) => handleSSEEvent("call_started", event));
17111
+ this.eventSource.addEventListener("call_ended", (event) => handleSSEEvent("call_ended", event));
17112
+ this.eventSource.addEventListener("connected", (event) => handleSSEEvent("connected", event));
17113
+ this.eventSource.addEventListener("welcome", (event) => handleSSEEvent("welcome", event));
17114
+ this.eventSource.addEventListener("heartbeat", (event) => handleSSEEvent("heartbeat", event));
17114
17115
  }
17115
17116
  /**
17116
17117
  * Stop the SSE connection