@floe-ai/sdk 0.1.0-dev.23 → 0.1.0-dev.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  var fc = Object.defineProperty;
2
2
  var gc = (r, e, t) => e in r ? fc(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
- var O = (r, e, t) => gc(r, typeof e != "symbol" ? e + "" : e, t);
3
+ var A = (r, e, t) => gc(r, typeof e != "symbol" ? e + "" : e, t);
4
4
  import $s, { useState as Ue, useEffect as Ye, useRef as wn, useCallback as We, useMemo as mc } from "react";
5
5
  import bc from "react-dom/client";
6
6
  import { jsx as T, jsxs as G, Fragment as fn } from "react/jsx-runtime";
@@ -3917,7 +3917,7 @@ function Oe(r, e) {
3917
3917
  return r != r && e != e;
3918
3918
  }
3919
3919
  const qc = { "Amazon Silk": "amazon_silk", "Android Browser": "android", Bada: "bada", BlackBerry: "blackberry", Chrome: "chrome", Chromium: "chromium", Electron: "electron", Epiphany: "epiphany", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", "Internet Explorer": "ie", "K-Meleon": "k_meleon", Maxthon: "maxthon", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", Opera: "opera", "Opera Coast": "opera_coast", PhantomJS: "phantomjs", Puffin: "puffin", QupZilla: "qupzilla", QQ: "qq", QQLite: "qqlite", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", "Yandex Browser": "yandex", Roku: "roku" }, ga = { amazon_silk: "Amazon Silk", android: "Android Browser", bada: "Bada", blackberry: "BlackBerry", chrome: "Chrome", chromium: "Chromium", electron: "Electron", epiphany: "Epiphany", firefox: "Firefox", focus: "Focus", generic: "Generic", googlebot: "Googlebot", google_search: "Google Search", ie: "Internet Explorer", k_meleon: "K-Meleon", maxthon: "Maxthon", edge: "Microsoft Edge", mz: "MZ Browser", naver: "NAVER Whale Browser", opera: "Opera", opera_coast: "Opera Coast", phantomjs: "PhantomJS", puffin: "Puffin", qupzilla: "QupZilla", qq: "QQ Browser", qqlite: "QQ Browser Lite", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", sleipnir: "Sleipnir", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yandex: "Yandex Browser" }, ye = { tablet: "tablet", mobile: "mobile", desktop: "desktop", tv: "tv" }, Ae = { WindowsPhone: "Windows Phone", Windows: "Windows", MacOS: "macOS", iOS: "iOS", Android: "Android", WebOS: "WebOS", BlackBerry: "BlackBerry", Bada: "Bada", Tizen: "Tizen", Linux: "Linux", ChromeOS: "Chrome OS", PlayStation4: "PlayStation 4", Roku: "Roku" }, vt = { EdgeHTML: "EdgeHTML", Blink: "Blink", Trident: "Trident", Presto: "Presto", Gecko: "Gecko", WebKit: "WebKit" };
3920
- class A {
3920
+ class O {
3921
3921
  static getFirstMatch(e, t) {
3922
3922
  const n = t.match(e);
3923
3923
  return n && n.length > 0 && n[1] || "";
@@ -3991,11 +3991,11 @@ class A {
3991
3991
  return e.split(".").length;
3992
3992
  }
3993
3993
  static compareVersions(e, t, n = !1) {
3994
- const i = A.getVersionPrecision(e), o = A.getVersionPrecision(t);
3994
+ const i = O.getVersionPrecision(e), o = O.getVersionPrecision(t);
3995
3995
  let s = Math.max(i, o), a = 0;
3996
- const c = A.map([e, t], (u) => {
3997
- const d = s - A.getVersionPrecision(u), h = u + new Array(d + 1).join(".0");
3998
- return A.map(h.split("."), (g) => new Array(20 - g.length).join("0") + g).reverse();
3996
+ const c = O.map([e, t], (u) => {
3997
+ const d = s - O.getVersionPrecision(u), h = u + new Array(d + 1).join(".0");
3998
+ return O.map(h.split("."), (g) => new Array(20 - g.length).join("0") + g).reverse();
3999
3999
  });
4000
4000
  for (n && (a = s - Math.min(i, o)), s -= 1; s >= a; ) {
4001
4001
  if (c[0][s] > c[1][s]) return 1;
@@ -4040,207 +4040,207 @@ class A {
4040
4040
  }
4041
4041
  }
4042
4042
  const he = /version\/(\d+(\.?_?\d+)+)/i, Vc = [{ test: [/googlebot/i], describe(r) {
4043
- const e = { name: "Googlebot" }, t = A.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, r) || A.getFirstMatch(he, r);
4043
+ const e = { name: "Googlebot" }, t = O.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, r) || O.getFirstMatch(he, r);
4044
4044
  return t && (e.version = t), e;
4045
4045
  } }, { test: [/opera/i], describe(r) {
4046
- const e = { name: "Opera" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, r);
4046
+ const e = { name: "Opera" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, r);
4047
4047
  return t && (e.version = t), e;
4048
4048
  } }, { test: [/opr\/|opios/i], describe(r) {
4049
- const e = { name: "Opera" }, t = A.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, r) || A.getFirstMatch(he, r);
4049
+ const e = { name: "Opera" }, t = O.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, r) || O.getFirstMatch(he, r);
4050
4050
  return t && (e.version = t), e;
4051
4051
  } }, { test: [/SamsungBrowser/i], describe(r) {
4052
- const e = { name: "Samsung Internet for Android" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, r);
4052
+ const e = { name: "Samsung Internet for Android" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, r);
4053
4053
  return t && (e.version = t), e;
4054
4054
  } }, { test: [/Whale/i], describe(r) {
4055
- const e = { name: "NAVER Whale Browser" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, r);
4055
+ const e = { name: "NAVER Whale Browser" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, r);
4056
4056
  return t && (e.version = t), e;
4057
4057
  } }, { test: [/MZBrowser/i], describe(r) {
4058
- const e = { name: "MZ Browser" }, t = A.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, r) || A.getFirstMatch(he, r);
4058
+ const e = { name: "MZ Browser" }, t = O.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, r) || O.getFirstMatch(he, r);
4059
4059
  return t && (e.version = t), e;
4060
4060
  } }, { test: [/focus/i], describe(r) {
4061
- const e = { name: "Focus" }, t = A.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, r) || A.getFirstMatch(he, r);
4061
+ const e = { name: "Focus" }, t = O.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, r) || O.getFirstMatch(he, r);
4062
4062
  return t && (e.version = t), e;
4063
4063
  } }, { test: [/swing/i], describe(r) {
4064
- const e = { name: "Swing" }, t = A.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, r) || A.getFirstMatch(he, r);
4064
+ const e = { name: "Swing" }, t = O.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, r) || O.getFirstMatch(he, r);
4065
4065
  return t && (e.version = t), e;
