@ikonai/sdk 1.0.8 → 1.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/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  const zr = {
2
2
  Compressed: 8
3
3
  };
4
- function bl(t) {
4
+ function kl(t) {
5
5
  return t;
6
6
  }
7
- function de(t) {
7
+ function fe(t) {
8
8
  if (t.length < 8)
9
9
  throw new Error("Protocol message too short");
10
10
  return (t[4] | t[5] << 8 | t[6] << 16 | t[7] << 24) >>> 0;
11
11
  }
12
- function ue(t) {
13
- return de(t) & 4294901760;
12
+ function he(t) {
13
+ return fe(t) & 4294901760;
14
14
  }
15
- function se(t) {
16
- const e = ie(t), r = new DataView(e.buffer, e.byteOffset, e.byteLength);
15
+ function ie(t) {
16
+ const e = oe(t), r = new DataView(e.buffer, e.byteOffset, e.byteLength);
17
17
  if (e.length < 27)
18
18
  throw new Error("Protocol payload too short");
19
19
  const n = r.getUint32(0, !0), s = r.getUint32(4, !0), i = r.getUint32(8, !0), o = r.getUint32(12, !0), a = r.getUint32(16, !0), c = r.getUint32(20, !0), l = r.getUint8(24), E = r.getUint8(25), d = r.getUint8(26);
@@ -36,7 +36,7 @@ function se(t) {
36
36
  };
37
37
  }
38
38
  async function Be(t, e, r) {
39
- const n = ie(t), s = se(n);
39
+ const n = oe(t), s = ie(n);
40
40
  if (e !== void 0 && s.opcode !== e)
41
41
  throw new Error(`Unexpected opcode ${s.opcode}`);
42
42
  if (s.payloadType !== 8)
@@ -71,8 +71,8 @@ async function Xr(t) {
71
71
  a.set(i[l], c), c += i[l].length;
72
72
  return a;
73
73
  }
74
- var b = /* @__PURE__ */ ((t) => (t[t.Null = 1] = "Null", t[t.Bool = 2] = "Bool", t[t.Int32 = 3] = "Int32", t[t.Int64 = 4] = "Int64", t[t.UInt32 = 5] = "UInt32", t[t.UInt64 = 6] = "UInt64", t[t.Float32 = 7] = "Float32", t[t.Float64 = 8] = "Float64", t[t.Array = 9] = "Array", t[t.Dict = 10] = "Dict", t[t.Object = 11] = "Object", t[t.String = 12] = "String", t[t.Binary = 13] = "Binary", t[t.Guid = 14] = "Guid", t))(b || {});
75
- const It = 161, mt = 162, fe = new TextEncoder(), Jr = new TextDecoder("utf-8", { fatal: !0 });
74
+ var R = /* @__PURE__ */ ((t) => (t[t.Null = 1] = "Null", t[t.Bool = 2] = "Bool", t[t.Int32 = 3] = "Int32", t[t.Int64 = 4] = "Int64", t[t.UInt32 = 5] = "UInt32", t[t.UInt64 = 6] = "UInt64", t[t.Float32 = 7] = "Float32", t[t.Float64 = 8] = "Float64", t[t.Array = 9] = "Array", t[t.Dict = 10] = "Dict", t[t.Object = 11] = "Object", t[t.String = 12] = "String", t[t.Binary = 13] = "Binary", t[t.Guid = 14] = "Guid", t))(R || {});
75
+ const It = 161, mt = 162, Ee = new TextEncoder(), Jr = new TextDecoder("utf-8", { fatal: !0 });
76
76
  class D {
77
77
  constructor(e = 1) {
78
78
  this.version = e, this.buffer.writeByte(It), this.buffer.writeVarUInt(e >>> 0);
@@ -108,7 +108,7 @@ class D {
108
108
  this.writeFixedField(e, 14, () => this.buffer.writeBytes(n));
109
109
  }
110
110
  writeStringField(e, r) {
111
- const n = fe.encode(r ?? "");
111
+ const n = Ee.encode(r ?? "");
112
112
  this.writeVariableField(e, 12, n);
113
113
  }
114
114
  writeBinaryField(e, r) {
@@ -121,7 +121,7 @@ class D {
121
121
  this.writeVariableField(e, 11, i);
122
122
  }
123
123
  writeArrayField(e, r, n) {
124
- const s = new Se(r);
124
+ const s = new we(r);
125
125
  n(s);
126
126
  const i = s.finish();
127
127
  this.writeVariableField(e, 9, i);
@@ -142,10 +142,10 @@ class D {
142
142
  this.writeFieldHeader(e, r, n.length), this.buffer.writeBytes(n);
143
143
  }
144
144
  writeFieldHeader(e, r, n) {
145
- this.buffer.writeUInt32(e >>> 0), this.buffer.writeByte(Ee(r)), tn(r) && this.buffer.writeVarUInt(n >>> 0);
145
+ this.buffer.writeUInt32(e >>> 0), this.buffer.writeByte(pe(r)), tn(r) && this.buffer.writeVarUInt(n >>> 0);
146
146
  }
147
147
  }
148
- class Se {
148
+ class we {
149
149
  constructor(e) {
150
150
  this.elementType = e;
151
151
  }
@@ -208,7 +208,7 @@ class Se {
208
208
  12
209
209
  /* String */
210
210
  ), this.count++;
211
- const r = fe.encode(e ?? "");
211
+ const r = Ee.encode(e ?? "");
212
212
  this.payload.writeVarUInt(r.length), this.payload.writeBytes(r);
213
213
  }
214
214
  writeBinary(e) {
@@ -232,7 +232,7 @@ class Se {
232
232
  9
233
233
  /* Array */
234
234
  ), this.count++;
235
- const n = new Se(e);
235
+ const n = new we(e);
236
236
  r(n);
237
237
  const s = n.finish();
238
238
  this.payload.writeBytes(s);
@@ -249,11 +249,11 @@ class Se {
249
249
  }
250
250
  finish() {
251
251
  const e = new $();
252
- return e.writeByte(Ee(this.elementType)), e.writeVarUInt(this.count), e.writeBytes(this.payload.toUint8Array()), e.toUint8Array();
252
+ return e.writeByte(pe(this.elementType)), e.writeVarUInt(this.count), e.writeBytes(this.payload.toUint8Array()), e.toUint8Array();
253
253
  }
254
254
  ensureElementType(e) {
255
255
  if (this.elementType !== e)
256
- throw new Error(`Array element type is ${b[this.elementType]}, expected ${b[e]}`);
256
+ throw new Error(`Array element type is ${R[this.elementType]}, expected ${R[e]}`);
257
257
  }
258
258
  }
259
259
  class xe {
@@ -274,7 +274,7 @@ class xe {
274
274
  if (this.entryOpen)
275
275
  throw new Error("Dictionary entry not completed");
276
276
  const e = new $();
277
- return e.writeByte(Ee(this.keyType)), e.writeByte(Ee(this.valueType)), e.writeVarUInt(this.count), e.writeBytes(this.payload.toUint8Array()), e.toUint8Array();
277
+ return e.writeByte(pe(this.keyType)), e.writeByte(pe(this.valueType)), e.writeVarUInt(this.count), e.writeBytes(this.payload.toUint8Array()), e.toUint8Array();
278
278
  }
279
279
  }
280
280
  class Qr {
@@ -341,7 +341,7 @@ class Qr {
341
341
  12
342
342
  /* String */
343
343
  );
344
- const r = fe.encode(e ?? "");
344
+ const r = Ee.encode(e ?? "");
345
345
  this.payload.writeVarUInt(r.length), this.payload.writeBytes(r), this.keyWritten = !0;
346
346
  }
347
347
  writeKeyBinary(e) {
@@ -419,7 +419,7 @@ class Qr {
419
419
  12
420
420
  /* String */
421
421
  );
422
- const r = fe.encode(e ?? "");
422
+ const r = Ee.encode(e ?? "");
423
423
  this.payload.writeVarUInt(r.length), this.payload.writeBytes(r), this.valueWritten = !0;
424
424
  }
425
425
  writeValueObject(e, r) {
@@ -437,7 +437,7 @@ class Qr {
437
437
  9
438
438
  /* Array */
439
439
  );
440
- const n = new Se(e);
440
+ const n = new we(e);
441
441
  r(n);
442
442
  const s = n.finish();
443
443
  this.payload.writeBytes(s), this.valueWritten = !0;
@@ -461,11 +461,11 @@ class Qr {
461
461
  }
462
462
  ensureKeyType(e) {
463
463
  if (this.keyType !== e)
464
- throw new Error(`Dictionary key type is ${b[this.keyType]}, expected ${b[e]}`);
464
+ throw new Error(`Dictionary key type is ${R[this.keyType]}, expected ${R[e]}`);
465
465
  }
466
466
  ensureValueType(e) {
467
467
  if (this.valueType !== e)
468
- throw new Error(`Dictionary value type is ${b[this.valueType]}, expected ${b[e]}`);
468
+ throw new Error(`Dictionary value type is ${R[this.valueType]}, expected ${R[e]}`);
469
469
  }
470
470
  }
471
471
  class X {
@@ -475,7 +475,7 @@ class X {
475
475
  offset;
476
476
  end;
477
477
  static create(e) {
478
- const r = ie(e);
478
+ const r = oe(e);
479
479
  if (r.length < 2)
480
480
  throw new Error("Teleport payload too short");
481
481
  if (r[0] !== It || r[r.length - 1] !== mt)
@@ -594,7 +594,7 @@ class F {
594
594
  }
595
595
  ensureType(e) {
596
596
  if (this.type !== e)
597
- throw new Error(`Teleport value has type ${b[this.type]}, expected ${b[e]}`);
597
+ throw new Error(`Teleport value has type ${R[this.type]}, expected ${R[e]}`);
598
598
  }
599
599
  }
600
600
  class Zr extends F {
@@ -621,7 +621,7 @@ class Ge {
621
621
  this.count = U(e, n, "ArrayMalformed"), this.offset = n.offset;
622
622
  }
623
623
  static create(e) {
624
- return new Ge(ie(e));
624
+ return new Ge(oe(e));
625
625
  }
626
626
  next() {
627
627
  if (this.index >= this.count) {
@@ -669,7 +669,7 @@ class Ge {
669
669
  return this.offset += e, new ee(10, r);
670
670
  }
671
671
  default:
672
- throw new Error(`Unsupported array element type ${b[this.elementType]}`);
672
+ throw new Error(`Unsupported array element type ${R[this.elementType]}`);
673
673
  }
674
674
  }
675
675
  }
@@ -695,7 +695,7 @@ class Ve {
695
695
  this.count = U(e, r, "DictMalformed"), this.offset = r.offset;
696
696
  }
697
697
  static create(e) {
698
- return new Ve(ie(e));
698
+ return new Ve(oe(e));
699
699
  }
700
700
  next() {
701
701
  if (this.index >= this.count) {
@@ -759,7 +759,7 @@ class Ve {
759
759
  return this.offset += e, new F(this.valueType, r);
760
760
  }
761
761
  default:
762
- throw new Error(`Unsupported dictionary value type ${b[this.valueType]}`);
762
+ throw new Error(`Unsupported dictionary value type ${R[this.valueType]}`);
763
763
  }
764
764
  }
765
765
  }
@@ -909,7 +909,7 @@ function U(t, e, r) {
909
909
  function en(t) {
910
910
  return t < 128 ? 1 : t < 16384 ? 2 : t < 2097152 ? 3 : t < 268435456 ? 4 : 5;
911
911
  }
912
- function Ee(t, e = 0) {
912
+ function pe(t, e = 0) {
913
913
  if ((e & 240) !== 0)
914
914
  throw new Error("Teleport flags must fit into 4 bits");
915
915
  return (t & 15) << 4 | e & 15;
@@ -961,7 +961,7 @@ function He(t, e) {
961
961
  }
962
962
  let a = s.offset;
963
963
  for (let c = 0; c < i; c++)
964
- a = Re(n, t, a, "ArrayMalformed");
964
+ a = be(n, t, a, "ArrayMalformed");
965
965
  return a - e;
966
966
  }
967
967
  function $e(t, e) {
@@ -974,10 +974,10 @@ function $e(t, e) {
974
974
  const s = { offset: e + 2 }, i = U(t, s, "DictMalformed");
975
975
  let o = s.offset;
976
976
  for (let a = 0; a < i; a++)
977
- o = Re(r, t, o, "DictMalformed"), o = Re(n, t, o, "DictMalformed");
977
+ o = be(r, t, o, "DictMalformed"), o = be(n, t, o, "DictMalformed");
978
978
  return o - e;
979
979
  }
980
- function Re(t, e, r, n) {
980
+ function be(t, e, r, n) {
981
981
  const s = j(t);
982
982
  if (s >= 0)
983
983
  return C(e, r, s), r + s;
@@ -996,16 +996,16 @@ function Re(t, e, r, n) {
996
996
  case 10:
997
997
  return r + $e(e, r);
998
998
  default:
999
- throw new Error(`Unsupported Teleport type ${b[t]}`);
999
+ throw new Error(`Unsupported Teleport type ${R[t]}`);
1000
1000
  }
1001
1001
  }
1002
1002
  function qe(t) {
1003
1003
  return Array.from(t).map((e) => e.toString(16).padStart(2, "0")).join("");
1004
1004
  }
1005
- function ie(t) {
1005
+ function oe(t) {
1006
1006
  return t instanceof Uint8Array ? t : new Uint8Array(t);
1007
1007
  }
1008
- var _t = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Opus = 1] = "Opus", t[t.Mp3 = 2] = "Mp3", t[t.RawPcm16 = 3] = "RawPcm16", t))(_t || {}), J = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.MobileWeb = 1] = "MobileWeb", t[t.MobileApp = 2] = "MobileApp", t[t.DesktopWeb = 3] = "DesktopWeb", t[t.DesktopApp = 4] = "DesktopApp", t))(J || {}), Q = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Backend = 2] = "Backend", t[t.Server = 4] = "Server", t[t.Plugin = 8] = "Plugin", t[t.Browser = 16] = "Browser", t))(Q || {}), k = /* @__PURE__ */ ((t) => (t[t.None = 0] = "None", t[t.WebSocket = 1] = "WebSocket", t[t.WebSocketProxy = 2] = "WebSocketProxy", t[t.WebTransport = 4] = "WebTransport", t[t.WebTransportProxy = 8] = "WebTransportProxy", t[t.Tcp = 16] = "Tcp", t[t.TcpProxy = 32] = "TcpProxy", t[t.Https = 64] = "Https", t))(k || {}), Z = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.MessagePack = 1] = "MessagePack", t[t.MemoryPack = 2] = "MemoryPack", t[t.Json = 4] = "Json", t[t.Teleport = 8] = "Teleport", t[t.All = 15] = "All", t))(Z || {}), Tt = /* @__PURE__ */ ((t) => (t[t.Face = 0] = "Face", t[t.Hands = 1] = "Hands", t[t.Pose = 2] = "Pose", t[t.All = 3] = "All", t))(Tt || {}), q = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Machine = 1] = "Machine", t[t.Human = 2] = "Human", t))(q || {}), St = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.H264 = 1] = "H264", t[t.Vp8 = 2] = "Vp8", t[t.Vp9 = 3] = "Vp9", t[t.Av1 = 4] = "Av1", t))(St || {}), Ke = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.DotNet = 1] = "DotNet", t[t.TypeScript = 2] = "TypeScript", t[t.Cpp = 3] = "Cpp", t))(Ke || {}), wt = /* @__PURE__ */ ((t) => (t[t.Local = 0] = "Local", t[t.Cloud = 1] = "Cloud", t))(wt || {}), At = /* @__PURE__ */ ((t) => (t[t.Bundle = 0] = "Bundle", t[t.GitSource = 1] = "GitSource", t))(At || {}), T = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.CONSTANT_GROUP_BITS = 15] = "CONSTANT_GROUP_BITS", t[t.CONSTANT_GROUP_OFFSET = 16] = "CONSTANT_GROUP_OFFSET", t[t.GROUP_CORE = 65536] = "GROUP_CORE", t[t.CORE_AUTH_RESPONSE = 65537] = "CORE_AUTH_RESPONSE", t[t.CORE_AUTH_TICKET = 65538] = "CORE_AUTH_TICKET", t[t.CORE_GLOBAL_STATE = 65539] = "CORE_GLOBAL_STATE", t[t.CORE_ON_SERVER_STATUS_PING = 65540] = "CORE_ON_SERVER_STATUS_PING", t[t.CORE_ON_USER_JOINED = 65541] = "CORE_ON_USER_JOINED", t[t.CORE_ON_USER_LEFT = 65542] = "CORE_ON_USER_LEFT", t[t.CORE_ON_CLIENT_JOINED = 65543] = "CORE_ON_CLIENT_JOINED", t[t.CORE_ON_CLIENT_LEFT = 65544] = "CORE_ON_CLIENT_LEFT", t[t.CORE_ON_SERVER_STARTED = 65545] = "CORE_ON_SERVER_STARTED", t[t.CORE_ON_SERVER_STOPPED = 65546] = "CORE_ON_SERVER_STOPPED", t[t.CORE_ON_SERVER_STOPPING = 65547] = "CORE_ON_SERVER_STOPPING", t[t.CORE_ON_CLIENT_READY = 65548] = "CORE_ON_CLIENT_READY", t[t.CORE_CLIENT_READY = 65549] = "CORE_CLIENT_READY", t[t.CORE_SERVER_INIT = 65550] = "CORE_SERVER_INIT", t[t.CORE_ON_PLUGIN_RELOADED = 65551] = "CORE_ON_PLUGIN_RELOADED", t[t.CORE_SERVER_START = 65552] = "CORE_SERVER_START", t[t.CORE_SERVER_STOP = 65553] = "CORE_SERVER_STOP", t[t.CORE_ON_HOSTED_SERVER_EXIT = 65554] = "CORE_ON_HOSTED_SERVER_EXIT", t[t.CORE_DYNAMIC_CONFIG = 65555] = "CORE_DYNAMIC_CONFIG", t[t.CORE_PROXY_RPC_AUTH_TICKET = 65556] = "CORE_PROXY_RPC_AUTH_TICKET", t[t.CORE_SERVER_INIT2 = 65557] = "CORE_SERVER_INIT2", t[t.GROUP_KEEPALIVE = 131072] = "GROUP_KEEPALIVE", t[t.KEEPALIVE_REQUEST = 131073] = "KEEPALIVE_REQUEST", t[t.KEEPALIVE_RESPONSE = 131074] = "KEEPALIVE_RESPONSE", t[t.GROUP_EVENTS = 262144] = "GROUP_EVENTS", t[t.EVENTS_PROFILE_UPDATE = 262145] = "EVENTS_PROFILE_UPDATE", t[t.EVENTS_CHANNEL_COMPLETE = 262146] = "EVENTS_CHANNEL_COMPLETE", t[t.EVENTS_SPEECH_PLAYBACK_COMPLETE = 262147] = "EVENTS_SPEECH_PLAYBACK_COMPLETE", t[t.GROUP_ANALYTICS = 524288] = "GROUP_ANALYTICS", t[t.ANALYTICS_LOGS = 524289] = "ANALYTICS_LOGS", t[t.ANALYTICS_EVENTS = 524290] = "ANALYTICS_EVENTS", t[t.ANALYTICS_USAGES = 524291] = "ANALYTICS_USAGES", t[t.ANALYTICS_USAGE = 524292] = "ANALYTICS_USAGE", t[t.ANALYTICS_SPECIAL_LOG = 524293] = "ANALYTICS_SPECIAL_LOG", t[t.ANALYTICS_PROCESSING_UPDATE = 524294] = "ANALYTICS_PROCESSING_UPDATE", t[t.ANALYTICS_REACTIVE_PROCESSING_UPDATE = 524295] = "ANALYTICS_REACTIVE_PROCESSING_UPDATE", t[t.ANALYTICS_IKON_PROXY_SERVER_STATS = 524296] = "ANALYTICS_IKON_PROXY_SERVER_STATS", t[t.GROUP_ACTIONS = 1048576] = "GROUP_ACTIONS", t[t.ACTION_CALL = 1048577] = "ACTION_CALL", t[t.ACTION_ACTIVE = 1048578] = "ACTION_ACTIVE", t[t.ACTION_TEXT_OUTPUT = 1048579] = "ACTION_TEXT_OUTPUT", t[t.ACTION_TEXT_OUTPUT_DELTA = 1048580] = "ACTION_TEXT_OUTPUT_DELTA", t[t.ACTION_TEXT_OUTPUT_DELTA_FULL = 1048581] = "ACTION_TEXT_OUTPUT_DELTA_FULL", t[t.ACTION_SET_STATE = 1048582] = "ACTION_SET_STATE", t[t.ACTION_TAP = 1048583] = "ACTION_TAP", t[t.ACTION_PAN = 1048584] = "ACTION_PAN", t[t.ACTION_ZOOM = 1048585] = "ACTION_ZOOM", t[t.ACTION_FILE_UPLOAD_BEGIN = 1048586] = "ACTION_FILE_UPLOAD_BEGIN", t[t.ACTION_FILE_UPLOAD_DATA = 1048587] = "ACTION_FILE_UPLOAD_DATA", t[t.ACTION_FILE_UPLOAD_ACK = 1048588] = "ACTION_FILE_UPLOAD_ACK", t[t.ACTION_FILE_UPLOAD_END = 1048589] = "ACTION_FILE_UPLOAD_END", t[t.ACTION_FILE_UPLOAD_RESULT = 1048590] = "ACTION_FILE_UPLOAD_RESULT", t[t.ACTION_OPEN_CHANNEL = 1048591] = "ACTION_OPEN_CHANNEL", t[t.ACTION_OPEN_EXTERNAL_URL = 1048592] = "ACTION_OPEN_EXTERNAL_URL", t[t.ACTION_UI_OPEN_VIEW = 1048593] = "ACTION_UI_OPEN_VIEW", t[t.ACTION_UI_CLOSE_VIEW = 1048594] = "ACTION_UI_CLOSE_VIEW", t[t.ACTION_UI_BLOCKING_BEGIN = 1048595] = "ACTION_UI_BLOCKING_BEGIN", t[t.ACTION_UI_BLOCKING_END = 1048596] = "ACTION_UI_BLOCKING_END", t[t.ACTION_UI_UPDATE_TEXT_DELTA = 1048597] = "ACTION_UI_UPDATE_TEXT_DELTA", t[t.ACTION_UI_DELETE_CONTAINER = 1048598] = "ACTION_UI_DELETE_CONTAINER", t[t.ACTION_UPDATE_GFX_SHADER = 1048599] = "ACTION_UPDATE_GFX_SHADER", t[t.ACTION_FUNCTION_REGISTER = 1048600] = "ACTION_FUNCTION_REGISTER", t[t.ACTION_FUNCTION_CALL = 1048601] = "ACTION_FUNCTION_CALL", t[t.ACTION_FUNCTION_RESULT = 1048602] = "ACTION_FUNCTION_RESULT", t[t.ACTION_GENERATE_ANSWER = 1048603] = "ACTION_GENERATE_ANSWER", t[t.ACTION_REGENERATE_ANSWER = 1048604] = "ACTION_REGENERATE_ANSWER", t[t.ACTION_CLEAR_CHAT_MESSAGE_HISTORY = 1048605] = "ACTION_CLEAR_CHAT_MESSAGE_HISTORY", t[t.ACTION_CLEAR_STATE = 1048606] = "ACTION_CLEAR_STATE", t[t.ACTION_RELOAD_CHANNELS = 1048607] = "ACTION_RELOAD_CHANNELS", t[t.ACTION_RELOAD_PROFILE = 1048608] = "ACTION_RELOAD_PROFILE", t[t.ACTION_CLASSIFICATION_RESULT = 1048609] = "ACTION_CLASSIFICATION_RESULT", t[t.ACTION_AUDIO_STOP = 1048610] = "ACTION_AUDIO_STOP", t[t.ACTION_CALL_TEXT = 1048611] = "ACTION_CALL_TEXT", t[t.ACTION_RELOAD_APPLICATION = 1048612] = "ACTION_RELOAD_APPLICATION", t[t.ACTION_CANCEL_GENERATION = 1048613] = "ACTION_CANCEL_GENERATION", t[t.ACTION_UI_SET_CONTAINER_STABLE = 1048614] = "ACTION_UI_SET_CONTAINER_STABLE", t[t.ACTION_SPEECH_RECOGNIZED = 1048615] = "ACTION_SPEECH_RECOGNIZED", t[t.ACTION_CALL_RESULT = 1048616] = "ACTION_CALL_RESULT", t[t.ACTION_RELOAD_PROVIDER = 1048617] = "ACTION_RELOAD_PROVIDER", t[t.ACTION_DOWNLOAD = 1048618] = "ACTION_DOWNLOAD", t[t.ACTION_SCROLL_TO_CONTAINER = 1048619] = "ACTION_SCROLL_TO_CONTAINER", t[t.ACTION_UI_CLEAR_STREAM = 1048620] = "ACTION_UI_CLEAR_STREAM", t[t.ACTION_PLAY_SOUND = 1048621] = "ACTION_PLAY_SOUND", t[t.ACTION_ENTER_FULLSCREEN = 1048622] = "ACTION_ENTER_FULLSCREEN", t[t.ACTION_STOP_SOUND = 1048623] = "ACTION_STOP_SOUND", t[t.ACTION_START_RECORDING = 1048624] = "ACTION_START_RECORDING", t[t.ACTION_STOP_RECORDING = 1048625] = "ACTION_STOP_RECORDING", t[t.ACTION_OPTIMISTIC_CLIENT_CALLS = 1048626] = "ACTION_OPTIMISTIC_CLIENT_CALLS", t[t.ACTION_FUNCTION_ENUMERATION_ITEM = 1048627] = "ACTION_FUNCTION_ENUMERATION_ITEM", t[t.ACTION_FUNCTION_ENUMERATION_END = 1048628] = "ACTION_FUNCTION_ENUMERATION_END", t[t.ACTION_FUNCTION_CANCEL = 1048629] = "ACTION_FUNCTION_CANCEL", t[t.ACTION_FUNCTION_DISPOSE = 1048630] = "ACTION_FUNCTION_DISPOSE", t[t.ACTION_FUNCTION_ERROR = 1048631] = "ACTION_FUNCTION_ERROR", t[t.ACTION_FUNCTION_ACK = 1048632] = "ACTION_FUNCTION_ACK", t[t.ACTION_FUNCTION_AWAITING_APPROVAL = 1048633] = "ACTION_FUNCTION_AWAITING_APPROVAL", t[t.ACTION_FUNCTION_APPROVAL_REQUIRED = 1048634] = "ACTION_FUNCTION_APPROVAL_REQUIRED", t[t.ACTION_FUNCTION_APPROVAL_RESPONSE = 1048635] = "ACTION_FUNCTION_APPROVAL_RESPONSE", t[t.UI_UPDATE_ACK = 1048636] = "UI_UPDATE_ACK", t[t.ACTION_CALL2 = 1048637] = "ACTION_CALL2", t[t.ACTION_FUNCTION_REGISTER_BATCH = 1048638] = "ACTION_FUNCTION_REGISTER_BATCH", t[t.ACTION_TRIGGER_GIT_PULL = 1048639] = "ACTION_TRIGGER_GIT_PULL", t[t.ACTION_FILE_UPLOAD_CALLBACK = 1048640] = "ACTION_FILE_UPLOAD_CALLBACK", t[t.ACTION_CUSTOM_USER_MESSAGE = 1048641] = "ACTION_CUSTOM_USER_MESSAGE", t[t.GROUP_UI = 2097152] = "GROUP_UI", t[t.UI_STREAM_BEGIN = 2097153] = "UI_STREAM_BEGIN", t[t.UI_STREAM_END = 2097154] = "UI_STREAM_END", t[t.UI_CONTAINER_BEGIN = 2097155] = "UI_CONTAINER_BEGIN", t[t.UI_CONTAINER_END = 2097156] = "UI_CONTAINER_END", t[t.UI_SECTION_BEGIN = 2097157] = "UI_SECTION_BEGIN", t[t.UI_SECTION_END = 2097158] = "UI_SECTION_END", t[t.UI_LIST_BEGIN = 2097159] = "UI_LIST_BEGIN", t[t.UI_LIST_ITEM = 2097160] = "UI_LIST_ITEM", t[t.UI_LIST_END = 2097161] = "UI_LIST_END", t[t.UI_TEXT = 2097162] = "UI_TEXT", t[t.UI_HEADER = 2097163] = "UI_HEADER", t[t.UI_SEPARATOR = 2097164] = "UI_SEPARATOR", t[t.UI_BUTTON = 2097165] = "UI_BUTTON", t[t.UI_ICON_BUTTON = 2097166] = "UI_ICON_BUTTON", t[t.UI_IMAGE = 2097167] = "UI_IMAGE", t[t.UI_FILE = 2097168] = "UI_FILE", t[t.UI_BADGE = 2097169] = "UI_BADGE", t[t.UI_CONTENT_LINK = 2097170] = "UI_CONTENT_LINK", t[t.UI_MAP = 2097171] = "UI_MAP", t[t.UI_VEGA_CHART = 2097172] = "UI_VEGA_CHART", t[t.UI_ICON = 2097173] = "UI_ICON", t[t.UI_FILE_UPLOAD_SECTION_BEGIN = 2097174] = "UI_FILE_UPLOAD_SECTION_BEGIN", t[t.UI_FILE_UPLOAD_SECTION_END = 2097175] = "UI_FILE_UPLOAD_SECTION_END", t[t.UI_MATERIAL_SYMBOL = 2097176] = "UI_MATERIAL_SYMBOL", t[t.UI_BUTTON_BEGIN = 2097177] = "UI_BUTTON_BEGIN", t[t.UI_BUTTON_END = 2097178] = "UI_BUTTON_END", t[t.UI_CONTAINER_DELETE = 2097179] = "UI_CONTAINER_DELETE", t[t.UI_INPUT_TEXT = 2097180] = "UI_INPUT_TEXT", t[t.UI_PROGRESS_BAR = 2097181] = "UI_PROGRESS_BAR", t[t.UI_UPDATE_BEGIN = 2097182] = "UI_UPDATE_BEGIN", t[t.UI_UPDATE_END = 2097183] = "UI_UPDATE_END", t[t.UI_AUTOCOMPLETE = 2097184] = "UI_AUTOCOMPLETE", t[t.UI_CHECKBOX = 2097185] = "UI_CHECKBOX", t[t.UI_QS = 2097186] = "UI_QS", t[t.UI_ELEMENT = 2097187] = "UI_ELEMENT", t[t.UI_STYLES = 2097188] = "UI_STYLES", t[t.UI_SVG = 2097189] = "UI_SVG", t[t.UI_UPDATE = 2097190] = "UI_UPDATE", t[t.UI_INIT = 2097191] = "UI_INIT", t[t.UI_STYLES_BATCH = 2097192] = "UI_STYLES_BATCH", t[t.UI_STYLES_DELETE = 2097193] = "UI_STYLES_DELETE", t[t.GROUP_COMMON = 4128768] = "GROUP_COMMON", t[t.GROUP_AUDIO = 4194304] = "GROUP_AUDIO", t[t.AUDIO_STREAM_BEGIN = 4194305] = "AUDIO_STREAM_BEGIN", t[t.AUDIO_STREAM_END = 4194306] = "AUDIO_STREAM_END", t[t.AUDIO_FRAME = 4194307] = "AUDIO_FRAME", t[t.AUDIO_FRAME_VOLUME = 4194308] = "AUDIO_FRAME_VOLUME", t[t.AUDIO_FRAME2 = 4194309] = "AUDIO_FRAME2", t[t.GROUP_VIDEO = 8388608] = "GROUP_VIDEO", t[t.VIDEO_STREAM_BEGIN = 8388609] = "VIDEO_STREAM_BEGIN", t[t.VIDEO_STREAM_END = 8388610] = "VIDEO_STREAM_END", t[t.VIDEO_FRAME = 8388611] = "VIDEO_FRAME", t[t.VIDEO_REQUEST_IDR_FRAME = 8388612] = "VIDEO_REQUEST_IDR_FRAME", t[t.VIDEO_INVALIDATE_FRAME = 8388613] = "VIDEO_INVALIDATE_FRAME", t[t.GROUP_TRACKING = 16777216] = "GROUP_TRACKING", t[t.TRACKING_STREAM_BEGIN = 16777217] = "TRACKING_STREAM_BEGIN", t[t.TRACKING_STREAM_END = 16777218] = "TRACKING_STREAM_END", t[t.TRACKING_FRAME = 16777219] = "TRACKING_FRAME", t[t.GROUP_SCENE = 33554432] = "GROUP_SCENE", t[t.SCENE_MESH = 33554433] = "SCENE_MESH", t[t.SCENE_ARRAY = 33554434] = "SCENE_ARRAY", t[t.GROUP_ALL = 67043328] = "GROUP_ALL", t[t.CONSTANT_GROUP_MASK = 2147418112] = "CONSTANT_GROUP_MASK", t))(T || {});
1008
+ var _t = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Opus = 1] = "Opus", t[t.Mp3 = 2] = "Mp3", t[t.RawPcm16 = 3] = "RawPcm16", t))(_t || {}), J = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.MobileWeb = 1] = "MobileWeb", t[t.MobileApp = 2] = "MobileApp", t[t.DesktopWeb = 3] = "DesktopWeb", t[t.DesktopApp = 4] = "DesktopApp", t))(J || {}), Q = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Backend = 2] = "Backend", t[t.Server = 4] = "Server", t[t.Plugin = 8] = "Plugin", t[t.Browser = 16] = "Browser", t))(Q || {}), k = /* @__PURE__ */ ((t) => (t[t.None = 0] = "None", t[t.WebSocket = 1] = "WebSocket", t[t.WebSocketProxy = 2] = "WebSocketProxy", t[t.WebTransport = 4] = "WebTransport", t[t.WebTransportProxy = 8] = "WebTransportProxy", t[t.Tcp = 16] = "Tcp", t[t.TcpProxy = 32] = "TcpProxy", t[t.Https = 64] = "Https", t))(k || {}), Z = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.MessagePack = 1] = "MessagePack", t[t.MemoryPack = 2] = "MemoryPack", t[t.Json = 4] = "Json", t[t.Teleport = 8] = "Teleport", t[t.All = 15] = "All", t))(Z || {}), Tt = /* @__PURE__ */ ((t) => (t[t.Face = 0] = "Face", t[t.Hands = 1] = "Hands", t[t.Pose = 2] = "Pose", t[t.All = 3] = "All", t))(Tt || {}), q = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.Machine = 1] = "Machine", t[t.Human = 2] = "Human", t))(q || {}), St = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.H264 = 1] = "H264", t[t.Vp8 = 2] = "Vp8", t[t.Vp9 = 3] = "Vp9", t[t.Av1 = 4] = "Av1", t))(St || {}), Ke = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = "Unknown", t[t.DotNet = 1] = "DotNet", t[t.TypeScript = 2] = "TypeScript", t[t.Cpp = 3] = "Cpp", t))(Ke || {}), wt = /* @__PURE__ */ ((t) => (t[t.Local = 0] = "Local", t[t.Cloud = 1] = "Cloud", t))(wt || {}), At = /* @__PURE__ */ ((t) => (t[t.Bundle = 0] = "Bundle", t[t.GitSource = 1] = "GitSource", t))(At || {}), S = /* @__PURE__ */ ((t) => (t[t.NONE = 0] = "NONE", t[t.CONSTANT_GROUP_BITS = 15] = "CONSTANT_GROUP_BITS", t[t.CONSTANT_GROUP_OFFSET = 16] = "CONSTANT_GROUP_OFFSET", t[t.GROUP_CORE = 65536] = "GROUP_CORE", t[t.CORE_AUTH_RESPONSE = 65537] = "CORE_AUTH_RESPONSE", t[t.CORE_AUTH_TICKET = 65538] = "CORE_AUTH_TICKET", t[t.CORE_GLOBAL_STATE = 65539] = "CORE_GLOBAL_STATE", t[t.CORE_ON_SERVER_STATUS_PING = 65540] = "CORE_ON_SERVER_STATUS_PING", t[t.CORE_ON_USER_JOINED = 65541] = "CORE_ON_USER_JOINED", t[t.CORE_ON_USER_LEFT = 65542] = "CORE_ON_USER_LEFT", t[t.CORE_ON_CLIENT_JOINED = 65543] = "CORE_ON_CLIENT_JOINED", t[t.CORE_ON_CLIENT_LEFT = 65544] = "CORE_ON_CLIENT_LEFT", t[t.CORE_ON_SERVER_STARTED = 65545] = "CORE_ON_SERVER_STARTED", t[t.CORE_ON_SERVER_STOPPED = 65546] = "CORE_ON_SERVER_STOPPED", t[t.CORE_ON_SERVER_STOPPING = 65547] = "CORE_ON_SERVER_STOPPING", t[t.CORE_ON_CLIENT_READY = 65548] = "CORE_ON_CLIENT_READY", t[t.CORE_CLIENT_READY = 65549] = "CORE_CLIENT_READY", t[t.CORE_SERVER_INIT = 65550] = "CORE_SERVER_INIT", t[t.CORE_ON_PLUGIN_RELOADED = 65551] = "CORE_ON_PLUGIN_RELOADED", t[t.CORE_SERVER_START = 65552] = "CORE_SERVER_START", t[t.CORE_SERVER_STOP = 65553] = "CORE_SERVER_STOP", t[t.CORE_ON_HOSTED_SERVER_EXIT = 65554] = "CORE_ON_HOSTED_SERVER_EXIT", t[t.CORE_DYNAMIC_CONFIG = 65555] = "CORE_DYNAMIC_CONFIG", t[t.CORE_PROXY_RPC_AUTH_TICKET = 65556] = "CORE_PROXY_RPC_AUTH_TICKET", t[t.CORE_SERVER_INIT2 = 65557] = "CORE_SERVER_INIT2", t[t.GROUP_KEEPALIVE = 131072] = "GROUP_KEEPALIVE", t[t.KEEPALIVE_REQUEST = 131073] = "KEEPALIVE_REQUEST", t[t.KEEPALIVE_RESPONSE = 131074] = "KEEPALIVE_RESPONSE", t[t.GROUP_EVENTS = 262144] = "GROUP_EVENTS", t[t.EVENTS_PROFILE_UPDATE = 262145] = "EVENTS_PROFILE_UPDATE", t[t.EVENTS_CHANNEL_COMPLETE = 262146] = "EVENTS_CHANNEL_COMPLETE", t[t.EVENTS_SPEECH_PLAYBACK_COMPLETE = 262147] = "EVENTS_SPEECH_PLAYBACK_COMPLETE", t[t.GROUP_ANALYTICS = 524288] = "GROUP_ANALYTICS", t[t.ANALYTICS_LOGS = 524289] = "ANALYTICS_LOGS", t[t.ANALYTICS_EVENTS = 524290] = "ANALYTICS_EVENTS", t[t.ANALYTICS_USAGES = 524291] = "ANALYTICS_USAGES", t[t.ANALYTICS_USAGE = 524292] = "ANALYTICS_USAGE", t[t.ANALYTICS_SPECIAL_LOG = 524293] = "ANALYTICS_SPECIAL_LOG", t[t.ANALYTICS_PROCESSING_UPDATE = 524294] = "ANALYTICS_PROCESSING_UPDATE", t[t.ANALYTICS_REACTIVE_PROCESSING_UPDATE = 524295] = "ANALYTICS_REACTIVE_PROCESSING_UPDATE", t[t.ANALYTICS_IKON_PROXY_SERVER_STATS = 524296] = "ANALYTICS_IKON_PROXY_SERVER_STATS", t[t.GROUP_ACTIONS = 1048576] = "GROUP_ACTIONS", t[t.ACTION_CALL = 1048577] = "ACTION_CALL", t[t.ACTION_ACTIVE = 1048578] = "ACTION_ACTIVE", t[t.ACTION_TEXT_OUTPUT = 1048579] = "ACTION_TEXT_OUTPUT", t[t.ACTION_TEXT_OUTPUT_DELTA = 1048580] = "ACTION_TEXT_OUTPUT_DELTA", t[t.ACTION_TEXT_OUTPUT_DELTA_FULL = 1048581] = "ACTION_TEXT_OUTPUT_DELTA_FULL", t[t.ACTION_SET_STATE = 1048582] = "ACTION_SET_STATE", t[t.ACTION_TAP = 1048583] = "ACTION_TAP", t[t.ACTION_PAN = 1048584] = "ACTION_PAN", t[t.ACTION_ZOOM = 1048585] = "ACTION_ZOOM", t[t.ACTION_FILE_UPLOAD_BEGIN = 1048586] = "ACTION_FILE_UPLOAD_BEGIN", t[t.ACTION_FILE_UPLOAD_DATA = 1048587] = "ACTION_FILE_UPLOAD_DATA", t[t.ACTION_FILE_UPLOAD_ACK = 1048588] = "ACTION_FILE_UPLOAD_ACK", t[t.ACTION_FILE_UPLOAD_END = 1048589] = "ACTION_FILE_UPLOAD_END", t[t.ACTION_FILE_UPLOAD_RESULT = 1048590] = "ACTION_FILE_UPLOAD_RESULT", t[t.ACTION_OPEN_CHANNEL = 1048591] = "ACTION_OPEN_CHANNEL", t[t.ACTION_OPEN_EXTERNAL_URL = 1048592] = "ACTION_OPEN_EXTERNAL_URL", t[t.ACTION_UI_OPEN_VIEW = 1048593] = "ACTION_UI_OPEN_VIEW", t[t.ACTION_UI_CLOSE_VIEW = 1048594] = "ACTION_UI_CLOSE_VIEW", t[t.ACTION_UI_BLOCKING_BEGIN = 1048595] = "ACTION_UI_BLOCKING_BEGIN", t[t.ACTION_UI_BLOCKING_END = 1048596] = "ACTION_UI_BLOCKING_END", t[t.ACTION_UI_UPDATE_TEXT_DELTA = 1048597] = "ACTION_UI_UPDATE_TEXT_DELTA", t[t.ACTION_UI_DELETE_CONTAINER = 1048598] = "ACTION_UI_DELETE_CONTAINER", t[t.ACTION_UPDATE_GFX_SHADER = 1048599] = "ACTION_UPDATE_GFX_SHADER", t[t.ACTION_FUNCTION_REGISTER = 1048600] = "ACTION_FUNCTION_REGISTER", t[t.ACTION_FUNCTION_CALL = 1048601] = "ACTION_FUNCTION_CALL", t[t.ACTION_FUNCTION_RESULT = 1048602] = "ACTION_FUNCTION_RESULT", t[t.ACTION_GENERATE_ANSWER = 1048603] = "ACTION_GENERATE_ANSWER", t[t.ACTION_REGENERATE_ANSWER = 1048604] = "ACTION_REGENERATE_ANSWER", t[t.ACTION_CLEAR_CHAT_MESSAGE_HISTORY = 1048605] = "ACTION_CLEAR_CHAT_MESSAGE_HISTORY", t[t.ACTION_CLEAR_STATE = 1048606] = "ACTION_CLEAR_STATE", t[t.ACTION_RELOAD_CHANNELS = 1048607] = "ACTION_RELOAD_CHANNELS", t[t.ACTION_RELOAD_PROFILE = 1048608] = "ACTION_RELOAD_PROFILE", t[t.ACTION_CLASSIFICATION_RESULT = 1048609] = "ACTION_CLASSIFICATION_RESULT", t[t.ACTION_AUDIO_STOP = 1048610] = "ACTION_AUDIO_STOP", t[t.ACTION_CALL_TEXT = 1048611] = "ACTION_CALL_TEXT", t[t.ACTION_RELOAD_APPLICATION = 1048612] = "ACTION_RELOAD_APPLICATION", t[t.ACTION_CANCEL_GENERATION = 1048613] = "ACTION_CANCEL_GENERATION", t[t.ACTION_UI_SET_CONTAINER_STABLE = 1048614] = "ACTION_UI_SET_CONTAINER_STABLE", t[t.ACTION_SPEECH_RECOGNIZED = 1048615] = "ACTION_SPEECH_RECOGNIZED", t[t.ACTION_CALL_RESULT = 1048616] = "ACTION_CALL_RESULT", t[t.ACTION_RELOAD_PROVIDER = 1048617] = "ACTION_RELOAD_PROVIDER", t[t.ACTION_DOWNLOAD = 1048618] = "ACTION_DOWNLOAD", t[t.ACTION_SCROLL_TO_CONTAINER = 1048619] = "ACTION_SCROLL_TO_CONTAINER", t[t.ACTION_UI_CLEAR_STREAM = 1048620] = "ACTION_UI_CLEAR_STREAM", t[t.ACTION_PLAY_SOUND = 1048621] = "ACTION_PLAY_SOUND", t[t.ACTION_ENTER_FULLSCREEN = 1048622] = "ACTION_ENTER_FULLSCREEN", t[t.ACTION_STOP_SOUND = 1048623] = "ACTION_STOP_SOUND", t[t.ACTION_START_RECORDING = 1048624] = "ACTION_START_RECORDING", t[t.ACTION_STOP_RECORDING = 1048625] = "ACTION_STOP_RECORDING", t[t.ACTION_OPTIMISTIC_CLIENT_CALLS = 1048626] = "ACTION_OPTIMISTIC_CLIENT_CALLS", t[t.ACTION_FUNCTION_ENUMERATION_ITEM = 1048627] = "ACTION_FUNCTION_ENUMERATION_ITEM", t[t.ACTION_FUNCTION_ENUMERATION_END = 1048628] = "ACTION_FUNCTION_ENUMERATION_END", t[t.ACTION_FUNCTION_CANCEL = 1048629] = "ACTION_FUNCTION_CANCEL", t[t.ACTION_FUNCTION_DISPOSE = 1048630] = "ACTION_FUNCTION_DISPOSE", t[t.ACTION_FUNCTION_ERROR = 1048631] = "ACTION_FUNCTION_ERROR", t[t.ACTION_FUNCTION_ACK = 1048632] = "ACTION_FUNCTION_ACK", t[t.ACTION_FUNCTION_AWAITING_APPROVAL = 1048633] = "ACTION_FUNCTION_AWAITING_APPROVAL", t[t.ACTION_FUNCTION_APPROVAL_REQUIRED = 1048634] = "ACTION_FUNCTION_APPROVAL_REQUIRED", t[t.ACTION_FUNCTION_APPROVAL_RESPONSE = 1048635] = "ACTION_FUNCTION_APPROVAL_RESPONSE", t[t.UI_UPDATE_ACK = 1048636] = "UI_UPDATE_ACK", t[t.ACTION_CALL2 = 1048637] = "ACTION_CALL2", t[t.ACTION_FUNCTION_REGISTER_BATCH = 1048638] = "ACTION_FUNCTION_REGISTER_BATCH", t[t.ACTION_TRIGGER_GIT_PULL = 1048639] = "ACTION_TRIGGER_GIT_PULL", t[t.ACTION_FILE_UPLOAD_CALLBACK = 1048640] = "ACTION_FILE_UPLOAD_CALLBACK", t[t.ACTION_CUSTOM_USER_MESSAGE = 1048641] = "ACTION_CUSTOM_USER_MESSAGE", t[t.GROUP_UI = 2097152] = "GROUP_UI", t[t.UI_STREAM_BEGIN = 2097153] = "UI_STREAM_BEGIN", t[t.UI_STREAM_END = 2097154] = "UI_STREAM_END", t[t.UI_CONTAINER_BEGIN = 2097155] = "UI_CONTAINER_BEGIN", t[t.UI_CONTAINER_END = 2097156] = "UI_CONTAINER_END", t[t.UI_SECTION_BEGIN = 2097157] = "UI_SECTION_BEGIN", t[t.UI_SECTION_END = 2097158] = "UI_SECTION_END", t[t.UI_LIST_BEGIN = 2097159] = "UI_LIST_BEGIN", t[t.UI_LIST_ITEM = 2097160] = "UI_LIST_ITEM", t[t.UI_LIST_END = 2097161] = "UI_LIST_END", t[t.UI_TEXT = 2097162] = "UI_TEXT", t[t.UI_HEADER = 2097163] = "UI_HEADER", t[t.UI_SEPARATOR = 2097164] = "UI_SEPARATOR", t[t.UI_BUTTON = 2097165] = "UI_BUTTON", t[t.UI_ICON_BUTTON = 2097166] = "UI_ICON_BUTTON", t[t.UI_IMAGE = 2097167] = "UI_IMAGE", t[t.UI_FILE = 2097168] = "UI_FILE", t[t.UI_BADGE = 2097169] = "UI_BADGE", t[t.UI_CONTENT_LINK = 2097170] = "UI_CONTENT_LINK", t[t.UI_MAP = 2097171] = "UI_MAP", t[t.UI_VEGA_CHART = 2097172] = "UI_VEGA_CHART", t[t.UI_ICON = 2097173] = "UI_ICON", t[t.UI_FILE_UPLOAD_SECTION_BEGIN = 2097174] = "UI_FILE_UPLOAD_SECTION_BEGIN", t[t.UI_FILE_UPLOAD_SECTION_END = 2097175] = "UI_FILE_UPLOAD_SECTION_END", t[t.UI_MATERIAL_SYMBOL = 2097176] = "UI_MATERIAL_SYMBOL", t[t.UI_BUTTON_BEGIN = 2097177] = "UI_BUTTON_BEGIN", t[t.UI_BUTTON_END = 2097178] = "UI_BUTTON_END", t[t.UI_CONTAINER_DELETE = 2097179] = "UI_CONTAINER_DELETE", t[t.UI_INPUT_TEXT = 2097180] = "UI_INPUT_TEXT", t[t.UI_PROGRESS_BAR = 2097181] = "UI_PROGRESS_BAR", t[t.UI_UPDATE_BEGIN = 2097182] = "UI_UPDATE_BEGIN", t[t.UI_UPDATE_END = 2097183] = "UI_UPDATE_END", t[t.UI_AUTOCOMPLETE = 2097184] = "UI_AUTOCOMPLETE", t[t.UI_CHECKBOX = 2097185] = "UI_CHECKBOX", t[t.UI_QS = 2097186] = "UI_QS", t[t.UI_ELEMENT = 2097187] = "UI_ELEMENT", t[t.UI_STYLES = 2097188] = "UI_STYLES", t[t.UI_SVG = 2097189] = "UI_SVG", t[t.UI_UPDATE = 2097190] = "UI_UPDATE", t[t.UI_INIT = 2097191] = "UI_INIT", t[t.UI_STYLES_BATCH = 2097192] = "UI_STYLES_BATCH", t[t.UI_STYLES_DELETE = 2097193] = "UI_STYLES_DELETE", t[t.GROUP_COMMON = 4128768] = "GROUP_COMMON", t[t.GROUP_AUDIO = 4194304] = "GROUP_AUDIO", t[t.AUDIO_STREAM_BEGIN = 4194305] = "AUDIO_STREAM_BEGIN", t[t.AUDIO_STREAM_END = 4194306] = "AUDIO_STREAM_END", t[t.AUDIO_FRAME = 4194307] = "AUDIO_FRAME", t[t.AUDIO_FRAME_VOLUME = 4194308] = "AUDIO_FRAME_VOLUME", t[t.AUDIO_FRAME2 = 4194309] = "AUDIO_FRAME2", t[t.GROUP_VIDEO = 8388608] = "GROUP_VIDEO", t[t.VIDEO_STREAM_BEGIN = 8388609] = "VIDEO_STREAM_BEGIN", t[t.VIDEO_STREAM_END = 8388610] = "VIDEO_STREAM_END", t[t.VIDEO_FRAME = 8388611] = "VIDEO_FRAME", t[t.VIDEO_REQUEST_IDR_FRAME = 8388612] = "VIDEO_REQUEST_IDR_FRAME", t[t.VIDEO_INVALIDATE_FRAME = 8388613] = "VIDEO_INVALIDATE_FRAME", t[t.GROUP_TRACKING = 16777216] = "GROUP_TRACKING", t[t.TRACKING_STREAM_BEGIN = 16777217] = "TRACKING_STREAM_BEGIN", t[t.TRACKING_STREAM_END = 16777218] = "TRACKING_STREAM_END", t[t.TRACKING_FRAME = 16777219] = "TRACKING_FRAME", t[t.GROUP_SCENE = 33554432] = "GROUP_SCENE", t[t.SCENE_MESH = 33554433] = "SCENE_MESH", t[t.SCENE_ARRAY = 33554434] = "SCENE_ARRAY", t[t.GROUP_ALL = 67043328] = "GROUP_ALL", t[t.CONSTANT_GROUP_MASK = 2147418112] = "CONSTANT_GROUP_MASK", t))(S || {});
1009
1009
  const yt = 1, nn = 1048637, sn = 727023925, on = 3395085689;
