@superinterface/react 3.14.2 → 3.14.4

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
@@ -10776,12 +10776,20 @@ var handleThreadEvent = function(_ref) {
10776
10776
  });
10777
10777
  }
10778
10778
  };
10779
- var handleOpenaiEvent = function(_ref2) {
10780
- var event = _ref2.event, openaiEventsDataChannel = _ref2.openaiEventsDataChannel;
10779
+ var createAnalyser = function(_ref2) {
10780
+ var mediaStream = _ref2.mediaStream;
10781
+ var audioCtx = new AudioContext();
10782
+ var source = audioCtx.createMediaStreamSource(mediaStream);
10783
+ var analyser = audioCtx.createAnalyser();
10784
+ source.connect(analyser);
10785
+ return analyser;
10786
+ };
10787
+ var handleOpenaiEvent = function(_ref3) {
10788
+ var event = _ref3.event, openaiEventsDataChannel = _ref3.openaiEventsDataChannel;
10781
10789
  openaiEventsDataChannel.send(JSON.stringify(event.data));
10782
10790
  };
10783
- var handleEvent = function(_ref3) {
10784
- var event = _ref3.event, superinterfaceContext = _ref3.superinterfaceContext, openaiEventsDataChannel = _ref3.openaiEventsDataChannel;
10791
+ var handleEvent = function(_ref4) {
10792
+ var event = _ref4.event, superinterfaceContext = _ref4.superinterfaceContext, openaiEventsDataChannel = _ref4.openaiEventsDataChannel;
10785
10793
  if (event.type === "openaiEvent") {
10786
10794
  return handleOpenaiEvent({
10787
10795
  event: event,
@@ -10801,20 +10809,14 @@ var useWebrtcAudioRuntime = function() {
10801
10809
  var initRealtimeSession = function initRealtimeSession() {
10802
10810
  return _initRealtimeSession.apply(this, arguments);
10803
10811
  };
10804
- var buildAnalyzers = function buildAnalyzers(localStream, audioEl_0) {
10812
+ var buildAnalyzers = function buildAnalyzers(_ref5) {
10813
+ var localStream = _ref5.localStream, remoteStream = _ref5.remoteStream;
10805
10814
  try {
10806
- var audioCtx1 = new AudioContext();
10807
- var micSource = audioCtx1.createMediaStreamSource(localStream);
10808
- var micAnalyser = audioCtx1.createAnalyser();
10809
- micSource.connect(micAnalyser);
10810
- userAnalyserRef.current = micAnalyser;
10811
- audioEl_0.addEventListener("canplay", function() {
10812
- var audioCtx2 = new AudioContext();
10813
- var remoteSource = audioCtx2.createMediaElementSource(audioEl_0);
10814
- var remoteAnalyser = audioCtx2.createAnalyser();
10815
- remoteSource.connect(remoteAnalyser);
10816
- remoteSource.connect(audioCtx2.destination);
10817
- assistantAnalyserRef.current = remoteAnalyser;
10815
+ userAnalyserRef.current = createAnalyser({
10816
+ mediaStream: localStream
10817
+ });
10818
+ assistantAnalyserRef.current = createAnalyser({
10819
+ mediaStream: remoteStream
10818
10820
  });
10819
10821
  } catch (err_0) {
10820
10822
  console.warn("Could not build analyzers:", err_0);
@@ -10897,7 +10899,7 @@ var useWebrtcAudioRuntime = function() {
10897
10899
  };
10898
10900
  openaiEventsDataChannel = peerConn.createDataChannel("oai-events");
10899
10901
  openaiEventsDataChannel.addEventListener("message", /* @__PURE__ */ function() {
10900
- var _ref4 = _asyncToGenerator12(function(e) {
10902
+ var _ref8 = _asyncToGenerator12(function(e) {
10901
10903
  var parsedData, searchParams, eventsResponse, reader, decoder, _ref, value, done, buffer, lines, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, line, event, ref;
10902
10904
  return _ts_generator(this, function(_state) {
10903
10905
  switch(_state.label){
@@ -10997,7 +10999,7 @@ var useWebrtcAudioRuntime = function() {
10997
10999
  });
10998
11000
  });
10999
11001
  return function(_x) {
11000
- return _ref4.apply(this, arguments);
11002
+ return _ref8.apply(this, arguments);
11001
11003
  };
11002
11004
  }());
11003
11005
  return [
@@ -11060,7 +11062,10 @@ var useWebrtcAudioRuntime = function() {
11060
11062
  ];
11061
11063
  case 6:
11062
11064
  _state.sent();
11063
- buildAnalyzers(ms, audioEl);
11065
+ buildAnalyzers({
11066
+ localStream: ms,
11067
+ remoteStream: remoteStreamRef.current
11068
+ });
11064
11069
  setUserIsPending(false);
11065
11070
  setAssistantIsPending(false);
11066
11071
  setAssistantIsReady(true);
@@ -11092,6 +11097,61 @@ var useWebrtcAudioRuntime = function() {
11092
11097
  });
11093
11098
  return _initRealtimeSession.apply(this, arguments);
11094
11099
  }
11100
+ var start = /* @__PURE__ */ function() {
11101
+ var _ref6 = _asyncToGenerator12(function() {
11102
+ return _ts_generator(this, function(_state) {
11103
+ switch(_state.label){
11104
+ case 0:
11105
+ return [
11106
+ 4,
11107
+ startSessionIfNeeded()
11108
+ ];
11109
+ case 1:
11110
+ _state.sent();
11111
+ setAssistantPaused(false);
11112
+ setAssistantPlaying(true);
11113
+ if (assistantAudioElRef.current) {
11114
+ assistantAudioElRef.current.play().catch(function(err_1) {
11115
+ console.error("Assistant play error:", err_1);
11116
+ });
11117
+ }
11118
+ if (localStreamRef.current) {
11119
+ localStreamRef.current.getAudioTracks().forEach(function(t_0) {
11120
+ return t_0.enabled = true;
11121
+ });
11122
+ }
11123
+ return [
11124
+ 2
11125
+ ];
11126
+ }
11127
+ });
11128
+ });
11129
+ return function start2() {
11130
+ return _ref6.apply(this, arguments);
11131
+ };
11132
+ }();
11133
+ var pause = /* @__PURE__ */ function() {
11134
+ var _ref7 = _asyncToGenerator12(function() {
11135
+ return _ts_generator(this, function(_state) {
11136
+ if (!sessionStartedRef.current) return [
11137
+ 2
11138
+ ];
11139
+ setAssistantPaused(true);
11140
+ setAssistantPlaying(false);
11141
+ if (localStreamRef.current) {
11142
+ localStreamRef.current.getAudioTracks().forEach(function(t_1) {
11143
+ return t_1.enabled = false;
11144
+ });
11145
+ }
11146
+ return [
11147
+ 2
11148
+ ];
11149
+ });
11150
+ });
11151
+ return function pause2() {
11152
+ return _ref7.apply(this, arguments);
11153
+ };
11154
+ }();
11095
11155
  return useMemo20(function() {
11096
11156
  return {
11097
11157
  webrtcAudioRuntime: {
@@ -11099,174 +11159,27 @@ var useWebrtcAudioRuntime = function() {
11099
11159
  start: function() {
11100
11160
  var _start = _asyncToGenerator12(function() {
11101
11161
  return _ts_generator(this, function(_state) {
11102
- switch(_state.label){
11103
- case 0:
11104
- return [
11105
- 4,
11106
- startSessionIfNeeded()
11107
- ];
11108
- case 1:
11109
- _state.sent();
11110
- setRecorderStatus("recording");
11111
- if (localStreamRef.current) {
11112
- localStreamRef.current.getAudioTracks().forEach(function(t_0) {
11113
- return t_0.enabled = true;
11114
- });
11115
- }
11116
- return [
11117
- 2
11118
- ];
11119
- }
11120
- });
11121
- });
11122
- function start() {
11123
- return _start.apply(this, arguments);
11124
- }
11125
- return start;
11126
- }(),
11127
- pause: function() {
11128
- var _pause = _asyncToGenerator12(function() {
11129
- return _ts_generator(this, function(_state) {
11130
- if (!sessionStartedRef.current) return [
11131
- 2
11132
- ];
11133
- setRecorderStatus("paused");
11134
- if (localStreamRef.current) {
11135
- localStreamRef.current.getAudioTracks().forEach(function(t_1) {
11136
- return t_1.enabled = false;
11137
- });
11138
- }
11139
11162
  return [
11140
11163
  2
11141
11164
  ];
11142
11165
  });
11143
11166
  });
11144
- function pause() {
11145
- return _pause.apply(this, arguments);
11146
- }
11147
- return pause;
11148
- }(),
11149
- resume: function() {
11150
- var _resume = _asyncToGenerator12(function() {
11151
- return _ts_generator(this, function(_state) {
11152
- if (!sessionStartedRef.current) return [
11153
- 2
11154
- ];
11155
- setRecorderStatus("recording");
11156
- if (localStreamRef.current) {
11157
- localStreamRef.current.getAudioTracks().forEach(function(t_2) {
11158
- return t_2.enabled = true;
11159
- });
11160
- }
11161
- return [
11162
- 2
11163
- ];
11164
- });
11165
- });
11166
- function resume() {
11167
- return _resume.apply(this, arguments);
11168
- }
11169
- return resume;
11170
- }(),
11171
- stop: function() {
11172
- var _stop = _asyncToGenerator12(function() {
11173
- return _ts_generator(this, function(_state) {
11174
- if (!sessionStartedRef.current) return [
11175
- 2
11176
- ];
11177
- setRecorderStatus("stopped");
11178
- if (localStreamRef.current) {
11179
- localStreamRef.current.getTracks().forEach(function(track) {
11180
- return track.stop();
11181
- });
11182
- }
11183
- return [
11184
- 2
11185
- ];
11186
- });
11187
- });
11188
- function stop() {
11189
- return _stop.apply(this, arguments);
11167
+ function start2() {
11168
+ return _start.apply(this, arguments);
11190
11169
  }
11191
- return stop;
11170
+ return start2;
11192
11171
  }(),
11172
+ pause: pause,
11173
+ resume: start,
11174
+ stop: pause,
11193
11175
  isPending: userIsPending,
11194
11176
  visualizationAnalyser: userAnalyserRef.current,
11195
11177
  rawStatus: recorderStatus
11196
11178
  },
11197
11179
  assistant: {
11198
- play: function() {
11199
- var _play = _asyncToGenerator12(function() {
11200
- return _ts_generator(this, function(_state) {
11201
- switch(_state.label){
11202
- case 0:
11203
- return [
11204
- 4,
11205
- startSessionIfNeeded()
11206
- ];
11207
- case 1:
11208
- _state.sent();
11209
- setAssistantPaused(false);
11210
- setAssistantPlaying(true);
11211
- if (assistantAudioElRef.current) {
11212
- assistantAudioElRef.current.play().catch(function(err_1) {
11213
- console.error("Assistant play error:", err_1);
11214
- });
11215
- }
11216
- return [
11217
- 2
11218
- ];
11219
- }
11220
- });
11221
- });
11222
- function play() {
11223
- return _play.apply(this, arguments);
11224
- }
11225
- return play;
11226
- }(),
11227
- pause: function() {
11228
- var _pause2 = _asyncToGenerator12(function() {
11229
- return _ts_generator(this, function(_state) {
11230
- if (!sessionStartedRef.current) return [
11231
- 2
11232
- ];
11233
- setAssistantPaused(true);
11234
- setAssistantPlaying(false);
11235
- if (assistantAudioElRef.current) {
11236
- assistantAudioElRef.current.pause();
11237
- }
11238
- return [
11239
- 2
11240
- ];
11241
- });
11242
- });
11243
- function pause() {
11244
- return _pause2.apply(this, arguments);
11245
- }
11246
- return pause;
11247
- }(),
11248
- stop: function() {
11249
- var _stop2 = _asyncToGenerator12(function() {
11250
- return _ts_generator(this, function(_state) {
11251
- if (!sessionStartedRef.current) return [
11252
- 2
11253
- ];
11254
- setAssistantPaused(false);
11255
- setAssistantPlaying(false);
11256
- if (assistantAudioElRef.current) {
11257
- assistantAudioElRef.current.pause();
11258
- assistantAudioElRef.current.currentTime = 0;
11259
- }
11260
- return [
11261
- 2
11262
- ];
11263
- });
11264
- });
11265
- function stop() {
11266
- return _stop2.apply(this, arguments);
11267
- }
11268
- return stop;
11269
- }(),
11180
+ play: start,
11181
+ pause: pause,
11182
+ stop: pause,
11270
11183
  visualizationAnalyser: assistantAnalyserRef.current,
11271
11184
  playing: assistantPlaying,
11272
11185
  paused: assistantPaused,