@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.js CHANGED
@@ -17010,7 +17010,11 @@ var TranscriptionService = class extends EventEmitter {
17010
17010
  */
17011
17011
  async connectToSSE(accessToken, isRetry = false) {
17012
17012
  const sseUrl = `${this.apiUrl}/api/v1/events?event_types=transcription,call_event`;
17013
- this.logger.debug("Connecting to SSE endpoint", { url: sseUrl, isRetry, useEventSource: this.useEventSource });
17013
+ this.logger.debug("Connecting to SSE endpoint", {
17014
+ url: sseUrl,
17015
+ isRetry,
17016
+ useEventSource: this.useEventSource
17017
+ });
17014
17018
  if (this.useEventSource && this.eventSourceFactory) {
17015
17019
  return this.connectWithEventSource(sseUrl, accessToken);
17016
17020
  }
@@ -17070,19 +17074,26 @@ var TranscriptionService = class extends EventEmitter {
17070
17074
  "Cache-Control": "no-cache"
17071
17075
  }
17072
17076
  });
17073
- this.eventSource.addEventListener("open", () => {
17074
- this.logger.info("EventSource SSE connection established");
17075
- this.reconnectAttempts = 0;
17076
- this.emit("connected");
17077
- });
17078
- this.eventSource.addEventListener("message", (event) => {
17079
- this.logger.debug("EventSource message received", { data: event.data });
17077
+ const handleSSEEvent = (eventType, event) => {
17078
+ this.logger.debug(`EventSource [${eventType}] received`, { data: event.data, type: event.type });
17079
+ if (!event.data) {
17080
+ this.logger.debug(`EventSource [${eventType}] has no data, skipping`);
17081
+ return;
17082
+ }
17080
17083
  try {
17081
17084
  const data = JSON.parse(event.data);
17085
+ if (!data.type && eventType !== "message") {
17086
+ data.type = eventType;
17087
+ }
17082
17088
  this.handleMessage(data);
17083
17089
  } catch (error) {
17084
- this.logger.error("Error parsing EventSource message", { error, data: event.data });
17090
+ this.logger.error(`Error parsing EventSource [${eventType}]`, { error, data: event.data });
17085
17091
  }
17092
+ };
17093
+ this.eventSource.addEventListener("open", () => {
17094
+ this.logger.info("EventSource SSE connection established");
17095
+ this.reconnectAttempts = 0;
17096
+ this.emit("connected");
17086
17097
  });
17087
17098
  this.eventSource.addEventListener("error", (event) => {
17088
17099
  this.logger.error("EventSource error", { event });
@@ -17091,24 +17102,14 @@ var TranscriptionService = class extends EventEmitter {
17091
17102
  this.handleReconnection();
17092
17103
  }
17093
17104
  });
17094
- this.eventSource.addEventListener("transcription", (event) => {
17095
- this.logger.debug("EventSource transcription event", { data: event.data });
17096
- try {
17097
- const data = JSON.parse(event.data);
17098
- this.handleMessage({ ...data, type: "transcription" });
17099
- } catch (error) {
17100
- this.logger.error("Error parsing transcription event", { error, data: event.data });
17101
- }
17102
- });
17103
- this.eventSource.addEventListener("call_event", (event) => {
17104
- this.logger.debug("EventSource call_event", { data: event.data });
17105
- try {
17106
- const data = JSON.parse(event.data);
17107
- this.handleMessage(data);
17108
- } catch (error) {
17109
- this.logger.error("Error parsing call_event", { error, data: event.data });
17110
- }
17111
- });
17105
+ this.eventSource.addEventListener("message", (event) => handleSSEEvent("message", event));
17106
+ this.eventSource.addEventListener("transcription", (event) => handleSSEEvent("transcription", event));
17107
+ this.eventSource.addEventListener("call_event", (event) => handleSSEEvent("call_event", event));
17108
+ this.eventSource.addEventListener("call_started", (event) => handleSSEEvent("call_started", event));
17109
+ this.eventSource.addEventListener("call_ended", (event) => handleSSEEvent("call_ended", event));
17110
+ this.eventSource.addEventListener("connected", (event) => handleSSEEvent("connected", event));
17111
+ this.eventSource.addEventListener("welcome", (event) => handleSSEEvent("welcome", event));
17112
+ this.eventSource.addEventListener("heartbeat", (event) => handleSSEEvent("heartbeat", event));
17112
17113
  }
17113
17114
  /**
17114
17115
  * Stop the SSE connection