@estuary-ai/sdk 0.5.0 → 0.7.0

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
@@ -41,7 +41,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
41
41
 
42
42
  // ../node_modules/.pnpm/xmlhttprequest-ssl@2.1.2/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js
43
43
  var require_XMLHttpRequest = __commonJS({
44
- "../node_modules/.pnpm/xmlhttprequest-ssl@2.1.2/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js"(exports$1, module) {
44
+ "../node_modules/.pnpm/xmlhttprequest-ssl@2.1.2/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js"(exports, module) {
45
45
  var fs = __require("fs");
46
46
  var Url = __require("url");
47
47
  var spawn = __require("child_process").spawn;
@@ -442,7 +442,7 @@ var require_XMLHttpRequest = __commonJS({
442
442
 
443
443
  // ../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
444
444
  var require_ms = __commonJS({
445
- "../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports$1, module) {
445
+ "../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) {
446
446
  var s = 1e3;
447
447
  var m = s * 60;
448
448
  var h = m * 60;
@@ -558,7 +558,7 @@ var require_ms = __commonJS({
558
558
 
559
559
  // ../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js
560
560
  var require_common = __commonJS({
561
- "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js"(exports$1, module) {
561
+ "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js"(exports, module) {
562
562
  function setup(env) {
563
563
  createDebug.debug = createDebug;
564
564
  createDebug.default = createDebug;
@@ -735,13 +735,13 @@ var require_common = __commonJS({
735
735
 
736
736
  // ../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js
737
737
  var require_browser = __commonJS({
738
- "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js"(exports$1, module) {
739
- exports$1.formatArgs = formatArgs;
740
- exports$1.save = save;
741
- exports$1.load = load;
742
- exports$1.useColors = useColors;
743
- exports$1.storage = localstorage();
744
- exports$1.destroy = /* @__PURE__ */ (() => {
738
+ "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js"(exports, module) {
739
+ exports.formatArgs = formatArgs;
740
+ exports.save = save;
741
+ exports.load = load;
742
+ exports.useColors = useColors;
743
+ exports.storage = localstorage();
744
+ exports.destroy = /* @__PURE__ */ (() => {
745
745
  let warned = false;
746
746
  return () => {
747
747
  if (!warned) {
@@ -750,7 +750,7 @@ var require_browser = __commonJS({
750
750
  }
751
751
  };
752
752
  })();
753
- exports$1.colors = [
753
+ exports.colors = [
754
754
  "#0000CC",
755
755
  "#0000FF",
756
756
  "#0033CC",
@@ -862,14 +862,14 @@ var require_browser = __commonJS({
862
862
  });
863
863
  args.splice(lastC, 0, c);
864
864
  }
865
- exports$1.log = console.debug || console.log || (() => {
865
+ exports.log = console.debug || console.log || (() => {
866
866
  });
867
867
  function save(namespaces) {
868
868
  try {
869
869
  if (namespaces) {
870
- exports$1.storage.setItem("debug", namespaces);
870
+ exports.storage.setItem("debug", namespaces);
871
871
  } else {
872
- exports$1.storage.removeItem("debug");
872
+ exports.storage.removeItem("debug");
873
873
  }
874
874
  } catch (error) {
875
875
  }
@@ -877,7 +877,7 @@ var require_browser = __commonJS({
877
877
  function load() {
878
878
  let r;
879
879
  try {
880
- r = exports$1.storage.getItem("debug") || exports$1.storage.getItem("DEBUG");
880
+ r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG");
881
881
  } catch (error) {
882
882
  }
883
883
  if (!r && typeof process !== "undefined" && "env" in process) {
@@ -891,7 +891,7 @@ var require_browser = __commonJS({
891
891
  } catch (error) {
892
892
  }
893
893
  }
894
- module.exports = require_common()(exports$1);
894
+ module.exports = require_common()(exports);
895
895
  var { formatters } = module.exports;
896
896
  formatters.j = function(v) {
897
897
  try {
@@ -905,7 +905,7 @@ var require_browser = __commonJS({
905
905
 
906
906
  // ../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js
907
907
  var require_has_flag = __commonJS({
908
- "../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js"(exports$1, module) {
908
+ "../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js"(exports, module) {
909
909
  module.exports = (flag, argv = process.argv) => {
910
910
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
911
911
  const position = argv.indexOf(prefix + flag);
@@ -917,7 +917,7 @@ var require_has_flag = __commonJS({
917
917
 
918
918
  // ../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js
919
919
  var require_supports_color = __commonJS({
920
- "../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js"(exports$1, module) {
920
+ "../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js"(exports, module) {
921
921
  var os = __require("os");
922
922
  var tty = __require("tty");
923
923
  var hasFlag = require_has_flag();
@@ -1030,25 +1030,25 @@ var require_supports_color = __commonJS({
1030
1030
 
1031
1031
  // ../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js
1032
1032
  var require_node = __commonJS({
1033
- "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js"(exports$1, module) {
1033
+ "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js"(exports, module) {
1034
1034
  var tty = __require("tty");
1035
1035
  var util = __require("util");
1036
- exports$1.init = init;
1037
- exports$1.log = log;
1038
- exports$1.formatArgs = formatArgs;
1039
- exports$1.save = save;
1040
- exports$1.load = load;
1041
- exports$1.useColors = useColors;
1042
- exports$1.destroy = util.deprecate(
1036
+ exports.init = init;
1037
+ exports.log = log;
1038
+ exports.formatArgs = formatArgs;
1039
+ exports.save = save;
1040
+ exports.load = load;
1041
+ exports.useColors = useColors;
1042
+ exports.destroy = util.deprecate(
1043
1043
  () => {
1044
1044
  },
1045
1045
  "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
1046
1046
  );
1047
- exports$1.colors = [6, 2, 3, 4, 5, 1];
1047
+ exports.colors = [6, 2, 3, 4, 5, 1];
1048
1048
  try {
1049
1049
  const supportsColor = require_supports_color();
1050
1050
  if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
1051
- exports$1.colors = [
1051
+ exports.colors = [
1052
1052
  20,
1053
1053
  21,
1054
1054
  26,
@@ -1129,7 +1129,7 @@ var require_node = __commonJS({
1129
1129
  }
1130
1130
  } catch (error) {
1131
1131
  }
1132
- exports$1.inspectOpts = Object.keys(process.env).filter((key) => {
1132
+ exports.inspectOpts = Object.keys(process.env).filter((key) => {
1133
1133
  return /^debug_/i.test(key);
1134
1134
  }).reduce((obj, key) => {
1135
1135
  const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
@@ -1149,7 +1149,7 @@ var require_node = __commonJS({
1149
1149
  return obj;
1150
1150
  }, {});
1151
1151
  function useColors() {
1152
- return "colors" in exports$1.inspectOpts ? Boolean(exports$1.inspectOpts.colors) : tty.isatty(process.stderr.fd);
1152
+ return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd);
1153
1153
  }
1154
1154
  function formatArgs(args) {
1155
1155
  const { namespace: name, useColors: useColors2 } = this;
@@ -1164,13 +1164,13 @@ var require_node = __commonJS({
1164
1164
  }
1165
1165
  }
1166
1166
  function getDate() {
1167
- if (exports$1.inspectOpts.hideDate) {
1167
+ if (exports.inspectOpts.hideDate) {
1168
1168
  return "";
1169
1169
  }
1170
1170
  return (/* @__PURE__ */ new Date()).toISOString() + " ";
1171
1171
  }
1172
1172
  function log(...args) {
1173
- return process.stderr.write(util.formatWithOptions(exports$1.inspectOpts, ...args) + "\n");
1173
+ return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + "\n");
1174
1174
  }
1175
1175
  function save(namespaces) {
1176
1176
  if (namespaces) {
@@ -1184,12 +1184,12 @@ var require_node = __commonJS({
1184
1184
  }
1185
1185
  function init(debug12) {
1186
1186
  debug12.inspectOpts = {};
1187
- const keys = Object.keys(exports$1.inspectOpts);
1187
+ const keys = Object.keys(exports.inspectOpts);
1188
1188
  for (let i = 0; i < keys.length; i++) {
1189
- debug12.inspectOpts[keys[i]] = exports$1.inspectOpts[keys[i]];
1189
+ debug12.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
1190
1190
  }
1191
1191
  }
1192
- module.exports = require_common()(exports$1);
1192
+ module.exports = require_common()(exports);
1193
1193
  var { formatters } = module.exports;
1194
1194
  formatters.o = function(v) {
1195
1195
  this.inspectOpts.colors = this.useColors;
@@ -1204,7 +1204,7 @@ var require_node = __commonJS({
1204
1204
 
1205
1205
  // ../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js
1206
1206
  var require_src = __commonJS({
1207
- "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js"(exports$1, module) {
1207
+ "../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js"(exports, module) {
1208
1208
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
1209
1209
  module.exports = require_browser();
1210
1210
  } else {
@@ -1213,14 +1213,15 @@ var require_src = __commonJS({
1213
1213
  }
1214
1214
  });
1215
1215
 
1216
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/constants.js
1216
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/constants.js
1217
1217
  var require_constants = __commonJS({
1218
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/constants.js"(exports$1, module) {
1218
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/constants.js"(exports, module) {
1219
1219
  var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
1220
1220
  var hasBlob = typeof Blob !== "undefined";
1221
1221
  if (hasBlob) BINARY_TYPES.push("blob");
1222
1222
  module.exports = {
1223
1223
  BINARY_TYPES,
1224
+ CLOSE_TIMEOUT: 3e4,
1224
1225
  EMPTY_BUFFER: Buffer.alloc(0),
1225
1226
  GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
1226
1227
  hasBlob,
@@ -1234,9 +1235,9 @@ var require_constants = __commonJS({
1234
1235
  }
1235
1236
  });
1236
1237
 
1237
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/buffer-util.js
1238
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/buffer-util.js
1238
1239
  var require_buffer_util = __commonJS({
1239
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/buffer-util.js"(exports$1, module) {
1240
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/buffer-util.js"(exports, module) {
1240
1241
  var { EMPTY_BUFFER } = require_constants();
1241
1242
  var FastBuffer = Buffer[Symbol.species];
1242
1243
  function concat(list, totalLength2) {
@@ -1308,9 +1309,9 @@ var require_buffer_util = __commonJS({
1308
1309
  }
1309
1310
  });
1310
1311
 
1311
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/limiter.js
1312
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/limiter.js
1312
1313
  var require_limiter = __commonJS({
1313
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/limiter.js"(exports$1, module) {
1314
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/limiter.js"(exports, module) {
1314
1315
  var kDone = /* @__PURE__ */ Symbol("kDone");
1315
1316
  var kRun = /* @__PURE__ */ Symbol("kRun");
1316
1317
  var Limiter = class {
@@ -1357,9 +1358,9 @@ var require_limiter = __commonJS({
1357
1358
  }
1358
1359
  });
1359
1360
 
1360
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/permessage-deflate.js
1361
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/permessage-deflate.js
1361
1362
  var require_permessage_deflate = __commonJS({
1362
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/permessage-deflate.js"(exports$1, module) {
1363
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
1363
1364
  var zlib = __require("zlib");
1364
1365
  var bufferUtil = require_buffer_util();
1365
1366
  var Limiter = require_limiter();
@@ -1372,7 +1373,7 @@ var require_permessage_deflate = __commonJS({
1372
1373
  var kBuffers = /* @__PURE__ */ Symbol("buffers");
1373
1374
  var kError = /* @__PURE__ */ Symbol("error");
1374
1375
  var zlibLimiter;
1375
- var PerMessageDeflate = class {
1376
+ var PerMessageDeflate2 = class {
1376
1377
  /**
1377
1378
  * Creates a PerMessageDeflate instance.
1378
1379
  *
@@ -1383,6 +1384,9 @@ var require_permessage_deflate = __commonJS({
1383
1384
  * acknowledge disabling of client context takeover
1384
1385
  * @param {Number} [options.concurrencyLimit=10] The number of concurrent
1385
1386
  * calls to zlib
1387
+ * @param {Boolean} [options.isServer=false] Create the instance in either
1388
+ * server or client mode
1389
+ * @param {Number} [options.maxPayload=0] The maximum allowed message length
1386
1390
  * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the
1387
1391
  * use of a custom server window size
1388
1392
  * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept
@@ -1393,15 +1397,12 @@ var require_permessage_deflate = __commonJS({
1393
1397
  * deflate
1394
1398
  * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on
1395
1399
  * inflate
1396
- * @param {Boolean} [isServer=false] Create the instance in either server or
1397
- * client mode
1398
- * @param {Number} [maxPayload=0] The maximum allowed message length
1399
1400
  */
1400
- constructor(options, isServer, maxPayload) {
1401
- this._maxPayload = maxPayload | 0;
1401
+ constructor(options) {
1402
1402
  this._options = options || {};
1403
1403
  this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024;
1404
- this._isServer = !!isServer;
1404
+ this._maxPayload = this._options.maxPayload | 0;
1405
+ this._isServer = !!this._options.isServer;
1405
1406
  this._deflate = null;
1406
1407
  this._inflate = null;
1407
1408
  this.params = null;
@@ -1710,7 +1711,7 @@ var require_permessage_deflate = __commonJS({
1710
1711
  });
1711
1712
  }
1712
1713
  };
1713
- module.exports = PerMessageDeflate;
1714
+ module.exports = PerMessageDeflate2;
1714
1715
  function deflateOnData(chunk) {
1715
1716
  this[kBuffers].push(chunk);
1716
1717
  this[kTotalLength] += chunk.length;
@@ -1739,9 +1740,9 @@ var require_permessage_deflate = __commonJS({
1739
1740
  }
1740
1741
  });
1741
1742
 
1742
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/validation.js
1743
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/validation.js
1743
1744
  var require_validation = __commonJS({
1744
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/validation.js"(exports$1, module) {
1745
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/validation.js"(exports, module) {
1745
1746
  var { isUtf8 } = __require("buffer");
1746
1747
  var { hasBlob } = require_constants();
1747
1748
  var tokenChars = [
@@ -1939,11 +1940,11 @@ var require_validation = __commonJS({
1939
1940
  }
1940
1941
  });
1941
1942
 
1942
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/receiver.js
1943
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/receiver.js
1943
1944
  var require_receiver = __commonJS({
1944
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/receiver.js"(exports$1, module) {
1945
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/receiver.js"(exports, module) {
1945
1946
  var { Writable } = __require("stream");
1946
- var PerMessageDeflate = require_permessage_deflate();
1947
+ var PerMessageDeflate2 = require_permessage_deflate();
1947
1948
  var {
1948
1949
  BINARY_TYPES,
1949
1950
  EMPTY_BUFFER,
@@ -2110,7 +2111,7 @@ var require_receiver = __commonJS({
2110
2111
  return;
2111
2112
  }
2112
2113
  const compressed = (buf[0] & 64) === 64;
2113
- if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
2114
+ if (compressed && !this._extensions[PerMessageDeflate2.extensionName]) {
2114
2115
  const error = this.createError(
2115
2116
  RangeError,
2116
2117
  "RSV1 must be clear",
@@ -2354,7 +2355,7 @@ var require_receiver = __commonJS({
2354
2355
  * @private
2355
2356
  */
2356
2357
  decompress(data, cb) {
2357
- const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
2358
+ const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
2358
2359
  perMessageDeflate.decompress(data, this._fin, (err, buf) => {
2359
2360
  if (err) return cb(err);
2360
2361
  if (buf.length) {
@@ -2530,12 +2531,15 @@ var require_receiver = __commonJS({
2530
2531
  }
2531
2532
  });
2532
2533
 
2533
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/sender.js
2534
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/sender.js
2534
2535
  var require_sender = __commonJS({
2535
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/sender.js"(exports$1, module) {
2536
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/sender.js"(exports, module) {
2536
2537
  var { Duplex } = __require("stream");
2537
2538
  var { randomFillSync } = __require("crypto");
2538
- var PerMessageDeflate = require_permessage_deflate();
2539
+ var {
2540
+ types: { isUint8Array }
2541
+ } = __require("util");
2542
+ var PerMessageDeflate2 = require_permessage_deflate();
2539
2543
  var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants();
2540
2544
  var { isBlob, isValidStatusCode } = require_validation();
2541
2545
  var { mask: applyMask, toBuffer: toBuffer2 } = require_buffer_util();
@@ -2688,8 +2692,10 @@ var require_sender = __commonJS({
2688
2692
  buf.writeUInt16BE(code, 0);
2689
2693
  if (typeof data === "string") {
2690
2694
  buf.write(data, 2);
2691
- } else {
2695
+ } else if (isUint8Array(data)) {
2692
2696
  buf.set(data, 2);
2697
+ } else {
2698
+ throw new TypeError("Second argument must be a string or a Uint8Array");
2693
2699
  }
2694
2700
  }
2695
2701
  const options = {
@@ -2819,7 +2825,7 @@ var require_sender = __commonJS({
2819
2825
  * @public
2820
2826
  */
2821
2827
  send(data, options, cb) {
2822
- const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
2828
+ const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
2823
2829
  let opcode = options.binary ? 2 : 1;
2824
2830
  let rsv1 = options.compress;
2825
2831
  let byteLength2;
@@ -2943,7 +2949,7 @@ var require_sender = __commonJS({
2943
2949
  this.sendFrame(_Sender.frame(data, options), cb);
2944
2950
  return;
2945
2951
  }
2946
- const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
2952
+ const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
2947
2953
  this._bufferedBytes += options[kByteLength];
2948
2954
  this._state = DEFLATING;
2949
2955
  perMessageDeflate.compress(data, options.fin, (_, buf) => {
@@ -3017,9 +3023,9 @@ var require_sender = __commonJS({
3017
3023
  }
3018
3024
  });
3019
3025
 
3020
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/event-target.js
3026
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/event-target.js
3021
3027
  var require_event_target = __commonJS({
3022
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/event-target.js"(exports$1, module) {
3028
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/event-target.js"(exports, module) {
3023
3029
  var { kForOnEventAttribute, kListener } = require_constants();
3024
3030
  var kCode = /* @__PURE__ */ Symbol("kCode");
3025
3031
  var kData = /* @__PURE__ */ Symbol("kData");
@@ -3245,9 +3251,9 @@ var require_event_target = __commonJS({
3245
3251
  }
3246
3252
  });
3247
3253
 
3248
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/extension.js
3254
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/extension.js
3249
3255
  var require_extension = __commonJS({
3250
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/extension.js"(exports$1, module) {
3256
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/extension.js"(exports, module) {
3251
3257
  var { tokenChars } = require_validation();
3252
3258
  function push(dest, name, elem) {
3253
3259
  if (dest[name] === void 0) dest[name] = [elem];
@@ -3379,11 +3385,11 @@ var require_extension = __commonJS({
3379
3385
  return offers;
3380
3386
  }
3381
3387
  function format(extensions) {
3382
- return Object.keys(extensions).map((extension) => {
3383
- let configurations = extensions[extension];
3388
+ return Object.keys(extensions).map((extension2) => {
3389
+ let configurations = extensions[extension2];
3384
3390
  if (!Array.isArray(configurations)) configurations = [configurations];
3385
3391
  return configurations.map((params) => {
3386
- return [extension].concat(
3392
+ return [extension2].concat(
3387
3393
  Object.keys(params).map((k) => {
3388
3394
  let values = params[k];
3389
3395
  if (!Array.isArray(values)) values = [values];
@@ -3397,9 +3403,9 @@ var require_extension = __commonJS({
3397
3403
  }
3398
3404
  });
3399
3405
 
3400
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/websocket.js
3406
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket.js
3401
3407
  var require_websocket = __commonJS({
3402
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/websocket.js"(exports$1, module) {
3408
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket.js"(exports, module) {
3403
3409
  var EventEmitter = __require("events");
3404
3410
  var https = __require("https");
3405
3411
  var http = __require("http");
@@ -3408,12 +3414,13 @@ var require_websocket = __commonJS({
3408
3414
  var { randomBytes, createHash } = __require("crypto");
3409
3415
  var { Duplex, Readable } = __require("stream");
3410
3416
  var { URL: URL2 } = __require("url");
3411
- var PerMessageDeflate = require_permessage_deflate();
3417
+ var PerMessageDeflate2 = require_permessage_deflate();
3412
3418
  var Receiver2 = require_receiver();
3413
3419
  var Sender2 = require_sender();
3414
3420
  var { isBlob } = require_validation();
3415
3421
  var {
3416
3422
  BINARY_TYPES,
3423
+ CLOSE_TIMEOUT,
3417
3424
  EMPTY_BUFFER,
3418
3425
  GUID,
3419
3426
  kForOnEventAttribute,
@@ -3427,7 +3434,6 @@ var require_websocket = __commonJS({
3427
3434
  } = require_event_target();
3428
3435
  var { format, parse: parse3 } = require_extension();
3429
3436
  var { toBuffer: toBuffer2 } = require_buffer_util();
3430
- var closeTimeout = 30 * 1e3;
3431
3437
  var kAborted = /* @__PURE__ */ Symbol("kAborted");
3432
3438
  var protocolVersions = [8, 13];
3433
3439
  var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
@@ -3473,6 +3479,7 @@ var require_websocket = __commonJS({
3473
3479
  initAsClient(this, address, protocols, options);
3474
3480
  } else {
3475
3481
  this._autoPong = options.autoPong;
3482
+ this._closeTimeout = options.closeTimeout;
3476
3483
  this._isServer = true;
3477
3484
  }
3478
3485
  }
@@ -3615,8 +3622,8 @@ var require_websocket = __commonJS({
3615
3622
  this.emit("close", this._closeCode, this._closeMessage);
3616
3623
  return;
3617
3624
  }
3618
- if (this._extensions[PerMessageDeflate.extensionName]) {
3619
- this._extensions[PerMessageDeflate.extensionName].cleanup();
3625
+ if (this._extensions[PerMessageDeflate2.extensionName]) {
3626
+ this._extensions[PerMessageDeflate2.extensionName].cleanup();
3620
3627
  }
3621
3628
  this._receiver.removeAllListeners();
3622
3629
  this._readyState = _WebSocket.CLOSED;
@@ -3778,7 +3785,7 @@ var require_websocket = __commonJS({
3778
3785
  fin: true,
3779
3786
  ...options
3780
3787
  };
3781
- if (!this._extensions[PerMessageDeflate.extensionName]) {
3788
+ if (!this._extensions[PerMessageDeflate2.extensionName]) {
3782
3789
  opts.compress = false;
3783
3790
  }
3784
3791
  this._sender.send(data || EMPTY_BUFFER, opts, cb);
@@ -3874,6 +3881,7 @@ var require_websocket = __commonJS({
3874
3881
  const opts = {
3875
3882
  allowSynchronousEvents: true,
3876
3883
  autoPong: true,
3884
+ closeTimeout: CLOSE_TIMEOUT,
3877
3885
  protocolVersion: protocolVersions[1],
3878
3886
  maxPayload: 100 * 1024 * 1024,
3879
3887
  skipUTF8Validation: false,
@@ -3891,6 +3899,7 @@ var require_websocket = __commonJS({
3891
3899
  port: void 0
3892
3900
  };
3893
3901
  websocket._autoPong = opts.autoPong;
3902
+ websocket._closeTimeout = opts.closeTimeout;
3894
3903
  if (!protocolVersions.includes(opts.protocolVersion)) {
3895
3904
  throw new RangeError(
3896
3905
  `Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`
@@ -3902,7 +3911,7 @@ var require_websocket = __commonJS({
3902
3911
  } else {
3903
3912
  try {
3904
3913
  parsedUrl = new URL2(address);
3905
- } catch (e) {
3914
+ } catch {
3906
3915
  throw new SyntaxError(`Invalid URL: ${address}`);
3907
3916
  }
3908
3917
  }
@@ -3950,13 +3959,13 @@ var require_websocket = __commonJS({
3950
3959
  opts.path = parsedUrl.pathname + parsedUrl.search;
3951
3960
  opts.timeout = opts.handshakeTimeout;
3952
3961
  if (opts.perMessageDeflate) {
3953
- perMessageDeflate = new PerMessageDeflate(
3954
- opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},
3955
- false,
3956
- opts.maxPayload
3957
- );
3962
+ perMessageDeflate = new PerMessageDeflate2({
3963
+ ...opts.perMessageDeflate,
3964
+ isServer: false,
3965
+ maxPayload: opts.maxPayload
3966
+ });
3958
3967
  opts.headers["Sec-WebSocket-Extensions"] = format({
3959
- [PerMessageDeflate.extensionName]: perMessageDeflate.offer()
3968
+ [PerMessageDeflate2.extensionName]: perMessageDeflate.offer()
3960
3969
  });
3961
3970
  }
3962
3971
  if (protocols.length) {
@@ -4099,19 +4108,19 @@ var require_websocket = __commonJS({
4099
4108
  return;
4100
4109
  }
4101
4110
  const extensionNames = Object.keys(extensions);
4102
- if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate.extensionName) {
4111
+ if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate2.extensionName) {
4103
4112
  const message = "Server indicated an extension that was not requested";
4104
4113
  abortHandshake(websocket, socket, message);
4105
4114
  return;
4106
4115
  }
4107
4116
  try {
4108
- perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);
4117
+ perMessageDeflate.accept(extensions[PerMessageDeflate2.extensionName]);
4109
4118
  } catch (err) {
4110
4119
  const message = "Invalid Sec-WebSocket-Extensions header";
4111
4120
  abortHandshake(websocket, socket, message);
4112
4121
  return;
4113
4122
  }
4114
- websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
4123
+ websocket._extensions[PerMessageDeflate2.extensionName] = perMessageDeflate;
4115
4124
  }
4116
4125
  websocket.setSocket(socket, head, {
4117
4126
  allowSynchronousEvents: opts.allowSynchronousEvents,
@@ -4233,7 +4242,7 @@ var require_websocket = __commonJS({
4233
4242
  function setCloseTimer(websocket) {
4234
4243
  websocket._closeTimer = setTimeout(
4235
4244
  websocket._socket.destroy.bind(websocket._socket),
4236
- closeTimeout
4245
+ websocket._closeTimeout
4237
4246
  );
4238
4247
  }
4239
4248
  function socketOnClose() {
@@ -4242,8 +4251,8 @@ var require_websocket = __commonJS({
4242
4251
  this.removeListener("data", socketOnData);
4243
4252
  this.removeListener("end", socketOnEnd);
4244
4253
  websocket._readyState = WebSocket2.CLOSING;
4245
- let chunk;
4246
- if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) {
4254
+ if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
4255
+ const chunk = this.read(this._readableState.length);
4247
4256
  websocket._receiver.write(chunk);
4248
4257
  }
4249
4258
  websocket._receiver.end();
@@ -4279,9 +4288,9 @@ var require_websocket = __commonJS({
4279
4288
  }
4280
4289
  });
4281
4290
 
4282
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/stream.js
4291
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/stream.js
4283
4292
  var require_stream = __commonJS({
4284
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/stream.js"(exports$1, module) {
4293
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/stream.js"(exports, module) {
4285
4294
  require_websocket();
4286
4295
  var { Duplex } = __require("stream");
4287
4296
  function emitClose(stream) {
@@ -4376,9 +4385,9 @@ var require_stream = __commonJS({
4376
4385
  }
4377
4386
  });
4378
4387
 
4379
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/subprotocol.js
4388
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/subprotocol.js
4380
4389
  var require_subprotocol = __commonJS({
4381
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/subprotocol.js"(exports$1, module) {
4390
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/subprotocol.js"(exports, module) {
4382
4391
  var { tokenChars } = require_validation();
4383
4392
  function parse3(header) {
4384
4393
  const protocols = /* @__PURE__ */ new Set();
@@ -4420,18 +4429,18 @@ var require_subprotocol = __commonJS({
4420
4429
  }
4421
4430
  });
4422
4431
 
4423
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/websocket-server.js
4432
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket-server.js
4424
4433
  var require_websocket_server = __commonJS({
4425
- "../node_modules/.pnpm/ws@8.18.3/node_modules/ws/lib/websocket-server.js"(exports$1, module) {
4434
+ "../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket-server.js"(exports, module) {
4426
4435
  var EventEmitter = __require("events");
4427
4436
  var http = __require("http");
4428
4437
  var { Duplex } = __require("stream");
4429
4438
  var { createHash } = __require("crypto");
4430
- var extension = require_extension();
4431
- var PerMessageDeflate = require_permessage_deflate();
4432
- var subprotocol = require_subprotocol();
4439
+ var extension2 = require_extension();
4440
+ var PerMessageDeflate2 = require_permessage_deflate();
4441
+ var subprotocol2 = require_subprotocol();
4433
4442
  var WebSocket2 = require_websocket();
4434
- var { GUID, kWebSocket } = require_constants();
4443
+ var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants();
4435
4444
  var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
4436
4445
  var RUNNING = 0;
4437
4446
  var CLOSING = 1;
@@ -4450,6 +4459,9 @@ var require_websocket_server = __commonJS({
4450
4459
  * pending connections
4451
4460
  * @param {Boolean} [options.clientTracking=true] Specifies whether or not to
4452
4461
  * track clients
4462
+ * @param {Number} [options.closeTimeout=30000] Duration in milliseconds to
4463
+ * wait for the closing handshake to finish after `websocket.close()` is
4464
+ * called
4453
4465
  * @param {Function} [options.handleProtocols] A hook to handle protocols
4454
4466
  * @param {String} [options.host] The hostname where to bind the server
4455
4467
  * @param {Number} [options.maxPayload=104857600] The maximum allowed message
@@ -4478,6 +4490,7 @@ var require_websocket_server = __commonJS({
4478
4490
  perMessageDeflate: false,
4479
4491
  handleProtocols: null,
4480
4492
  clientTracking: true,
4493
+ closeTimeout: CLOSE_TIMEOUT,
4481
4494
  verifyClient: null,
4482
4495
  noServer: false,
4483
4496
  backlog: null,
@@ -4648,7 +4661,7 @@ var require_websocket_server = __commonJS({
4648
4661
  let protocols = /* @__PURE__ */ new Set();
4649
4662
  if (secWebSocketProtocol !== void 0) {
4650
4663
  try {
4651
- protocols = subprotocol.parse(secWebSocketProtocol);
4664
+ protocols = subprotocol2.parse(secWebSocketProtocol);
4652
4665
  } catch (err) {
4653
4666
  const message = "Invalid Sec-WebSocket-Protocol header";
4654
4667
  abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
@@ -4658,16 +4671,16 @@ var require_websocket_server = __commonJS({
4658
4671
  const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
4659
4672
  const extensions = {};
4660
4673
  if (this.options.perMessageDeflate && secWebSocketExtensions !== void 0) {
4661
- const perMessageDeflate = new PerMessageDeflate(
4662
- this.options.perMessageDeflate,
4663
- true,
4664
- this.options.maxPayload
4665
- );
4674
+ const perMessageDeflate = new PerMessageDeflate2({
4675
+ ...this.options.perMessageDeflate,
4676
+ isServer: true,
4677
+ maxPayload: this.options.maxPayload
4678
+ });
4666
4679
  try {
4667
- const offers = extension.parse(secWebSocketExtensions);
4668
- if (offers[PerMessageDeflate.extensionName]) {
4669
- perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
4670
- extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
4680
+ const offers = extension2.parse(secWebSocketExtensions);
4681
+ if (offers[PerMessageDeflate2.extensionName]) {
4682
+ perMessageDeflate.accept(offers[PerMessageDeflate2.extensionName]);
4683
+ extensions[PerMessageDeflate2.extensionName] = perMessageDeflate;
4671
4684
  }
4672
4685
  } catch (err) {
4673
4686
  const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
@@ -4738,10 +4751,10 @@ var require_websocket_server = __commonJS({
4738
4751
  ws._protocol = protocol4;
4739
4752
  }
4740
4753
  }
4741
- if (extensions[PerMessageDeflate.extensionName]) {
4742
- const params = extensions[PerMessageDeflate.extensionName].params;
4743
- const value2 = extension.format({
4744
- [PerMessageDeflate.extensionName]: [params]
4754
+ if (extensions[PerMessageDeflate2.extensionName]) {
4755
+ const params = extensions[PerMessageDeflate2.extensionName].params;
4756
+ const value2 = extension2.format({
4757
+ [PerMessageDeflate2.extensionName]: [params]
4745
4758
  });
4746
4759
  headers.push(`Sec-WebSocket-Extensions: ${value2}`);
4747
4760
  ws._extensions = extensions;
@@ -5235,17 +5248,31 @@ var init_livekit_voice = __esm({
5235
5248
  this._isMuted = false;
5236
5249
  this._isSuppressed = false;
5237
5250
  }
5238
- /** Mute/unmute the local audio track directly via MediaStreamTrack.enabled.
5239
- * This avoids setMicrophoneEnabled() which publishes/unpublishes the track
5240
- * through the LiveKit server and can fail with engine timeout errors. */
5251
+ /** Apply the current mute/suppress state to the outgoing mic audio.
5252
+ * Two layers. First gate the raw MediaStreamTrack (synchronous, purely
5253
+ * local) so no audio leaves the device even if signaling stalls. Then
5254
+ * setMicrophoneEnabled() — in livekit-client v2 this mutes/unmutes the
5255
+ * existing publication (it does NOT unpublish) and signals the state to
5256
+ * the room, which is the authoritative mute the server sees. The raw
5257
+ * gate alone proved unreliable: with the flag flipped and the icon
5258
+ * showing muted, live audio still reached server-side STT. */
5241
5259
  updateTrackEnabled() {
5242
5260
  if (!this.room) return;
5243
5261
  const enabled = !this._isMuted && !this._isSuppressed;
5244
- for (const [, publication] of this.room.localParticipant.audioTrackPublications) {
5245
- if (publication.track?.mediaStreamTrack) {
5246
- publication.track.mediaStreamTrack.enabled = enabled;
5262
+ let gated = 0;
5263
+ const publications = this.room.localParticipant.audioTrackPublications;
5264
+ if (publications) {
5265
+ for (const [, publication] of publications) {
5266
+ if (publication.track?.mediaStreamTrack) {
5267
+ publication.track.mediaStreamTrack.enabled = enabled;
5268
+ gated++;
5269
+ }
5247
5270
  }
5248
5271
  }
5272
+ this.logger.debug(`Mic ${enabled ? "enabled" : "disabled"}: gated ${gated} local track(s)`);
5273
+ this.room.localParticipant.setMicrophoneEnabled(enabled).catch((err) => {
5274
+ this.logger.warn("setMicrophoneEnabled failed; relying on local track gate:", err);
5275
+ });
5249
5276
  }
5250
5277
  // ─── Audio Level Polling (participant.audioLevel) ───────────────
5251
5278
  startAudioLevelPolling() {
@@ -5291,7 +5318,7 @@ var init_livekit_voice = __esm({
5291
5318
  }
5292
5319
  });
5293
5320
 
5294
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js
5321
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js
5295
5322
  var XMLHttpRequestModule = __toESM(require_XMLHttpRequest());
5296
5323
 
5297
5324
  // ../node_modules/.pnpm/engine.io-parser@5.2.3/node_modules/engine.io-parser/build/esm/commons.js
@@ -5598,7 +5625,7 @@ Emitter.prototype.hasListeners = function(event) {
5598
5625
  return !!this.listeners(event).length;
5599
5626
  };
5600
5627
 
5601
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/globals.node.js
5628
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/globals.node.js
5602
5629
  var nextTick = process.nextTick;
5603
5630
  var globalThisShim = global;
5604
5631
  var defaultBinaryType = "nodebuffer";
@@ -5685,7 +5712,7 @@ var CookieJar = class {
5685
5712
  }
5686
5713
  };
5687
5714
 
5688
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/util.js
5715
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/util.js
5689
5716
  function pick(obj, ...attr) {
5690
5717
  return attr.reduce((acc, k) => {
5691
5718
  if (obj.hasOwnProperty(k)) {
@@ -5733,7 +5760,7 @@ function randomString() {
5733
5760
  return Date.now().toString(36).substring(3) + Math.random().toString(36).substring(2, 5);
5734
5761
  }
5735
5762
 
5736
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js
5763
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js
5737
5764
  function encode(obj) {
5738
5765
  let str = "";
5739
5766
  for (let i in obj) {
@@ -5755,7 +5782,7 @@ function decode(qs) {
5755
5782
  return qry;
5756
5783
  }
5757
5784
 
5758
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transport.js
5785
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transport.js
5759
5786
  var import_debug = __toESM(require_src());
5760
5787
  var debug = (0, import_debug.default)("engine.io-client:transport");
5761
5788
  var TransportError = class extends Error {
@@ -5889,7 +5916,7 @@ var Transport = class extends Emitter {
5889
5916
  }
5890
5917
  };
5891
5918
 
5892
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/polling.js
5919
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/polling.js
5893
5920
  var import_debug2 = __toESM(require_src());
5894
5921
  var debug2 = (0, import_debug2.default)("engine.io-client:polling");
5895
5922
  var Polling = class extends Transport {
@@ -6034,7 +6061,7 @@ var Polling = class extends Transport {
6034
6061
  }
6035
6062
  };
6036
6063
 
6037
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js
6064
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js
6038
6065
  var value = false;
6039
6066
  try {
6040
6067
  value = typeof XMLHttpRequest !== "undefined" && "withCredentials" in new XMLHttpRequest();
@@ -6042,7 +6069,7 @@ try {
6042
6069
  }
6043
6070
  var hasCORS = value;
6044
6071
 
6045
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js
6072
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js
6046
6073
  var import_debug3 = __toESM(require_src());
6047
6074
  var debug3 = (0, import_debug3.default)("engine.io-client:polling");
6048
6075
  function empty() {
@@ -6068,8 +6095,8 @@ var BaseXHR = class extends Polling {
6068
6095
  /**
6069
6096
  * Sends data.
6070
6097
  *
6071
- * @param {String} data to send.
6072
- * @param {Function} called upon flush.
6098
+ * @param {String} data - data to send.
6099
+ * @param {Function} fn - called upon flush.
6073
6100
  * @private
6074
6101
  */
6075
6102
  doWrite(data, fn) {
@@ -6277,7 +6304,7 @@ function newRequest(opts) {
6277
6304
  }
6278
6305
  }
6279
6306
 
6280
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js
6307
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js
6281
6308
  var XMLHttpRequest2 = XMLHttpRequestModule.default || XMLHttpRequestModule;
6282
6309
  var XHR = class extends BaseXHR {
6283
6310
  request(opts = {}) {
@@ -6287,14 +6314,17 @@ var XHR = class extends BaseXHR {
6287
6314
  }
6288
6315
  };
6289
6316
 
6290
- // ../node_modules/.pnpm/ws@8.18.3/node_modules/ws/wrapper.mjs
6317
+ // ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/wrapper.mjs
6291
6318
  __toESM(require_stream());
6319
+ __toESM(require_extension());
6320
+ __toESM(require_permessage_deflate());
6292
6321
  __toESM(require_receiver());
6293
6322
  __toESM(require_sender());
6323
+ __toESM(require_subprotocol());
6294
6324
  var import_websocket = __toESM(require_websocket());
6295
6325
  __toESM(require_websocket_server());
6296
6326
 
6297
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/websocket.js
6327
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/websocket.js
6298
6328
  var import_debug4 = __toESM(require_src());
6299
6329
  var debug4 = (0, import_debug4.default)("engine.io-client:websocket");
6300
6330
  var isReactNative = typeof navigator !== "undefined" && typeof navigator.product === "string" && navigator.product.toLowerCase() === "reactnative";
@@ -6382,7 +6412,7 @@ var BaseWS = class extends Transport {
6382
6412
  }
6383
6413
  };
6384
6414
 
6385
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js
6415
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js
6386
6416
  var WS = class extends BaseWS {
6387
6417
  createSocket(uri, protocols, opts) {
6388
6418
  var _a;
@@ -6413,7 +6443,7 @@ var WS = class extends BaseWS {
6413
6443
  }
6414
6444
  };
6415
6445
 
6416
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js
6446
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js
6417
6447
  var import_debug5 = __toESM(require_src());
6418
6448
  var debug5 = (0, import_debug5.default)("engine.io-client:webtransport");
6419
6449
  var WT = class extends Transport {
@@ -6483,14 +6513,14 @@ var WT = class extends Transport {
6483
6513
  }
6484
6514
  };
6485
6515
 
6486
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/transports/index.js
6516
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/transports/index.js
6487
6517
  var transports = {
6488
6518
  websocket: WS,
6489
6519
  webtransport: WT,
6490
6520
  polling: XHR
6491
6521
  };
6492
6522
 
6493
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js
6523
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js
6494
6524
  var re = /^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;
6495
6525
  var parts = [
6496
6526
  "source",
@@ -6550,7 +6580,7 @@ function queryKey(uri, query) {
6550
6580
  return data;
6551
6581
  }
6552
6582
 
6553
- // ../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm-debug/socket.js
6583
+ // ../node_modules/.pnpm/engine.io-client@6.6.5/node_modules/engine.io-client/build/esm-debug/socket.js
6554
6584
  var import_debug6 = __toESM(require_src());
6555
6585
  var debug6 = (0, import_debug6.default)("engine.io-client:socket");
6556
6586
  var withEventListeners = typeof addEventListener === "function" && typeof removeEventListener === "function";
@@ -6889,7 +6919,7 @@ var SocketWithoutUpgrade = class _SocketWithoutUpgrade extends Emitter {
6889
6919
  /**
6890
6920
  * Sends a packet.
6891
6921
  *
6892
- * @param {String} type: packet type.
6922
+ * @param {String} type - packet type.
6893
6923
  * @param {String} data.
6894
6924
  * @param {Object} options.
6895
6925
  * @param {Function} fn - callback function.
@@ -7188,7 +7218,7 @@ function url(uri, path = "", loc) {
7188
7218
  return obj;
7189
7219
  }
7190
7220
 
7191
- // ../node_modules/.pnpm/socket.io-parser@4.2.5/node_modules/socket.io-parser/build/esm-debug/index.js
7221
+ // ../node_modules/.pnpm/socket.io-parser@4.2.6/node_modules/socket.io-parser/build/esm-debug/index.js
7192
7222
  var esm_debug_exports = {};
7193
7223
  __export(esm_debug_exports, {
7194
7224
  Decoder: () => Decoder,
@@ -7198,7 +7228,7 @@ __export(esm_debug_exports, {
7198
7228
  protocol: () => protocol3
7199
7229
  });
7200
7230
 
7201
- // ../node_modules/.pnpm/socket.io-parser@4.2.5/node_modules/socket.io-parser/build/esm-debug/is-binary.js
7231
+ // ../node_modules/.pnpm/socket.io-parser@4.2.6/node_modules/socket.io-parser/build/esm-debug/is-binary.js
7202
7232
  var withNativeArrayBuffer = typeof ArrayBuffer === "function";
7203
7233
  var isView = (obj) => {
7204
7234
  return typeof ArrayBuffer.isView === "function" ? ArrayBuffer.isView(obj) : obj.buffer instanceof ArrayBuffer;
@@ -7235,7 +7265,7 @@ function hasBinary(obj, toJSON) {
7235
7265
  return false;
7236
7266
  }
7237
7267
 
7238
- // ../node_modules/.pnpm/socket.io-parser@4.2.5/node_modules/socket.io-parser/build/esm-debug/binary.js
7268
+ // ../node_modules/.pnpm/socket.io-parser@4.2.6/node_modules/socket.io-parser/build/esm-debug/binary.js
7239
7269
  function deconstructPacket(packet) {
7240
7270
  const buffers = [];
7241
7271
  const packetData = packet.data;
@@ -7297,7 +7327,7 @@ function _reconstructPacket(data, buffers) {
7297
7327
  return data;
7298
7328
  }
7299
7329
 
7300
- // ../node_modules/.pnpm/socket.io-parser@4.2.5/node_modules/socket.io-parser/build/esm-debug/index.js
7330
+ // ../node_modules/.pnpm/socket.io-parser@4.2.6/node_modules/socket.io-parser/build/esm-debug/index.js
7301
7331
  var import_debug8 = __toESM(require_src());
7302
7332
  var debug8 = (0, import_debug8.default)("socket.io-parser");
7303
7333
  var RESERVED_EVENTS = [
@@ -7390,12 +7420,13 @@ var Encoder = class {
7390
7420
  var Decoder = class _Decoder extends Emitter {
7391
7421
  /**
7392
7422
  * Decoder constructor
7393
- *
7394
- * @param {function} reviver - custom reviver to pass down to JSON.stringify
7395
7423
  */
7396
- constructor(reviver) {
7424
+ constructor(opts) {
7397
7425
  super();
7398
- this.reviver = reviver;
7426
+ this.opts = Object.assign({
7427
+ reviver: void 0,
7428
+ maxAttachments: 10
7429
+ }, typeof opts === "function" ? { reviver: opts } : opts);
7399
7430
  }
7400
7431
  /**
7401
7432
  * Decodes an encoded packet string into packet JSON.
@@ -7455,7 +7486,13 @@ var Decoder = class _Decoder extends Emitter {
7455
7486
  if (buf != Number(buf) || str.charAt(i) !== "-") {
7456
7487
  throw new Error("Illegal attachments");
7457
7488
  }
7458
- p.attachments = Number(buf);
7489
+ const n = Number(buf);
7490
+ if (!isInteger(n) || n < 0) {
7491
+ throw new Error("Illegal attachments");
7492
+ } else if (n > this.opts.maxAttachments) {
7493
+ throw new Error("too many attachments");
7494
+ }
7495
+ p.attachments = n;
7459
7496
  }
7460
7497
  if ("/" === str.charAt(i + 1)) {
7461
7498
  const start = i + 1;
@@ -7497,7 +7534,7 @@ var Decoder = class _Decoder extends Emitter {
7497
7534
  }
7498
7535
  tryParse(str) {
7499
7536
  try {
7500
- return JSON.parse(str, this.reviver);
7537
+ return JSON.parse(str, this.opts.reviver);
7501
7538
  } catch (e) {
7502
7539
  return false;
7503
7540
  }
@@ -8954,6 +8991,20 @@ function toQuotaExceededData(wire) {
8954
8991
  tier: wire.tier
8955
8992
  };
8956
8993
  }
8994
+ function toSessionTimeoutData(wire) {
8995
+ return {
8996
+ reason: wire.reason,
8997
+ idleSeconds: wire.idle_seconds,
8998
+ timeoutSeconds: wire.timeout_seconds
8999
+ };
9000
+ }
9001
+ function toVoiceTimeoutData(wire) {
9002
+ return {
9003
+ reason: wire.reason,
9004
+ idleSeconds: wire.idle_seconds,
9005
+ timeoutSeconds: wire.timeout_seconds
9006
+ };
9007
+ }
8957
9008
  function toLiveKitTokenResponse(wire) {
8958
9009
  return {
8959
9010
  token: wire.token,
@@ -8988,6 +9039,9 @@ var SocketManager = class extends TypedEventEmitter {
8988
9039
  reconnectAttempt = 0;
8989
9040
  reconnectTimer = null;
8990
9041
  sessionInfo = null;
9042
+ // Set by session_timeout: suppresses the auto-reconnect for the
9043
+ // server-initiated disconnect that immediately follows it.
9044
+ serverEndedSession = false;
8991
9045
  constructor(config, logger) {
8992
9046
  super();
8993
9047
  this.config = config;
@@ -9015,6 +9069,7 @@ var SocketManager = class extends TypedEventEmitter {
9015
9069
  }
9016
9070
  this.setConnectionState("connecting" /* Connecting */);
9017
9071
  this.reconnectAttempt = 0;
9072
+ this.serverEndedSession = false;
9018
9073
  const url2 = `${this.config.serverUrl}/sdk`;
9019
9074
  this.logger.debug("Connecting to", url2);
9020
9075
  this.socket = lookup(url2, {
@@ -9126,6 +9181,13 @@ var SocketManager = class extends TypedEventEmitter {
9126
9181
  this.socket.on("quota_exceeded", (data) => {
9127
9182
  this.emit("quotaExceeded", toQuotaExceededData(data));
9128
9183
  });
9184
+ this.socket.on("session_timeout", (data) => {
9185
+ this.serverEndedSession = true;
9186
+ this.emit("sessionTimeout", toSessionTimeoutData(data));
9187
+ });
9188
+ this.socket.on("voice_timeout", (data) => {
9189
+ this.emit("voiceTimeout", toVoiceTimeoutData(data));
9190
+ });
9129
9191
  this.socket.on("camera_capture", (data) => {
9130
9192
  this.emit("cameraCaptureRequest", toCameraCaptureRequest(data));
9131
9193
  });
@@ -9150,6 +9212,12 @@ var SocketManager = class extends TypedEventEmitter {
9150
9212
  this.sessionInfo = null;
9151
9213
  this.setConnectionState("disconnected" /* Disconnected */);
9152
9214
  this.emit("disconnected", reason);
9215
+ const serverEnded = this.serverEndedSession || reason === "io server disconnect";
9216
+ this.serverEndedSession = false;
9217
+ if (serverEnded) {
9218
+ this.logger.info("Server ended the session \u2014 not auto-reconnecting");
9219
+ return;
9220
+ }
9153
9221
  const autoReconnect = this.config.autoReconnect ?? true;
9154
9222
  const maxAttempts = this.config.maxReconnectAttempts ?? 5;
9155
9223
  if (autoReconnect && this.reconnectAttempt < maxAttempts) {
@@ -10118,6 +10186,25 @@ var EstuaryClient = class extends TypedEventEmitter {
10118
10186
  this.emit("voiceStopped");
10119
10187
  }
10120
10188
  }
10189
+ /**
10190
+ * Tear down voice state without requiring an active manager — used when the
10191
+ * server ends the session out from under us. Unlike stopVoice(), this also
10192
+ * disposes a manager whose transport already died (LiveKit room deleted →
10193
+ * isActive is false but the local mic track was never released).
10194
+ */
10195
+ async releaseVoice() {
10196
+ const manager = this.voiceManager;
10197
+ this.voiceManager = null;
10198
+ this._isLiveKitSpeaking = false;
10199
+ this.audioPlayer?.clear();
10200
+ if (!manager) return;
10201
+ try {
10202
+ if (manager.isActive) await manager.stop();
10203
+ } catch {
10204
+ }
10205
+ manager.dispose();
10206
+ this.emit("voiceStopped");
10207
+ }
10121
10208
  /** Toggle microphone mute */
10122
10209
  toggleMute() {
10123
10210
  if (!this.voiceManager?.isActive) {
@@ -10197,6 +10284,14 @@ var EstuaryClient = class extends TypedEventEmitter {
10197
10284
  this.socketManager.on("error", (error) => this.emit("error", error));
10198
10285
  this.socketManager.on("authError", (error) => this.emit("authError", error));
10199
10286
  this.socketManager.on("quotaExceeded", (data) => this.emit("quotaExceeded", data));
10287
+ this.socketManager.on("sessionTimeout", (data) => {
10288
+ void this.releaseVoice();
10289
+ this.emit("sessionTimeout", data);
10290
+ });
10291
+ this.socketManager.on("voiceTimeout", (data) => {
10292
+ void this.releaseVoice();
10293
+ this.emit("voiceTimeout", data);
10294
+ });
10200
10295
  this.socketManager.on("cameraCaptureRequest", (request) => this.emit("cameraCaptureRequest", request));
10201
10296
  this.socketManager.on("livekitConnected", (room) => this.emit("livekitConnected", room));
10202
10297
  this.socketManager.on("livekitDisconnected", () => this.emit("livekitDisconnected"));