@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.cjs CHANGED
@@ -10947,12 +10947,20 @@ var handleThreadEvent = function(_ref) {
10947
10947
  });
10948
10948
  }
10949
10949
  };
10950
- var handleOpenaiEvent = function(_ref2) {
10951
- var event = _ref2.event, openaiEventsDataChannel = _ref2.openaiEventsDataChannel;
10950
+ var createAnalyser = function(_ref2) {
10951
+ var mediaStream = _ref2.mediaStream;
10952
+ var audioCtx = new AudioContext();
10953
+ var source = audioCtx.createMediaStreamSource(mediaStream);
10954
+ var analyser = audioCtx.createAnalyser();
10955
+ source.connect(analyser);
10956
+ return analyser;
10957
+ };
10958
+ var handleOpenaiEvent = function(_ref3) {
10959
+ var event = _ref3.event, openaiEventsDataChannel = _ref3.openaiEventsDataChannel;
10952
10960
  openaiEventsDataChannel.send(JSON.stringify(event.data));
10953
10961
  };
10954
- var handleEvent = function(_ref3) {
10955
- var event = _ref3.event, superinterfaceContext = _ref3.superinterfaceContext, openaiEventsDataChannel = _ref3.openaiEventsDataChannel;
10962
+ var handleEvent = function(_ref4) {
10963
+ var event = _ref4.event, superinterfaceContext = _ref4.superinterfaceContext, openaiEventsDataChannel = _ref4.openaiEventsDataChannel;
10956
10964
  if (event.type === "openaiEvent") {
10957
10965
  return handleOpenaiEvent({
10958
10966
  event: event,
@@ -10972,20 +10980,14 @@ var useWebrtcAudioRuntime = function() {
10972
10980
  var initRealtimeSession = function initRealtimeSession() {
10973
10981
  return _initRealtimeSession.apply(this, arguments);
10974
10982
  };
10975
- var buildAnalyzers = function buildAnalyzers(localStream, audioEl_0) {
10983
+ var buildAnalyzers = function buildAnalyzers(_ref5) {
10984
+ var localStream = _ref5.localStream, remoteStream = _ref5.remoteStream;
10976
10985
  try {
10977
- var audioCtx1 = new AudioContext();
10978
- var micSource = audioCtx1.createMediaStreamSource(localStream);
10979
- var micAnalyser = audioCtx1.createAnalyser();
10980
- micSource.connect(micAnalyser);
10981
- userAnalyserRef.current = micAnalyser;
10982
- audioEl_0.addEventListener("canplay", function() {
10983
- var audioCtx2 = new AudioContext();
10984
- var remoteSource = audioCtx2.createMediaElementSource(audioEl_0);
10985
- var remoteAnalyser = audioCtx2.createAnalyser();
10986
- remoteSource.connect(remoteAnalyser);
10987
- remoteSource.connect(audioCtx2.destination);
10988
- assistantAnalyserRef.current = remoteAnalyser;
10986
+ userAnalyserRef.current = createAnalyser({
10987
+ mediaStream: localStream
10988
+ });
10989
+ assistantAnalyserRef.current = createAnalyser({
10990
+ mediaStream: remoteStream
10989
10991
  });
10990
10992
  } catch (err_0) {
10991
10993
  console.warn("Could not build analyzers:", err_0);
@@ -11068,7 +11070,7 @@ var useWebrtcAudioRuntime = function() {
11068
11070
  };
11069
11071
  openaiEventsDataChannel = peerConn.createDataChannel("oai-events");
11070
11072
  openaiEventsDataChannel.addEventListener("message", /* @__PURE__ */ function() {
11071
- var _ref4 = _asyncToGenerator12(function(e) {
11073
+ var _ref8 = _asyncToGenerator12(function(e) {
11072
11074
  var parsedData, searchParams, eventsResponse, reader, decoder, _ref, value, done, buffer, lines, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, line, event, ref;
11073
11075
  return _ts_generator(this, function(_state) {
11074
11076
  switch(_state.label){
@@ -11168,7 +11170,7 @@ var useWebrtcAudioRuntime = function() {
11168
11170
  });
11169
11171
  });
11170
11172
  return function(_x) {
11171
- return _ref4.apply(this, arguments);
11173
+ return _ref8.apply(this, arguments);
11172
11174
  };
11173
11175
  }());
11174
11176
  return [
@@ -11231,7 +11233,10 @@ var useWebrtcAudioRuntime = function() {
11231
11233
  ];
11232
11234
  case 6:
11233
11235
  _state.sent();
11234
- buildAnalyzers(ms, audioEl);
11236
+ buildAnalyzers({
11237
+ localStream: ms,
11238
+ remoteStream: remoteStreamRef.current
11239
+ });
11235
11240
  setUserIsPending(false);
11236
11241
  setAssistantIsPending(false);
11237
11242
  setAssistantIsReady(true);
@@ -11263,6 +11268,61 @@ var useWebrtcAudioRuntime = function() {
11263
11268
  });
11264
11269
  return _initRealtimeSession.apply(this, arguments);
11265
11270
  }
11271
+ var start = /* @__PURE__ */ function() {
11272
+ var _ref6 = _asyncToGenerator12(function() {
11273
+ return _ts_generator(this, function(_state) {
11274
+ switch(_state.label){
11275
+ case 0:
11276
+ return [
11277
+ 4,
11278
+ startSessionIfNeeded()
11279
+ ];
11280
+ case 1:
11281
+ _state.sent();
11282
+ setAssistantPaused(false);
11283
+ setAssistantPlaying(true);
11284
+ if (assistantAudioElRef.current) {
11285
+ assistantAudioElRef.current.play().catch(function(err_1) {
11286
+ console.error("Assistant play error:", err_1);
11287
+ });
11288
+ }
11289
+ if (localStreamRef.current) {
11290
+ localStreamRef.current.getAudioTracks().forEach(function(t_0) {
11291
+ return t_0.enabled = true;
11292
+ });
11293
+ }
11294
+ return [
11295
+ 2
11296
+ ];
11297
+ }
11298
+ });
11299
+ });
11300
+ return function start2() {
11301
+ return _ref6.apply(this, arguments);
11302
+ };
11303
+ }();
11304
+ var pause = /* @__PURE__ */ function() {
11305
+ var _ref7 = _asyncToGenerator12(function() {
11306
+ return _ts_generator(this, function(_state) {
11307
+ if (!sessionStartedRef.current) return [
11308
+ 2
11309
+ ];
11310
+ setAssistantPaused(true);
11311
+ setAssistantPlaying(false);
11312
+ if (localStreamRef.current) {
11313
+ localStreamRef.current.getAudioTracks().forEach(function(t_1) {
11314
+ return t_1.enabled = false;
11315
+ });
11316
+ }
11317
+ return [
11318
+ 2
11319
+ ];
11320
+ });
11321
+ });
11322
+ return function pause2() {
11323
+ return _ref7.apply(this, arguments);
11324
+ };
11325
+ }();
11266
11326
  return (0, import_react68.useMemo)(function() {
11267
11327
  return {
11268
11328
  webrtcAudioRuntime: {
@@ -11270,174 +11330,27 @@ var useWebrtcAudioRuntime = function() {
11270
11330
  start: function() {
11271
11331
  var _start = _asyncToGenerator12(function() {
11272
11332
  return _ts_generator(this, function(_state) {
11273
- switch(_state.label){
11274
- case 0:
11275
- return [
11276
- 4,
11277
- startSessionIfNeeded()
11278
- ];
11279
- case 1:
11280
- _state.sent();
11281
- setRecorderStatus("recording");
11282
- if (localStreamRef.current) {
11283
- localStreamRef.current.getAudioTracks().forEach(function(t_0) {
11284
- return t_0.enabled = true;
11285
- });
11286
- }
11287
- return [
11288
- 2
11289
- ];
11290
- }
11291
- });
11292
- });
11293
- function start() {
11294
- return _start.apply(this, arguments);
11295
- }
11296
- return start;
11297
- }(),
11298
- pause: function() {
11299
- var _pause = _asyncToGenerator12(function() {
11300
- return _ts_generator(this, function(_state) {
11301
- if (!sessionStartedRef.current) return [
11302
- 2
11303
- ];
11304
- setRecorderStatus("paused");
11305
- if (localStreamRef.current) {
11306
- localStreamRef.current.getAudioTracks().forEach(function(t_1) {
11307
- return t_1.enabled = false;
11308
- });
11309
- }
11310
11333
  return [
11311
11334
  2
11312
11335
  ];
11313
11336
  });
11314
11337
  });
11315
- function pause() {
11316
- return _pause.apply(this, arguments);
11317
- }
11318
- return pause;
11319
- }(),
11320
- resume: function() {
11321
- var _resume = _asyncToGenerator12(function() {
11322
- return _ts_generator(this, function(_state) {
11323
- if (!sessionStartedRef.current) return [
11324
- 2
11325
- ];
11326
- setRecorderStatus("recording");
11327
- if (localStreamRef.current) {
11328
- localStreamRef.current.getAudioTracks().forEach(function(t_2) {
11329
- return t_2.enabled = true;
11330
- });
11331
- }
11332
- return [
11333
- 2
11334
- ];
11335
- });
11336
- });
11337
- function resume() {
11338
- return _resume.apply(this, arguments);
11339
- }
11340
- return resume;
11341
- }(),
11342
- stop: function() {
11343
- var _stop = _asyncToGenerator12(function() {
11344
- return _ts_generator(this, function(_state) {
11345
- if (!sessionStartedRef.current) return [
11346
- 2
11347
- ];
11348
- setRecorderStatus("stopped");
11349
- if (localStreamRef.current) {
11350
- localStreamRef.current.getTracks().forEach(function(track) {
11351
- return track.stop();
11352
- });
11353
- }
11354
- return [
11355
- 2
11356
- ];
11357
- });
11358
- });
11359
- function stop() {
11360
- return _stop.apply(this, arguments);
11338
+ function start2() {
11339
+ return _start.apply(this, arguments);
11361
11340
  }
11362
- return stop;
11341
+ return start2;
11363
11342
  }(),
11343
+ pause: pause,
11344
+ resume: start,
11345
+ stop: pause,
11364
11346
  isPending: userIsPending,
11365
11347
  visualizationAnalyser: userAnalyserRef.current,
11366
11348
  rawStatus: recorderStatus
11367
11349
  },
11368
11350
  assistant: {
11369
- play: function() {
11370
- var _play = _asyncToGenerator12(function() {
11371
- return _ts_generator(this, function(_state) {
11372
- switch(_state.label){
11373
- case 0:
11374
- return [
11375
- 4,
11376
- startSessionIfNeeded()
11377
- ];
11378
- case 1:
11379
- _state.sent();
11380
- setAssistantPaused(false);
11381
- setAssistantPlaying(true);
11382
- if (assistantAudioElRef.current) {
11383
- assistantAudioElRef.current.play().catch(function(err_1) {
11384
- console.error("Assistant play error:", err_1);
11385
- });
11386
- }
11387
- return [
11388
- 2
11389
- ];
11390
- }
11391
- });
11392
- });
11393
- function play() {
11394
- return _play.apply(this, arguments);
11395
- }
11396
- return play;
11397
- }(),
11398
- pause: function() {
11399
- var _pause2 = _asyncToGenerator12(function() {
11400
- return _ts_generator(this, function(_state) {
11401
- if (!sessionStartedRef.current) return [
11402
- 2
11403
- ];
11404
- setAssistantPaused(true);
11405
- setAssistantPlaying(false);
11406
- if (assistantAudioElRef.current) {
11407
- assistantAudioElRef.current.pause();
11408
- }
11409
- return [
11410
- 2
11411
- ];
11412
- });
11413
- });
11414
- function pause() {
11415
- return _pause2.apply(this, arguments);
11416
- }
11417
- return pause;
11418
- }(),
11419
- stop: function() {
11420
- var _stop2 = _asyncToGenerator12(function() {
11421
- return _ts_generator(this, function(_state) {
11422
- if (!sessionStartedRef.current) return [
11423
- 2
11424
- ];
11425
- setAssistantPaused(false);
11426
- setAssistantPlaying(false);
11427
- if (assistantAudioElRef.current) {
11428
- assistantAudioElRef.current.pause();
11429
- assistantAudioElRef.current.currentTime = 0;
11430
- }
11431
- return [
11432
- 2
11433
- ];
11434
- });
11435
- });
11436
- function stop() {
11437
- return _stop2.apply(this, arguments);
11438
- }
11439
- return stop;
11440
- }(),
11351
+ play: start,
11352
+ pause: pause,
11353
+ stop: pause,
11441
11354
  visualizationAnalyser: assistantAnalyserRef.current,
11442
11355
  playing: assistantPlaying,
11443
11356
  paused: assistantPaused,