4066
4066
  } }, { test: [/coast/i], describe(r) {
4067
- const e = { name: "Opera Coast" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, r);
4067
+ const e = { name: "Opera Coast" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, r);
4068
4068
  return t && (e.version = t), e;
4069
4069
  } }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe(r) {
4070
- const e = { name: "Opera Touch" }, t = A.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4070
+ const e = { name: "Opera Touch" }, t = O.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4071
4071
  return t && (e.version = t), e;
4072
4072
  } }, { test: [/yabrowser/i], describe(r) {
4073
- const e = { name: "Yandex Browser" }, t = A.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4073
+ const e = { name: "Yandex Browser" }, t = O.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4074
4074
  return t && (e.version = t), e;
4075
4075
  } }, { test: [/ucbrowser/i], describe(r) {
4076
- const e = { name: "UC Browser" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, r);
4076
+ const e = { name: "UC Browser" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, r);
4077
4077
  return t && (e.version = t), e;
4078
4078
  } }, { test: [/Maxthon|mxios/i], describe(r) {
4079
- const e = { name: "Maxthon" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, r);
4079
+ const e = { name: "Maxthon" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, r);
4080
4080
  return t && (e.version = t), e;
4081
4081
  } }, { test: [/epiphany/i], describe(r) {
4082
- const e = { name: "Epiphany" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, r);
4082
+ const e = { name: "Epiphany" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, r);
4083
4083
  return t && (e.version = t), e;
4084
4084
  } }, { test: [/puffin/i], describe(r) {
4085
- const e = { name: "Puffin" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, r);
4085
+ const e = { name: "Puffin" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, r);
4086
4086
  return t && (e.version = t), e;
4087
4087
  } }, { test: [/sleipnir/i], describe(r) {
4088
- const e = { name: "Sleipnir" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, r);
4088
+ const e = { name: "Sleipnir" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, r);
4089
4089
  return t && (e.version = t), e;
4090
4090
  } }, { test: [/k-meleon/i], describe(r) {
4091
- const e = { name: "K-Meleon" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, r);
4091
+ const e = { name: "K-Meleon" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, r);
4092
4092
  return t && (e.version = t), e;
4093
4093
  } }, { test: [/micromessenger/i], describe(r) {
4094
- const e = { name: "WeChat" }, t = A.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4094
+ const e = { name: "WeChat" }, t = O.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4095
4095
  return t && (e.version = t), e;
4096
4096
  } }, { test: [/qqbrowser/i], describe(r) {
4097
- const e = { name: /qqbrowserlite/i.test(r) ? "QQ Browser Lite" : "QQ Browser" }, t = A.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4097
+ const e = { name: /qqbrowserlite/i.test(r) ? "QQ Browser Lite" : "QQ Browser" }, t = O.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4098
4098
  return t && (e.version = t), e;
4099
4099
  } }, { test: [/msie|trident/i], describe(r) {
4100
- const e = { name: "Internet Explorer" }, t = A.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, r);
4100
+ const e = { name: "Internet Explorer" }, t = O.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, r);
4101
4101
  return t && (e.version = t), e;
4102
4102
  } }, { test: [/\sedg\//i], describe(r) {
4103
- const e = { name: "Microsoft Edge" }, t = A.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, r);
4103
+ const e = { name: "Microsoft Edge" }, t = O.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, r);
4104
4104
  return t && (e.version = t), e;
4105
4105
  } }, { test: [/edg([ea]|ios)/i], describe(r) {
4106
- const e = { name: "Microsoft Edge" }, t = A.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, r);
4106
+ const e = { name: "Microsoft Edge" }, t = O.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, r);
4107
4107
  return t && (e.version = t), e;
4108
4108
  } }, { test: [/vivaldi/i], describe(r) {
4109
- const e = { name: "Vivaldi" }, t = A.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, r);
4109
+ const e = { name: "Vivaldi" }, t = O.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, r);
4110
4110
  return t && (e.version = t), e;
4111
4111
  } }, { test: [/seamonkey/i], describe(r) {
4112
- const e = { name: "SeaMonkey" }, t = A.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, r);
4112
+ const e = { name: "SeaMonkey" }, t = O.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, r);
4113
4113
  return t && (e.version = t), e;
4114
4114
  } }, { test: [/sailfish/i], describe(r) {
4115
- const e = { name: "Sailfish" }, t = A.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, r);
4115
+ const e = { name: "Sailfish" }, t = O.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, r);
4116
4116
  return t && (e.version = t), e;
4117
4117
  } }, { test: [/silk/i], describe(r) {
4118
- const e = { name: "Amazon Silk" }, t = A.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, r);
4118
+ const e = { name: "Amazon Silk" }, t = O.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, r);
4119
4119
  return t && (e.version = t), e;
4120
4120
  } }, { test: [/phantom/i], describe(r) {
4121
- const e = { name: "PhantomJS" }, t = A.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, r);
4121
+ const e = { name: "PhantomJS" }, t = O.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, r);
4122
4122
  return t && (e.version = t), e;
4123
4123
  } }, { test: [/slimerjs/i], describe(r) {
4124
- const e = { name: "SlimerJS" }, t = A.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, r);
4124
+ const e = { name: "SlimerJS" }, t = O.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, r);
4125
4125
  return t && (e.version = t), e;
4126
4126
  } }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe(r) {
4127
- const e = { name: "BlackBerry" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, r);
4127
+ const e = { name: "BlackBerry" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, r);
4128
4128
  return t && (e.version = t), e;
4129
4129
  } }, { test: [/(web|hpw)[o0]s/i], describe(r) {
4130
- const e = { name: "WebOS Browser" }, t = A.getFirstMatch(he, r) || A.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, r);
4130
+ const e = { name: "WebOS Browser" }, t = O.getFirstMatch(he, r) || O.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, r);
4131
4131
  return t && (e.version = t), e;
4132
4132
  } }, { test: [/bada/i], describe(r) {
4133
- const e = { name: "Bada" }, t = A.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, r);
4133
+ const e = { name: "Bada" }, t = O.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, r);
4134
4134
  return t && (e.version = t), e;
4135
4135
  } }, { test: [/tizen/i], describe(r) {
4136
- const e = { name: "Tizen" }, t = A.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4136
+ const e = { name: "Tizen" }, t = O.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4137
4137
  return t && (e.version = t), e;
4138
4138
  } }, { test: [/qupzilla/i], describe(r) {
4139
- const e = { name: "QupZilla" }, t = A.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4139
+ const e = { name: "QupZilla" }, t = O.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4140
4140
  return t && (e.version = t), e;
4141
4141
  } }, { test: [/firefox|iceweasel|fxios/i], describe(r) {
4142
- const e = { name: "Firefox" }, t = A.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, r);
4142
+ const e = { name: "Firefox" }, t = O.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, r);
4143
4143
  return t && (e.version = t), e;
4144
4144
  } }, { test: [/electron/i], describe(r) {
4145
- const e = { name: "Electron" }, t = A.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, r);
4145
+ const e = { name: "Electron" }, t = O.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, r);
4146
4146
  return t && (e.version = t), e;
4147
4147
  } }, { test: [/MiuiBrowser/i], describe(r) {
4148
- const e = { name: "Miui" }, t = A.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, r);
4148
+ const e = { name: "Miui" }, t = O.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, r);
4149
4149
  return t && (e.version = t), e;
4150
4150
  } }, { test: [/chromium/i], describe(r) {
4151
- const e = { name: "Chromium" }, t = A.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, r) || A.getFirstMatch(he, r);
4151
+ const e = { name: "Chromium" }, t = O.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, r) || O.getFirstMatch(he, r);
4152
4152
  return t && (e.version = t), e;
4153
4153
  } }, { test: [/chrome|crios|crmo/i], describe(r) {
4154
- const e = { name: "Chrome" }, t = A.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, r);
4154
+ const e = { name: "Chrome" }, t = O.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, r);
4155
4155
  return t && (e.version = t), e;
4156
4156
  } }, { test: [/GSA/i], describe(r) {
4157
- const e = { name: "Google Search" }, t = A.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, r);
4157
+ const e = { name: "Google Search" }, t = O.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, r);
4158
4158
  return t && (e.version = t), e;
4159
4159
  } }, { test(r) {
4160
4160
  const e = !r.test(/like android/i), t = r.test(/android/i);
4161
4161
  return e && t;
4162
4162
  }, describe(r) {
4163
- const e = { name: "Android Browser" }, t = A.getFirstMatch(he, r);
4163
+ const e = { name: "Android Browser" }, t = O.getFirstMatch(he, r);
4164
4164
  return t && (e.version = t), e;
4165
4165
  } }, { test: [/playstation 4/i], describe(r) {
4166
- const e = { name: "PlayStation 4" }, t = A.getFirstMatch(he, r);
4166
+ const e = { name: "PlayStation 4" }, t = O.getFirstMatch(he, r);
4167
4167
  return t && (e.version = t), e;
4168
4168
  } }, { test: [/safari|applewebkit/i], describe(r) {
4169
- const e = { name: "Safari" }, t = A.getFirstMatch(he, r);
4169
+ const e = { name: "Safari" }, t = O.getFirstMatch(he, r);
4170
4170
  return t && (e.version = t), e;
4171
4171
  } }, { test: [/.*/i], describe(r) {
4172
4172
  const e = r.search("\\(") !== -1 ? /^(.*)\/(.*)[ \t]\((.*)/ : /^(.*)\/(.*) /;
4173
- return { name: A.getFirstMatch(e, r), version: A.getSecondMatch(e, r) };
4173
+ return { name: O.getFirstMatch(e, r), version: O.getSecondMatch(e, r) };
4174
4174
  } }];