1010
1010
  function an(t) {
1011
1011
  const e = new D(yt);
@@ -1081,9 +1081,9 @@ function Ct(t) {
1081
1081
  }
1082
1082
  function Cn(t, e) {
1083
1083
  const r = e ?? Nt();
1084
- return Ct(r), bn(t, r), r;
1084
+ return Ct(r), Rn(t, r), r;
1085
1085
  }
1086
- function bn(t, e) {
1086
+ function Rn(t, e) {
1087
1087
  let r;
1088
1088
  for (; (r = t.next()) !== null; )
1089
1089
  switch (r.fieldId) {
@@ -1092,7 +1092,7 @@ function bn(t, e) {
1092
1092
  e.ShapeSets = void 0;
1093
1093
  break;
1094
1094
  }
1095
- e.ShapeSets = Rn(r.asArray());
1095
+ e.ShapeSets = bn(r.asArray());
1096
1096
  break;
1097
1097
  }
1098
1098
  case wn: {
@@ -1122,7 +1122,7 @@ function bn(t, e) {
1122
1122
  }
1123
1123
  }
1124
1124
  }
1125
- function Rn(t) {
1125
+ function bn(t) {
1126
1126
  const e = [];
1127
1127
  let r;
1128
1128
  for (; (r = t.next()) !== null; )
@@ -1132,14 +1132,14 @@ function Rn(t) {
1132
1132
  const kn = 1107713536, Un = 1154362099, Dn = 1185721362;
1133
1133
  function Mn(t) {
1134
1134
  const e = {};
1135
- return bt(e), e;
1135
+ return Rt(e), e;
1136
1136
  }
1137
- function bt(t) {
1137
+ function Rt(t) {
1138
1138
  return t.SetId = 0, t.Name = "", t.ShapeNames = [], t;
1139
1139
  }
1140
1140
  function On(t, e) {
1141
1141
  const r = e ?? Mn();
1142
- return bt(r), Ln(t, r), r;
1142
+ return Rt(r), Ln(t, r), r;
1143
1143
  }
1144
1144
  function Ln(t, e) {
1145
1145
  let r;
@@ -1172,14 +1172,14 @@ function vn(t) {
1172
1172
  const Fn = 76337612, Pn = 185396121, Bn = 388632637, xn = 417197284, Gn = 469070965, Vn = 470595159, Wn = 781727218, Hn = 834078886, $n = 1043273762, Kn = 1236999138, Yn = 1368629611, jn = 1715899485, zn = 1942830531, Xn = 1999510636, Jn = 2079864626, Qn = 2142346422, Zn = 2598291686, qn = 2719718823, es = 2810953526, ts = 2840065720, rs = 2885165957, ns = 3586157513, ss = 3717933110, is = 4062655306;
1173
1173
  function ke(t) {
1174
1174
  const e = {};
1175
- return Rt(e), e;
1175
+ return bt(e), e;
1176
1176
  }
1177
- function Rt(t) {
1177
+ function bt(t) {
1178
1178
  return t.ContextType = Q.Unknown, t.UserType = q.Unknown, t.PayloadType = Z.Unknown, t.Description = "", t.UserId = "", t.DeviceId = "", t.ProductId = "", t.VersionId = "", t.InstallId = "", t.Locale = "", t.SessionId = -1, t.IsInternal = !1, t.IsReady = !1, t.HasInput = !1, t.ChannelLocale = "", t.EmbeddedSpaceId = "", t.AuthSessionId = "", t.ReceiveAllMessages = !1, t.PreciseJoinedAt = 0n, t.UserAgent = "", t.ClientType = J.Unknown, t.UniqueSessionId = "", t.Parameters = /* @__PURE__ */ Object.create(null), t.SdkType = Ke.Unknown, t;
1179
1179
  }
1180
1180
  function Ue(t, e) {
1181
1181
  const r = e ?? ke();
1182
- return Rt(r), os(t, r), r;
1182
+ return bt(r), os(t, r), r;
1183
1183
  }
1184
1184
  function os(t, e) {
1185
1185
  let r;
@@ -1322,7 +1322,7 @@ function ps(t) {
1322
1322
  return kt(e), e;
1323
1323
  }
1324
1324
  function kt(t) {
1325
- return t.Type = k.None, t.Uri = "", t.OpcodeGroupsFromServer = T.NONE, t.OpcodeGroupsToServer = T.NONE, t.Priority = 0, t.Description = "", t.AuthTicket = new Uint8Array(0), t;
1325
+ return t.Type = k.None, t.Uri = "", t.OpcodeGroupsFromServer = S.NONE, t.OpcodeGroupsToServer = S.NONE, t.Priority = 0, t.Description = "", t.AuthTicket = new Uint8Array(0), t;
1326
1326
  }
1327
1327
  function Is(t, e) {
1328
1328
  const r = e ?? ps();
@@ -1369,8 +1369,8 @@ function ms(t, e) {
1369
1369
  }
1370
1370
  }
1371
1371
  }
1372
- const _s = 65537, Ts = 166277978, Ss = 1482635149, ws = 1559330978, As = 2802434353, ys = 3085883711, gs = 3669484338, Ns = 3707543140, Cs = 3712281496, bs = 3823842552;
1373
- function Rs(t) {
1372
+ const _s = 65537, Ts = 166277978, Ss = 1482635149, ws = 1559330978, As = 2802434353, ys = 3085883711, gs = 3669484338, Ns = 3707543140, Cs = 3712281496, Rs = 3823842552;
1373
+ function bs(t) {
1374
1374
  const e = {};
1375
1375
  return Ut(e), e;
1376
1376
  }
@@ -1382,7 +1382,7 @@ function ks(t, e) {
1382
1382
  return Us(r, e);
1383
1383
  }
1384
1384
  function Us(t, e) {
1385
- const r = e ?? Rs();
1385
+ const r = e ?? bs();
1386
1386
  return Ut(r), Ds(t, r), r;
1387
1387
  }
1388
1388
  function Ds(t, e) {
@@ -1429,7 +1429,7 @@ function Ds(t, e) {
1429
1429
  e.PrimaryUserId = r.asString();
1430
1430
  break;
1431
1431
  }
1432
- case bs: {
1432
+ case Rs: {
1433
1433
  if (r.isNull) throw new Error();
1434
1434
  e.ChannelInstanceId = r.asString();
1435
1435
  break;
@@ -1461,7 +1461,7 @@ function vs(t) {
1461
1461
  return Fs(e), t && Object.assign(e, t), e;
1462
1462
  }
1463
1463
  function Fs(t) {
1464
- return t.ServerSessionId = "", t.ContextType = Q.Unknown, t.UserType = q.Unknown, t.PayloadType = Z.Unknown, t.IsInternal = !1, t.Description = "", t.UserId = "", t.DeviceId = "", t.ProductId = "", t.VersionId = "", t.InstallId = "", t.Locale = "", t.OpcodeGroupsFromServer = T.NONE, t.OpcodeGroupsToServer = T.NONE, t.ProtocolVersion = 0, t.HasInput = !1, t.ChannelLocale = "", t.EmbeddedSpaceId = "", t.AuthSessionId = "", t.ReceiveAllMessages = !1, t.UserAgent = "", t.ClientType = J.Unknown, t.Parameters = /* @__PURE__ */ Object.create(null), t.SdkType = Ke.Unknown, t;
1464
+ return t.ServerSessionId = "", t.ContextType = Q.Unknown, t.UserType = q.Unknown, t.PayloadType = Z.Unknown, t.IsInternal = !1, t.Description = "", t.UserId = "", t.DeviceId = "", t.ProductId = "", t.VersionId = "", t.InstallId = "", t.Locale = "", t.OpcodeGroupsFromServer = S.NONE, t.OpcodeGroupsToServer = S.NONE, t.ProtocolVersion = 0, t.HasInput = !1, t.ChannelLocale = "", t.EmbeddedSpaceId = "", t.AuthSessionId = "", t.ReceiveAllMessages = !1, t.UserAgent = "", t.ClientType = J.Unknown, t.Parameters = /* @__PURE__ */ Object.create(null), t.SdkType = Ke.Unknown, t;
1465
1465
  }
1466
1466
  const Dt = 1, Ps = 1048632, Bs = 3748161056, xs = 4289118421;
1467
1467
  function Gs(t) {
@@ -1617,7 +1617,7 @@ function gi(t) {
1617
1617
  return jt(t, e), e.finish();
1618
1618
  }
1619
1619
  function jt(t, e) {
1620
- e.writeStringField(vt, t.ResultTypeName), e.writeStringField(Ft, t.FunctionName), e.writeStringField(Pt, t.EnumerableItemTypeName), e.writeGuidField(Bt, t.FunctionId), e.writeStringField(xt, t.Description), e.writeBoolField(Gt, t.IsCancellable), e.writeBoolField(Vt, t.RequiresInstance), e.writeBoolField(Wt, t.LlmInlineResult), e.writeBoolField(Ht, t.IsEnumerable), e.writeArrayField($t, b.Object, (r) => {
1620
+ e.writeStringField(vt, t.ResultTypeName), e.writeStringField(Ft, t.FunctionName), e.writeStringField(Pt, t.EnumerableItemTypeName), e.writeGuidField(Bt, t.FunctionId), e.writeStringField(xt, t.Description), e.writeBoolField(Gt, t.IsCancellable), e.writeBoolField(Vt, t.RequiresInstance), e.writeBoolField(Wt, t.LlmInlineResult), e.writeBoolField(Ht, t.IsEnumerable), e.writeArrayField($t, R.Object, (r) => {
1621
1621
  for (const n of t.Parameters)
1622
1622
  r.writeObject(ki, (s) => {
1623
1623
  Di(n, s);
@@ -1679,7 +1679,7 @@ function Ci(t, e) {
1679
1679
  }
1680
1680
  case $t: {
1681
1681
  if (r.isNull) throw new Error();
1682
- e.Parameters = Ri(r.asArray());
1682
+ e.Parameters = bi(r.asArray());
1683
1683
  break;
1684
1684
  }
1685
1685
  case Kt: {
@@ -1689,11 +1689,11 @@ function Ci(t, e) {
1689
1689
  }
1690
1690
  }
1691
1691
  }
1692
- function bi(t, e, r) {
1692
+ function Ri(t, e, r) {
1693
1693
  const n = gi(t);
1694
1694
  return P(Ai, n, Ye, e, r);
1695
1695
  }
1696
- function Ri(t) {
1696
+ function bi(t) {
1697
1697
  const e = [];
1698
1698
  let r;
1699
1699
  for (; (r = t.next()) !== null; )
@@ -1779,7 +1779,7 @@ function Bi(t) {
1779
1779
  return xi(t, e), e.finish();
1780
1780
  }
1781
1781
  function xi(t, e) {
1782
- e.writeArrayField(vi, b.Object, (r) => {
1782
+ e.writeArrayField(vi, R.Object, (r) => {
1783
1783
  for (const n of t.Functions)
1784
1784
  r.writeObject(Ye, (s) => {
1785
1785
  jt(n, s);
@@ -1936,7 +1936,7 @@ function _o(t, e) {
1936
1936
  }
1937
1937
  }
1938
1938
  }
1939
- const To = 65539, So = 693643444, wo = 1144553441, Ao = 1497620243, yo = 1559330978, go = 1976546434, No = 1999510636, Co = 2277643855, bo = 2469008121, Ro = 3042922213, ko = 3064612128, Uo = 3219210453, Do = 3504054055, Mo = 3678477544, Oo = 3696445035, Lo = 3707543140, vo = 3712281496, Fo = 3895362455, Po = 3897397815, Bo = 4225107827;
1939
+ const To = 65539, So = 693643444, wo = 1144553441, Ao = 1497620243, yo = 1559330978, go = 1976546434, No = 1999510636, Co = 2277643855, Ro = 2469008121, bo = 3042922213, ko = 3064612128, Uo = 3219210453, Do = 3504054055, Mo = 3678477544, Oo = 3696445035, Lo = 3707543140, vo = 3712281496, Fo = 3895362455, Po = 3897397815, Bo = 4225107827;
1940
1940
  function xo(t) {
1941
1941
  const e = {};
1942
1942
  return fr(e), e;
@@ -1991,12 +1991,12 @@ function Wo(t, e) {
1991
1991
  e.ChannelUrl = r.asString();
1992
1992
  break;
1993
1993
  }
1994
- case bo: {
1994
+ case Ro: {
1995
1995
  if (r.isNull) throw new Error();
1996
1996
  e.ChannelName = r.asString();
1997
1997
  break;
1998
1998
  }
1999
- case Ro: {
1999
+ case bo: {
2000
2000
  if (r.isNull) throw new Error();
2001
2001
  e.PublicAccess = r.asBool();
2002
2002
  break;
@@ -2281,8 +2281,8 @@ function Sr(t, e, r) {
2281
2281
  const n = Ca();
2282
2282
  return P(Na, n, _r, e, r);
2283
2283
  }
2284
- const wr = 1, ba = 8388612;
2285
- function Ra(t) {
2284
+ const wr = 1, Ra = 8388612;
2285
+ function ba(t) {
2286
2286
  return {};
2287
2287
  }
2288
2288
  function ka(t) {
@@ -2290,7 +2290,7 @@ function ka(t) {
2290
2290
  }
2291
2291
  function Ua(t, e, r) {
2292
2292
  const n = ka();
2293
- return P(ba, n, wr, e, r);
2293
+ return P(Ra, n, wr, e, r);
2294
2294
  }
2295
2295
  class je extends Error {
2296
2296
  constructor(e, r) {
@@ -2322,17 +2322,17 @@ class Ma extends g {
2322
2322
  super(`Channel provisioning timeout after ${e}ms`), this.name = "ProvisioningTimeoutError";
2323
2323
  }
2324
2324
  }
2325
- class Rl extends g {
2325
+ class Ul extends g {
2326
2326
  constructor(e) {
2327
2327
  super(`Channel not found: ${e}`), this.name = "ChannelNotFoundError";
2328
2328
  }
2329
2329
  }
2330
- class kl extends g {
2330
+ class Dl extends g {
2331
2331
  constructor(e) {
2332
2332
  super(`Space not found for domain: ${e}`), this.name = "SpaceNotFoundError";
2333
2333
  }
2334
2334
  }
2335
- class Ul extends g {
2335
+ class Ml extends g {
2336
2336
  constructor() {
2337
2337
  super("No channels available in this space"), this.name = "NoChannelsError";
2338
2338
  }
@@ -2351,22 +2351,22 @@ function Ar(t, e) {
2351
2351
  e?.addEventListener("abort", s, { once: !0 });
2352
2352
  });
2353
2353
  }
2354
- var we = /* @__PURE__ */ ((t) => (t[t.DEBUG = 0] = "DEBUG", t[t.INFO = 1] = "INFO", t[t.WARN = 2] = "WARN", t[t.ERROR = 3] = "ERROR", t[t.NONE = 4] = "NONE", t))(we || {});
2355
- let Xe = 1, pe = null;
2354
+ var Ae = /* @__PURE__ */ ((t) => (t[t.DEBUG = 0] = "DEBUG", t[t.INFO = 1] = "INFO", t[t.WARN = 2] = "WARN", t[t.ERROR = 3] = "ERROR", t[t.NONE = 4] = "NONE", t))(Ae || {});
2355
+ let Xe = 1, Ie = null;
2356
2356
  const De = /* @__PURE__ */ new Map();
2357
2357
  function yr(t) {
2358
2358
  Xe = t;
2359
2359
  }
2360
- function Dl() {
2360
+ function Ol() {
2361
2361
  return Xe;
2362
2362
  }
2363
2363
  function Oa(t) {
2364
- pe = t;
2364
+ Ie = t;
2365
2365
  }
2366
- function Ml() {
2367
- return pe;
2366
+ function Ll() {
2367
+ return Ie;
2368
2368
  }
2369
- function Ol(t, e) {
2369
+ function vl(t, e) {
2370
2370
  return De.set(t, e ?? {
2371
2371
  minLevel: 2
2372
2372
  /* WARN */
@@ -2384,7 +2384,7 @@ const La = {
2384
2384
  function va(t, e) {
2385
2385
  return `[${t}] ${e}`;
2386
2386
  }
2387
- function oe(t, e, r, n) {
2387
+ function ae(t, e, r, n) {
2388
2388
  const s = (/* @__PURE__ */ new Date()).toISOString(), i = La[t], o = {
2389
2389
  timestamp: s,
2390
2390
  level: t,
@@ -2393,7 +2393,7 @@ function oe(t, e, r, n) {
2393
2393
  message: r,
2394
2394
  args: n
2395
2395
  };
2396
- pe && pe(o);
2396
+ Ie && Ie(o);
2397
2397
  for (const [a, c] of De) {
2398
2398
  const l = c?.minLevel ?? 2;
2399
2399
  if (t >= l)
@@ -2423,20 +2423,20 @@ function oe(t, e, r, n) {
2423
2423
  function M(t) {
2424
2424
  return {
2425
2425
  debug(e, ...r) {
2426
- oe(0, t, e, r);
2426
+ ae(0, t, e, r);
2427
2427
  },
2428
2428
  info(e, ...r) {
2429
- oe(1, t, e, r);
2429
+ ae(1, t, e, r);
2430
2430
  },
2431
2431
  warn(e, ...r) {
2432
- oe(2, t, e, r);
2432
+ ae(2, t, e, r);
2433
2433
  },
2434
2434
  error(e, ...r) {
2435
- oe(3, t, e, r);
2435
+ ae(3, t, e, r);
2436
2436
  }
2437
2437
  };
2438
2438
  }
2439
- const ae = M("WebSocketTransport"), Fa = 1e4;
2439
+ const ce = M("WebSocketTransport"), Fa = 1e4;
2440
2440
  class Pa {
2441
2441
  ws = null;
2442
2442
  keepaliveTimeout = null;
@@ -2468,7 +2468,7 @@ class Pa {
2468
2468
  this.ws.onopen = () => {
2469
2469
  i = !0, clearTimeout(c), this.ws.send(r), this.resetKeepaliveTimeout(), o || (o = !0, n());
2470
2470
  }, this.ws.onerror = () => {
2471
- clearTimeout(c), ae.error("WebSocket error"), o || (o = !0, a(), s(new H("WebSocket connection failed")));
2471
+ clearTimeout(c), ce.error("WebSocket error"), o || (o = !0, a(), s(new H("WebSocket connection failed")));
2472
2472
  }, this.ws.onclose = (l) => {
2473
2473
  if (this.clearKeepaliveTimeout(), !i && !o) {
2474
2474
  o = !0, a(), s(new H("WebSocket connection closed before opening"));
@@ -2482,7 +2482,7 @@ class Pa {
2482
2482
  });
2483
2483
  }
2484
2484
  send(e) {
2485
- this.ws?.readyState === WebSocket.OPEN ? this.ws.send(e) : ae.warn("Cannot send: WebSocket not connected");
2485
+ this.ws?.readyState === WebSocket.OPEN ? this.ws.send(e) : ce.warn("Cannot send: WebSocket not connected");
2486
2486
  }
2487
2487
  close() {
2488
2488
  this.clearKeepaliveTimeout(), this.ws && (this.ws.close(1e3, "Client closing"), this.ws = null);
@@ -2495,18 +2495,18 @@ class Pa {
2495
2495
  }
2496
2496
  handleProtocolMessage(e) {
2497
2497
  try {
2498
- if (se(e).opcode === T.KEEPALIVE_REQUEST) {
2498
+ if (ie(e).opcode === S.KEEPALIVE_REQUEST) {
2499
2499
  this.send(this.getKeepaliveResponse()), this.resetKeepaliveTimeout();
2500
2500
  return;
2501
2501
  }
2502
2502
  this.resetKeepaliveTimeout(), this.callbacks.onProtocolMessage(e);
2503
2503
  } catch (r) {
2504
- ae.error("Failed to process protocol message:", r), this.callbacks.onError(r instanceof Error ? r : new Error(String(r)));
2504
+ ce.error("Failed to process protocol message:", r), this.callbacks.onError(r instanceof Error ? r : new Error(String(r)));
2505
2505
  }
2506
2506
  }
2507
2507
  resetKeepaliveTimeout() {
2508
2508
  this.clearKeepaliveTimeout(), this.keepaliveTimeout = setTimeout(() => {
2509
- ae.error(`No keepalive received in ${this.keepaliveTimeoutMs}ms, closing connection`), this.callbacks.onError(new ze(this.keepaliveTimeoutMs)), this.close();
2509
+ ce.error(`No keepalive received in ${this.keepaliveTimeoutMs}ms, closing connection`), this.callbacks.onError(new ze(this.keepaliveTimeoutMs)), this.close();
2510
2510
  }, this.keepaliveTimeoutMs);
2511
2511
  }
2512
2512
  clearKeepaliveTimeout() {
@@ -2637,7 +2637,7 @@ class xa {
2637
2637
  */
2638
2638
  handleProtocolMessage(e) {
2639
2639
  try {
2640
- if (se(e).opcode === T.KEEPALIVE_REQUEST) {
2640
+ if (ie(e).opcode === S.KEEPALIVE_REQUEST) {
2641
2641
  this.send(this.getKeepaliveResponse()), this.resetKeepaliveTimeout();
2642
2642
  return;
2643
2643
  }
@@ -2776,7 +2776,7 @@ class Ga {
2776
2776
  handleProtocolMessage(e) {
2777
2777
  try {
2778
2778
  const r = e;
2779
- if (de(r) === T.CORE_ON_SERVER_STOPPING) {
2779
+ if (fe(r) === S.CORE_ON_SERVER_STOPPING) {
2780
2780
  te.debug("Received server stopping message"), this.setState("stopped"), this.transport?.close();
2781
2781
  return;
2782
2782
  }
@@ -2849,7 +2849,7 @@ class Va {
2849
2849
  * The opcode group is extracted from the message automatically.
2850
2850
  */
2851
2851
  sendProtocolMessage(e) {
2852
- const r = ue(e);
2852
+ const r = he(e);
2853
2853
  for (const [n, s] of this.channels)
2854
2854
  if (n & r) {
2855
2855
  s.send(e);
@@ -3000,14 +3000,14 @@ function Je() {
3000
3000
  return crypto.randomUUID();
3001
3001
  }
3002
3002
  }
3003
- function Ll() {
3003
+ function Fl() {
3004
3004
  if (!(typeof localStorage > "u"))
3005
3005
  try {
3006
3006
  localStorage.removeItem(Me);
3007
3007
  } catch {
3008
3008
  }
3009
3009
  }
3010
- function vl(t) {
3010
+ function Pl(t) {
3011
3011
  try {
3012
3012
  const e = t.split(".");
3013
3013
  return e.length !== 3 ? null : JSON.parse(atob(e[1])).id ?? null;
@@ -3015,26 +3015,26 @@ function vl(t) {
3015
3015
  return null;
3016
3016
  }
3017
3017
  }
3018
- const Ie = {}, Oe = "https://api.prod.ikon.live", me = "https://api.dev.ikon.live", ot = "https://auth.ikonai.com", at = "https://auth.dev.ikonai.com", Fl = "https://auth.ikonai.com";
3018
+ const me = {}, Oe = "https://api.prod.ikon.live", _e = "https://api.dev.ikon.live", ot = "https://auth.ikonai.com", at = "https://auth.dev.ikonai.com", Bl = "https://auth.ikonai.com";
3019
3019
  function Cr(t) {
3020
- return t === "development" ? me : Oe;
3020
+ return t === "development" ? _e : Oe;
3021
3021
  }
3022
- function Pl() {
3023
- const t = typeof import.meta < "u" ? Ie?.VITE_IKON_BACKEND_URL : void 0;
3024
- return t || (typeof window > "u" ? Oe : !Qe() || window.location.hostname.includes(".dev.") ? me : Oe);
3022
+ function xl() {
3023
+ const t = typeof import.meta < "u" ? me?.VITE_IKON_BACKEND_URL : void 0;
3024
+ return t || (typeof window > "u" ? Oe : !Qe() || window.location.hostname.includes(".dev.") ? _e : Oe);
3025
3025
  }
3026
- function Bl() {
3027
- const t = typeof import.meta < "u" ? Ie?.VITE_IKON_BACKEND_TYPE : void 0;
3026
+ function Gl() {
3027
+ const t = typeof import.meta < "u" ? me?.VITE_IKON_BACKEND_TYPE : void 0;
3028
3028
  if (t === "development" || t === "production")
3029
3029
  return t;
3030
- const e = typeof import.meta < "u" ? Ie?.VITE_IKON_BACKEND_URL : void 0;
3030
+ const e = typeof import.meta < "u" ? me?.VITE_IKON_BACKEND_URL : void 0;
3031
3031
  return e ? e.includes(".dev.") ? "development" : "production" : typeof window > "u" ? "production" : Qe() ? window.location.hostname.includes(".dev.") ? "development" : "production" : "development";
3032
3032
  }
3033
- function xl() {
3034
- const t = typeof import.meta < "u" ? Ie?.VITE_IKON_AUTH_URL : void 0;
3033
+ function Vl() {
3034
+ const t = typeof import.meta < "u" ? me?.VITE_IKON_AUTH_URL : void 0;
3035
3035
  return t || (typeof window > "u" ? ot : !Qe() || window.location.hostname.includes(".dev.") ? at : ot);
3036
3036
  }
3037
- function br() {
3037
+ function Rr() {
3038
3038
  if (typeof window > "u")
3039
3039
  return {};
3040
3040
  const t = new URLSearchParams(window.location.search), e = {};
@@ -3042,8 +3042,11 @@ function br() {
3042
3042
  e[r] = n;
3043
3043
  return e;
3044
3044
  }
3045
- const $a = ["ikon_token", "ikon_provider", "error"];
3046
- function Gl() {
3045
+ const $a = ["ikon_token", "ikon_provider", "error"], Ka = "ikon_server_url";
3046
+ function Ya() {
3047
+ return typeof window > "u" ? void 0 : new URLSearchParams(window.location.search).get(Ka) ?? void 0;
3048
+ }
3049
+ function Wl() {
3047
3050
  if (typeof window > "u")
3048
3051
  return { parameters: {} };
3049
3052
  const t = window.location.pathname;
@@ -3053,7 +3056,7 @@ function Gl() {
3053
3056
  const s = t.match(/^\/c\/([^/]+)/);
3054
3057
  if (s && (r = decodeURIComponent(s[1])), e && r)
3055
3058
  throw new Error("URL cannot contain both /s/[sessionId] and /c/[channelKey]");
3056
- const i = br(), o = {};
3059
+ const i = Rr(), o = {};
3057
3060
  for (const [a, c] of Object.entries(i))
3058
3061
  $a.includes(a) || (o[a] = c);
3059
3062
  return { sessionId: e, channelKey: r, parameters: o };
@@ -3070,10 +3073,10 @@ function Qe() {
3070
3073
  }
3071
3074
  return !0;
3072
3075
  }
3073
- const _e = M("Authenticator"), z = T.GROUP_CORE | T.GROUP_KEEPALIVE | T.GROUP_EVENTS | T.GROUP_ACTIONS | T.GROUP_UI | T.GROUP_AUDIO | T.GROUP_VIDEO | T.GROUP_ANALYTICS, Ka = 1e3, Ya = 5e3;
3074
- async function ja(t) {
3076
+ const Te = M("Authenticator"), z = S.GROUP_CORE | S.GROUP_KEEPALIVE | S.GROUP_EVENTS | S.GROUP_ACTIONS | S.GROUP_UI | S.GROUP_AUDIO | S.GROUP_VIDEO | S.GROUP_ANALYTICS, ja = 1e3, za = 5e3;
3077
+ async function Xa(t) {
3075
3078
  try {
3076
- const e = await fetch(`${me}/users/me`, {
3079
+ const e = await fetch(`${_e}/users/me`, {
3077
3080
  credentials: "include",
3078
3081
  signal: t
3079
3082
  });
@@ -3082,7 +3085,7 @@ async function ja(t) {
3082
3085
  return;
3083
3086
  }
3084
3087
  }
3085
- function Rr(t, e, r) {
3088
+ function br(t, e, r) {
3086
3089
  const n = {
3087
3090
  method: "POST",
3088
3091
  headers: {
@@ -3100,15 +3103,15 @@ async function kr(t, e, r, n, s, i, o) {
3100
3103
  ...r ? { key: r } : {},
3101
3104
  ...n && Object.keys(n).length > 0 ? { params: n } : {},
3102
3105
  ...s ? { hash: s } : {}
3103
- }, l = await fetch(a, Rr(c, i, o));
3106
+ }, l = await fetch(a, br(c, i, o));
3104
3107
  if (!l.ok) {
3105
3108
  const d = await l.text().catch(() => "Unknown error");
3106
3109
  throw new g(`Failed to request channel: ${l.status} ${d}`);
3107
3110
  }
3108
3111
  return await l.json();
3109
3112
  }
3110
- async function za(t, e, r, n) {
3111
- const s = `${t}/rooms/connect`, i = await fetch(s, Rr(e, r, n));
3113
+ async function Ja(t, e, r, n) {
3114
+ const s = `${t}/rooms/connect`, i = await fetch(s, br(e, r, n));
3112
3115
  if (!i.ok) {
3113
3116
  const o = await i.text().catch(() => "Unknown error");
3114
3117
  throw new g(`Backend connect failed: ${i.status} ${o}`);
@@ -3117,23 +3120,23 @@ async function za(t, e, r, n) {
3117
3120
  }
3118
3121
  async function Ur(t, e, r, n, s) {
3119
3122
  const i = Date.now();
3120
- let o = Ka;
3123
+ let o = ja;
3121
3124
  for (; ; ) {
3122
3125
  if (s?.aborted)
3123
3126
  throw new g("Connection aborted");
3124
3127
  if (Date.now() - i >= r)
3125
3128
  throw new Ma(r);
3126
- const c = await za(t, e, n, s), l = c.state?.toLowerCase();
3129
+ const c = await Ja(t, e, n, s), l = c.state?.toLowerCase();
3127
3130
  if (l === "running")
3128
3131
  return c;
3129
3132
  if (l === "provisioning") {
3130
- await Ar(o, s), o = Math.min(o * 1.5, Ya);
3133
+ await Ar(o, s), o = Math.min(o * 1.5, za);
3131
3134
  continue;
3132
3135
  }
3133
3136
  throw new g(`Unexpected channel state: ${c.state}`);
3134
3137
  }
3135
3138
  }
3136
- async function Ae(t, e) {
3139
+ async function ne(t, e) {
3137
3140
  const r = await fetch(t, { signal: e });
3138
3141
  if (!r.ok) {
3139
3142
  const o = await r.text().catch(() => "Unknown error");
@@ -3142,7 +3145,7 @@ async function Ae(t, e) {
3142
3145
  const n = await r.arrayBuffer(), s = new Uint8Array(n);
3143
3146
  return { authResponse: await Ms(s) };
3144
3147
  }
3145
- function Xa(t, e) {
3148
+ function Qa(t, e) {
3146
3149
  return vs({
3147
3150
  ServerSessionId: "",
3148
3151
  // Server will fill this in
@@ -3170,7 +3173,7 @@ function Xa(t, e) {
3170
3173
  Parameters: t.parameters ?? {}
3171
3174
  });
3172
3175
  }
3173
- function Ja(t) {
3176
+ function Za(t) {
3174
3177
  return {
3175
3178
  ServerSessionId: t.ServerSessionId,
3176
3179
  ContextType: t.ContextType,
@@ -3197,13 +3200,13 @@ function Ja(t) {
3197
3200
  Parameters: t.Parameters
3198
3201
  };
3199
3202
  }
3200
- async function Qa(t, e) {
3203
+ async function qa(t, e) {
3201
3204
  const r = `https://${t.host}:${t.httpsPort}`;
3202
- _e.debug(`Authenticating with local server: ${r}`);
3203
- const s = { ...br(), ...t.parameters };
3205
+ Te.debug(`Authenticating with local server: ${r}`);
3206
+ const s = { ...Rr(), ...t.parameters };
3204
3207
  let i = t.userId;
3205
- i || (i = await ja(e), i || (i = "local", _e.warn('Could not determine user ID. Using fallback "local". To fix: either provide userId in config, or log in to the Ikon portal at https://portal.dev.ikon.live')));
3206
- const o = Xa({ ...t, parameters: s }, i), a = Ja(o), c = await fetch(`${r}/connect-token`, {
3208
+ i || (i = await Xa(e), i || (i = "local", Te.warn('Could not determine user ID. Using fallback "local". To fix: either provide userId in config, or log in to the Ikon portal at https://portal.dev.ikon.live')));
3209
+ const o = Qa({ ...t, parameters: s }, i), a = Za(o), c = await fetch(`${r}/connect-token`, {
3207
3210
  method: "POST",
3208
3211
  headers: {
3209
3212
  "Content-Type": "application/json"
@@ -3219,13 +3222,13 @@ async function Qa(t, e) {
3219
3222
  if (!E)
3220
3223
  throw new g("Server did not return a token");
3221
3224
  const d = `${r}/connect?token=${encodeURIComponent(E)}`;
3222
- return Ae(d, e);
3225
+ return ne(d, e);
3223
3226
  }
3224
- async function Za(t, e) {
3227
+ async function ec(t, e) {
3225
3228
  if (t.sessionId && t.channelKey)
3226
3229
  throw new g("Cannot specify both sessionId and channelKey. Use sessionId for precomputed sessions or channelKey to select a channel.");
3227
3230
  const r = Cr(t.backendType);
3228
- _e.debug(`Authenticating with cloud server: ${r}, space ID: ${t.spaceId}`);
3231
+ Te.debug(`Authenticating with cloud server: ${r}, space ID: ${t.spaceId}`);
3229
3232
  const n = await fetch(`${r}/auth/api-key`, {
3230
3233
  method: "POST",
3231
3234
  headers: {
@@ -3279,13 +3282,13 @@ async function Za(t, e) {
3279
3282
  if (!E.configuration?.url)
3280
3283
  throw new g("Backend did not return a connect URL");
3281
3284
  const d = E.configuration.url;
3282
- return Ae(d, e);
3285
+ return ne(d, e);
3283
3286
  }
3284
- async function qa(t, e) {
3287
+ async function tc(t, e) {
3285
3288
  if (t.sessionId && t.channelKey)
3286
3289
  throw new g("Cannot specify both sessionId and channelKey. Use sessionId for precomputed sessions or channelKey to select a channel.");
3287
3290
  const r = Cr(t.backendType), n = t.token;
3288
- _e.debug(`Authenticating with session token to: ${r}, space ID: ${t.spaceId}`);
3291
+ Te.debug(`Authenticating with session token to: ${r}, space ID: ${t.spaceId}`);
3289
3292
  const s = await fetch(`${r}/profiles/me?space=${encodeURIComponent(t.spaceId)}`, {
3290
3293
  method: "GET",
3291
3294
  headers: {
@@ -3320,24 +3323,24 @@ async function qa(t, e) {
3320
3323
  if (!c.configuration?.url)
3321
3324
  throw new g("Backend did not return a connect URL");
3322
3325
  const l = c.configuration.url;
3323
- return Ae(l, e);
3326
+ return ne(l, e);
3324
3327
  }
3325
- const Dr = "ikon.theme", Le = "ikon.theme-user", ec = "ikon.theme-change";
3328
+ const Dr = "ikon.theme", Le = "ikon.theme-user", rc = "ikon.theme-change";
3326
3329
  function Mr(t) {
3327
3330
  typeof document < "u" && document.documentElement && document.documentElement.setAttribute("data-theme", t);
3328
3331
  }
3329
- const tc = {
3332
+ const nc = {
3330
3333
  name: "ikon.client.getTheme",
3331
3334
  description: "Get the currently selected client theme",
3332
3335
  returnType: { kind: "string", nullable: !0 }
3333
3336
  };
3334
- function rc() {
3337
+ function sc() {
3335
3338
  if (typeof window > "u" || !window.localStorage)
3336
3339
  return null;
3337
3340
  const t = window.localStorage.getItem(Le) ?? window.localStorage.getItem(Dr) ?? "light";
3338
3341
  return Mr(t), t;
3339
3342
  }
3340
- const nc = {
3343
+ const ic = {
3341
3344
  name: "ikon.client.setTheme",
3342
3345
  description: "Update the client UI theme",
3343
3346
  returnType: { kind: "boolean" },
@@ -3346,7 +3349,7 @@ const nc = {
3346
3349
  { name: "persist", type: { kind: "boolean", nullable: !0 }, description: "Whether to persist as user preference" }
3347
3350
  ]
3348
3351
  };
3349
- function sc(t, e) {
3352
+ function oc(t, e) {
3350
3353
  if (typeof window > "u" || !window.localStorage || typeof t != "string")
3351
3354
  return !1;
3352
3355
  const r = t.trim().toLowerCase();
@@ -3355,40 +3358,40 @@ function sc(t, e) {
3355
3358
  const n = e === void 0 ? !0 : !!e, s = window.localStorage;
3356
3359
  n ? s.setItem(Le, r) : s.removeItem(Le), s.setItem(Dr, r);
3357
3360
  try {
3358
- window.dispatchEvent(new CustomEvent(ec, { detail: { mode: r } }));
3361
+ window.dispatchEvent(new CustomEvent(rc, { detail: { mode: r } }));
3359
3362
  } catch {
3360
3363
  }
3361
3364
  return Mr(r), !0;
3362
3365
  }
3363
- const ic = {
3366
+ const ac = {
3364
3367
  name: "ikon.client.getLanguage",
3365
3368
  description: "Get the browser language preference",
3366
3369
  returnType: { kind: "string" }
3367
3370
  };
3368
- function oc() {
3371
+ function cc() {
3369
3372
  return typeof navigator > "u" ? "en-US" : navigator.language || "en-US";
3370
3373
  }
3371
- const ac = {
3374
+ const lc = {
3372
3375
  name: "ikon.client.getTimezone",
3373
3376
  description: "Get the browser timezone (IANA format)",
3374
3377
  returnType: { kind: "string" }
3375
3378
  };
3376
- function cc() {
3379
+ function uc() {
3377
3380
  try {
3378
3381
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
3379
3382
  } catch {
3380
3383
  return "UTC";
3381
3384
  }
3382
3385
  }
3383
- const lc = {
3386
+ const hc = {
3384
3387
  name: "ikon.client.getUrl",
3385
3388
  description: "Get the current browser URL path and query string",
3386
3389
  returnType: { kind: "string", nullable: !0 }
3387
3390
  };
3388
- function uc() {
3391
+ function dc() {
3389
3392
  return typeof window > "u" ? null : window.location.pathname + window.location.search;
3390
3393
  }
3391
- const hc = {
3394
+ const fc = {
3392
3395
  name: "ikon.client.setUrl",
3393
3396
  description: "Update the browser URL without triggering a page reload",
3394
3397
  returnType: { kind: "boolean" },
@@ -3397,7 +3400,7 @@ const hc = {
3397
3400
  { name: "replace", type: { kind: "boolean", nullable: !0 }, description: "If true, replaces current history entry instead of adding new one" }
3398
3401
  ]
3399
3402
  };
3400
- function dc(t, e) {
3403
+ function Ec(t, e) {
3401
3404
  if (typeof window > "u" || !window.history || typeof t != "string")
3402
3405
  return !1;
3403
3406
  const r = t.trim();
@@ -3409,13 +3412,13 @@ function dc(t, e) {
3409
3412
  return !1;
3410
3413
  }
3411
3414
  }
3412
- const fc = {
3415
+ const pc = {
3413
3416
  name: "ikon.client.vibrate",
3414
3417
  description: "Trigger haptic feedback on supported devices",
3415
3418
  returnType: { kind: "boolean" },
3416
3419
  parameters: [{ name: "pattern", type: { kind: "string" }, description: 'Duration in ms, or comma-separated pattern (e.g., "200" or "100,50,100")' }]
3417
3420
  };
3418
- function Ec(t) {
3421
+ function Ic(t) {
3419
3422
  if (typeof navigator > "u" || !navigator.vibrate || typeof t != "string")
3420
3423
  return !1;
3421
3424
  try {
@@ -3426,13 +3429,13 @@ function Ec(t) {
3426
3429
  }
3427
3430
  }
3428
3431
  let re = null;
3429
- const pc = {
3432
+ const mc = {
3430
3433
  name: "ikon.client.keepScreenAwake",
3431
3434
  description: "Prevent or allow the screen to sleep",
3432
3435
  returnType: { kind: "boolean" },
3433
3436
  parameters: [{ name: "enabled", type: { kind: "boolean" }, description: "Whether to keep the screen awake" }]
3434
3437
  };
3435
- async function Ic(t) {
3438
+ async function _c(t) {
3436
3439
  if (typeof navigator > "u" || !("wakeLock" in navigator))
3437
3440
  return !1;
3438
3441
  try {
@@ -3441,15 +3444,15 @@ async function Ic(t) {
3441
3444
  return !1;
3442
3445
  }
3443
3446
  }
3444
- const mc = {
3447
+ const Tc = {
3445
3448
  name: "ikon.client.getVisibility",
3446
3449
  description: "Get the current page visibility state",
3447
3450
  returnType: { kind: "string", nullable: !0 }
3448
3451
  };
3449
- function _c() {
3452
+ function Sc() {
3450
3453
  return typeof document > "u" ? null : document.visibilityState || null;
3451
3454
  }
3452
- const Tc = {
3455
+ const wc = {
3453
3456
  name: "ikon.client.scrollTo",
3454
3457
  description: "Scroll the page to a specific position",
3455
3458
  returnType: { kind: "boolean" },
@@ -3459,7 +3462,7 @@ const Tc = {
3459
3462
  { name: "smooth", type: { kind: "boolean", nullable: !0 }, description: "Whether to animate the scroll" }
3460
3463
  ]
3461
3464
  };
3462
- function Sc(t, e, r) {
3465
+ function Ac(t, e, r) {
3463
3466
  if (typeof window > "u" || typeof t != "number" || typeof e != "number")
3464
3467
  return !1;
3465
3468
  try {
@@ -3472,12 +3475,12 @@ function Sc(t, e, r) {
3472
3475
  return !1;
3473
3476
  }
3474
3477
  }
3475
- const wc = {
3478
+ const yc = {
3476
3479
  name: "ikon.client.getBatteryLevel",
3477
3480
  description: "Get the current battery level (0-100)",
3478
3481
  returnType: { kind: "number", nullable: !0 }
3479
3482
  };
3480
- async function Ac() {
3483
+ async function gc() {
3481
3484
  if (typeof navigator > "u" || !("getBattery" in navigator))
3482
3485
  return null;
3483
3486
  try {
@@ -3487,19 +3490,18 @@ async function Ac() {
3487
3490
  return null;
3488
3491
  }
3489
3492
  }
3490
- const yc = {
3493
+ const Nc = {
3491
3494
  name: "ikon.client.getNetworkType",
3492
3495
  description: "Get the current network connection type",
3493
3496
  returnType: { kind: "string", nullable: !0 }
3494
3497
  };
3495
- function gc() {
3498
+ function Cc() {
3496
3499
  if (typeof navigator > "u")
3497
3500
  return null;
3498
3501
  const t = navigator.connection;
3499
3502
  return t && (t.effectiveType || t.type) || null;
3500
3503
  }
3501
- const Nc = [
3502
- { definition: tc, handler: rc },
3504
+ const Rc = [
3503
3505
  { definition: nc, handler: sc },
3504
3506
  { definition: ic, handler: oc },
3505
3507
  { definition: ac, handler: cc },
@@ -3510,29 +3512,30 @@ const Nc = [
3510
3512
  { definition: mc, handler: _c },
3511
3513
  { definition: Tc, handler: Sc },
3512
3514
  { definition: wc, handler: Ac },
3513
- { definition: yc, handler: gc }
3515
+ { definition: yc, handler: gc },
3516
+ { definition: Nc, handler: Cc }
3514
3517
  ];
3515
- function Cc(t) {
3516
- const e = Nc.map(({ definition: r, handler: n }) => t.register(r, n));
3518
+ function bc(t) {
3519
+ const e = Rc.map(({ definition: r, handler: n }) => t.register(r, n));
3517
3520
  return () => e.forEach((r) => r());
3518
3521
  }
3519
3522
  function ct() {
3520
3523
  return typeof window < "u" && typeof navigator < "u";
3521
3524
  }
3522
- const bc = new Uint8Array(0);
3523
- function Te(t) {
3525
+ const kc = new Uint8Array(0);
3526
+ function Se(t) {
3524
3527
  switch (t.kind) {
3525
3528
  case "array":
3526
3529
  return {
3527
3530
  kind: "array",
3528
- element: Te(t.element),
3531
+ element: Se(t.element),
3529
3532
  nullable: t.nullable ?? !1
3530
3533
  };
3531
3534
  case "dictionary":
3532
3535
  return {
3533
3536
  kind: "dictionary",
3534
3537
  keyType: t.keyType ?? "string",
3535
- value: Te(t.value),
3538
+ value: Se(t.value),
3536
3539
  nullable: t.nullable ?? !1
3537
3540
  };
3538
3541
  default:
@@ -3542,7 +3545,7 @@ function Te(t) {
3542
3545
  };
3543
3546
  }
3544
3547
  }
3545
- function ne(t) {
3548
+ function se(t) {
3546
3549
  switch (t.kind) {
3547
3550
  case "boolean":
3548
3551
  return "System.Boolean";
@@ -3551,9 +3554,9 @@ function ne(t) {
3551
3554
  case "string":
3552
3555
  return "System.String";
3553
3556
  case "array":
3554
- return `System.Collections.Generic.List\`1[${ne(t.element)}]`;
3557
+ return `System.Collections.Generic.List\`1[${se(t.element)}]`;
3555
3558
  case "dictionary":
3556
- return `System.Collections.Generic.Dictionary\`2[${t.keyType === "int" ? "System.Int32" : "System.String"},${ne(t.value)}]`;
3559
+ return `System.Collections.Generic.Dictionary\`2[${t.keyType === "int" ? "System.Int32" : "System.String"},${se(t.value)}]`;
3557
3560
  default:
3558
3561
  return t;
3559
3562
  }
@@ -3579,9 +3582,9 @@ function Or(t, e) {
3579
3582
  }
3580
3583
  return JSON.stringify(t);
3581
3584
  }
3582
- function Rc(t, e) {
3585
+ function Uc(t, e) {
3583
3586
  const r = (t.parameters ?? []).map((i) => {
3584
- const o = Te(i.type), a = Object.prototype.hasOwnProperty.call(i, "defaultValue"), c = a ? Or(i.defaultValue, o) : "";
3587
+ const o = Se(i.type), a = Object.prototype.hasOwnProperty.call(i, "defaultValue"), c = a ? Or(i.defaultValue, o) : "";
3585
3588
  return {
3586
3589
  name: i.name,
3587
3590
  descriptor: o,
@@ -3589,13 +3592,13 @@ function Rc(t, e) {
3589
3592
  defaultValueJson: c,
3590
3593
  description: i.description
3591
3594
  };
3592
- }), n = Te(t.returnType), s = {
3595
+ }), n = Se(t.returnType), s = {
3593
3596
  FunctionId: m.createRandom(),
3594
3597
  FunctionName: t.name,
3595
3598
  Description: t.description ?? "",
3596
3599
  LlmInlineResult: t.llmInlineResult ?? !1,
3597
3600
  LlmCallOnlyOnce: t.llmCallOnlyOnce ?? !1,
3598
- ResultTypeName: ne(n),
3601
+ ResultTypeName: se(n),
3599
3602
  IsEnumerable: !1,
3600
3603
  EnumerableItemTypeName: "",
3601
3604
  IsCancellable: !1,
@@ -3603,10 +3606,10 @@ function Rc(t, e) {
3603
3606
  Parameters: r.map((i, o) => ({
3604
3607
  ParameterIndex: o,
3605
3608
  ParameterName: i.name,
3606
- TypeName: ne(i.descriptor),
3609
+ TypeName: se(i.descriptor),
3607
3610
  HasDefaultValue: i.hasDefaultValue,
3608
3611
  DefaultValueJson: i.defaultValueJson,
3609
- DefaultValueData: bc,
3612
+ DefaultValueData: kc,
3610
3613
  IsEnumerable: !1,
3611
3614
  EnumerableItemTypeName: "",
3612
3615
  Description: i.description ?? ""
@@ -3620,11 +3623,11 @@ function Rc(t, e) {
3620
3623
  returnType: n
3621
3624
  };
3622
3625
  }
3623
- const ge = M("FunctionRegistry"), kc = new Uint8Array(0);
3624
- function Uc(t) {
3626
+ const ge = M("FunctionRegistry"), Dc = new Uint8Array(0);
3627
+ function Mc(t) {
3625
3628
  return !t || typeof t != "object" ? !1 : t.data instanceof Uint8Array;
3626
3629
  }
3627
- class Dc {
3630
+ class Oc {
3628
3631
  functions = /* @__PURE__ */ new Map();
3629
3632
  remoteFunctions = /* @__PURE__ */ new Map();
3630
3633
  config = null;
@@ -3647,7 +3650,7 @@ class Dc {
3647
3650
  * If already connected, sends registration to server immediately.
3648
3651
  */
3649
3652
  register(e, r) {
3650
- const n = Rc(e, r);
3653
+ const n = Uc(e, r);
3651
3654
  return this.functions.set(e.name, n), this.isConnected && this.config && this.sendRegistration(n), () => this.unregister(e.name);
3652
3655
  }
3653
3656
  /**
@@ -3736,8 +3739,8 @@ class Dc {
3736
3739
  * Returns true if the message was handled.
3737
3740
  */
3738
3741
  handleProtocolMessage(e, r) {
3739
- if (r === T.ACTION_FUNCTION_CALL) {
3740
- const n = se(e);
3742
+ if (r === S.ACTION_FUNCTION_CALL) {
3743
+ const n = ie(e);
3741
3744
  return this.handleFunctionCall(e, n.senderId).catch((s) => {
3742
3745
  ge.error("Failed to handle function call:", s);
3743
3746
  }), !0;
@@ -3760,7 +3763,7 @@ class Dc {
3760
3763
  sendRegistration(e) {
3761
3764
  if (!this.config)
3762
3765
  return;
3763
- const r = bi(e.registerPayload, this.config.sessionId);
3766
+ const r = Ri(e.registerPayload, this.config.sessionId);
3764
3767
  this.config.sendProtocolMessage(r);
3765
3768
  }
3766
3769
  /**
@@ -3785,8 +3788,8 @@ class Dc {
3785
3788
  h === void 0 || h === "" ? E.hasDefaultValue ? s.push(lt(E.defaultValueJson, E.descriptor)) : s.push(void 0) : s.push(lt(h, E.descriptor));
3786
3789
  }
3787
3790
  const i = await e.handler(...s);
3788
- let o = i, a = kc;
3789
- Uc(i) && (o = i.value, a = new Uint8Array(i.data));
3791
+ let o = i, a = Dc;
3792
+ Mc(i) && (o = i.value, a = new Uint8Array(i.data));
3790
3793
  const c = Or(o, e.returnType);
3791
3794
  this.sendResult(r.CallId, r.InstanceId, n, e, c, a);
3792
3795
  } catch (s) {
@@ -3812,7 +3815,7 @@ class Dc {
3812
3815
  ji({
3813
3816
  CallId: e,
3814
3817
  InstanceId: r,
3815
- ResultTypeName: ne(s.returnType),
3818
+ ResultTypeName: se(s.returnType),
3816
3819
  ResultJson: i,
3817
3820
  ResultData: o
3818
3821
  }),
@@ -3841,7 +3844,7 @@ class Dc {
3841
3844
  this.config.sendProtocolMessage(i);
3842
3845
  }
3843
3846
  }
3844
- function Mc(t, e) {
3847
+ function Lc(t, e) {
3845
3848
  return { value: t, data: e };
3846
3849
  }
3847
3850
  function Ne(t) {
@@ -3857,7 +3860,7 @@ const ye = {
3857
3860
  StartAudioCapture: "ikon.client.startAudioCapture",
3858
3861
  StopCapture: "ikon.client.stopCapture",
3859
3862
  CaptureImage: "ikon.client.captureImage"
3860
- }, Oc = {
3863
+ }, vc = {
3861
3864
  name: ye.StartVideoCapture,
3862
3865
  description: "Start camera or screen capture and stream video frames to the server",
3863
3866
  returnType: { kind: "string" },
@@ -3865,26 +3868,26 @@ const ye = {
3865
3868
  { name: "source", type: { kind: "string", nullable: !0 }, description: "camera or screen" },
3866
3869
  { name: "optionsJson", type: { kind: "string", nullable: !0 }, description: "JSON encoded capture options" }
3867
3870
  ]
3868
- }, Lc = {
3871
+ }, Fc = {
3869
3872
  name: ye.StartAudioCapture,
3870
3873
  description: "Start microphone capture and stream audio frames to the server",
3871
3874
  returnType: { kind: "string" },
3872
3875
  parameters: [{ name: "optionsJson", type: { kind: "string", nullable: !0 }, description: "JSON encoded capture options" }]
3873
- }, vc = {
3876
+ }, Pc = {
3874
3877
  name: ye.StopCapture,
3875
3878
  description: "Stop a previously started capture by captureId",
3876
3879
  returnType: { kind: "boolean" },
3877
3880
  parameters: [{ name: "captureId", type: { kind: "string" }, description: "Capture ID to stop" }]
3878
- }, Fc = {
3881
+ }, Bc = {
3879
3882
  name: ye.CaptureImage,
3880
3883
  description: "Capture a single image from the camera and return metadata (JSON) plus binary image data",
3881
3884
  returnType: { kind: "string" },
3882
3885
  parameters: [{ name: "optionsJson", type: { kind: "string", nullable: !0 }, description: "JSON encoded capture options" }]
3883
3886
  };
3884
- function Pc(t, e) {
3887
+ function xc(t, e) {
3885
3888
  const r = [];
3886
3889
  return r.push(
3887
- t.register(Oc, async (n, s) => {
3890
+ t.register(vc, async (n, s) => {
3888
3891
  const i = e.mediaCapture;
3889
3892
  if (!i)
3890
3893
  throw new Error("Media capture is not available in this environment");
@@ -3892,7 +3895,7 @@ function Pc(t, e) {
3892
3895
  return ((typeof n == "string" && n.trim().toLowerCase() === "screen" ? "screen" : "camera") === "screen" ? await i.video.startScreen({ userGesture: !1, options: o, constraints: o?.constraints }) : await i.video.startCamera({ userGesture: !1, options: o, constraints: o?.constraints })).captureId;
3893
3896
  })
3894
3897
  ), r.push(
3895
- t.register(Lc, async (n) => {
3898
+ t.register(Fc, async (n) => {
3896
3899
  const s = e.mediaCapture;
3897
3900
  if (!s)
3898
3901
  throw new Error("Media capture is not available in this environment");
@@ -3900,7 +3903,7 @@ function Pc(t, e) {
3900
3903
  return (await s.audio.startMic({ userGesture: !1, options: i, constraints: i?.constraints })).captureId;
3901
3904
  })
3902
3905
  ), r.push(
3903
- t.register(vc, async (n) => {
3906
+ t.register(Pc, async (n) => {
3904
3907
  const s = e.mediaCapture;
3905
3908
  if (!s || typeof n != "string" || !n.trim())
3906
3909
  return !1;
@@ -3908,7 +3911,7 @@ function Pc(t, e) {
3908
3911
  return i || o;
3909
3912
  })
3910
3913
  ), r.push(
3911
- t.register(Fc, async (n) => {
3914
+ t.register(Bc, async (n) => {
3912
3915
  const s = e.mediaCapture;
3913
3916
  if (!s)
3914
3917
  throw new Error("Media capture is not available in this environment");
@@ -3920,7 +3923,7 @@ function Pc(t, e) {
3920
3923
  width: i.width,
3921
3924
  height: i.height
3922
3925
  }), a = JSON.stringify({ mime: o.mime, width: o.width, height: o.height });
3923
- return Mc(a, o.data);
3926
+ return Lc(a, o.data);
3924
3927
  })
3925
3928
  ), () => {
3926
3929
  for (const n of r)
@@ -3932,25 +3935,25 @@ const Lr = () => {
3932
3935
  return !1;
3933
3936
  const t = navigator.userAgent, e = /iPad|iPhone|iPod/.test(t), r = t.includes("Macintosh") && typeof navigator.maxTouchPoints == "number" && navigator.maxTouchPoints > 1;
3934
3937
  return e || r;
3935
- }, ce = M("Capabilities"), Bc = globalThis;
3936
- function he() {
3938
+ }, le = M("Capabilities"), Gc = globalThis;
3939
+ function de() {
3937
3940
  if (typeof SharedArrayBuffer > "u")
3938
- return ce.debug("SharedArrayBuffer not supported: SharedArrayBuffer is undefined"), !1;
3941
+ return le.debug("SharedArrayBuffer not supported: SharedArrayBuffer is undefined"), !1;
3939
3942
  if (typeof Atomics > "u")
3940
- return ce.debug("SharedArrayBuffer not supported: Atomics is undefined"), !1;
3941
- if (Bc.crossOriginIsolated === !1)
3942
- return ce.debug("SharedArrayBuffer not supported: crossOriginIsolated is false (missing COOP/COEP headers)"), !1;
3943
+ return le.debug("SharedArrayBuffer not supported: Atomics is undefined"), !1;
3944
+ if (Gc.crossOriginIsolated === !1)
3945
+ return le.debug("SharedArrayBuffer not supported: crossOriginIsolated is false (missing COOP/COEP headers)"), !1;
3943
3946
  try {
3944
3947
  new SharedArrayBuffer(1);
3945
3948
  } catch (t) {
3946
- return ce.debug(`SharedArrayBuffer not supported: construction failed - ${t instanceof Error ? t.message : String(t)}`), !1;
3949
+ return le.debug(`SharedArrayBuffer not supported: construction failed - ${t instanceof Error ? t.message : String(t)}`), !1;
3947
3950
  }
3948
3951
  return !0;
3949
3952
  }
3950
3953
  function vr(t) {
3951
3954
  return typeof AudioWorkletNode != "function" ? !1 : typeof t.audioWorklet?.addModule == "function";
3952
3955
  }
3953
- function xc(t) {
3956
+ function Vc(t) {
3954
3957
  return new Worker(
3955
3958
  "" + new URL("assets/audio-playback-worker-CM2aCt54.js", import.meta.url).href,
3956
3959
  {
@@ -3959,7 +3962,7 @@ function xc(t) {
3959
3962
  }
3960
3963
  );
3961
3964
  }
3962
- const le = 48e3, R = 2, Fr = 1500, ut = 512, ht = "playback", Gc = 120, Vc = 300, Wc = 4, Hc = 200, $c = 100, Kc = 8e3, Yc = 10, Pr = 100, ve = 50, Br = 128, jc = 20, zc = !0, G = 1500, Xc = -20, Jc = -100, Qc = 200, A = M("IkonAudioPlayback"), Zc = () => {
3965
+ const ue = 48e3, b = 2, Fr = 1500, ut = 512, ht = "playback", Wc = 120, Hc = 300, $c = 4, Kc = 200, Yc = 100, jc = 8e3, zc = 10, Pr = 100, ve = 50, Br = 128, Xc = 20, Jc = !0, G = 1500, Qc = -20, Zc = -100, qc = 200, A = M("IkonAudioPlayback"), el = () => {
3963
3966
  if (typeof navigator > "u" || typeof window > "u")
3964
3967
  return !1;
3965
3968
  const t = navigator.userAgent, e = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t), r = t.includes("Macintosh") && typeof navigator.maxTouchPoints == "number" && navigator.maxTouchPoints > 1;
@@ -3971,19 +3974,19 @@ const le = 48e3, R = 2, Fr = 1500, ut = 512, ht = "playback", Gc = 120, Vc = 300
3971
3974
  function V(t) {
3972
3975
  return t instanceof Error ? `${t.name}: ${t.message}` : String(t);
3973
3976
  }
3974
- function qc(t) {
3977
+ function tl(t) {
3975
3978
  return `
3976
3979
  // Audio buffer constants
3977
3980
  const OUTPUT_SAMPLE_RATE_HZ = ${t.outputSampleRateHz};
3978
3981
  const DEFAULT_FRAME_SAMPLES_PER_CHANNEL = Math.max(1, Math.round(OUTPUT_SAMPLE_RATE_HZ * 0.02));
3979
- const BUFFER_TARGET_MIN_MS = ${Gc};
3980
- const BUFFER_TARGET_MAX_MS = ${Vc};
3981
- const JITTER_MULTIPLIER = ${Wc};
3982
+ const BUFFER_TARGET_MIN_MS = ${Wc};
3983
+ const BUFFER_TARGET_MAX_MS = ${Hc};
3984
+ const JITTER_MULTIPLIER = ${$c};
3982
3985
  const LOCAL_BUFFER_MAX_MS = ${Fr};
3983
- const CONTROL_PERIOD_MS = ${Hc};
3984
- const UNDERRUN_JUMP_MS = ${$c};
3985
- const STABLE_TIME_TO_DECREASE_MS = ${Kc};
3986
- const DECREASE_STEP_MS = ${Yc};
3986
+ const CONTROL_PERIOD_MS = ${Kc};
3987
+ const UNDERRUN_JUMP_MS = ${Yc};
3988
+ const STABLE_TIME_TO_DECREASE_MS = ${jc};
3989
+ const DECREASE_STEP_MS = ${zc};
3987
3990
  const DEFAULT_STATS_INTERVAL_SAMPLES = OUTPUT_SAMPLE_RATE_HZ;
3988
3991
 
3989
3992
  // Pre-computed reciprocals for division-free calculations
@@ -4002,7 +4005,7 @@ const FADE_OUT_INCREMENT = 1.0 / FADE_OUT_DURATION_SAMPLES;
4002
4005
  const RENDER_QUANTUM_SIZE = ${Br};
4003
4006
 
4004
4007
  // Buffer reduction crossfade constants (align to quantum boundary to avoid partial quanta)
4005
- const BUFFER_REDUCTION_CROSSFADE_MS = ${jc};
4008
+ const BUFFER_REDUCTION_CROSSFADE_MS = ${Xc};
4006
4009
  const BUFFER_REDUCTION_CROSSFADE_SAMPLES_RAW = Math.round(OUTPUT_SAMPLE_RATE_HZ * BUFFER_REDUCTION_CROSSFADE_MS / 1000);
4007
4010
  const BUFFER_REDUCTION_CROSSFADE_SAMPLES = Math.ceil(BUFFER_REDUCTION_CROSSFADE_SAMPLES_RAW / RENDER_QUANTUM_SIZE) * RENDER_QUANTUM_SIZE;
4008
4011
 
@@ -4213,7 +4216,7 @@ class IkonAudioPlayerProcessor extends AudioWorkletProcessor {
4213
4216
  this.statsIntervalSamples = Math.max(1, Math.round((OUTPUT_SAMPLE_RATE_HZ * statusIntervalMs) / 1000));
4214
4217
 
4215
4218
  // Normalization config (hardcoded)
4216
- this.normalizationEnabled = ${zc};
4219
+ this.normalizationEnabled = ${Jc};
4217
4220
 
4218
4221
  // Stream states for audio buffer
4219
4222
  this.streams = new Map();
@@ -4896,7 +4899,7 @@ class Ze {
4896
4899
  config;
4897
4900
  enabled = !1;
4898
4901
  stateUnsubscribe = null;
4899
- isMobile = Zc();
4902
+ isMobile = el();
4900
4903
  boundVisibilityChange = null;
4901
4904
  boundPageHide = null;
4902
4905
  unlockHandler = null;
@@ -4905,7 +4908,7 @@ class Ze {
4905
4908
  /** Timeout for AudioContext.resume() - normally resolves instantly, but some browsers hang indefinitely */
4906
4909
  static RESUME_TIMEOUT_MS = 100;
4907
4910
  audioContext = null;
4908
- outputSampleRateHz = le;
4911
+ outputSampleRateHz = ue;
4909
4912
  audioWorkletNode = null;
4910
4913
  scriptProcessorNode = null;
4911
4914
  scriptDiagnosticsTimer = null;
@@ -5011,7 +5014,7 @@ class Ze {
5011
5014
  this.stopAudioGraph();
5012
5015
  try {
5013
5016
  const e = new AudioContext({
5014
- sampleRate: le,
5017
+ sampleRate: ue,
5015
5018
  latencyHint: ht
5016
5019
  });
5017
5020
  this.audioContext = e, this.outputSampleRateHz = e.sampleRate, e.resume(), this.setupAudioGraphAfterRecreate();
@@ -5101,7 +5104,7 @@ class Ze {
5101
5104
  const e = this.audioContext;
5102
5105
  if (!e)
5103
5106
  return null;
5104
- const r = e.currentTime, n = e.sampleRate, s = R;
5107
+ const r = e.currentTime, n = e.sampleRate, s = b;
5105
5108
  for (const i of this.visemeBuffers.values()) {
5106
5109
  if (!i.timingEstablished || i.count === 0)
5107
5110
  continue;
@@ -5150,7 +5153,7 @@ class Ze {
5150
5153
  if (typeof window > "u")
5151
5154
  return;
5152
5155
  if (!this.audioContext) {
5153
- const a = le, c = ht;
5156
+ const a = ue, c = ht;
5154
5157
  try {
5155
5158
  this.audioContext = new AudioContext({ sampleRate: a, latencyHint: c });
5156
5159
  } catch (l) {
@@ -5167,7 +5170,7 @@ class Ze {
5167
5170
  }
5168
5171
  A.debug(`AudioContext sample rate request unsupported: ${V(l)}`);
5169
5172
  }
5170
- this.outputSampleRateHz = this.audioContext.sampleRate || le, this.outputSampleRateHz !== a && A.debug(`AudioContext running at ${this.outputSampleRateHz}Hz (requested ${a}Hz)`), this.attachAudioContextHealthHandlers(this.audioContext);
5173
+ this.outputSampleRateHz = this.audioContext.sampleRate || ue, this.outputSampleRateHz !== a && A.debug(`AudioContext running at ${this.outputSampleRateHz}Hz (requested ${a}Hz)`), this.attachAudioContextHealthHandlers(this.audioContext);
5171
5174
  }
5172
5175
  const n = this.audioContext, s = this.resolveDiagnosticsConfig();
5173
5176
  if ((this.config.performance?.preferAudioWorklet ?? !0) && vr(n)) {
@@ -5323,14 +5326,14 @@ class Ze {
5323
5326
  await this.resumeWithTimeout(e), this.getContextState(e) === "running" && this.removeUnlockHandler();
5324
5327
  } catch {
5325
5328
  }
5326
- const i = `${this.outputSampleRateHz}_${R}`;
5329
+ const i = `${this.outputSampleRateHz}_${b}`;
5327
5330
  if (!this.workletModuleUrl || this.workletModuleKey !== i) {
5328
5331
  if (this.workletModuleUrl)
5329
5332
  try {
5330
5333
  URL.revokeObjectURL(this.workletModuleUrl);
5331
5334
  } catch {
5332
5335
  }
5333
- this.workletModuleKey = i, this.workletReady = null, this.workletModuleUrl = URL.createObjectURL(new Blob([qc({ outputSampleRateHz: this.outputSampleRateHz, outputChannels: R })], { type: "text/javascript" }));
5336
+ this.workletModuleKey = i, this.workletReady = null, this.workletModuleUrl = URL.createObjectURL(new Blob([tl({ outputSampleRateHz: this.outputSampleRateHz, outputChannels: b })], { type: "text/javascript" }));
5334
5337
  }
5335
5338
  this.workletReady || (this.workletReady = e.audioWorklet.addModule(this.workletModuleUrl).catch((E) => {
5336
5339
  throw A.warn(`Failed to load AudioWorklet module, falling back: ${V(E)}`), E;
@@ -5342,15 +5345,15 @@ class Ze {
5342
5345
  return;
5343
5346
  }
5344
5347
  this.stopScriptProcessor();
5345
- const a = (this.config.performance?.preferSharedArrayBuffer ?? !0) && he();
5348
+ const a = (this.config.performance?.preferSharedArrayBuffer ?? !0) && de();
5346
5349
  this.audioWorkletNode = new AudioWorkletNode(e, "ikon-audio-player", {
5347
5350
  numberOfInputs: 0,
5348
5351
  numberOfOutputs: 1,
5349
- outputChannelCount: [R],
5352
+ outputChannelCount: [b],
5350
5353
  processorOptions: {
5351
5354
  outputAudioConfig: { diagnostics: r },
5352
5355
  useSharedArrayBuffer: a,
5353
- outputChannels: R
5356
+ outputChannels: b
5354
5357
  }
5355
5358
  }), this.audioWorkletNode.port.onmessage = (E) => {
5356
5359
  const d = E.data;
@@ -5384,7 +5387,7 @@ class Ze {
5384
5387
  if (this.scriptProcessorNode)
5385
5388
  return;
5386
5389
  this.stopAudioWorklet(), this.pendingWorkletMessages = [];
5387
- const n = 1024, s = new Float32Array(n * R), i = Math.round(this.outputSampleRateHz * Pr / 1e3), o = Math.round(this.outputSampleRateHz * ve / 1e3), a = 1 / i, c = 1 / o, l = new Array(R), E = [], d = e.createScriptProcessor(n, 0, R);
5390
+ const n = 1024, s = new Float32Array(n * b), i = Math.round(this.outputSampleRateHz * Pr / 1e3), o = Math.round(this.outputSampleRateHz * ve / 1e3), a = 1 / i, c = 1 / o, l = new Array(b), E = [], d = e.createScriptProcessor(n, 0, b);
5388
5391
  d.onaudioprocess = (h) => {
5389
5392
  const f = h.outputBuffer, p = f.numberOfChannels, I = f.length;
5390
5393
  for (let _ = 0; _ < p; _++) {
@@ -5460,7 +5463,7 @@ class Ze {
5460
5463
  e.totalSamples < 0 && (e.totalSamples = 0), this.compactFallbackQueue(e);
5461
5464
  }
5462
5465
  trimFallbackQueue(e) {
5463
- const r = Math.floor(this.outputSampleRateHz * R * Fr / 1e3), n = e.totalSamples - r;
5466
+ const r = Math.floor(this.outputSampleRateHz * b * Fr / 1e3), n = e.totalSamples - r;
5464
5467
  n <= 0 || this.skipFromFallbackQueue(e, n);
5465
5468
  }
5466
5469
  stopScriptProcessorDiagnostics() {
@@ -5479,7 +5482,7 @@ class Ze {
5479
5482
  for (const [n, s] of this.fallbackQueues.entries()) {
5480
5483
  if (s.totalSamples <= 0)
5481
5484
  continue;
5482
- const o = s.totalSamples / R * 1e3 / this.outputSampleRateHz;
5485
+ const o = s.totalSamples / b * 1e3 / this.outputSampleRateHz;
5483
5486
  A.debug(`[Audio] stream=${n.substring(0, 8)} buffer=${o.toFixed(0)}ms renderer=ScriptProcessor`);
5484
5487
  }
5485
5488
  }, r);
@@ -5556,13 +5559,13 @@ class Ze {
5556
5559
  rebindWorkerTransportIfNeeded() {
5557
5560
  if (!this.audioWorker || !this.audioContext)
5558
5561
  return;
5559
- const s = (this.config.performance?.preferSharedArrayBuffer ?? !0) && !!this.audioWorkletNode && he() ? "sab" : "pcm";
5562
+ const s = (this.config.performance?.preferSharedArrayBuffer ?? !0) && !!this.audioWorkletNode && de() ? "sab" : "pcm";
5560
5563
  try {
5561
5564
  this.audioWorker.postMessage({
5562
5565
  type: "rebind",
5563
5566
  transport: s,
5564
5567
  outputSampleRate: this.outputSampleRateHz,
5565
- outputChannels: R
5568
+ outputChannels: b
5566
5569
  });
5567
5570
  } catch {
5568
5571
  }
@@ -5574,14 +5577,14 @@ class Ze {
5574
5577
  A.warn("Audio decode worker unavailable (Workers not supported)");
5575
5578
  return;
5576
5579
  }
5577
- const e = this.client.createProtocolMessagePort({ opcodeGroupsMask: T.GROUP_AUDIO });
5580
+ const e = this.client.createProtocolMessagePort({ opcodeGroupsMask: S.GROUP_AUDIO });
5578
5581
  if (!e) {
5579
5582
  this.enabled && A.debug("Audio pipeline waiting for client connection");
5580
5583
  return;
5581
5584
  }
5582
5585
  this.protocolPort = e;
5583
5586
  try {
5584
- this.audioWorker = new xc();
5587
+ this.audioWorker = new Vc();
5585
5588
  } catch (d) {
5586
5589
  A.warn(`Failed to create audio worker: ${V(d)}`), this.protocolPort.close(), this.protocolPort = null;
5587
5590
  return;
@@ -5591,16 +5594,16 @@ class Ze {
5591
5594
  const h = [d.message, d.filename, d.lineno, d.colno].filter((f) => f != null && String(f).length > 0);
5592
5595
  A.error(`Audio worker failed: ${h.join(" ")}`.trim());
5593
5596
  });
5594
- const s = (this.config.performance?.preferSharedArrayBuffer ?? !0) && !!this.audioWorkletNode && he(), i = this.config.performance?.preferWebCodecs ?? !0, o = {
5597
+ const s = (this.config.performance?.preferSharedArrayBuffer ?? !0) && !!this.audioWorkletNode && de(), i = this.config.performance?.preferWebCodecs ?? !0, o = {
5595
5598
  type: "configure",
5596
5599
  transport: s ? "sab" : "pcm",
5597
5600
  outputSampleRate: this.outputSampleRateHz,
5598
- outputChannels: R,
5601
+ outputChannels: b,
5599
5602
  preferWebCodecs: i
5600
5603
  };
5601
5604
  r.postMessage(o), r.postMessage({ type: "attachProtocolPort", port: e.port }, [e.port]);
5602
5605
  const a = this.audioWorkletNode ? "AudioWorklet" : "ScriptProcessor", c = s ? "SharedArrayBuffer" : "MessagePort", E = i && typeof AudioDecoder < "u" ? "WebCodecs" : "WASM Opus";
5603
- A.debug(`Audio initialized: renderer=${a}, transport=${c}, decoder=${E}, output=${this.outputSampleRateHz}Hz/${R}ch`);
5606
+ A.debug(`Audio initialized: renderer=${a}, transport=${c}, decoder=${E}, output=${this.outputSampleRateHz}Hz/${b}ch`);
5604
5607
  }
5605
5608
  onAudioWorkerMessage(e) {
5606
5609
  if (e.type === "streamBegin") {
@@ -5665,7 +5668,7 @@ class Ze {
5665
5668
  s.epochTimestampSamples = e.timestampInterleavedSamples;
5666
5669
  const c = this.audioContext;
5667
5670
  if (c) {
5668
- const l = (c.outputLatency ?? 0) + (c.baseLatency ?? 0), E = Xc + l * 1e3, d = Math.min(Qc, Math.max(Jc, E));
5671
+ const l = (c.outputLatency ?? 0) + (c.baseLatency ?? 0), E = Qc + l * 1e3, d = Math.min(qc, Math.max(Zc, E));
5669
5672
  s.playbackStartContextTime = c.currentTime + d / 1e3;
5670
5673
  }
5671
5674
  s.timingEstablished = !0;
@@ -5788,7 +5791,7 @@ class Ze {
5788
5791
  }));
5789
5792
  }
5790
5793
  }
5791
- function el(t) {
5794
+ function rl(t) {
5792
5795
  return new Worker(
5793
5796
  "" + new URL("assets/video-playback-worker-C7sQMgD-.js", import.meta.url).href,
5794
5797
  {
@@ -5801,7 +5804,7 @@ const W = M("IkonVideoPlayback");
5801
5804
  function Ce(t) {
5802
5805
  return t instanceof Error ? `${t.name}: ${t.message}` : String(t);
5803
5806
  }
5804
- class tl {
5807
+ class nl {
5805
5808
  client;
5806
5809
  config;
5807
5810
  enabled = !0;
@@ -5876,7 +5879,7 @@ class tl {
5876
5879
  }
5877
5880
  let e;
5878
5881
  try {
5879
- e = new el();
5882
+ e = new rl();
5880
5883
  } catch (r) {
5881
5884
  W.warn(`Failed to create video worker: ${Ce(r)}`);
5882
5885
  return;
@@ -5965,7 +5968,7 @@ class tl {
5965
5968
  const r = this.parseStreamId(e);
5966
5969
  if (!r)
5967
5970
  return;
5968
- const n = Ua(Ra(), this.client.sessionId ?? 0, {
5971
+ const n = Ua(ba(), this.client.sessionId ?? 0, {
5969
5972
  trackId: r.trackId,
5970
5973
  targetIds: [r.senderId]
5971
5974
  });
@@ -5990,7 +5993,7 @@ class tl {
5990
5993
  ensureProtocolPort() {
5991
5994
  if (!this.worker || this.protocolPort)
5992
5995
  return;
5993
- const e = this.client.createProtocolMessagePort({ opcodeGroupsMask: T.GROUP_VIDEO });
5996
+ const e = this.client.createProtocolMessagePort({ opcodeGroupsMask: S.GROUP_VIDEO });
5994
5997
  if (e) {
5995
5998
  this.protocolPort = e;
5996
5999
  try {
@@ -6025,11 +6028,11 @@ class tl {
6025
6028
  }));
6026
6029
  }
6027
6030
  }
6028
- class rl {
6031
+ class sl {
6029
6032
  audio;
6030
6033
  video;
6031
6034
  constructor(e, r) {
6032
- this.audio = new Ze(e, r?.audio), this.video = new tl(e, r?.video), r?.mediaSession && this.audio.setMediaSession(r.mediaSession);
6035
+ this.audio = new Ze(e, r?.audio), this.video = new nl(e, r?.video), r?.mediaSession && this.audio.setMediaSession(r.mediaSession);
6033
6036
  }
6034
6037
  /**
6035
6038
  * Releases media resources (workers, audio graph, decoders).
@@ -6040,7 +6043,7 @@ class rl {
6040
6043
  this.audio.dispose(), this.video.dispose();
6041
6044
  }
6042
6045
  }
6043
- class nl {
6046
+ class il {
6044
6047
  static getStorageForCapacity(e, r) {
6045
6048
  const n = Int32Array.BYTES_PER_ELEMENT * 2, s = r.BYTES_PER_ELEMENT * e;
6046
6049
  return new SharedArrayBuffer(n + s);
@@ -6094,7 +6097,7 @@ class nl {
6094
6097
  return n = (n + r) % this.capacity, Atomics.store(this.readWrite, 0, n), r;
6095
6098
  }
6096
6099
  }
6097
- function sl(t) {
6100
+ function ol(t) {
6098
6101
  return new Worker(
6099
6102
  "" + new URL("assets/audio-capture-worker-D0tD-mzj.js", import.meta.url).href,
6100
6103
  {
@@ -6104,11 +6107,11 @@ function sl(t) {
6104
6107
  );
6105
6108
  }
6106
6109
  const ft = M("IkonAudioCapture");
6107
- function il() {
6110
+ function al() {
6108
6111
  const t = globalThis.crypto;
6109
6112
  return t?.randomUUID ? t.randomUUID() : `cap_${Date.now()}_${Math.floor(Math.random() * 1e9)}`;
6110
6113
  }
6111
- function ol() {
6114
+ function cl() {
6112
6115
  return `
6113
6116
  class RingBuffer {
6114
6117
  static getStorageForCapacity(capacity, type) {
@@ -6237,7 +6240,7 @@ class IkonAudioCaptureProcessor extends AudioWorkletProcessor {
6237
6240
  registerProcessor('ikon-audio-capture', IkonAudioCaptureProcessor);
6238
6241
  `;
6239
6242
  }
6240
- class al {
6243
+ class ll {
6241
6244
  constructor(e, r) {
6242
6245
  this.client = e, this.config = r ?? {};
6243
6246
  }
@@ -6257,7 +6260,7 @@ class al {
6257
6260
  ensureWorker() {
6258
6261
  if (this.worker)
6259
6262
  return this.worker;
6260
- const e = new sl();
6263
+ const e = new ol();
6261
6264
  return this.worker = e, e.addEventListener("message", (r) => {
6262
6265
  const n = r.data;
6263
6266
  if (n?.type === "error") {
@@ -6271,7 +6274,7 @@ class al {
6271
6274
  throw new Error("Cannot start audio capture before client is connected");
6272
6275
  const r = this.ensureWorker();
6273
6276
  if (!this.sendPort) {
6274
- const n = this.client.createProtocolSendPort({ opcodeGroupsMask: T.GROUP_AUDIO });
6277
+ const n = this.client.createProtocolSendPort({ opcodeGroupsMask: S.GROUP_AUDIO });
6275
6278
  if (!n)
6276
6279
  throw new Error("Failed to create protocol send port for audio capture");
6277
6280
  this.sendPort = n, r.postMessage({ type: "attachSendPort", port: n.port }, [n.port]);
@@ -6300,7 +6303,7 @@ class al {
6300
6303
  async ensureWorklet(e) {
6301
6304
  if (!vr(e))
6302
6305
  throw new Error("AudioWorklet is not supported in this browser");
6303
- this.workletModuleUrl || (this.workletModuleUrl = URL.createObjectURL(new Blob([ol()], { type: "text/javascript" }))), (!this.workletReady || this.workletContext !== e) && (this.workletContext = e, this.workletReady = e.audioWorklet.addModule(this.workletModuleUrl));
6306
+ this.workletModuleUrl || (this.workletModuleUrl = URL.createObjectURL(new Blob([cl()], { type: "text/javascript" }))), (!this.workletReady || this.workletContext !== e) && (this.workletContext = e, this.workletReady = e.audioWorklet.addModule(this.workletModuleUrl));
6304
6307
  try {
6305
6308
  await this.workletReady;
6306
6309
  } catch (r) {
@@ -6316,13 +6319,13 @@ class al {
6316
6319
  if (!i)
6317
6320
  throw s.getTracks().forEach((_) => _.stop()), new Error("No audio track available");
6318
6321
  await this.ensureWorklet(n);
6319
- const o = il(), a = this.allocateTrackId(), c = n.createMediaStreamSource(s), l = n.createGain();
6322
+ const o = al(), a = this.allocateTrackId(), c = n.createMediaStreamSource(s), l = n.createGain();
6320
6323
  l.gain.value = 0, l.connect(n.destination);
6321
- const h = he() ? "sab" : "pcm";
6324
+ const h = de() ? "sab" : "pcm";
6322
6325
  let f;
6323
6326
  if (h === "sab") {
6324
6327
  const _ = Math.floor(n.sampleRate * 2);
6325
- f = nl.getStorageForCapacity(_, Float32Array);
6328
+ f = il.getStorageForCapacity(_, Float32Array);
6326
6329
  }
6327
6330
  const p = this.ensureWorker();
6328
6331
  p.postMessage({
@@ -6463,9 +6466,9 @@ class al {
6463
6466
  }
6464
6467
  }
6465
6468
  }
6466
- const xr = 1280, Gr = 720, cl = 30, Vr = "image/jpeg", ll = 0.92;
6467
- async function ul(t, e) {
6468
- const r = e.mime ?? Vr, n = e.quality ?? ll;
6469
+ const xr = 1280, Gr = 720, ul = 30, Vr = "image/jpeg", hl = 0.92;
6470
+ async function dl(t, e) {
6471
+ const r = e.mime ?? Vr, n = e.quality ?? hl;
6469
6472
  if (typeof OffscreenCanvas < "u" && t instanceof OffscreenCanvas)
6470
6473
  try {
6471
6474
  return await t.convertToBlob({ type: r, quality: n });
@@ -6482,7 +6485,7 @@ async function ul(t, e) {
6482
6485
  );
6483
6486
  });
6484
6487
  }
6485
- class hl {
6488
+ class fl {
6486
6489
  async acquireCameraStream(e) {
6487
6490
  if (!navigator.mediaDevices)
6488
6491
  throw new Error("Media devices are not available in this environment");
@@ -6519,7 +6522,7 @@ class hl {
6519
6522
  if (!E)
6520
6523
  throw new Error("2D canvas context unavailable");
6521
6524
  E.drawImage(s, 0, 0, a, c);
6522
- const d = await ul(l, e), h = await d.arrayBuffer();
6525
+ const d = await dl(l, e), h = await d.arrayBuffer();
6523
6526
  return {
6524
6527
  mime: d.type || e.mime || Vr,
6525
6528
  width: a,
@@ -6546,7 +6549,7 @@ class hl {
6546
6549
  }
6547
6550
  }
6548
6551
  }
6549
- function dl(t) {
6552
+ function El(t) {
6550
6553
  return new Worker(
6551
6554
  "" + new URL("assets/video-capture-worker-DZZ0ggvo.js", import.meta.url).href,
6552
6555
  {
@@ -6556,17 +6559,17 @@ function dl(t) {
6556
6559
  );
6557
6560
  }
6558
6561
  const Et = M("IkonVideoCapture");
6559
- function fl() {
6562
+ function pl() {
6560
6563
  const t = globalThis.crypto;
6561
6564
  return t?.randomUUID ? t.randomUUID() : `cap_${Date.now()}_${Math.floor(Math.random() * 1e9)}`;
6562
6565
  }
6563
- function El() {
6566
+ function Il() {
6564
6567
  const t = globalThis.MediaStreamTrackProcessor;
6565
6568
  if (!t)
6566
6569
  throw new Error("MediaStreamTrackProcessor is not available in this browser");
6567
6570
  return t;
6568
6571
  }
6569
- class pl {
6572
+ class ml {
6570
6573
  constructor(e) {
6571
6574
  this.client = e;
6572
6575
  }
@@ -6582,7 +6585,7 @@ class pl {
6582
6585
  ensureWorker() {
6583
6586
  if (this.worker)
6584
6587
  return this.worker;
6585
- const e = new dl();
6588
+ const e = new El();
6586
6589
  return this.worker = e, e.addEventListener("message", (r) => {
6587
6590
  const n = r.data;
6588
6591
  if (n?.type === "error") {
@@ -6596,20 +6599,20 @@ class pl {
6596
6599
  throw new Error("Cannot start video capture before client is connected");
6597
6600
  const r = this.ensureWorker();
6598
6601
  if (!this.sendPort) {
6599
- const n = this.client.createProtocolSendPort({ opcodeGroupsMask: T.GROUP_VIDEO });
6602
+ const n = this.client.createProtocolSendPort({ opcodeGroupsMask: S.GROUP_VIDEO });
6600
6603
  if (!n)
6601
6604
  throw new Error("Failed to create protocol send port for video capture");
6602
6605
  this.sendPort = n, r.postMessage({ type: "attachSendPort", port: n.port }, [n.port]);
6603
6606
  }
6604
6607
  if (!this.protocolPort) {
6605
- const n = this.client.createProtocolMessagePort({ opcodeGroupsMask: T.GROUP_VIDEO });
6608
+ const n = this.client.createProtocolMessagePort({ opcodeGroupsMask: S.GROUP_VIDEO });
6606
6609
  n && (this.protocolPort = n, r.postMessage({ type: "attachProtocolPort", port: n.port }, [n.port]));
6607
6610
  }
6608
6611
  }
6609
6612
  async getMediaStream(e) {
6610
6613
  if (!navigator.mediaDevices)
6611
6614
  throw new Error("Media devices are not available in this environment");
6612
- const r = e.constraints ?? {}, n = e.options?.framerate ?? cl, s = {
6615
+ const r = e.constraints ?? {}, n = e.options?.framerate ?? ul, s = {
6613
6616
  ...r,
6614
6617
  frameRate: r.frameRate ?? { ideal: n }
6615
6618
  };
@@ -6620,10 +6623,10 @@ class pl {
6620
6623
  if (!r)
6621
6624
  throw new Error("Cannot start video capture before client is connected");
6622
6625
  this.ensurePorts();
6623
- const n = fl(), s = await this.getMediaStream(e), i = s.getVideoTracks()[0];
6626
+ const n = pl(), s = await this.getMediaStream(e), i = s.getVideoTracks()[0];
6624
6627
  if (!i)
6625
6628
  throw s.getTracks().forEach((I) => I.stop()), new Error("No video track available");
6626
- const o = i.getSettings(), a = e.options?.width ?? o.width ?? xr, c = e.options?.height ?? o.height ?? Gr, l = El(), d = new l({ track: i }).readable, h = this.allocateTrackId(), f = this.ensureWorker();
6629
+ const o = i.getSettings(), a = e.options?.width ?? o.width ?? xr, c = e.options?.height ?? o.height ?? Gr, l = Il(), d = new l({ track: i }).readable, h = this.allocateTrackId(), f = this.ensureWorker();
6627
6630
  f.postMessage(
6628
6631
  {
6629
6632
  type: "start",
@@ -6691,12 +6694,12 @@ class pl {
6691
6694
  this.protocolPort?.close(), this.protocolPort = null, this.sendPort?.close(), this.sendPort = null;
6692
6695
  }
6693
6696
  }
6694
- class Il {
6697
+ class _l {
6695
6698
  audio;
6696
6699
  video;
6697
6700
  image;
6698
6701
  constructor(e, r) {
6699
- this.audio = new al(e, r?.audio), this.video = new pl(e), this.image = new hl();
6702
+ this.audio = new ll(e, r?.audio), this.video = new ml(e), this.image = new fl();
6700
6703
  }
6701
6704
  dispose() {
6702
6705
  this.audio.dispose(), this.video.dispose();
@@ -6704,19 +6707,19 @@ class Il {
6704
6707
  }
6705
6708
  const Wr = M("DebugMode");
6706
6709
  let Y = !1;
6707
- function ml() {
6710
+ function Tl() {
6708
6711
  return typeof window > "u" ? !1 : new URLSearchParams(window.location.search).get("debug") === "true";
6709
6712
  }
6710
- function _l() {
6711
- return Y = ml(), Y && (yr(we.DEBUG), Wr.warn("Debug mode enabled")), Y;
6713
+ function Sl() {
6714
+ return Y = Tl(), Y && (yr(Ae.DEBUG), Wr.warn("Debug mode enabled")), Y;
6712
6715
  }
6713
- function Tl() {
6716
+ function wl() {
6714
6717
  return Y;
6715
6718
  }
6716
- function Sl() {
6717
- Y || (Y = !0, yr(we.DEBUG), Wr.warn("Debug mode enabled"));
6719
+ function Al() {
6720
+ Y || (Y = !0, yr(Ae.DEBUG), Wr.warn("Debug mode enabled"));
6718
6721
  }
6719
- function wl(t) {
6722
+ function yl(t) {
6720
6723
  return new Worker(
6721
6724
  "" + new URL("assets/protocol-worker-CH5R2dxZ.js", import.meta.url).href,
6722
6725
  {
@@ -6730,8 +6733,8 @@ const pt = {
6730
6733
  [k.WebSocket]: 1,
6731
6734
  [k.WebTransportProxy]: 2,
6732
6735
  [k.WebSocketProxy]: 3
6733
- }, be = "ikon_endpoint_type";
6734
- class Al {
6736
+ }, Re = "ikon_endpoint_type";
6737
+ class gl {
6735
6738
  isLocal;
6736
6739
  workingEndpointType = null;
6737
6740
  constructor(e) {
@@ -6763,7 +6766,7 @@ class Al {
6763
6766
  if (!this.isLocal) {
6764
6767
  this.workingEndpointType = e;
6765
6768
  try {
6766
- localStorage.setItem(be, String(e));
6769
+ localStorage.setItem(Re, String(e));
6767
6770
  } catch {
6768
6771
  }
6769
6772
  }
@@ -6774,7 +6777,7 @@ class Al {
6774
6777
  clearRememberedType() {
6775
6778
  this.workingEndpointType = null;
6776
6779
  try {
6777
- localStorage.removeItem(be);
6780
+ localStorage.removeItem(Re);
6778
6781
  } catch {
6779
6782
  }
6780
6783
  }
@@ -6783,7 +6786,7 @@ class Al {
6783
6786
  */
6784
6787
  loadRememberedType() {
6785
6788
  try {
6786
- const e = localStorage.getItem(be);
6789
+ const e = localStorage.getItem(Re);
6787
6790
  if (e !== null) {
6788
6791
  const r = Number(e);
6789
6792
  k[r] !== void 0 && (this.workingEndpointType = r);
@@ -6792,11 +6795,11 @@ class Al {
6792
6795
  }
6793
6796
  }
6794
6797
  }
6795
- const S = M("IkonClient");
6796
- function yl() {
6797
- return typeof __IKON_EXTERNAL_TOKEN__ < "u" && __IKON_EXTERNAL_TOKEN__;
6798
+ const T = M("IkonClient");
6799
+ function Nl() {
6800
+ return typeof __IKON_WAIT_FOR_EXTERNAL_CONNECT_URL__ < "u" && __IKON_WAIT_FOR_EXTERNAL_CONNECT_URL__;
6798
6801
  }
6799
- class Vl {
6802
+ class Hl {
6800
6803
  channelManager = null;
6801
6804
  protocolWorker = null;
6802
6805
  workerManagerState = null;
@@ -6833,9 +6836,9 @@ class Vl {
6833
6836
  nextProtocolSendPortId = 1;
6834
6837
  _media;
6835
6838
  _mediaCapture = null;
6836
- // External token mode
6837
- _externalTokenMode = yl();
6838
- _externalTokenCleanup = null;
6839
+ // External connect URL mode
6840
+ _waitForExternalConnectUrl = Nl();
6841
+ _externalConnectUrlCleanup = null;
6839
6842
  /**
6840
6843
  * SDK-provided media pipelines (audio/video).
6841
6844
  *
@@ -6860,21 +6863,21 @@ class Vl {
6860
6863
  throw new Error('IkonClient requires one of: "local", "apiKey", or "sessionToken" configuration');
6861
6864
  if (r > 1)
6862
6865
  throw new Error('IkonClient accepts only one of: "local", "apiKey", or "sessionToken" configuration');
6863
- this.endpointSelector = new Al({
6866
+ this.endpointSelector = new gl({
6864
6867
  local: e.local
6865
- }), this._functionRegistry = new Dc(), ct() && !e.disableBrowserFunctions && (this.unregisterBrowserFunctions = Cc(this._functionRegistry));
6868
+ }), this._functionRegistry = new Oc(), ct() && !e.disableBrowserFunctions && (this.unregisterBrowserFunctions = bc(this._functionRegistry));
6866
6869
  const n = e.audio ? {
6867
6870
  performance: e.audio.performance,
6868
6871
  background: e.audio.background,
6869
6872
  diagnostics: e.audio.diagnostics
6870
6873
  } : void 0, s = e.video ? { performance: e.video.performance } : void 0;
6871
- this._media = new rl(this, { audio: n, video: s, mediaSession: e.mediaSession }), this._media.audio.setEnabled(!0), this._media.video.setEnabled(!0), ct() && (this._mediaCapture = new Il(this, {
6874
+ this._media = new sl(this, { audio: n, video: s, mediaSession: e.mediaSession }), this._media.audio.setEnabled(!0), this._media.video.setEnabled(!0), ct() && (this._mediaCapture = new _l(this, {
6872
6875
  audio: {
6873
6876
  performance: {
6874
6877
  preferWebCodecs: e.audio?.performance?.preferWebCodecs
6875
6878
  }
6876
6879
  }
6877
- }), this.unregisterMediaCaptureFunctions = Pc(this._functionRegistry, this));
6880
+ }), this.unregisterMediaCaptureFunctions = xc(this._functionRegistry, this));
6878
6881
  }
6879
6882
  _lastError = void 0;
6880
6883
  /**
@@ -6918,11 +6921,17 @@ class Vl {
6918
6921
  async connect() {
6919
6922
  if (this.currentState !== "idle")
6920
6923
  throw new Error(`Cannot connect: already in state ${this.currentState}`);
6921
- if (this.setupLifecycleHandlers(), this._externalTokenMode) {
6922
- S.info("External token mode enabled, waiting for token from parent window"), this.setState("waitingForToken"), this._externalTokenCleanup = this.setupExternalTokenListener();
6924
+ this.setupLifecycleHandlers();
6925
+ const e = Ya();
6926
+ if (e) {
6927
+ T.info("Found external connect URL in query parameter"), await this.executeConnection(() => ne(e, this.abortController.signal));
6928
+ return;
6929
+ }
6930
+ if (this._waitForExternalConnectUrl) {
6931
+ T.info("Waiting for external connect URL from parent window"), this.setState("waitingForExternalConnectUrl"), this._externalConnectUrlCleanup = this.setupExternalConnectUrlListener();
6923
6932
  return;
6924
6933
  }
6925
- S.info("Connecting to Ikon server"), await this.executeConnection(() => this.authenticate());
6934
+ T.info("Connecting to Ikon server"), await this.executeConnection(() => this.authenticate());
6926
6935
  }
6927
6936
  /**
6928
6937
  * Execute the connection flow with the provided authentication function.
@@ -6931,22 +6940,22 @@ class Vl {
6931
6940
  this._lastError = void 0, this.abortController = new AbortController(), this.setState("connecting"), this.slowConnectionTimer = setTimeout(() => {
6932
6941
  this.currentState === "connecting" && this.setState("connectingSlow");
6933
6942
  }, this.slowConnectionThresholdMs), this.connectionTimer = setTimeout(() => {
6934
- (this.currentState === "connecting" || this.currentState === "connectingSlow") && (S.error("Connection timeout"), this.abortController?.abort(), this.setState("offline"), this.config.onError?.(new Error("Connection timeout")));
6943
+ (this.currentState === "connecting" || this.currentState === "connectingSlow") && (T.error("Connection timeout"), this.abortController?.abort(), this.setState("offline"), this.config.onError?.(new Error("Connection timeout")));
6935
6944
  }, this.connectionTimeoutMs);
6936
6945
  try {
6937
6946
  const r = await e();
6938
- this.authResponse = r.authResponse, this._sessionId = r.authResponse.ClientContext.SessionId, S.info("Authenticated to Ikon server"), await this.connectProtocol(this.authResponse.Entrypoints);
6947
+ this.authResponse = r.authResponse, this._sessionId = r.authResponse.ClientContext.SessionId, T.info("Authenticated to Ikon server"), await this.connectProtocol(this.authResponse.Entrypoints);
6939
6948
  } catch (r) {
6940
6949
  if (r instanceof DOMException && r.name === "AbortError")
6941
6950
  return;
6942
- throw S.error("Connection failed:", r), this.clearTimers(), this.setState("offline"), this.config.onError?.(r instanceof Error ? r : new Error(String(r))), r;
6951
+ throw T.error("Connection failed:", r), this.clearTimers(), this.setState("offline"), this.config.onError?.(r instanceof Error ? r : new Error(String(r))), r;
6943
6952
  }
6944
6953
  }
6945
6954
  /**
6946
6955
  * Disconnect from the server.
6947
6956
  */
6948
6957
  disconnect() {
6949
- S.info("Disconnecting from Ikon server"), this.clearTimers(), this.cleanupLifecycleHandlers(), this._externalTokenCleanup && (this._externalTokenCleanup(), this._externalTokenCleanup = null), this._mediaCapture?.dispose(), this.unregisterMediaCaptureFunctions && (this.unregisterMediaCaptureFunctions(), this.unregisterMediaCaptureFunctions = null), this.unregisterBrowserFunctions && (this.unregisterBrowserFunctions(), this.unregisterBrowserFunctions = null), this.abortController?.abort(), this.abortController = null, this.disconnectProtocol(), this.authResponse = null, this._sessionId = void 0, this._globalState = null, this._globalStateReceived = !1, this._channelsConnected = !1, this._joinedHandled = !1, this._functionRegistry.detach(), this.setState("idle");
6958
+ T.info("Disconnecting from Ikon server"), this.clearTimers(), this.cleanupLifecycleHandlers(), this._externalConnectUrlCleanup && (this._externalConnectUrlCleanup(), this._externalConnectUrlCleanup = null), this._mediaCapture?.dispose(), this.unregisterMediaCaptureFunctions && (this.unregisterMediaCaptureFunctions(), this.unregisterMediaCaptureFunctions = null), this.unregisterBrowserFunctions && (this.unregisterBrowserFunctions(), this.unregisterBrowserFunctions = null), this.abortController?.abort(), this.abortController = null, this.disconnectProtocol(), this.authResponse = null, this._sessionId = void 0, this._globalState = null, this._globalStateReceived = !1, this._channelsConnected = !1, this._joinedHandled = !1, this._functionRegistry.detach(), this.setState("idle");
6950
6959
  }
6951
6960
  sendActionCall(e, r) {
6952
6961
  const n = ln(
@@ -6972,7 +6981,7 @@ class Vl {
6972
6981
  this.channelManager.sendProtocolMessage(e);
6973
6982
  return;
6974
6983
  }
6975
- S.warn("Cannot send: not connected");
6984
+ T.warn("Cannot send: not connected");
6976
6985
  }
6977
6986
  /**
6978
6987
  * Create a MessagePort that receives raw protocol message buffers.
@@ -7010,7 +7019,7 @@ class Vl {
7010
7019
  s.start?.();
7011
7020
  const i = this.subscribeToProtocolMessages(
7012
7021
  (o) => {
7013
- const a = se(o), c = o.slice().buffer;
7022
+ const a = ie(o), c = o.slice().buffer;
7014
7023
  s.postMessage({ type: "protocol", message: c, headers: a }, [c]);
7015
7024
  },
7016
7025
  { opcodeGroupsMask: e.opcodeGroupsMask }
@@ -7065,11 +7074,11 @@ class Vl {
7065
7074
  if (!(!a || typeof a != "object") && !(a.type !== "send" || !(a.message instanceof ArrayBuffer)))
7066
7075
  try {
7067
7076
  const c = new Uint8Array(a.message);
7068
- if ((ue(c) & e.opcodeGroupsMask) === 0)
7077
+ if ((he(c) & e.opcodeGroupsMask) === 0)
7069
7078
  return;
7070
7079
  this.channelManager?.sendProtocolMessage(c);
7071
7080
  } catch (c) {
7072
- S.warn(`Failed to forward protocol send port message: ${c}`);
7081
+ T.warn(`Failed to forward protocol send port message: ${c}`);
7073
7082
  }
7074
7083
  };
7075
7084
  try {
@@ -7125,26 +7134,26 @@ class Vl {
7125
7134
  async authenticate() {
7126
7135
  const e = this.abortController?.signal;
7127
7136
  if (this.config.local)
7128
- return Qa(this.config.local, e);
7137
+ return qa(this.config.local, e);
7129
7138
  if (this.config.apiKey)
7130
- return Za(this.config.apiKey, e);
7139
+ return ec(this.config.apiKey, e);
7131
7140
  if (this.config.sessionToken)
7132
- return qa(this.config.sessionToken, e);
7141
+ return tc(this.config.sessionToken, e);
7133
7142
  throw new Error("No connection configuration provided (need local, apiKey, or sessionToken)");
7134
7143
  }
7135
7144
  /**
7136
7145
  * Handle incoming protocol message from channel manager.
7137
7146
  */
7138
7147
  handleProtocolMessage(e) {
7139
- const r = de(e), n = ue(e);
7148
+ const r = fe(e), n = he(e);
7140
7149
  if (this._functionRegistry.handleProtocolMessage(e, r)) {
7141
7150
  this.notifyMessageSubscribers(e, r, n);
7142
7151
  return;
7143
7152
  }
7144
- r === T.CORE_GLOBAL_STATE && Ho(e).then((s) => {
7145
- this._globalState = s, this._sessionId !== void 0 && this._functionRegistry.syncFromGlobalState(s, this._sessionId), this._globalState.DebugMode && Sl(), Tl() && this.protocolWorker && this.protocolWorker.postMessage({ type: "enableDevtools", enabled: !0 }), this._globalStateReceived || (this._globalStateReceived = !0, this.tryHandleJoined());
7153
+ r === S.CORE_GLOBAL_STATE && Ho(e).then((s) => {
7154
+ this._globalState = s, this._sessionId !== void 0 && this._functionRegistry.syncFromGlobalState(s, this._sessionId), this._globalState.DebugMode && Al(), wl() && this.protocolWorker && this.protocolWorker.postMessage({ type: "enableDevtools", enabled: !0 }), this._globalStateReceived || (this._globalStateReceived = !0, this.tryHandleJoined());
7146
7155
  }).catch((s) => {
7147
- S.error("Failed to parse GlobalState:", s);
7156
+ T.error("Failed to parse GlobalState:", s);
7148
7157
  }), this.notifyMessageSubscribers(e, r, n);
7149
7158
  }
7150
7159
  /**
@@ -7158,17 +7167,17 @@ class Vl {
7158
7167
  const c = i[a];
7159
7168
  try {
7160
7169
  if (c) {
7161
- if (c.opcodeGroupsMask !== void 0 && ((n ?? ue(e)) & c.opcodeGroupsMask) === 0)
7170
+ if (c.opcodeGroupsMask !== void 0 && ((n ?? he(e)) & c.opcodeGroupsMask) === 0)
7162
7171
  continue;
7163
7172
  if (c.opcodes && c.opcodes.length > 0) {
7164
- const l = r ?? de(e);
7173
+ const l = r ?? fe(e);
7165
7174
  if (!c.opcodes.includes(l))
7166
7175
  continue;
7167
7176
  }
7168
7177
  }
7169
7178
  s[a](e);
7170
7179
  } catch (l) {
7171
- S.error("Message subscriber error:", l);
7180
+ T.error("Message subscriber error:", l);
7172
7181
  }
7173
7182
  }
7174
7183
  }
@@ -7185,7 +7194,7 @@ class Vl {
7185
7194
  this.currentState === "connected" && this.setState("reconnecting");
7186
7195
  break;
7187
7196
  case "stopped":
7188
- S.info("Ikon server has stopped"), this.clearTimers(), this.setState("offline");
7197
+ T.info("Ikon server has stopped"), this.clearTimers(), this.setState("offline");
7189
7198
  break;
7190
7199
  case "offline":
7191
7200
  this.currentState !== "idle" && (this.clearTimers(), this.setState("offline"));
@@ -7210,7 +7219,7 @@ class Vl {
7210
7219
  try {
7211
7220
  r(e);
7212
7221
  } catch (n) {
7213
- S.error("State subscriber error:", n);
7222
+ T.error("State subscriber error:", n);
7214
7223
  }
7215
7224
  this.config.onConnectionStateChange?.(e);
7216
7225
  }
@@ -7220,7 +7229,7 @@ class Vl {
7220
7229
  * Use this for unrecoverable SDK internal errors.
7221
7230
  */
7222
7231
  setErrorState(e) {
7223
- S.error("SDK error, going offline:", e), this._lastError = e, this.clearTimers(), this.cleanupLifecycleHandlers(), this.disconnectProtocol(), this.currentState = "offlineError", this.config.onConnectionStateChange?.("offlineError"), this.config.onError?.(e);
7232
+ T.error("SDK error, going offline:", e), this._lastError = e, this.clearTimers(), this.cleanupLifecycleHandlers(), this.disconnectProtocol(), this.currentState = "offlineError", this.config.onConnectionStateChange?.("offlineError"), this.config.onError?.(e);
7224
7233
  }
7225
7234
  async connectProtocol(e) {
7226
7235
  if (typeof Worker > "u") {
@@ -7229,9 +7238,9 @@ class Vl {
7229
7238
  }
7230
7239
  let r;
7231
7240
  try {
7232
- r = new wl();
7241
+ r = new yl();
7233
7242
  } catch (l) {
7234
- S.warn(`Failed to create protocol worker, falling back to main thread: ${l}`), await this.connectProtocolOnMainThread(e);
7243
+ T.warn(`Failed to create protocol worker, falling back to main thread: ${l}`), await this.connectProtocolOnMainThread(e);
7235
7244
  return;
7236
7245
  }
7237
7246
  this.channelManager = null, this.protocolWorker = r, this.workerManagerState = "idle";
@@ -7260,7 +7269,7 @@ class Vl {
7260
7269
  E(new Error(`Protocol worker failed: ${f.join(" ")}`.trim()));
7261
7270
  });
7262
7271
  }), s = this.computeOrderedEndpointTypes(e), i = this.config.timeouts?.keepaliveTimeoutMs ?? nt, o = this.config.timeouts?.reconnectBackoffMs ?? st, a = this.config.timeouts?.maxReconnectAttempts ?? it;
7263
- this.updateWorkerInterestMask(), _l() && r.postMessage({ type: "enableDevtools", enabled: !0 }), r.postMessage({
7272
+ this.updateWorkerInterestMask(), Sl() && r.postMessage({ type: "enableDevtools", enabled: !0 }), r.postMessage({
7264
7273
  type: "connect",
7265
7274
  sessionId: this._sessionId,
7266
7275
  entrypoints: e,
@@ -7272,7 +7281,7 @@ class Vl {
7272
7281
  try {
7273
7282
  await n;
7274
7283
  } catch (l) {
7275
- S.warn(`Protocol worker connect failed, falling back to main thread: ${l}`), this.disconnectProtocol(), await this.connectProtocolOnMainThread(e);
7284
+ T.warn(`Protocol worker connect failed, falling back to main thread: ${l}`), this.disconnectProtocol(), await this.connectProtocolOnMainThread(e);
7276
7285
  }
7277
7286
  }
7278
7287
  async connectProtocolOnMainThread(e) {
@@ -7318,7 +7327,7 @@ class Vl {
7318
7327
  this.protocolWorker.postMessage({ type: "setInterest", opcodeGroupsMask: void 0 });
7319
7328
  return;
7320
7329
  }
7321
- let e = T.GROUP_CORE | T.GROUP_ACTIONS;
7330
+ let e = S.GROUP_CORE | S.GROUP_ACTIONS;
7322
7331
  for (const [, r] of this.messageSubscribers.entries()) {
7323
7332
  if (!r || r.opcodeGroupsMask === void 0) {
7324
7333
  this.protocolWorker.postMessage({ type: "setInterest", opcodeGroupsMask: void 0 });
@@ -7354,14 +7363,14 @@ class Vl {
7354
7363
  * Close connection cleanly to avoid orphaned connections on the server.
7355
7364
  */
7356
7365
  handleBeforeUnload() {
7357
- S.debug("Page unloading, closing connection..."), this.disconnect();
7366
+ T.debug("Page unloading, closing connection..."), this.disconnect();
7358
7367
  }
7359
7368
  /**
7360
7369
  * Handle page hide event (mobile-friendly, bfcache compatible).
7361
7370
  * Only disconnect if page is actually being unloaded (not persisted).
7362
7371
  */
7363
7372
  handlePageHide(e) {
7364
- e.persisted || (S.debug("Page hidden (not persisted), closing connection..."), this.disconnect());
7373
+ e.persisted || (T.debug("Page hidden (not persisted), closing connection..."), this.disconnect());
7365
7374
  }
7366
7375
  /**
7367
7376
  * Handle visibility change event.
@@ -7377,10 +7386,10 @@ class Vl {
7377
7386
  */
7378
7387
  checkConnectionHealth() {
7379
7388
  if (this.protocolWorker) {
7380
- this.currentState === "connected" && this.workerManagerState !== "connected" && (S.warn("Connection lost while page was backgrounded, reconnecting..."), this.setState("reconnecting"));
7389
+ this.currentState === "connected" && this.workerManagerState !== "connected" && (T.warn("Connection lost while page was backgrounded, reconnecting..."), this.setState("reconnecting"));
7381
7390
  return;
7382
7391
  }
7383
- this.channelManager && this.currentState === "connected" && this.channelManager.managerState !== "connected" && (S.warn("Connection lost while page was backgrounded, reconnecting..."), this.setState("reconnecting"));
7392
+ this.channelManager && this.currentState === "connected" && this.channelManager.managerState !== "connected" && (T.warn("Connection lost while page was backgrounded, reconnecting..."), this.setState("reconnecting"));
7384
7393
  }
7385
7394
  /**
7386
7395
  * Try to handle joined state - only proceeds if both channels are connected and GlobalState is received.
@@ -7401,157 +7410,157 @@ class Vl {
7401
7410
  const e = tt(et(), this._sessionId ?? 0);
7402
7411
  this.sendProtocolMessage(e);
7403
7412
  } catch (e) {
7404
- S.error("onJoined callback error:", e);
7413
+ T.error("onJoined callback error:", e);
7405
7414
  const r = tt(et(), this._sessionId ?? 0);
7406
7415
  this.sendProtocolMessage(r);
7407
7416
  }
7408
7417
  }
7409
7418
  /**
7410
- * Set up listener for external token from parent window.
7419
+ * Set up listener for external connect URL from parent window.
7411
7420
  * Returns cleanup function to remove the listener.
7412
7421
  */
7413
- setupExternalTokenListener() {
7422
+ setupExternalConnectUrlListener() {
7414
7423
  const e = (r) => {
7415
- r.data?.type === "IKON_PREVIEW_TOKEN" && typeof r.data.serverUrl == "string" && (S.info("Received external token from parent window"), this.handleExternalToken(r.data.serverUrl).catch((n) => {
7416
- S.error("Failed to connect with external token:", n), this.config.onError?.(n instanceof Error ? n : new Error(String(n))), this.setState("offlineError");
7424
+ r.data?.type === "IKON_EXTERNAL_CONNECT_URL" && typeof r.data.serverUrl == "string" && (T.info("Received external connect URL from parent window"), this.handleExternalConnectUrl(r.data.serverUrl).catch((n) => {
7425
+ T.error("Failed to connect with external connect URL:", n), this.config.onError?.(n instanceof Error ? n : new Error(String(n))), this.setState("offlineError");
7417
7426
  }));
7418
7427
  };
7419
- return window.addEventListener("message", e), S.debug("External token listener registered"), () => {
7420
- window.removeEventListener("message", e), S.debug("External token listener removed");
7428
+ return window.addEventListener("message", e), T.debug("External connect URL listener registered"), () => {
7429
+ window.removeEventListener("message", e), T.debug("External connect URL listener removed");
7421
7430
  };
7422
7431
  }
7423
7432
  /**
7424
- * Handle external token injection from parent window.
7433
+ * Handle external connect URL injection from parent window.
7425
7434
  */
7426
- async handleExternalToken(e) {
7427
- if (this.currentState !== "waitingForToken")
7428
- throw new Error(`Cannot connect with external token: already in state ${this.currentState}`);
7429
- S.info("Connecting with external token");
7435
+ async handleExternalConnectUrl(e) {
7436
+ if (this.currentState !== "waitingForExternalConnectUrl")
7437
+ throw new Error(`Cannot connect with external connect URL: already in state ${this.currentState}`);
7438
+ T.info("Connecting with external connect URL");
7430
7439
  try {
7431
- await this.executeConnection(() => Ae(e, this.abortController.signal));
7440
+ await this.executeConnection(() => ne(e, this.abortController.signal));
7432
7441
  } finally {
7433
- this._externalTokenCleanup && (this._externalTokenCleanup(), this._externalTokenCleanup = null);
7442
+ this._externalConnectUrlCleanup && (this._externalConnectUrlCleanup(), this._externalConnectUrlCleanup = null);
7434
7443
  }
7435
7444
  }
7436
7445
  }
7437
- function Wl(t) {
7438
- return t === "waitingForToken" || t === "connecting" || t === "connectingSlow" || t === "reconnecting";
7446
+ function $l(t) {
7447
+ return t === "waitingForExternalConnectUrl" || t === "connecting" || t === "connectingSlow" || t === "reconnecting";
7439
7448
  }
7440
- function Hl(t) {
7449
+ function Kl(t) {
7441
7450
  return t === "connected";
7442
7451
  }
7443
- function $l(t) {
7452
+ function Yl(t) {
7444
7453
  return t === "offline" || t === "offlineError" || t === "idle";
7445
7454
  }
7446
- function Kl(t) {
7455
+ function jl(t) {
7447
7456
  return t === "offlineError";
7448
7457
  }
7449
7458
  const Hr = /* @__PURE__ */ new Map();
7450
- for (const [t, e] of Object.entries(T))
7459
+ for (const [t, e] of Object.entries(S))
7451
7460
  typeof e == "number" && Hr.set(e, t);
7452
- function Yl(t) {
7461
+ function zl(t) {
7453
7462
  return Hr.get(t) ?? `UNKNOWN_${t}`;
7454
7463
  }
7455
- const $r = 1e3, Kr = we.INFO;
7464
+ const $r = 1e3, Kr = Ae.INFO;
7456
7465
  let L = [], Fe = $r, Yr = Kr, Pe = null;
7457
- function gl(t) {
7466
+ function Cl(t) {
7458
7467
  t.level < Yr || (L.push(t), L.length > Fe && (L = L.slice(-Fe)));
7459
7468
  }
7460
- function Nl(t) {
7461
- Fe = t?.maxBufferSize ?? $r, Yr = t?.minLevel ?? Kr, L = [], Oa(gl);
7469
+ function Rl(t) {
7470
+ Fe = t?.maxBufferSize ?? $r, Yr = t?.minLevel ?? Kr, L = [], Oa(Cl);
7462
7471
  }
7463
- function jl(t) {
7472
+ function Xl(t) {
7464
7473
  Pe = t;
7465
7474
  }
7466
- function zl() {
7475
+ function Jl() {
7467
7476
  return L;
7468
7477
  }
7469
- function Cl() {
7478
+ function bl() {
7470
7479
  const t = L;
7471
7480
  return L = [], t;
7472
7481
  }
7473
- function Xl() {
7482
+ function Ql() {
7474
7483
  if (!Pe || L.length === 0)
7475
7484
  return 0;
7476
- const t = Cl();
7485
+ const t = bl();
7477
7486
  return Pe(t), t.length;
7478
7487
  }
7479
- function Jl() {
7488
+ function Zl() {
7480
7489
  L = [];
7481
7490
  }
7482
- function Ql() {
7491
+ function ql() {
7483
7492
  return L.length;
7484
7493
  }
7485
- Nl();
7494
+ Rl();
7486
7495
  export {
7487
7496
  g as AuthenticationError,
7488
7497
  Ga as Channel,
7489
7498
  Va as ChannelManager,
7490
- Rl as ChannelNotFoundError,
7499
+ Ul as ChannelNotFoundError,
7491
7500
  J as ClientType,
7492
7501
  je as ConnectionError,
7493
7502
  Q as ContextType,
7494
- Al as EndpointSelector,
7503
+ gl as EndpointSelector,
7495
7504
  k as EntrypointType,
7496
- Dc as FunctionRegistry,
7497
- Fl as IKON_AUTH_BASE_URL,
7505
+ Oc as FunctionRegistry,
7506
+ Bl as IKON_AUTH_BASE_URL,
7498
7507
  at as IKON_AUTH_URL_DEV,
7499
7508
  ot as IKON_AUTH_URL_PROD,
7500
- me as IKON_BACKEND_URL_DEV,
7509
+ _e as IKON_BACKEND_URL_DEV,
7501
7510
  Oe as IKON_BACKEND_URL_PROD,
7502
- al as IkonAudioCapture,
7511
+ ll as IkonAudioCapture,
7503
7512
  Ze as IkonAudioPlayback,
7504
- Vl as IkonClient,
7505
- hl as IkonImageCapture,
7506
- rl as IkonMedia,
7507
- Il as IkonMediaCapture,
7508
- pl as IkonVideoCapture,
7509
- tl as IkonVideoPlayback,
7513
+ Hl as IkonClient,
7514
+ fl as IkonImageCapture,
7515
+ sl as IkonMedia,
7516
+ _l as IkonMediaCapture,
7517
+ ml as IkonVideoCapture,
7518
+ nl as IkonVideoPlayback,
7510
7519
  ze as KeepaliveTimeoutError,
7511
- we as LogLevel,
7520
+ Ae as LogLevel,
7512
7521
  Da as MaxRetriesExceededError,
7513
- Ul as NoChannelsError,
7514
- T as Opcode,
7522
+ Ml as NoChannelsError,
7523
+ S as Opcode,
7515
7524
  Ma as ProvisioningTimeoutError,
7516
- kl as SpaceNotFoundError,
7525
+ Dl as SpaceNotFoundError,
7517
7526
  H as TransportError,
7518
7527
  q as UserType,
7519
- bl as asProtocolMessage,
7520
- Ll as clearDeviceId,
7521
- Jl as clearLogBuffer,
7528
+ kl as asProtocolMessage,
7529
+ Fl as clearDeviceId,
7530
+ Zl as clearLogBuffer,
7522
7531
  M as createLogger,
7523
- xl as deriveAuthUrl,
7524
- Bl as deriveBackendType,
7525
- Pl as deriveBackendUrl,
7526
- vl as extractUserIdFromToken,
7527
- Xl as flushLogs,
7528
- zl as getBufferedLogs,
7529
- Ql as getLogBufferSize,
7530
- Dl as getLogLevel,
7531
- Ml as getLogSink,
7532
- Yl as getOpcodeName,
7532
+ Vl as deriveAuthUrl,
7533
+ Gl as deriveBackendType,
7534
+ xl as deriveBackendUrl,
7535
+ Pl as extractUserIdFromToken,
7536
+ Ql as flushLogs,
7537
+ Jl as getBufferedLogs,
7538
+ ql as getLogBufferSize,
7539
+ Ol as getLogLevel,
7540
+ Ll as getLogSink,
7541
+ zl as getOpcodeName,
7533
7542
  Je as getOrCreateDeviceId,
7534
- _l as initializeDebugMode,
7535
- Nl as initializeLogSink,
7543
+ Sl as initializeDebugMode,
7544
+ Rl as initializeLogSink,
7536
7545
  vr as isAudioWorkletSupported,
7537
7546
  ct as isBrowserEnvironment,
7538
7547
  Qe as isCloudEnvironment,
7539
- Hl as isConnected,
7540
- Wl as isConnecting,
7541
- Tl as isDebugModeEnabled,
7542
- Kl as isError,
7543
- $l as isOffline,
7544
- he as isSharedArrayBufferSupported,
7548
+ Kl as isConnected,
7549
+ $l as isConnecting,
7550
+ wl as isDebugModeEnabled,
7551
+ jl as isError,
7552
+ Yl as isOffline,
7553
+ de as isSharedArrayBufferSupported,
7545
7554
  gr as isWebTransportSupported,
7546
- Gl as parseUrlParams,
7547
- de as readOpcode,
7548
- ue as readOpcodeGroup,
7549
- se as readProtocolMessageHeaders,
7550
- Cc as registerBrowserFunctions,
7555
+ Wl as parseUrlParams,
7556
+ fe as readOpcode,
7557
+ he as readOpcodeGroup,
7558
+ ie as readProtocolMessageHeaders,
7559
+ bc as registerBrowserFunctions,
7551
7560
  yr as setLogLevel,
7552
7561
  Oa as setLogSink,
7553
- jl as setSendLogsCallback,
7554
- Ol as subscribeToLogEvents,
7555
- Cl as takeBufferedLogs,
7556
- Mc as withResultData
7562
+ Xl as setSendLogsCallback,
7563
+ vl as subscribeToLogEvents,
7564
+ bl as takeBufferedLogs,
7565
+ Lc as withResultData
7557
7566
  };