@pipecat-ai/daily-transport 0.3.8 → 0.3.10

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.
@@ -1 +1 @@
1
- {"mappings":";;AS8BA;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;IACE,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;IACE,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;CACpD;AAoDD,2BAA4B,SAAQ,SAAS;gBAiB/B,EACV,mBAAwB,EACxB,6BAAqC,GACtC,GAAE,gCAAqC;IAoBxC,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IA2B9C,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;IAoBxC,UAAU,CACf,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GACxC,IAAI;IA8BP,IAAI,eAAe,IAAI,SAAS,CAE/B;IAED,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,OAAO,KAAK,KAAK,QAKhB;IAEK,UAAU;IAKhB,SAAS,CAAC,KAAK,EAAE,MAAM;IAUvB,IAAI,WAAW,4CAEd;IAEK,UAAU;IAKhB,SAAS,CAAC,KAAK,EAAE,MAAM;IAUvB,IAAI,WAAW,4CAEd;IAEK,cAAc;IAKpB,aAAa,CAAC,SAAS,EAAE,MAAM;IAQ/B,IAAI,eAAe,4CAElB;IAED,SAAS,CAAC,MAAM,EAAE,OAAO;IAIzB,IAAI,YAAY,YAEf;IAED,SAAS,CAAC,MAAM,EAAE,OAAO;IAIzB,IAAI,YAAY,YAEf;IAEM,iBAAiB,CAAC,MAAM,EAAE,OAAO;IAQxC,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,MAAM;IA0CA,OAAO,CAAC,mBAAmB,EAAE,mBAAmB;IAKhD,WAAW;IAgCX,OAAO,CACX,UAAU,EAAE,wBAAwB,EACpC,eAAe,EAAE,eAAe;IAmC5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DjC,UAAU;IAYT,WAAW,CAAC,OAAO,EAAE,WAAW;CAiLxC","sources":["transports/lib/wavtools/lib/wav_packer.js","transports/lib/wavtools/lib/analysis/constants.js","transports/lib/wavtools/lib/analysis/audio_analysis.js","transports/lib/wavtools/lib/worklets/stream_processor.js","transports/lib/wavtools/lib/wav_stream_player.js","transports/lib/wavtools/lib/worklets/audio_processor.js","transports/lib/wavtools/lib/wav_recorder.js","transports/lib/wavtools/lib/mediastream_recorder.js","transports/lib/wavtools/index.js","transports/daily/src/src/transport.ts","transports/daily/src/src/index.ts","transports/daily/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,"export * from \"./transport\";\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":";;ASgCA;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;IACE,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;IACE,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;CACpD;AAoDD,2BAA4B,SAAQ,SAAS;gBAiB/B,EACV,mBAAwB,EACxB,6BAAqC,GACtC,GAAE,gCAAqC;IAoBxC,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IA2B9C,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;IAoBxC,UAAU,CACf,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GACxC,IAAI;IA8BP,IAAI,eAAe,IAAI,SAAS,CAE/B;IAED,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,OAAO,KAAK,KAAK,QAKhB;IAEK,UAAU;IAKhB,SAAS,CAAC,KAAK,EAAE,MAAM;IAUvB,IAAI,WAAW,4CAEd;IAEK,UAAU;IAKhB,SAAS,CAAC,KAAK,EAAE,MAAM;IAUvB,IAAI,WAAW,4CAEd;IAEK,cAAc;IAKpB,aAAa,CAAC,SAAS,EAAE,MAAM;IAQ/B,IAAI,eAAe,4CAElB;IAED,SAAS,CAAC,MAAM,EAAE,OAAO;IAIzB,IAAI,YAAY,YAEf;IAED,SAAS,CAAC,MAAM,EAAE,OAAO;IAIzB,IAAI,YAAY,YAEf;IAEM,iBAAiB,CAAC,MAAM,EAAE,OAAO;IAQxC,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,MAAM;IA0CA,OAAO,CAAC,mBAAmB,EAAE,mBAAmB;IAKhD,WAAW;IAgCX,OAAO,CACX,UAAU,EAAE,wBAAwB,EACpC,eAAe,EAAE,eAAe;IAmC5B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsFjC,UAAU;IAYT,WAAW,CAAC,OAAO,EAAE,WAAW;CAiLxC","sources":["transports/lib/wavtools/lib/wav_packer.js","transports/lib/wavtools/lib/analysis/constants.js","transports/lib/wavtools/lib/analysis/audio_analysis.js","transports/lib/wavtools/lib/worklets/stream_processor.js","transports/lib/wavtools/lib/wav_stream_player.js","transports/lib/wavtools/lib/worklets/audio_processor.js","transports/lib/wavtools/lib/wav_recorder.js","transports/lib/wavtools/lib/mediastream_recorder.js","transports/lib/wavtools/index.js","transports/daily/src/src/transport.ts","transports/daily/src/src/index.ts","transports/daily/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,"export * from \"./transport\";\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -1443,6 +1443,10 @@ globalThis.WavRecorder = WavRecorder;
1443
1443
 
1444
1444
 
1445
1445
 
1446
+ var $c2e964a535c1120e$exports = {};
1447
+ $c2e964a535c1120e$exports = JSON.parse("{\"name\":\"@pipecat-ai/daily-transport\",\"version\":\"0.3.10\",\"license\":\"BSD-2-Clause\",\"main\":\"dist/index.js\",\"module\":\"dist/index.module.js\",\"types\":\"dist/index.d.ts\",\"source\":\"src/index.ts\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/pipecat-ai/pipecat-client-web-transports.git\"},\"files\":[\"dist\",\"package.json\",\"README.md\"],\"scripts\":{\"build\":\"parcel build --no-cache\",\"dev\":\"parcel watch\",\"lint\":\"eslint . --ext ts --report-unused-disable-directives --max-warnings 0\"},\"devDependencies\":{\"@pipecat-ai/client-js\":\"^0.3.5\",\"eslint\":\"9.11.1\",\"eslint-config-prettier\":\"^9.1.0\",\"eslint-plugin-simple-import-sort\":\"^12.1.1\"},\"peerDependencies\":{\"@pipecat-ai/client-js\":\"~0.3.5\"},\"dependencies\":{\"@daily-co/daily-js\":\"^0.77.0\"},\"description\":\"Pipecat Daily Transport Package\",\"author\":\"Daily.co\",\"bugs\":{\"url\":\"https://github.com/pipecat-ai/pipecat-client-web-transports/issues\"},\"homepage\":\"https://github.com/pipecat-ai/pipecat-client-web-transports/blob/main/transports/daily-webrtc/README.md\"}");
1448
+
1449
+
1446
1450
  var $28bdeb35415d61e8$export$ef180de88fd317cc;
1447
1451
  (function(DailyRTVIMessageType) {
1448
1452
  DailyRTVIMessageType["AUDIO_BUFFERING_STARTED"] = "audio-buffering-started";
@@ -1462,7 +1466,7 @@ class $28bdeb35415d61e8$var$DailyCallWrapper {
1462
1466
  errMsg = `Calls to preAuth() are disabled. Please use Transport.preAuth()`;
1463
1467
  break;
1464
1468
  case "startCamera":
1465
- errMsg = `Calls to startCamera() are disabled. Please use RTVIClient.initDevices() or Transport.initDevices()`;
1469
+ errMsg = `Calls to startCamera() are disabled. Please use RTVIClient.initDevices()`;
1466
1470
  break;
1467
1471
  case "join":
1468
1472
  errMsg = `Calls to join() are disabled. Please use RTVIClient.connect()`;
@@ -1558,7 +1562,7 @@ class $28bdeb35415d61e8$export$b1ca982aa1e488c1 extends (0, $jrPAn$pipecataiclie
1558
1562
  this._dailyFactoryOptions.startAudioOff = !(options.enableMic ?? true);
1559
1563
  this.attachEventListeners();
1560
1564
  this.state = "disconnected";
1561
- (0, $jrPAn$pipecataiclientjs.logger).debug("[RTVI Transport] Initialized");
1565
+ (0, $jrPAn$pipecataiclientjs.logger).debug("[RTVI Transport] Initialized", (0, (/*@__PURE__*/$parcel$interopDefault($c2e964a535c1120e$exports))).version);
1562
1566
  }
1563
1567
  get dailyCallClient() {
1564
1568
  return this._dailyWrapper.proxy;
@@ -1713,19 +1717,33 @@ class $28bdeb35415d61e8$export$b1ca982aa1e488c1 extends (0, $jrPAn$pipecataiclie
1713
1717
  }
1714
1718
  async sendReadyMessage() {
1715
1719
  return new Promise((resolve)=>{
1716
- (async ()=>{
1717
- const readyHandler = (ev)=>{
1718
- if (!ev.participant?.local) {
1719
- this.state = "ready";
1720
- this.flushAudioQueue();
1721
- this.sendMessage((0, $jrPAn$pipecataiclientjs.RTVIMessage).clientReady());
1722
- this.stopRecording();
1723
- this._daily.off("track-started", readyHandler);
1724
- resolve();
1725
- }
1726
- };
1727
- this._daily.on("track-started", readyHandler);
1728
- })();
1720
+ // Detect iOS devices
1721
+ const isIOS = ()=>{
1722
+ const userAgent = navigator.userAgent;
1723
+ return /iPad|iPhone|iPod/.test(userAgent) || /Macintosh/.test(userAgent) && "ontouchend" in document;
1724
+ };
1725
+ const sendReadyMessage = ()=>{
1726
+ this.state = "ready";
1727
+ this.flushAudioQueue();
1728
+ this.sendMessage((0, $jrPAn$pipecataiclientjs.RTVIMessage).clientReady());
1729
+ this.stopRecording();
1730
+ resolve();
1731
+ };
1732
+ const readyHandler = (ev)=>{
1733
+ if (!ev.participant?.local) {
1734
+ this._daily.off("track-started", readyHandler);
1735
+ // Check if it's an iOS device
1736
+ if (isIOS()) {
1737
+ (0, $jrPAn$pipecataiclientjs.logger).debug("[RTVI Transport] iOS device detected, adding 0.5 second delay before sending ready message");
1738
+ // Add 500ms delay for iOS devices:
1739
+ // This is a workaround for iOS devices clipping a portion
1740
+ // of the audio after the track becomes playable.
1741
+ setTimeout(sendReadyMessage, 500);
1742
+ } else // Non-iOS device, send ready message immediately
1743
+ sendReadyMessage();
1744
+ }
1745
+ };
1746
+ this._daily.on("track-started", readyHandler);
1729
1747
  });
1730
1748
  }
1731
1749
  stopRecording() {