4175
4175
  var Kc = [{ test: [/Roku\/DVP/], describe(r) {
4176
- const e = A.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, r);
4176
+ const e = O.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, r);
4177
4177
  return { name: Ae.Roku, version: e };
4178
4178
  } }, { test: [/windows phone/i], describe(r) {
4179
- const e = A.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, r);
4179
+ const e = O.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, r);
4180
4180
  return { name: Ae.WindowsPhone, version: e };
4181
4181
  } }, { test: [/windows /i], describe(r) {
4182
- const e = A.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, r), t = A.getWindowsVersionName(e);
4182
+ const e = O.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, r), t = O.getWindowsVersionName(e);
4183
4183
  return { name: Ae.Windows, version: e, versionName: t };
4184
4184
  } }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe(r) {
4185
- const e = { name: Ae.iOS }, t = A.getSecondMatch(/(Version\/)(\d[\d.]+)/, r);
4185
+ const e = { name: Ae.iOS }, t = O.getSecondMatch(/(Version\/)(\d[\d.]+)/, r);
4186
4186
  return t && (e.version = t), e;
4187
4187
  } }, { test: [/macintosh/i], describe(r) {
4188
- const e = A.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, r).replace(/[_\s]/g, "."), t = A.getMacOSVersionName(e), n = { name: Ae.MacOS, version: e };
4188
+ const e = O.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, r).replace(/[_\s]/g, "."), t = O.getMacOSVersionName(e), n = { name: Ae.MacOS, version: e };
4189
4189
  return t && (n.versionName = t), n;
4190
4190
  } }, { test: [/(ipod|iphone|ipad)/i], describe(r) {
4191
- const e = A.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, r).replace(/[_\s]/g, ".");
4191
+ const e = O.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, r).replace(/[_\s]/g, ".");
4192
4192
  return { name: Ae.iOS, version: e };
4193
4193
  } }, { test(r) {
4194
4194
  const e = !r.test(/like android/i), t = r.test(/android/i);
4195
4195
  return e && t;
4196
4196
  }, describe(r) {
4197
- const e = A.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, r), t = A.getAndroidVersionName(e), n = { name: Ae.Android, version: e };
4197
+ const e = O.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, r), t = O.getAndroidVersionName(e), n = { name: Ae.Android, version: e };
4198
4198
  return t && (n.versionName = t), n;
4199
4199
  } }, { test: [/(web|hpw)[o0]s/i], describe(r) {
4200
- const e = A.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, r), t = { name: Ae.WebOS };
4200
+ const e = O.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, r), t = { name: Ae.WebOS };
4201
4201
  return e && e.length && (t.version = e), t;
4202
4202
  } }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe(r) {
4203
- const e = A.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, r) || A.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, r) || A.getFirstMatch(/\bbb(\d+)/i, r);
4203
+ const e = O.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, r) || O.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, r) || O.getFirstMatch(/\bbb(\d+)/i, r);
4204
4204
  return { name: Ae.BlackBerry, version: e };
4205
4205
  } }, { test: [/bada/i], describe(r) {
4206
- const e = A.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, r);
4206
+ const e = O.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, r);
4207
4207
  return { name: Ae.Bada, version: e };
4208
4208
  } }, { test: [/tizen/i], describe(r) {
4209
- const e = A.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, r);
4209
+ const e = O.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, r);
4210
4210
  return { name: Ae.Tizen, version: e };
4211
4211
  } }, { test: [/linux/i], describe: () => ({ name: Ae.Linux }) }, { test: [/CrOS/], describe: () => ({ name: Ae.ChromeOS }) }, { test: [/PlayStation 4/], describe(r) {
4212
- const e = A.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, r);
4212
+ const e = O.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, r);
4213
4213
  return { name: Ae.PlayStation4, version: e };
4214
4214
  } }], Wc = [{ test: [/googlebot/i], describe: () => ({ type: "bot", vendor: "Google" }) }, { test: [/huawei/i], describe(r) {
4215
- const e = A.getFirstMatch(/(can-l01)/i, r) && "Nova", t = { type: ye.mobile, vendor: "Huawei" };
4215
+ const e = O.getFirstMatch(/(can-l01)/i, r) && "Nova", t = { type: ye.mobile, vendor: "Huawei" };
4216
4216
  return e && (t.model = e), t;
4217
4217
  } }, { test: [/nexus\s*(?:7|8|9|10).*/i], describe: () => ({ type: ye.tablet, vendor: "Nexus" }) }, { test: [/ipad/i], describe: () => ({ type: ye.tablet, vendor: "Apple", model: "iPad" }) }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: () => ({ type: ye.tablet, vendor: "Apple", model: "iPad" }) }, { test: [/kftt build/i], describe: () => ({ type: ye.tablet, vendor: "Amazon", model: "Kindle Fire HD 7" }) }, { test: [/silk/i], describe: () => ({ type: ye.tablet, vendor: "Amazon" }) }, { test: [/tablet(?! pc)/i], describe: () => ({ type: ye.tablet }) }, { test(r) {
4218
4218
  const e = r.test(/ipod|iphone/i), t = r.test(/like (ipod|iphone)/i);
4219
4219
  return e && !t;
4220
4220
  }, describe(r) {
4221
- const e = A.getFirstMatch(/(ipod|iphone)/i, r);
4221
+ const e = O.getFirstMatch(/(ipod|iphone)/i, r);
4222
4222
  return { type: ye.mobile, vendor: "Apple", model: e };
4223
4223
  } }, { test: [/nexus\s*[0-6].*/i, /galaxy nexus/i], describe: () => ({ type: ye.mobile, vendor: "Nexus" }) }, { test: [/[^-]mobi/i], describe: () => ({ type: ye.mobile }) }, { test: (r) => r.getBrowserName(!0) === "blackberry", describe: () => ({ type: ye.mobile, vendor: "BlackBerry" }) }, { test: (r) => r.getBrowserName(!0) === "bada", describe: () => ({ type: ye.mobile }) }, { test: (r) => r.getBrowserName() === "windows phone", describe: () => ({ type: ye.mobile, vendor: "Microsoft" }) }, { test(r) {
4224
4224
  const e = Number(String(r.getOSVersion()).split(".")[0]);
4225
4225
  return r.getOSName(!0) === "android" && e >= 3;
4226
4226
  }, describe: () => ({ type: ye.tablet }) }, { test: (r) => r.getOSName(!0) === "android", describe: () => ({ type: ye.mobile }) }, { test: (r) => r.getOSName(!0) === "macos", describe: () => ({ type: ye.desktop, vendor: "Apple" }) }, { test: (r) => r.getOSName(!0) === "windows", describe: () => ({ type: ye.desktop }) }, { test: (r) => r.getOSName(!0) === "linux", describe: () => ({ type: ye.desktop }) }, { test: (r) => r.getOSName(!0) === "playstation 4", describe: () => ({ type: ye.tv }) }, { test: (r) => r.getOSName(!0) === "roku", describe: () => ({ type: ye.tv }) }], Jc = [{ test: (r) => r.getBrowserName(!0) === "microsoft edge", describe(r) {
4227
4227
  if (/\sedg\//i.test(r)) return { name: vt.Blink };
4228
- const e = A.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, r);
4228
+ const e = O.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, r);
4229
4229
  return { name: vt.EdgeHTML, version: e };
4230
4230
  } }, { test: [/trident/i], describe(r) {
4231
- const e = { name: vt.Trident }, t = A.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, r);
4231
+ const e = { name: vt.Trident }, t = O.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, r);
4232
4232
  return t && (e.version = t), e;
4233
4233
  } }, { test: (r) => r.test(/presto/i), describe(r) {
4234
- const e = { name: vt.Presto }, t = A.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, r);
4234
+ const e = { name: vt.Presto }, t = O.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, r);
4235
4235
  return t && (e.version = t), e;
4236
4236
  } }, { test(r) {
4237
4237
  const e = r.test(/gecko/i), t = r.test(/like gecko/i);
4238
4238
  return e && !t;
4239
4239
  }, describe(r) {
4240
- const e = { name: vt.Gecko }, t = A.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, r);
4240
+ const e = { name: vt.Gecko }, t = O.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, r);
4241
4241
  return t && (e.version = t), e;
4242
4242
  } }, { test: [/(apple)?webkit\/537\.36/i], describe: () => ({ name: vt.Blink }) }, { test: [/(apple)?webkit/i], describe(r) {
4243
- const e = { name: vt.WebKit }, t = A.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, r);
4243
+ const e = { name: vt.WebKit }, t = O.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, r);
4244
4244
  return t && (e.version = t), e;
4245
4245
  } }];
4246
4246
  class Vi {
@@ -4256,7 +4256,7 @@ class Vi {
4256
4256
  }
4257
4257
  parseBrowser() {
4258
4258
  this.parsedResult.browser = {};
4259
- const e = A.find(Vc, (t) => {
4259
+ const e = O.find(Vc, (t) => {
4260
4260
  if (typeof t.test == "function") return t.test(this);
4261
4261
  if (t.test instanceof Array) return t.test.some((n) => this.test(n));
4262
4262
  throw new Error("Browser's test function is not valid");
@@ -4277,7 +4277,7 @@ class Vi {
4277
4277
  }
4278
4278
  parseOS() {
4279
4279
  this.parsedResult.os = {};
4280
- const e = A.find(Kc, (t) => {
4280
+ const e = O.find(Kc, (t) => {
4281
4281
  if (typeof t.test == "function") return t.test(this);
4282
4282
  if (t.test instanceof Array) return t.test.some((n) => this.test(n));
4283
4283
  throw new Error("Browser's test function is not valid");
@@ -4300,7 +4300,7 @@ class Vi {
4300
4300
  }
4301
4301
  parsePlatform() {
4302
4302
  this.parsedResult.platform = {};
4303
- const e = A.find(Wc, (t) => {
4303
+ const e = O.find(Wc, (t) => {
4304
4304
  if (typeof t.test == "function") return t.test(this);
4305
4305
  if (t.test instanceof Array) return t.test.some((n) => this.test(n));
4306
4306
  throw new Error("Browser's test function is not valid");
@@ -4315,7 +4315,7 @@ class Vi {
4315
4315
  }
4316
4316
  parseEngine() {
4317
4317
  this.parsedResult.engine = {};
4318
- const e = A.find(Jc, (t) => {
4318
+ const e = O.find(Jc, (t) => {
4319
4319
  if (typeof t.test == "function") return t.test(this);
4320
4320
  if (t.test instanceof Array) return t.test.some((n) => this.test(n));
4321
4321
  throw new Error("Browser's test function is not valid");
@@ -4326,7 +4326,7 @@ class Vi {
4326
4326
  return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this;
4327
4327
  }
4328
4328
  getResult() {
4329
- return A.assign({}, this.parsedResult);
4329
+ return O.assign({}, this.parsedResult);
4330
4330
  }
4331
4331
  satisfies(e) {
4332
4332
  const t = {};
@@ -4337,32 +4337,32 @@ class Vi {
4337
4337
  const a = e[s];
4338
4338
  typeof a == "string" ? (i[s] = a, o += 1) : typeof a == "object" && (t[s] = a, n += 1);
4339
4339
  }), n > 0) {
4340
- const s = Object.keys(t), a = A.find(s, (u) => this.isOS(u));
4340
+ const s = Object.keys(t), a = O.find(s, (u) => this.isOS(u));
4341
4341
  if (a) {
4342
4342
  const u = this.satisfies(t[a]);
4343
4343
  if (u !== void 0) return u;
4344
4344
  }
4345
- const c = A.find(s, (u) => this.isPlatform(u));
4345
+ const c = O.find(s, (u) => this.isPlatform(u));
4346
4346
  if (c) {
4347
4347
  const u = this.satisfies(t[c]);
4348
4348
  if (u !== void 0) return u;
4349
4349
  }
4350
4350
  }
4351
4351
  if (o > 0) {
4352
- const s = Object.keys(i), a = A.find(s, (c) => this.isBrowser(c, !0));
4352
+ const s = Object.keys(i), a = O.find(s, (c) => this.isBrowser(c, !0));
4353
4353
  if (a !== void 0) return this.compareVersion(i[a]);
4354
4354
  }
4355
4355
  }
4356
4356
  isBrowser(e, t = !1) {
4357
4357
  const n = this.getBrowserName().toLowerCase();
4358
4358
  let i = e.toLowerCase();
4359
- const o = A.getBrowserTypeByAlias(i);
4359
+ const o = O.getBrowserTypeByAlias(i);
4360
4360
  return t && o && (i = o.toLowerCase()), i === n;
4361
4361
  }
4362
4362
  compareVersion(e) {
4363
4363
  let t = [0], n = e, i = !1;
4364
4364
  const o = this.getBrowserVersion();
4365
- if (typeof o == "string") return e[0] === ">" || e[0] === "<" ? (n = e.substr(1), e[1] === "=" ? (i = !0, n = e.substr(2)) : t = [], e[0] === ">" ? t.push(1) : t.push(-1)) : e[0] === "=" ? n = e.substr(1) : e[0] === "~" && (i = !0, n = e.substr(1)), t.indexOf(A.compareVersions(o, n, i)) > -1;
4365
+ if (typeof o == "string") return e[0] === ">" || e[0] === "<" ? (n = e.substr(1), e[1] === "=" ? (i = !0, n = e.substr(2)) : t = [], e[0] === ">" ? t.push(1) : t.push(-1)) : e[0] === "=" ? n = e.substr(1) : e[0] === "~" && (i = !0, n = e.substr(1)), t.indexOf(O.compareVersions(o, n, i)) > -1;
4366
4366
  }
4367
4367
  isOS(e) {
4368
4368
  return this.getOSName(!0) === String(e).toLowerCase();
@@ -12679,9 +12679,9 @@ const Ot = (r) => ({
12679
12679
  }, Ie = class Ie {
12680
12680
  constructor() {
12681
12681
  // Ref counters for generating unique IDs
12682
- O(this, "refCounters", {});
12682
+ A(this, "refCounters", {});
12683
12683
  // Cache for last snapshot (for change detection)
12684
- O(this, "lastSnapshotHash", "");
12684
+ A(this, "lastSnapshotHash", "");
12685
12685
  }
12686
12686
  // -------------------------------------------------------------------------
12687
12687
  // Main Capture Method
@@ -13347,7 +13347,7 @@ const Ot = (r) => ({
13347
13347
  // Static Configuration
13348
13348
  // -------------------------------------------------------------------------
13349
13349
  /** Implicit ARIA roles by HTML tag (W3C spec) */
13350
- O(Ie, "IMPLICIT_ROLES", {
13350
+ A(Ie, "IMPLICIT_ROLES", {
13351
13351
  button: "button",
13352
13352
  a: "link",
13353
13353
  input: "textbox",
@@ -13373,7 +13373,7 @@ O(Ie, "IMPLICIT_ROLES", {
13373
13373
  progress: "progressbar",
13374
13374
  meter: "meter"
13375
13375
  }), /** Input type to role mapping */
13376
- O(Ie, "INPUT_TYPE_ROLES", {
13376
+ A(Ie, "INPUT_TYPE_ROLES", {
13377
13377
  button: "button",
13378
13378
  submit: "button",
13379
13379
  reset: "button",
@@ -13389,7 +13389,7 @@ O(Ie, "INPUT_TYPE_ROLES", {
13389
13389
  text: "textbox",
13390
13390
  number: "spinbutton"
13391
13391
  }), /** Role prefixes for ref generation */
13392
- O(Ie, "ROLE_PREFIXES", {
13392
+ A(Ie, "ROLE_PREFIXES", {
13393
13393
  button: "B",
13394
13394
  link: "L",
13395
13395
  textbox: "T",
@@ -13410,7 +13410,7 @@ O(Ie, "ROLE_PREFIXES", {
13410
13410
  switch: "SW",
13411
13411
  navigation: "NAV"
13412
13412
  }), /** Interactive element selector */
13413
- O(Ie, "INTERACTIVE_SELECTOR", `
13413
+ A(Ie, "INTERACTIVE_SELECTOR", `
13414
13414
  button,
13415
13415
  a[href],
13416
13416
  input:not([type="hidden"]),
@@ -13434,7 +13434,7 @@ O(Ie, "INTERACTIVE_SELECTOR", `
13434
13434
  [contenteditable="true"],
13435
13435
  summary
13436
13436
  `.replace(/\s+/g, " ").trim()), /** Selectors to skip (our own UI, scripts, etc.) */
13437
- O(Ie, "SKIP_SELECTORS", [
13437
+ A(Ie, "SKIP_SELECTORS", [
13438
13438
  "#onboarding-overlay",
13439
13439
  "#onboarding-sdk-react-ui",
13440
13440
  "#hse-highlight-element",
@@ -13578,17 +13578,17 @@ function lc(r, e = {}) {
13578
13578
  }
13579
13579
  class Fs {
13580
13580
  constructor() {
13581
- O(this, "audioContext", null);
13582
- O(this, "analyzerNode", null);
13583
- O(this, "sourceNode", null);
13584
- O(this, "dataArray", new Uint8Array(0));
13585
- O(this, "isRunning", !1);
13586
- O(this, "onLevelsCallback", null);
13587
- O(this, "animationId", null);
13581
+ A(this, "audioContext", null);
13582
+ A(this, "analyzerNode", null);
13583
+ A(this, "sourceNode", null);
13584
+ A(this, "dataArray", new Uint8Array(0));
13585
+ A(this, "isRunning", !1);
13586
+ A(this, "onLevelsCallback", null);
13587
+ A(this, "animationId", null);
13588
13588
  /**
13589
13589
  * Analysis loop - runs via requestAnimationFrame
13590
13590
  */
13591
- O(this, "analyze", () => {
13591
+ A(this, "analyze", () => {
13592
13592
  if (!this.isRunning || !this.analyzerNode || this.dataArray.length === 0) return;
13593
13593
  this.analyzerNode.getByteFrequencyData(this.dataArray);
13594
13594
  const e = [];
@@ -13624,7 +13624,7 @@ class Fs {
13624
13624
  }
13625
13625
  class lh {
13626
13626
  constructor() {
13627
- O(this, "events", {});
13627
+ A(this, "events", {});
13628
13628
  }
13629
13629
  on(e, t) {
13630
13630
  return this.events[e] || (this.events[e] = []), this.events[e].push(t), this;
@@ -13643,13 +13643,13 @@ class lh {
13643
13643
  }
13644
13644
  class uh {
13645
13645
  constructor() {
13646
- O(this, "lastSnapshot", null);
13647
- O(this, "lastSnapshotHash", "");
13648
- O(this, "snapshotInterval", null);
13649
- O(this, "sendCallback", null);
13650
- O(this, "correlationCounter", 0);
13646
+ A(this, "lastSnapshot", null);
13647
+ A(this, "lastSnapshotHash", "");
13648
+ A(this, "snapshotInterval", null);
13649
+ A(this, "sendCallback", null);
13650
+ A(this, "correlationCounter", 0);
13651
13651
  // For tracking snapshots across client/server
13652
- O(this, "INTERACTIVE_TAGS", /* @__PURE__ */ new Set([
13652
+ A(this, "INTERACTIVE_TAGS", /* @__PURE__ */ new Set([
13653
13653
  "button",
13654
13654
  "a",
13655
13655
  "input",
@@ -13661,7 +13661,7 @@ class uh {
13661
13661
  "option",
13662
13662
  "menuitem"
13663
13663
  ]));
13664
- O(this, "INTERACTIVE_ROLES", /* @__PURE__ */ new Set([
13664
+ A(this, "INTERACTIVE_ROLES", /* @__PURE__ */ new Set([
13665
13665
  "button",
13666
13666
  "link",
13667
13667
  "menuitem",
@@ -13678,8 +13678,8 @@ class uh {
13678
13678
  /**
13679
13679
  * Setup mutation observer for significant DOM changes
13680
13680
  */
13681
- O(this, "mutationObserver", null);
13682
- O(this, "mutationDebounceTimer", null);
13681
+ A(this, "mutationObserver", null);
13682
+ A(this, "mutationDebounceTimer", null);
13683
13683
  }
13684
13684
  /**
13685
13685
  * Start periodic DOM snapshots
@@ -15453,13 +15453,13 @@ const St = class St {
15453
15453
  }
15454
15454
  };
15455
15455
  // Static reference to DOMIntrospector for bounding box lookups
15456
- O(St, "domIntrospector", null);
15456
+ A(St, "domIntrospector", null);
15457
15457
  let fe = St;
15458
15458
  class dh {
15459
15459
  constructor() {
15460
- O(this, "confirmationSound");
15460
+ A(this, "confirmationSound");
15461
15461
  /** Last error message from a failed action (e.g., modal overlay blocking click) */
15462
- O(this, "lastError", null);
15462
+ A(this, "lastError", null);
15463
15463
  this.confirmationSound = new Audio("data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=");
15464
15464
  }
15465
15465
  /**
@@ -16183,11 +16183,13 @@ ${e.description || ""}`;
16183
16183
  }
16184
16184
  class hh {
16185
16185
  constructor() {
16186
- O(this, "container", null);
16187
- O(this, "highlightEl", null);
16188
- O(this, "tooltipElement", null);
16189
- O(this, "floeCursor", null);
16186
+ A(this, "container", null);
16187
+ A(this, "highlightEl", null);
16188
+ A(this, "tooltipElement", null);
16189
+ A(this, "floeCursor", null);
16190
+ A(this, "cursorHasBeenPositioned", !1);
16190
16191
  }
16192
+ // Track if cursor has been shown at least once
16191
16193
  /**
16192
16194
  * Inject overlay into the page
16193
16195
  */
@@ -16279,9 +16281,17 @@ class hh {
16279
16281
  }
16280
16282
  /**
16281
16283
  * Show the Floe cursor
16284
+ * On first appearance, positions the cursor at the bot floating icon (bottom-right)
16285
+ * so the initial animation starts from a natural origin point.
16282
16286
  */
16283
16287
  showFloeCursor() {
16284
- this.floeCursor && (this.floeCursor.style.opacity = "1", this.floeCursor.style.transform = "scale(1)");
16288
+ if (this.floeCursor) {
16289
+ if (!this.cursorHasBeenPositioned) {
16290
+ const e = window.innerWidth - 50, t = window.innerHeight - 50;
16291
+ this.floeCursor.style.left = `${e}px`, this.floeCursor.style.top = `${t}px`, this.cursorHasBeenPositioned = !0, console.log("[OverlaySystem] Cursor initial position set to bot icon:", e, t);
16292
+ }
16293
+ this.floeCursor.style.opacity = "1", this.floeCursor.style.transform = "scale(1)";
16294
+ }
16285
16295
  }
16286
16296
  /**
16287
16297
  * Hide the Floe cursor
@@ -16714,6 +16724,21 @@ class hh {
16714
16724
  hideTooltip() {
16715
16725
  this.tooltipElement && (this.tooltipElement.remove(), this.tooltipElement = null);
16716
16726
  }
16727
+ /**
16728
+ * Clean up all overlays: hide cursor, clear highlight, hide tooltip.
16729
+ * Call this on disconnect/errors/navigation to remove all visual guidance from screen.
16730
+ * Does NOT destroy DOM elements (unlike remove()), so overlay can be reused.
16731
+ */
16732
+ cleanup() {
16733
+ this.clearHighlight(), this.hideFloeCursor(), this.hideTooltip(), console.log("[OverlaySystem] Cleaned up all overlays");
16734
+ }
16735
+ /**
16736
+ * Reset cursor tracking state so next show starts from the bot icon again.
16737
+ * Call this on full disconnect to ensure fresh start on reconnect.
16738
+ */
16739
+ resetCursorState() {
16740
+ this.cursorHasBeenPositioned = !1, this.floeCursor && (this.floeCursor.style.top = "-100px", this.floeCursor.style.left = "-100px", this.floeCursor.style.opacity = "0", this.floeCursor.style.transform = "scale(0.8)"), console.log("[OverlaySystem] Cursor state reset");
16741
+ }
16717
16742
  /**
16718
16743
  * Remove overlay and all injected style elements
16719
16744
  */
@@ -16722,12 +16747,12 @@ class hh {
16722
16747
  const e = document.getElementById("floe-cursor-styles");
16723
16748
  e && e.remove();
16724
16749
  const t = document.getElementById("onboarding-animations");
16725
- t && t.remove(), (n = this.container) == null || n.remove(), this.container = null, this.highlightEl = null, this.tooltipElement = null;
16750
+ t && t.remove(), this.floeCursor && (this.floeCursor.remove(), this.floeCursor = null), this.cursorHasBeenPositioned = !1, (n = this.container) == null || n.remove(), this.container = null, this.highlightEl = null, this.tooltipElement = null;
16726
16751
  }
16727
16752
  }
16728
16753
  class Li {
16729
16754
  constructor(e) {
16730
- O(this, "piiPatterns");
16755
+ A(this, "piiPatterns");
16731
16756
  this.piiPatterns = {
16732
16757
  email: /[\w.-]+@[\w.-]+\.\w+/,
16733
16758
  phone: /[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}/,
@@ -16944,22 +16969,22 @@ class Li {
16944
16969
  }
16945
16970
  class ph {
16946
16971
  constructor(e) {
16947
- O(this, "sdk");
16948
- O(this, "domIntrospector", null);
16949
- O(this, "lastUrl", "");
16950
- O(this, "clickHandler", null);
16951
- O(this, "focusHandler", null);
16952
- O(this, "blurHandler", null);
16953
- O(this, "inputHandler", null);
16954
- O(this, "keydownHandler", null);
16955
- O(this, "inputDebounceTimers", /* @__PURE__ */ new Map());
16956
- O(this, "isTracking", !1);
16972
+ A(this, "sdk");
16973
+ A(this, "domIntrospector", null);
16974
+ A(this, "lastUrl", "");
16975
+ A(this, "clickHandler", null);
16976
+ A(this, "focusHandler", null);
16977
+ A(this, "blurHandler", null);
16978
+ A(this, "inputHandler", null);
16979
+ A(this, "keydownHandler", null);
16980
+ A(this, "inputDebounceTimers", /* @__PURE__ */ new Map());
16981
+ A(this, "isTracking", !1);
16957
16982
  // Scroll tracking for Fast Execution System
16958
- O(this, "scrollHandler", null);
16959
- O(this, "scrollDebounceTimer", null);
16983
+ A(this, "scrollHandler", null);
16984
+ A(this, "scrollDebounceTimer", null);
16960
16985
  // URL tracking for SPAs
16961
- O(this, "urlCheckInterval", null);
16962
- O(this, "popstateHandler", null);
16986
+ A(this, "urlCheckInterval", null);
16987
+ A(this, "popstateHandler", null);
16963
16988
  this.sdk = e, this.lastUrl = window.location.href;
16964
16989
  }
16965
16990
  /**
@@ -17219,7 +17244,7 @@ class ph {
17219
17244
  }
17220
17245
  class uc {
17221
17246
  constructor() {
17222
- O(this, "loadingSelectors", [
17247
+ A(this, "loadingSelectors", [
17223
17248
  '[role="progressbar"]',
17224
17249
  ".loading",
17225
17250
  ".spinner",
@@ -17303,15 +17328,15 @@ class fh {
17303
17328
  }
17304
17329
  class gh {
17305
17330
  constructor() {
17306
- O(this, "lastUrl", "");
17307
- O(this, "urlChangeCallback", null);
17308
- O(this, "loadingDetector");
17309
- O(this, "domStabilityChecker");
17310
- O(this, "originalPushState", null);
17311
- O(this, "originalReplaceState", null);
17312
- O(this, "popstateHandler", null);
17313
- O(this, "isStarted", !1);
17314
- O(this, "handleUrlChange", async () => {
17331
+ A(this, "lastUrl", "");
17332
+ A(this, "urlChangeCallback", null);
17333
+ A(this, "loadingDetector");
17334
+ A(this, "domStabilityChecker");
17335
+ A(this, "originalPushState", null);
17336
+ A(this, "originalReplaceState", null);
17337
+ A(this, "popstateHandler", null);
17338
+ A(this, "isStarted", !1);
17339
+ A(this, "handleUrlChange", async () => {
17315
17340
  const e = window.location.href;
17316
17341
  if (e !== this.lastUrl) {
17317
17342
  console.log("[NavigationCompleteDetector] URL changed:", e), this.lastUrl = e;
@@ -17360,10 +17385,10 @@ class gh {
17360
17385
  }
17361
17386
  class mh {
17362
17387
  constructor(e, t) {
17363
- O(this, "overlay");
17364
- O(this, "loadingDetector");
17365
- O(this, "domIntrospector", null);
17366
- O(this, "isExecuting", !1);
17388
+ A(this, "overlay");
17389
+ A(this, "loadingDetector");
17390
+ A(this, "domIntrospector", null);
17391
+ A(this, "isExecuting", !1);
17367
17392
  this.overlay = e, this.loadingDetector = new uc();
17368
17393
  }
17369
17394
  /**
@@ -17399,7 +17424,7 @@ class mh {
17399
17424
  }
17400
17425
  return console.log("[BatchedActionExecutor] ✅ Batch completed successfully"), e.completionCallback && e.completionCallback(), { success: !0, completedSteps: t };
17401
17426
  } finally {
17402
- this.isExecuting = !1, this.overlay.clearHighlight();
17427
+ this.isExecuting = !1, this.overlay.clearHighlight(), this.overlay.hideFloeCursor();
17403
17428
  }
17404
17429
  }
17405
17430
  async executeStep(e) {
@@ -17525,74 +17550,74 @@ class mh {
17525
17550
  class dc extends lh {
17526
17551
  constructor(t) {
17527
17552
  super();
17528
- O(this, "config");
17529
- O(this, "sessionId");
17530
- O(this, "overlay");
17531
- O(this, "capture");
17532
- O(this, "actionExecutor");
17533
- O(this, "pipecatClient", null);
17534
- O(this, "transport", null);
17535
- O(this, "isInitialized", !1);
17536
- O(this, "reactRoot", null);
17537
- O(this, "reactContainer", null);
17538
- O(this, "agentState", "idle");
17539
- O(this, "pausedSessionId", null);
17553
+ A(this, "config");
17554
+ A(this, "sessionId");
17555
+ A(this, "overlay");
17556
+ A(this, "capture");
17557
+ A(this, "actionExecutor");
17558
+ A(this, "pipecatClient", null);
17559
+ A(this, "transport", null);
17560
+ A(this, "isInitialized", !1);
17561
+ A(this, "reactRoot", null);
17562
+ A(this, "reactContainer", null);
17563
+ A(this, "agentState", "idle");
17564
+ A(this, "pausedSessionId", null);
17540
17565
  // UI state only - tracks which session is paused
17541
- O(this, "pendingResumeSessionId", null);
17566
+ A(this, "pendingResumeSessionId", null);
17542
17567
  // Explicit resume intent - set only by resumeSession(), cleared after use
17543
- O(this, "botTranscript", "");
17544
- O(this, "userTranscript", "");
17545
- O(this, "transcriptHistory", []);
17546
- O(this, "lastUserTranscript", "");
17568
+ A(this, "botTranscript", "");
17569
+ A(this, "userTranscript", "");
17570
+ A(this, "transcriptHistory", []);
17571
+ A(this, "lastUserTranscript", "");
17547
17572
  // Track final user transcript for history
17548
- O(this, "isConnected", !1);
17549
- O(this, "connectInFlight", !1);
17573
+ A(this, "isConnected", !1);
17574
+ A(this, "connectInFlight", !1);
17550
17575
  // Guard against concurrent connect/cancel races
17551
- O(this, "micEnabled", !0);
17576
+ A(this, "micEnabled", !0);
17552
17577
  // Track actual mute state
17553
- O(this, "userIsSpeaking", !1);
17578
+ A(this, "userIsSpeaking", !1);
17554
17579
  // Track if user is actively speaking
17555
- O(this, "botIsSpeaking", !1);
17580
+ A(this, "botIsSpeaking", !1);
17556
17581
  // Track if bot is actively speaking
17557
- O(this, "audioLevels", []);
17582
+ A(this, "audioLevels", []);
17558
17583
  // Real-time audio levels for visualization
17559
- O(this, "_discoveryPopupShown", !1);
17584
+ A(this, "_discoveryPopupShown", !1);
17560
17585
  // Track if discovery popup was shown this session
17561
- O(this, "_pendingDiscoveryStart", !1);
17586
+ A(this, "_pendingDiscoveryStart", !1);
17562
17587
  // User chose discovery, waiting to start after connect
17563
- O(this, "botAudioAnalyzer", null);
17588
+ A(this, "botAudioAnalyzer", null);
17564
17589
  // Audio analyzer for bot FFT
17565
- O(this, "userAudioAnalyzer", null);
17590
+ A(this, "userAudioAnalyzer", null);
17566
17591
  // Audio analyzer for user mic FFT
17567
- O(this, "userMicStream", null);
17592
+ A(this, "userMicStream", null);
17568
17593
  // User's mic stream for analysis
17569
- O(this, "userMicStreamRequestId", 0);
17594
+ A(this, "userMicStreamRequestId", 0);
17570
17595
  // Guards async getUserMedia against disconnect races
17571
- O(this, "audioElements", []);
17572
- O(this, "pageTracker");
17573
- O(this, "screenShareEnabled", !1);
17574
- O(this, "domIntrospector");
17575
- O(this, "accessibleSnapshot");
17596
+ A(this, "audioElements", []);
17597
+ A(this, "pageTracker");
17598
+ A(this, "screenShareEnabled", !1);
17599
+ A(this, "domIntrospector");
17600
+ A(this, "accessibleSnapshot");
17576
17601
  // Fast Execution System
17577
- O(this, "fastExecutionMode", !1);
17578
- O(this, "batchedActionExecutor", null);
17579
- O(this, "navigationCompleteDetector", null);
17602
+ A(this, "fastExecutionMode", !1);
17603
+ A(this, "batchedActionExecutor", null);
17604
+ A(this, "navigationCompleteDetector", null);
17580
17605
  // Bot Action Tracking - counter for nested/concurrent bot actions
17581
17606
  // Use counter instead of boolean to handle nested actions correctly
17582
- O(this, "_botActionDepth", 0);
17607
+ A(this, "_botActionDepth", 0);
17583
17608
  // EndUser status from API (for skip onboarding logic)
17584
- O(this, "endUserStatus", null);
17609
+ A(this, "endUserStatus", null);
17585
17610
  // UX Polish - Connection progress and returning user tracking
17586
- O(this, "connectionProgress", null);
17587
- O(this, "isReturningUser", !1);
17611
+ A(this, "connectionProgress", null);
17612
+ A(this, "isReturningUser", !1);
17588
17613
  // True only for actual returning users (detected via API or localStorage)
17589
- O(this, "hasSkippedOnboarding", !1);
17614
+ A(this, "hasSkippedOnboarding", !1);
17590
17615
  // True when new user skips the welcome modal
17591
- O(this, "_isMinimized", !1);
17616
+ A(this, "_isMinimized", !1);
17592
17617
  // Text mode state
17593
- O(this, "textModeEnabled", !1);
17618
+ A(this, "textModeEnabled", !1);
17594
17619
  // Plan progress state (sent from bot during guided plan execution)
17595
- O(this, "planProgress", null);
17620
+ A(this, "planProgress", null);
17596
17621
  if (!t.clientKey)
17597
17622
  throw new Error("Client key is required");
17598
17623
  const n = "https://api.dev.floe.so";
@@ -17732,7 +17757,7 @@ class dc extends lh {
17732
17757
  */
17733
17758
  setupNavigationDetection() {
17734
17759
  this.navigationCompleteDetector || (this.navigationCompleteDetector = new gh()), this.navigationCompleteDetector.start((t) => {
17735
- console.log("[OnboardingSDK] Navigation complete detected:", t), this.sendMetadata({
17760
+ console.log("[OnboardingSDK] Navigation complete detected:", t), this.overlay.clearHighlight(), this.overlay.hideFloeCursor(), this.sendMetadata({
17736
17761
  type: "navigation_complete",
17737
17762
  url: t,
17738
17763
  timestamp: Date.now()
@@ -17897,7 +17922,7 @@ class dc extends lh {
17897
17922
  * Disconnect and minimize the UI (instead of removing it)
17898
17923
  */
17899
17924
  async disconnectAndMinimize() {
17900
- this.pageTracker.stop(), this.domIntrospector.stopCapturing(), this.navigationCompleteDetector && this.navigationCompleteDetector.stop(), this.overlay.clearHighlight(), this.pipecatClient && (await this.pipecatClient.disconnect(), this.pipecatClient = null), this.transport && (this.transport = null), this.audioElements && (this.audioElements.forEach((t) => {
17925
+ this.pageTracker.stop(), this.domIntrospector.stopCapturing(), this.navigationCompleteDetector && this.navigationCompleteDetector.stop(), this.overlay.cleanup(), this.overlay.resetCursorState(), this.pipecatClient && (await this.pipecatClient.disconnect(), this.pipecatClient = null), this.transport && (this.transport = null), this.audioElements && (this.audioElements.forEach((t) => {
17901
17926
  t.pause(), t.remove();
17902
17927
  }), this.audioElements = []), this.botAudioAnalyzer && (this.botAudioAnalyzer.destroy(), this.botAudioAnalyzer = null), this.userAudioAnalyzer && (this.userAudioAnalyzer.destroy(), this.userAudioAnalyzer = null), this.userMicStreamRequestId++, this.userMicStream && (this.userMicStream.getTracks().forEach((t) => t.stop()), this.userMicStream = null), this.audioLevels = [], this.isConnected = !1, this.agentState = "idle", this._isMinimized = !0, this.botTranscript = "", this.userTranscript = "", this.renderReactUI(), console.log("[OnboardingSDK] Disconnected and minimized"), this.emit("disconnected"), this.emit("minimized");
17903
17928
  }
@@ -17964,7 +17989,7 @@ class dc extends lh {
17964
17989
  console.log("[OnboardingSDK] Connected to Pipecat"), this.isConnected = !0, this.agentState = "listening", this.micEnabled = ((t = this.pipecatClient) == null ? void 0 : t.isMicEnabled) ?? this.config.enableAudio !== !1, console.log("[OnboardingSDK] 🎤 Mic state on connect:", this.micEnabled ? "ON" : "MUTED"), this.textModeEnabled && this.pipecatClient && (this.pipecatClient.enableMic(!1), this.micEnabled = !1, console.log("[OnboardingSDK] ⌨️ Text mode active — mic muted on connect")), this.clearConnectionProgress(), this.renderReactUI(), this.emit("connected");
17965
17990
  },
17966
17991
  onDisconnected: () => {
17967
- console.log("[OnboardingSDK] Disconnected from Pipecat"), this.isConnected = !1, this.agentState = "idle", this.pageTracker.stop(), this.domIntrospector.stopCapturing(), this.navigationCompleteDetector && this.navigationCompleteDetector.stop(), this.overlay.clearHighlight(), this.audioElements && (this.audioElements.forEach((t) => {
17992
+ console.log("[OnboardingSDK] Disconnected from Pipecat"), this.isConnected = !1, this.agentState = "idle", this.pageTracker.stop(), this.domIntrospector.stopCapturing(), this.navigationCompleteDetector && this.navigationCompleteDetector.stop(), this.overlay.cleanup(), this.overlay.resetCursorState(), this.audioElements && (this.audioElements.forEach((t) => {
17968
17993
  t.pause(), t.remove();
17969
17994
  }), this.audioElements = []), this.botAudioAnalyzer && (this.botAudioAnalyzer.destroy(), this.botAudioAnalyzer = null), this.userAudioAnalyzer && (this.userAudioAnalyzer.destroy(), this.userAudioAnalyzer = null), this.userMicStreamRequestId++, this.userMicStream && (console.log("[OnboardingSDK] 🎤 Stopping user microphone stream"), this.userMicStream.getTracks().forEach((t) => t.stop()), this.userMicStream = null), this.audioLevels = [], this.renderReactUI(), this.emit("disconnected");
17970
17995
  },
@@ -18139,13 +18164,13 @@ class dc extends lh {
18139
18164
  console.log("[OnboardingSDK] 🎯 Received direct hybrid action:", n.action), this.handleHybridAction(n);
18140
18165
  return;
18141
18166
  }
18142
- n.type === "highlight" ? (console.log("[OnboardingSDK] Handling highlight command"), n.target ? this.overlay.highlightTarget(n.target, n.options) : n.selector && this.overlay.highlight(n.selector, n.options)) : n.type === "tooltip" && n.text ? this.overlay.showTooltip(n.text, n.options) : n.type === "action" ? n.target ? this.handleHybridAction(n) : this.actionExecutor.executeWithConsent(n.action) : n.type === "clear_highlight" ? this.overlay.clearHighlight() : n.type === "batched_navigation" ? this.handleBatchedNavigation(n) : n.type === "fast_action" ? this.executeActionFast(n) : n.type === "execute_api" || n.action === "execute_api" ? this.handleExecuteApi(n) : n.type === "session_paused" ? (console.log("[OnboardingSDK] Session paused:", n), this.agentState = "paused", this.pausedSessionId = n.session_id || null, this.overlay.clearHighlight(), this.renderReactUI(), this.emit("sessionPaused", n)) : n.type === "plan_progress" ? (console.log("[OnboardingSDK] Plan progress:", n), this.planProgress = {
18167
+ n.type === "highlight" ? (console.log("[OnboardingSDK] Handling highlight command"), n.target ? this.overlay.highlightTarget(n.target, n.options) : n.selector && this.overlay.highlight(n.selector, n.options)) : n.type === "tooltip" && n.text ? this.overlay.showTooltip(n.text, n.options) : n.type === "action" ? n.target ? this.handleHybridAction(n) : this.actionExecutor.executeWithConsent(n.action) : n.type === "clear_highlight" ? this.overlay.clearHighlight() : n.type === "batched_navigation" ? this.handleBatchedNavigation(n) : n.type === "fast_action" ? this.executeActionFast(n) : n.type === "execute_api" || n.action === "execute_api" ? this.handleExecuteApi(n) : n.type === "session_paused" ? (console.log("[OnboardingSDK] Session paused:", n), this.agentState = "paused", this.pausedSessionId = n.session_id || null, this.overlay.clearHighlight(), this.overlay.hideFloeCursor(), this.renderReactUI(), this.emit("sessionPaused", n)) : n.type === "plan_progress" ? (console.log("[OnboardingSDK] Plan progress:", n), this.planProgress = {
18143
18168
  planName: n.planName || "",
18144
18169
  currentStep: n.currentStep || 0,
18145
18170
  totalSteps: n.totalSteps || 0,
18146
18171
  progressPercent: n.progressPercent || 0,
18147
18172
  currentTaskTitle: n.currentTaskTitle || ""
18148
- }, this.renderReactUI(), this.emit("planProgress", this.planProgress)) : n.type === "plan_started" ? (console.log("[OnboardingSDK] Plan started:", n), this.emit("planStarted", { planName: n.planName, totalSteps: n.totalSteps })) : n.type === "plan_complete" ? (console.log("[OnboardingSDK] Plan complete:", n), this.planProgress = null, this.renderReactUI(), this.emit("planComplete", { planName: n.planName })) : console.log("[OnboardingSDK] Unhandled server message type:", n.type || "unknown");
18173
+ }, this.renderReactUI(), this.emit("planProgress", this.planProgress)) : n.type === "plan_started" ? (console.log("[OnboardingSDK] Plan started:", n), this.emit("planStarted", { planName: n.planName, totalSteps: n.totalSteps })) : n.type === "plan_complete" ? (console.log("[OnboardingSDK] Plan complete:", n), this.planProgress = null, this.overlay.clearHighlight(), this.overlay.hideFloeCursor(), this.renderReactUI(), this.emit("planComplete", { planName: n.planName })) : console.log("[OnboardingSDK] Unhandled server message type:", n.type || "unknown");
18149
18174
  }
18150
18175
  /**
18151
18176
  * Handle hybrid UI action from bot
@@ -18177,7 +18202,7 @@ class dc extends lh {
18177
18202
  }
18178
18203
  let o = fe.resolveTarget(t.target);
18179
18204
  if (!o) {
18180
- console.warn("[OnboardingSDK] ⚠️ Click target not found"), this.sendMetadata({
18205
+ console.warn("[OnboardingSDK] ⚠️ Click target not found"), this.overlay.clearHighlight(), this.overlay.hideFloeCursor(), this.sendMetadata({
18181
18206
  type: "bot_action_complete",
18182
18207
  action: "click",
18183
18208
  success: !1,
@@ -18200,7 +18225,7 @@ class dc extends lh {
18200
18225
  ), a.dispatchEvent(new MouseEvent("mouseenter", { bubbles: !0 })), a.dispatchEvent(new MouseEvent("mouseover", { bubbles: !0 })), await new Promise((m) => setTimeout(m, 450)), console.log("[OnboardingSDK] 📂 Sidebar expanded");
18201
18226
  }
18202
18227
  if (!await fe.waitForPositionStability(o, 800)) {
18203
- console.error("[OnboardingSDK] ❌ Element disappeared during stability wait"), this.sendMetadata({
18228
+ console.error("[OnboardingSDK] ❌ Element disappeared during stability wait"), this.overlay.clearHighlight(), this.overlay.hideFloeCursor(), this.sendMetadata({
18204
18229
  type: "bot_action_complete",
18205
18230
  action: "click",
18206
18231
  success: !1,
@@ -18295,7 +18320,7 @@ class dc extends lh {
18295
18320
  console.log("[OnboardingSDK] 📋 Executing MULTI_SELECT action"), await this.handleMultiSelectAction(t);
18296
18321
  break;
18297
18322
  case "navigate":
18298
- console.log("[OnboardingSDK] 🧭 Executing NAVIGATE action to URL:", t.value);
18323
+ console.log("[OnboardingSDK] 🧭 Executing NAVIGATE action to URL:", t.value), this.overlay.clearHighlight(), this.overlay.hideFloeCursor();
18299
18324
  {
18300
18325
  const a = t.value;
18301
18326
  if (!a) {
@@ -19870,7 +19895,7 @@ class dc extends lh {
19870
19895
  * Disconnect and cleanup
19871
19896
  */
19872
19897
  async disconnect() {
19873
- this.pageTracker.stop(), this.domIntrospector.stopCapturing(), this.navigationCompleteDetector && this.navigationCompleteDetector.stop(), this.overlay.clearHighlight(), this.pipecatClient && (await this.pipecatClient.disconnect(), this.pipecatClient = null), this.transport && (this.transport = null), this.audioElements && (this.audioElements.forEach((t) => {
19898
+ this.pageTracker.stop(), this.domIntrospector.stopCapturing(), this.navigationCompleteDetector && this.navigationCompleteDetector.stop(), this.overlay.cleanup(), this.pipecatClient && (await this.pipecatClient.disconnect(), this.pipecatClient = null), this.transport && (this.transport = null), this.audioElements && (this.audioElements.forEach((t) => {
19874
19899
  t.pause(), t.remove();
19875
19900
  }), this.audioElements = []), this.botAudioAnalyzer && (this.botAudioAnalyzer.destroy(), this.botAudioAnalyzer = null), this.userAudioAnalyzer && (this.userAudioAnalyzer.destroy(), this.userAudioAnalyzer = null), this.userMicStreamRequestId++, this.userMicStream && (this.userMicStream.getTracks().forEach((t) => t.stop()), this.userMicStream = null), this.audioLevels = [], this.reactRoot && (this.reactRoot.unmount(), this.reactRoot = null), this.reactContainer && (this.reactContainer.remove(), this.reactContainer = null), this.overlay.remove(), this.isInitialized = !1, this.isConnected = !1, this.agentState = "idle", console.log("[OnboardingSDK] Disconnected"), this.emit("disconnected");
19876
19901
  }