@nsshunt/stsuxvue 1.0.122 → 1.0.124

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/stsuxvue.cjs CHANGED
@@ -58,7 +58,7 @@ var ModelStore = (0, pinia.defineStore)("__sts__ModelStore", {
58
58
  },
59
59
  actions: {
60
60
  GetSate(modelId) {
61
- if (!this._state[modelId]) this._state[modelId] = _estate.IDLE;
61
+ if (!this._state[modelId]) this._state[modelId] = "idle";
62
62
  return this._state[modelId];
63
63
  },
64
64
  UpdateSate(modelId, newSate) {
@@ -6036,10 +6036,50 @@ var import_ansi_to_html = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin
6036
6036
  return Filter;
6037
6037
  }();
6038
6038
  })))(), 1);
6039
- /*! @license DOMPurify 3.4.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.2/LICENSE */
6040
- var { entries, setPrototypeOf, isFrozen, getPrototypeOf: getPrototypeOf$1, getOwnPropertyDescriptor } = Object;
6041
- var { freeze, seal, create } = Object;
6042
- var { apply, construct } = typeof Reflect !== "undefined" && Reflect;
6039
+ /*! @license DOMPurify 3.4.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.5/LICENSE */
6040
+ function _arrayLikeToArray(r, a) {
6041
+ (null == a || a > r.length) && (a = r.length);
6042
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
6043
+ return n;
6044
+ }
6045
+ function _arrayWithHoles(r) {
6046
+ if (Array.isArray(r)) return r;
6047
+ }
6048
+ function _iterableToArrayLimit(r, l) {
6049
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
6050
+ if (null != t) {
6051
+ var e, n, i, u, a = [], f = true, o = false;
6052
+ try {
6053
+ if (i = (t = t.call(r)).next, 0 === l);
6054
+ else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
6055
+ } catch (r) {
6056
+ o = true, n = r;
6057
+ } finally {
6058
+ try {
6059
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
6060
+ } finally {
6061
+ if (o) throw n;
6062
+ }
6063
+ }
6064
+ return a;
6065
+ }
6066
+ }
6067
+ function _nonIterableRest() {
6068
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6069
+ }
6070
+ function _slicedToArray(r, e) {
6071
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
6072
+ }
6073
+ function _unsupportedIterableToArray(r, a) {
6074
+ if (r) {
6075
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
6076
+ var t = {}.toString.call(r).slice(8, -1);
6077
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
6078
+ }
6079
+ }
6080
+ var entries = Object.entries, setPrototypeOf = Object.setPrototypeOf, isFrozen = Object.isFrozen, getPrototypeOf$1 = Object.getPrototypeOf, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6081
+ var freeze = Object.freeze, seal = Object.seal, create = Object.create;
6082
+ var _ref = typeof Reflect !== "undefined" && Reflect, apply = _ref.apply, construct = _ref.construct;
6043
6083
  if (!freeze) freeze = function freeze(x) {
6044
6084
  return x;
6045
6085
  };
@@ -6143,9 +6183,14 @@ function cleanArray(array) {
6143
6183
  */
6144
6184
  function clone(object) {
6145
6185
  const newObject = create(null);
6146
- for (const [property, value] of entries(object)) if (objectHasOwnProperty(object, property)) if (arrayIsArray(value)) newObject[property] = cleanArray(value);
6147
- else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value);
6148
- else newObject[property] = value;
6186
+ for (const _ref2 of entries(object)) {
6187
+ var _ref3 = _slicedToArray(_ref2, 2);
6188
+ const property = _ref3[0];
6189
+ const value = _ref3[1];
6190
+ if (objectHasOwnProperty(object, property)) if (arrayIsArray(value)) newObject[property] = cleanArray(value);
6191
+ else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value);
6192
+ else newObject[property] = value;
6193
+ }
6149
6194
  return newObject;
6150
6195
  }
6151
6196
  /**
@@ -6498,6 +6543,8 @@ var html = freeze([
6498
6543
  "color",
6499
6544
  "cols",
6500
6545
  "colspan",
6546
+ "command",
6547
+ "commandfor",
6501
6548
  "controls",
6502
6549
  "controlslist",
6503
6550
  "coords",
@@ -6847,9 +6894,9 @@ var xml = freeze([
6847
6894
  "xml:space",
6848
6895
  "xmlns:xlink"
6849
6896
  ]);
6850
- var MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);
6851
- var ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
6852
- var TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm);
6897
+ var MUSTACHE_EXPR = seal(/{{[\w\W]*|^[\w\W]*}}/g);
6898
+ var ERB_EXPR = seal(/<%[\w\W]*|^[\w\W]*%>/g);
6899
+ var TMPLIT_EXPR = seal(/\${[\w\W]*/g);
6853
6900
  var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
6854
6901
  var ARIA_ATTR = seal(/^aria-[\-\w]+$/);
6855
6902
  var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);
@@ -6857,19 +6904,6 @@ var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
6857
6904
  var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);
6858
6905
  var DOCTYPE_NAME = seal(/^html$/i);
6859
6906
  var CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
6860
- var EXPRESSIONS = /* @__PURE__ */ Object.freeze({
6861
- __proto__: null,
6862
- ARIA_ATTR,
6863
- ATTR_WHITESPACE,
6864
- CUSTOM_ELEMENT,
6865
- DATA_ATTR,
6866
- DOCTYPE_NAME,
6867
- ERB_EXPR,
6868
- IS_ALLOWED_URI,
6869
- IS_SCRIPT_OR_DATA,
6870
- MUSTACHE_EXPR,
6871
- TMPLIT_EXPR
6872
- });
6873
6907
  var NODE_TYPE = {
6874
6908
  element: 1,
6875
6909
  text: 3,
@@ -6924,37 +6958,38 @@ var _createHooksMap = function _createHooksMap() {
6924
6958
  function createDOMPurify() {
6925
6959
  let window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal$1();
6926
6960
  const DOMPurify = (root) => createDOMPurify(root);
6927
- DOMPurify.version = "3.4.2";
6961
+ DOMPurify.version = "3.4.5";
6928
6962
  DOMPurify.removed = [];
6929
6963
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
6930
6964
  DOMPurify.isSupported = false;
6931
6965
  return DOMPurify;
6932
6966
  }
6933
- let { document } = window;
6967
+ let document = window.document;
6934
6968
  const originalDocument = document;
6935
6969
  const currentScript = originalDocument.currentScript;
6936
- const { DocumentFragment, HTMLTemplateElement, Node, Element, NodeFilter, NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap, HTMLFormElement, DOMParser, trustedTypes } = window;
6970
+ const DocumentFragment = window.DocumentFragment, HTMLTemplateElement = window.HTMLTemplateElement, Node = window.Node, Element = window.Element, NodeFilter = window.NodeFilter, _window$NamedNodeMap = window.NamedNodeMap, NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap, HTMLFormElement = window.HTMLFormElement, DOMParser = window.DOMParser, trustedTypes = window.trustedTypes;
6937
6971
  const ElementPrototype = Element.prototype;
6938
6972
  const cloneNode = lookupGetter(ElementPrototype, "cloneNode");
6939
6973
  const remove = lookupGetter(ElementPrototype, "remove");
6940
6974
  const getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
6941
6975
  const getChildNodes = lookupGetter(ElementPrototype, "childNodes");
6942
6976
  const getParentNode = lookupGetter(ElementPrototype, "parentNode");
6977
+ const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, "nodeType") : null;
6943
6978
  if (typeof HTMLTemplateElement === "function") {
6944
6979
  const template = document.createElement("template");
6945
6980
  if (template.content && template.content.ownerDocument) document = template.content.ownerDocument;
6946
6981
  }
6947
6982
  let trustedTypesPolicy;
6948
6983
  let emptyHTML = "";
6949
- const { implementation, createNodeIterator, createDocumentFragment, getElementsByTagName } = document;
6950
- const { importNode } = originalDocument;
6984
+ const _document = document, implementation = _document.implementation, createNodeIterator = _document.createNodeIterator, createDocumentFragment = _document.createDocumentFragment, getElementsByTagName = _document.getElementsByTagName;
6985
+ const importNode = originalDocument.importNode;
6951
6986
  let hooks = _createHooksMap();
6952
6987
  /**
6953
6988
  * Expose whether this browser supports running the full DOMPurify.
6954
6989
  */
6955
6990
  DOMPurify.isSupported = typeof entries === "function" && typeof getParentNode === "function" && implementation && implementation.createHTMLDocument !== void 0;
6956
- const { MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR, DATA_ATTR, ARIA_ATTR, IS_SCRIPT_OR_DATA, ATTR_WHITESPACE, CUSTOM_ELEMENT } = EXPRESSIONS;
6957
- let { IS_ALLOWED_URI: IS_ALLOWED_URI$1 } = EXPRESSIONS;
6991
+ const MUSTACHE_EXPR$1 = MUSTACHE_EXPR, ERB_EXPR$1 = ERB_EXPR, TMPLIT_EXPR$1 = TMPLIT_EXPR, DATA_ATTR$1 = DATA_ATTR, ARIA_ATTR$1 = ARIA_ATTR, IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA, ATTR_WHITESPACE$1 = ATTR_WHITESPACE, CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;
6992
+ let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;
6958
6993
  /**
6959
6994
  * We consider the elements and attributes below to be safe. Ideally
6960
6995
  * don't add any new ones but feel free to remove unwanted ones.
@@ -7358,6 +7393,42 @@ function createDOMPurify() {
7358
7393
  return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
7359
7394
  };
7360
7395
  /**
7396
+ * Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the
7397
+ * character data of an element subtree. Used as the final safety net for
7398
+ * SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions
7399
+ * which only form after text-node normalization (e.g. fragments split across
7400
+ * stripped elements) cannot survive into a template-evaluating framework.
7401
+ *
7402
+ * Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`
7403
+ * in place rather than round-tripping through innerHTML. This preserves
7404
+ * descendant node references (important for IN_PLACE callers), avoids a
7405
+ * serialize/reparse cycle, and reads literal character data — which means
7406
+ * `<%...%>` in text content matches the ERB regex against its real bytes
7407
+ * instead of the HTML-entity-escaped form innerHTML would produce.
7408
+ *
7409
+ * Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for
7410
+ * attributes is performed during the per-node `_sanitizeAttributes` pass.
7411
+ *
7412
+ * @param node The root element whose character data should be scrubbed.
7413
+ */
7414
+ const _scrubTemplateExpressions = function _scrubTemplateExpressions(node) {
7415
+ node.normalize();
7416
+ const walker = createNodeIterator.call(node.ownerDocument || node, node, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);
7417
+ let currentNode = walker.nextNode();
7418
+ while (currentNode) {
7419
+ let data = currentNode.data;
7420
+ arrayForEach([
7421
+ MUSTACHE_EXPR$1,
7422
+ ERB_EXPR$1,
7423
+ TMPLIT_EXPR$1
7424
+ ], (expr) => {
7425
+ data = stringReplace(data, expr, " ");
7426
+ });
7427
+ currentNode.data = data;
7428
+ currentNode = walker.nextNode();
7429
+ }
7430
+ };
7431
+ /**
7361
7432
  * _isClobbered
7362
7433
  *
7363
7434
  * @param element element to check for clobbering attacks
@@ -7367,13 +7438,29 @@ function createDOMPurify() {
7367
7438
  return element instanceof HTMLFormElement && (typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function");
7368
7439
  };
7369
7440
  /**
7370
- * Checks whether the given object is a DOM node.
7441
+ * Checks whether the given object is a DOM node, including nodes that
7442
+ * originate from a different window/realm (e.g. an iframe's
7443
+ * contentDocument). The previous `value instanceof Node` check was
7444
+ * realm-bound: nodes from a different window failed it, causing
7445
+ * sanitize() to silently stringify them and reset IN_PLACE to false,
7446
+ * returning the original node unsanitized. See GHSA-4w3q-35jp-p934.
7447
+ *
7448
+ * Implementation: call the cached `nodeType` getter from Node.prototype
7449
+ * directly on the value. This bypasses any clobbered instance property
7450
+ * (e.g. a child element named "nodeType") and works across realms
7451
+ * because the WebIDL `nodeType` getter reads an internal slot that
7452
+ * every real Node has, regardless of which window minted it.
7371
7453
  *
7372
7454
  * @param value object to check whether it's a DOM node
7373
- * @return true is object is a DOM node
7455
+ * @return true if value is a DOM node from any realm
7374
7456
  */
7375
7457
  const _isNode = function _isNode(value) {
7376
- return typeof Node === "function" && value instanceof Node;
7458
+ if (!getNodeType || typeof value !== "object" || value === null) return false;
7459
+ try {
7460
+ return typeof getNodeType(value) === "number";
7461
+ } catch (_) {
7462
+ return false;
7463
+ }
7377
7464
  };
7378
7465
  function _executeHooks(hooks, currentNode, data) {
7379
7466
  arrayForEach(hooks, (hook) => {
@@ -7447,9 +7534,9 @@ function createDOMPurify() {
7447
7534
  if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
7448
7535
  content = currentNode.textContent;
7449
7536
  arrayForEach([
7450
- MUSTACHE_EXPR,
7451
- ERB_EXPR,
7452
- TMPLIT_EXPR
7537
+ MUSTACHE_EXPR$1,
7538
+ ERB_EXPR$1,
7539
+ TMPLIT_EXPR$1
7453
7540
  ], (expr) => {
7454
7541
  content = stringReplace(content, expr, " ");
7455
7542
  });
@@ -7473,14 +7560,14 @@ function createDOMPurify() {
7473
7560
  if (FORBID_ATTR[lcName]) return false;
7474
7561
  if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document || value in formElement)) return false;
7475
7562
  const nameIsPermitted = ALLOWED_ATTR[lcName] || EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag);
7476
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName));
7477
- else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName));
7563
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName));
7564
+ else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName));
7478
7565
  else if (!nameIsPermitted || FORBID_ATTR[lcName]) if (_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) || lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value)));
7479
7566
  else return false;
7480
7567
  else if (URI_SAFE_ATTRIBUTES[lcName]);
7481
- else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, "")));
7568
+ else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, "")));
7482
7569
  else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]);
7483
- else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, "")));
7570
+ else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, "")));
7484
7571
  else if (value) return false;
7485
7572
  return true;
7486
7573
  };
@@ -7503,7 +7590,7 @@ function createDOMPurify() {
7503
7590
  * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.
7504
7591
  */
7505
7592
  const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
7506
- return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT, tagName);
7593
+ return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);
7507
7594
  };
7508
7595
  /**
7509
7596
  * _sanitizeAttributes
@@ -7517,7 +7604,7 @@ function createDOMPurify() {
7517
7604
  */
7518
7605
  const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
7519
7606
  _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
7520
- const { attributes } = currentNode;
7607
+ const attributes = currentNode.attributes;
7521
7608
  if (!attributes || _isClobbered(currentNode)) return;
7522
7609
  const hookEvent = {
7523
7610
  attrName: "",
@@ -7528,7 +7615,8 @@ function createDOMPurify() {
7528
7615
  };
7529
7616
  let l = attributes.length;
7530
7617
  while (l--) {
7531
- const { name, namespaceURI, value: attrValue } = attributes[l];
7618
+ const attr = attributes[l];
7619
+ const name = attr.name, namespaceURI = attr.namespaceURI, attrValue = attr.value;
7532
7620
  const lcName = transformCaseFunc(name);
7533
7621
  const initValue = attrValue;
7534
7622
  let value = name === "value" ? initValue : stringTrim(initValue);
@@ -7560,9 +7648,9 @@ function createDOMPurify() {
7560
7648
  continue;
7561
7649
  }
7562
7650
  if (SAFE_FOR_TEMPLATES) arrayForEach([
7563
- MUSTACHE_EXPR,
7564
- ERB_EXPR,
7565
- TMPLIT_EXPR
7651
+ MUSTACHE_EXPR$1,
7652
+ ERB_EXPR$1,
7653
+ TMPLIT_EXPR$1
7566
7654
  ], (expr) => {
7567
7655
  value = stringReplace(value, expr, " ");
7568
7656
  });
@@ -7608,6 +7696,39 @@ function createDOMPurify() {
7608
7696
  }
7609
7697
  _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
7610
7698
  };
7699
+ /**
7700
+ * _sanitizeAttachedShadowRoots
7701
+ *
7702
+ * Walks `root` and feeds every attached shadow root we encounter into
7703
+ * the existing _sanitizeShadowDOM pipeline. The default node iterator
7704
+ * does not descend into shadow trees, so nodes inside an attached
7705
+ * shadow root would otherwise be skipped entirely.
7706
+ *
7707
+ * Two real input paths put attached shadow roots in front of us:
7708
+ * 1. IN_PLACE on a DOM node that already has shadow roots attached.
7709
+ * 2. DOM-node input where importNode(dirty, true) deep-clones the
7710
+ * shadow root because it was created with `clonable: true`.
7711
+ *
7712
+ * This pass runs once, up front, so the main iteration loop (and the
7713
+ * existing _sanitizeShadowDOM template-content recursion) stay
7714
+ * untouched — string-input paths are not affected.
7715
+ *
7716
+ * @param root the subtree root to walk for attached shadow roots
7717
+ */
7718
+ const _sanitizeAttachedShadowRoots2 = function _sanitizeAttachedShadowRoots(root) {
7719
+ if (root.nodeType === NODE_TYPE.element && root.shadowRoot instanceof DocumentFragment) {
7720
+ const sr = root.shadowRoot;
7721
+ _sanitizeAttachedShadowRoots2(sr);
7722
+ _sanitizeShadowDOM2(sr);
7723
+ }
7724
+ const childNodes = root.childNodes;
7725
+ if (!childNodes) return;
7726
+ const snapshot = [];
7727
+ arrayForEach(childNodes, (child) => {
7728
+ arrayPush(snapshot, child);
7729
+ });
7730
+ for (const child of snapshot) _sanitizeAttachedShadowRoots2(child);
7731
+ };
7611
7732
  DOMPurify.sanitize = function(dirty) {
7612
7733
  let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7613
7734
  let body = null;
@@ -7630,12 +7751,14 @@ function createDOMPurify() {
7630
7751
  const tagName = transformCaseFunc(nn);
7631
7752
  if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
7632
7753
  }
7633
- } else if (dirty instanceof Node) {
7754
+ _sanitizeAttachedShadowRoots2(dirty);
7755
+ } else if (_isNode(dirty)) {
7634
7756
  body = _initDocument("<!---->");
7635
7757
  importedNode = body.ownerDocument.importNode(dirty, true);
7636
7758
  if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") body = importedNode;
7637
7759
  else if (importedNode.nodeName === "HTML") body = importedNode;
7638
7760
  else body.appendChild(importedNode);
7761
+ _sanitizeAttachedShadowRoots2(importedNode);
7639
7762
  } else {
7640
7763
  if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
7641
7764
  body = _initDocument(dirty);
@@ -7648,20 +7771,12 @@ function createDOMPurify() {
7648
7771
  _sanitizeAttributes(currentNode);
7649
7772
  if (currentNode.content instanceof DocumentFragment) _sanitizeShadowDOM2(currentNode.content);
7650
7773
  }
7651
- if (IN_PLACE) return dirty;
7774
+ if (IN_PLACE) {
7775
+ if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions(dirty);
7776
+ return dirty;
7777
+ }
7652
7778
  if (RETURN_DOM) {
7653
- if (SAFE_FOR_TEMPLATES) {
7654
- body.normalize();
7655
- let html = body.innerHTML;
7656
- arrayForEach([
7657
- MUSTACHE_EXPR,
7658
- ERB_EXPR,
7659
- TMPLIT_EXPR
7660
- ], (expr) => {
7661
- html = stringReplace(html, expr, " ");
7662
- });
7663
- body.innerHTML = html;
7664
- }
7779
+ if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions(body);
7665
7780
  if (RETURN_DOM_FRAGMENT) {
7666
7781
  returnNode = createDocumentFragment.call(body.ownerDocument);
7667
7782
  while (body.firstChild) returnNode.appendChild(body.firstChild);
@@ -7672,9 +7787,9 @@ function createDOMPurify() {
7672
7787
  let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
7673
7788
  if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML;
7674
7789
  if (SAFE_FOR_TEMPLATES) arrayForEach([
7675
- MUSTACHE_EXPR,
7676
- ERB_EXPR,
7677
- TMPLIT_EXPR
7790
+ MUSTACHE_EXPR$1,
7791
+ ERB_EXPR$1,
7792
+ TMPLIT_EXPR$1
7678
7793
  ], (expr) => {
7679
7794
  serializedHTML = stringReplace(serializedHTML, expr, " ");
7680
7795
  });
@@ -10117,25 +10232,25 @@ function isSpecCompliantForm(thing) {
10117
10232
  * @returns {Object} The JSON-compatible object.
10118
10233
  */
10119
10234
  var toJSONObject = (obj) => {
10120
- const stack = new Array(10);
10121
- const visit = (source, i) => {
10235
+ const visited = /* @__PURE__ */ new WeakSet();
10236
+ const visit = (source) => {
10122
10237
  if (isObject(source)) {
10123
- if (stack.indexOf(source) >= 0) return;
10238
+ if (visited.has(source)) return;
10124
10239
  if (isBuffer(source)) return source;
10125
10240
  if (!("toJSON" in source)) {
10126
- stack[i] = source;
10241
+ visited.add(source);
10127
10242
  const target = isArray(source) ? [] : {};
10128
10243
  forEach(source, (value, key) => {
10129
- const reducedValue = visit(value, i + 1);
10244
+ const reducedValue = visit(value);
10130
10245
  !isUndefined(reducedValue) && (target[key] = reducedValue);
10131
10246
  });
10132
- stack[i] = void 0;
10247
+ visited.delete(source);
10133
10248
  return target;
10134
10249
  }
10135
10250
  }
10136
10251
  return source;
10137
10252
  };
10138
- return visit(obj, 0);
10253
+ return visit(obj);
10139
10254
  };
10140
10255
  /**
10141
10256
  * Determines if a value is an async function.
@@ -10292,9 +10407,7 @@ var parseHeaders_default = (rawHeaders) => {
10292
10407
  return parsed;
10293
10408
  };
10294
10409
  //#endregion
10295
- //#region node_modules/axios/lib/core/AxiosHeaders.js
10296
- var $internals = Symbol("internals");
10297
- var INVALID_HEADER_VALUE_CHARS_RE = /[^\x09\x20-\x7E\x80-\xFF]/g;
10410
+ //#region node_modules/axios/lib/helpers/sanitizeHeaderValue.js
10298
10411
  function trimSPorHTAB(str) {
10299
10412
  let start = 0;
10300
10413
  let end = str.length;
@@ -10310,12 +10423,27 @@ function trimSPorHTAB(str) {
10310
10423
  }
10311
10424
  return start === 0 && end === str.length ? str : str.slice(start, end);
10312
10425
  }
10426
+ var INVALID_UNICODE_HEADER_VALUE_CHARS = /* @__PURE__ */ new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+", "g");
10427
+ var INVALID_BYTE_STRING_HEADER_VALUE_CHARS = /* @__PURE__ */ new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+", "g");
10428
+ function sanitizeValue(value, invalidChars) {
10429
+ if (utils_default.isArray(value)) return value.map((item) => sanitizeValue(item, invalidChars));
10430
+ return trimSPorHTAB(String(value).replace(invalidChars, ""));
10431
+ }
10432
+ var sanitizeHeaderValue = (value) => sanitizeValue(value, INVALID_UNICODE_HEADER_VALUE_CHARS);
10433
+ var sanitizeByteStringHeaderValue = (value) => sanitizeValue(value, INVALID_BYTE_STRING_HEADER_VALUE_CHARS);
10434
+ function toByteStringHeaderObject(headers) {
10435
+ const byteStringHeaders = Object.create(null);
10436
+ utils_default.forEach(headers.toJSON(), (value, header) => {
10437
+ byteStringHeaders[header] = sanitizeByteStringHeaderValue(value);
10438
+ });
10439
+ return byteStringHeaders;
10440
+ }
10441
+ //#endregion
10442
+ //#region node_modules/axios/lib/core/AxiosHeaders.js
10443
+ var $internals = Symbol("internals");
10313
10444
  function normalizeHeader(header) {
10314
10445
  return header && String(header).trim().toLowerCase();
10315
10446
  }
10316
- function sanitizeHeaderValue(str) {
10317
- return trimSPorHTAB(str.replace(INVALID_HEADER_VALUE_CHARS_RE, ""));
10318
- }
10319
10447
  function normalizeValue(value) {
10320
10448
  if (value === false || value == null) return value;
10321
10449
  return utils_default.isArray(value) ? value.map(normalizeValue) : sanitizeHeaderValue(String(value));
@@ -11063,7 +11191,7 @@ function formDataToJSON(formData) {
11063
11191
  else target[name] = value;
11064
11192
  return !isNumericKey;
11065
11193
  }
11066
- if (!target[name] || !utils_default.isObject(target[name])) target[name] = [];
11194
+ if (!utils_default.hasOwnProp(target, name) || !utils_default.isObject(target[name])) target[name] = [];
11067
11195
  if (buildPath(path, value, target[name], index) && utils_default.isArray(target[name])) target[name] = arrayToObject(target[name]);
11068
11196
  return !isNumericKey;
11069
11197
  }
@@ -11328,6 +11456,7 @@ var progressEventReducer = (listener, isDownloadStream, freq = 3) => {
11328
11456
  let bytesNotified = 0;
11329
11457
  const _speedometer = speedometer(50, 250);
11330
11458
  return throttle((e) => {
11459
+ if (!e || typeof e.loaded !== "number") return;
11331
11460
  const rawLoaded = e.loaded;
11332
11461
  const total = e.lengthComputable ? e.total : void 0;
11333
11462
  const loaded = total != null ? Math.min(rawLoaded, total) : rawLoaded;
@@ -11638,7 +11767,7 @@ var xhr_default = typeof XMLHttpRequest !== "undefined" && function(config) {
11638
11767
  request = null;
11639
11768
  };
11640
11769
  requestData === void 0 && requestHeaders.setContentType(null);
11641
- if ("setRequestHeader" in request) utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
11770
+ if ("setRequestHeader" in request) utils_default.forEach(toByteStringHeaderObject(requestHeaders), function setRequestHeader(val, key) {
11642
11771
  request.setRequestHeader(key, val);
11643
11772
  });
11644
11773
  if (!utils_default.isUndefined(_config.withCredentials)) request.withCredentials = !!_config.withCredentials;
@@ -11674,37 +11803,35 @@ var xhr_default = typeof XMLHttpRequest !== "undefined" && function(config) {
11674
11803
  //#endregion
11675
11804
  //#region node_modules/axios/lib/helpers/composeSignals.js
11676
11805
  var composeSignals = (signals, timeout) => {
11677
- const { length } = signals = signals ? signals.filter(Boolean) : [];
11678
- if (timeout || length) {
11679
- let controller = new AbortController();
11680
- let aborted;
11681
- const onabort = function(reason) {
11682
- if (!aborted) {
11683
- aborted = true;
11684
- unsubscribe();
11685
- const err = reason instanceof Error ? reason : this.reason;
11686
- controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
11687
- }
11688
- };
11689
- let timer = timeout && setTimeout(() => {
11690
- timer = null;
11691
- onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));
11692
- }, timeout);
11693
- const unsubscribe = () => {
11694
- if (signals) {
11695
- timer && clearTimeout(timer);
11696
- timer = null;
11697
- signals.forEach((signal) => {
11698
- signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener("abort", onabort);
11699
- });
11700
- signals = null;
11701
- }
11702
- };
11703
- signals.forEach((signal) => signal.addEventListener("abort", onabort));
11704
- const { signal } = controller;
11705
- signal.unsubscribe = () => utils_default.asap(unsubscribe);
11706
- return signal;
11707
- }
11806
+ signals = signals ? signals.filter(Boolean) : [];
11807
+ if (!timeout && !signals.length) return;
11808
+ const controller = new AbortController();
11809
+ let aborted = false;
11810
+ const onabort = function(reason) {
11811
+ if (!aborted) {
11812
+ aborted = true;
11813
+ unsubscribe();
11814
+ const err = reason instanceof Error ? reason : this.reason;
11815
+ controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
11816
+ }
11817
+ };
11818
+ let timer = timeout && setTimeout(() => {
11819
+ timer = null;
11820
+ onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));
11821
+ }, timeout);
11822
+ const unsubscribe = () => {
11823
+ if (!signals) return;
11824
+ timer && clearTimeout(timer);
11825
+ timer = null;
11826
+ signals.forEach((signal) => {
11827
+ signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener("abort", onabort);
11828
+ });
11829
+ signals = null;
11830
+ };
11831
+ signals.forEach((signal) => signal.addEventListener("abort", onabort));
11832
+ const { signal } = controller;
11833
+ signal.unsubscribe = () => utils_default.asap(unsubscribe);
11834
+ return signal;
11708
11835
  };
11709
11836
  //#endregion
11710
11837
  //#region node_modules/axios/lib/helpers/trackStream.js
@@ -11840,7 +11967,7 @@ function estimateDataURLDecodedBytes(url) {
11840
11967
  }
11841
11968
  //#endregion
11842
11969
  //#region node_modules/axios/lib/env/data.js
11843
- var VERSION = "1.16.0";
11970
+ var VERSION = "1.16.1";
11844
11971
  //#endregion
11845
11972
  //#region node_modules/axios/lib/adapters/fetch.js
11846
11973
  var DEFAULT_CHUNK_SIZE = 64 * 1024;
@@ -11853,7 +11980,7 @@ var test = (fn, ...args) => {
11853
11980
  }
11854
11981
  };
11855
11982
  var factory = (env) => {
11856
- const globalObject = utils_default.global ?? globalThis;
11983
+ const globalObject = utils_default.global !== void 0 && utils_default.global !== null ? utils_default.global : globalThis;
11857
11984
  const { ReadableStream, TextEncoder } = globalObject;
11858
11985
  env = utils_default.merge.call({ skipUndefined: true }, {
11859
11986
  Request: globalObject.Request,
@@ -11954,7 +12081,7 @@ var factory = (env) => {
11954
12081
  ...fetchOptions,
11955
12082
  signal: composedSignal,
11956
12083
  method: method.toUpperCase(),
11957
- headers: headers.normalize().toJSON(),
12084
+ headers: toByteStringHeaderObject(headers.normalize()),
11958
12085
  body: data,
11959
12086
  duplex: "half",
11960
12087
  credentials: isCredentialsSupported ? withCredentials : void 0
@@ -12739,6 +12866,7 @@ var SocketIoClient = class extends import_tiny_emitter$1.TinyEmitter {
12739
12866
  #socket;
12740
12867
  #reconnectTimeout = 2e3;
12741
12868
  #ackTimeout = 5e3;
12869
+ #reconnectTimeoutVal = void 0;
12742
12870
  constructor(name) {
12743
12871
  super();
12744
12872
  this.#name = name;
@@ -12811,7 +12939,7 @@ var SocketIoClient = class extends import_tiny_emitter$1.TinyEmitter {
12811
12939
  return this;
12812
12940
  }
12813
12941
  SetupSocket() {
12814
- if (!this.#address) throw new Error(`SocketIoClientHelper:SetupSocket(): Error: [address not provided]`);
12942
+ if (!this.#address) throw new Error(`SocketIoClient:SetupSocket(): Error: [address not provided]`);
12815
12943
  this.#EstablishSocketConnect();
12816
12944
  return this;
12817
12945
  }
@@ -12821,17 +12949,20 @@ var SocketIoClient = class extends import_tiny_emitter$1.TinyEmitter {
12821
12949
  EngineReconnect(attempt) {}
12822
12950
  #EstablishSocketConnect() {
12823
12951
  if (this.#socket !== void 0) {
12824
- if (this.#socket.connected === true) this.#socket.disconnect();
12825
- this.#socket = void 0;
12826
- if (_nsshunt_stsutils.isNode) setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout).unref();
12827
- else setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout);
12952
+ this.ResetSocket();
12953
+ if (_nsshunt_stsutils.isNode) this.#reconnectTimeoutVal = setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout).unref();
12954
+ else this.#reconnectTimeoutVal = setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout);
12828
12955
  return;
12829
12956
  }
12830
12957
  let socketOptions;
12831
12958
  if (_nsshunt_stsutils.isNode) {
12832
12959
  socketOptions = { transports: ["websocket"] };
12833
12960
  if (this.#agentManager) {
12834
- if (!this.#address) throw new Error(`SocketIoClient:SetupSocket(): Error: [address not provided when using agentManager]`);
12961
+ if (!this.#address) {
12962
+ const message = `SocketIoClient:#EstablishSocketConnect(): Error: [address not provided when using agentManager]`;
12963
+ this.LogErrorMessage(message);
12964
+ throw new Error(message);
12965
+ }
12835
12966
  socketOptions.agent = this.#agentManager.GetAgent(this.#address);
12836
12967
  }
12837
12968
  } else socketOptions = { transports: ["websocket"] };
@@ -12842,30 +12973,30 @@ var SocketIoClient = class extends import_tiny_emitter$1.TinyEmitter {
12842
12973
  if (this.#socketIoCustomPath && this.#socketIoCustomPath.localeCompare("") !== 0) socketOptions.path = this.#socketIoCustomPath;
12843
12974
  this.#socket = (0, socket_io_client.io)(this.#address, socketOptions);
12844
12975
  this.#socket.io.on("error", (err) => {
12845
- this.LogErrorMessage(`socketDetail.socket.io.on('error'): [${err}] Address: [${this.#address}]`);
12976
+ this.LogErrorMessage(`SocketIoClient.socket.io.on('error'): [${err}] Address: [${this.#address}]`);
12846
12977
  this.EngineError(err);
12847
12978
  });
12848
12979
  this.#socket.io.on("reconnect_error", (err) => {
12849
- this.LogErrorMessage(`socketDetail.socket.io.on('reconnect_error'): [${err}] Address: [${this.#address}]`);
12980
+ this.LogErrorMessage(`SocketIoClient.socket.io.on('reconnect_error'): [${err}] Address: [${this.#address}]`);
12850
12981
  this.EngineReconnectError(err);
12851
12982
  });
12852
12983
  this.#socket.on("connect_error", (err) => {
12853
- this.LogErrorMessage(`socketDetail.socket.on('connect_error'): [${err}] Address: [${this.#address}]`);
12984
+ this.LogErrorMessage(`SocketIoClient.socket.on('connect_error'): [${err}] Address: [${this.#address}]`);
12854
12985
  this.EngineConnectError(err);
12855
12986
  });
12856
12987
  this.#socket.io.on("reconnect", (attempt) => {
12857
- this.LogErrorMessage(`socketDetail.socket.io.on('reconnect'): Number: [${attempt}] Address: [${this.#address}]`);
12988
+ this.LogErrorMessage(`SocketIoClient:socket.io.on('reconnect'): Number: [${attempt}] Address: [${this.#address}]`);
12858
12989
  this.EngineReconnect(attempt);
12859
12990
  });
12860
12991
  this.#socket.on("connect", () => {
12861
12992
  if (this.#socket) {
12862
- this.LogDebugMessage(`Socket: [${this.#socket.id}]: connected, Address: [${this.#address}]`);
12993
+ this.LogDebugMessage(`SocketIoClient:on("connect"): Socket: [${this.#socket.id}]: connected, Address: [${this.#address}]`);
12863
12994
  setTimeout(() => {
12864
12995
  this.SocketConnect(this.#socket);
12865
12996
  }, 0);
12866
12997
  this.SetupSocketEvents(this.#socket);
12867
12998
  } else {
12868
- const errorMessage = "Could not get socket object from socket.io, Address: [${socketDetail.address}]";
12999
+ const errorMessage = "SocketIoClient:on(\"connect\"): Could not get socket object from socket.io, Address: [${socketDetail.address}]";
12869
13000
  this.LogErrorMessage(errorMessage);
12870
13001
  this.SocketConnectError(new Error(errorMessage));
12871
13002
  }
@@ -12875,33 +13006,50 @@ var SocketIoClient = class extends import_tiny_emitter$1.TinyEmitter {
12875
13006
  this.SocketDisconnect(reason);
12876
13007
  switch (reason) {
12877
13008
  case "io server disconnect":
12878
- this.LogDebugMessage("The server disconnected using disconnectSockets, i.e. normal safe shutdown from explicit disconnection by the server.");
12879
- this.LogDebugMessage("The connection will be re-established when the server becomes available.");
12880
- this.#socket = void 0;
12881
- if (_nsshunt_stsutils.isNode) {
12882
- if (this.#agentManager) this.#agentManager.ResetAgent();
12883
- setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout).unref();
12884
- } else setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout);
13009
+ this.LogDebugMessage("SocketIoClient:on(\"disconnect\"): The server disconnected using disconnectSockets, i.e. normal safe shutdown from explicit disconnection by the server.");
13010
+ this.LogDebugMessage("SocketIoClient:on(\"disconnect\"): The connection will be re-established when the server becomes available.");
13011
+ this.ResetSocket();
13012
+ if (_nsshunt_stsutils.isNode) this.#reconnectTimeoutVal = setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout).unref();
13013
+ else this.#reconnectTimeoutVal = setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout);
12885
13014
  break;
12886
13015
  case "io client disconnect":
12887
- this.LogDebugMessage("The client disconnected using disconnectSockets, i.e. normal safe disconnection from explicit disconnection by the client.");
12888
- this.LogDebugMessage("The connection will not be re-established automatically.");
13016
+ this.LogDebugMessage("SocketIoClient:on(\"disconnect\"): The client disconnected using disconnectSockets, i.e. normal safe disconnection from explicit disconnection by the client.");
13017
+ this.LogDebugMessage("SocketIoClient:on(\"disconnect\"): The connection will not be re-established automatically.");
13018
+ this.ResetSocket();
12889
13019
  break;
12890
13020
  case "transport close":
12891
13021
  case "ping timeout":
12892
13022
  case "transport error":
12893
- this.LogDebugMessage(`Server unexpectedly disconnected. Reason: [${reason}]`);
12894
- this.LogDebugMessage("The connection will be re-established when the server becomes available.");
12895
- if (this.#socket) this.#socket.disconnect();
12896
- this.#socket = void 0;
12897
- if (_nsshunt_stsutils.isNode) {
12898
- if (this.#agentManager) this.#agentManager?.ResetAgent();
12899
- setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout).unref();
12900
- } else setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout);
13023
+ this.LogDebugMessage(`SocketIoClient:on("disconnect"): Server unexpectedly disconnected. Reason: [${reason}]`);
13024
+ this.LogDebugMessage("SocketIoClient:on(\"disconnect\"): The connection will be re-established when the server becomes available.");
13025
+ this.ResetSocket();
13026
+ if (_nsshunt_stsutils.isNode) this.#reconnectTimeoutVal = setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout).unref();
13027
+ else this.#reconnectTimeoutVal = setTimeout(() => this.#EstablishSocketConnect(), this.#reconnectTimeout);
12901
13028
  break;
12902
13029
  }
12903
13030
  });
12904
13031
  }
13032
+ ResetSocket = () => {
13033
+ try {
13034
+ if (this.#reconnectTimeoutVal !== void 0) {
13035
+ clearTimeout(this.#reconnectTimeoutVal);
13036
+ this.#reconnectTimeoutVal = void 0;
13037
+ }
13038
+ if (this.#socket) {
13039
+ this.#socket.removeAllListeners();
13040
+ this.#socket.io.removeAllListeners();
13041
+ if (this.#socket.connected === true) this.#socket.disconnect();
13042
+ if (_nsshunt_stsutils.isNode) {
13043
+ if (this.#agentManager) this.#agentManager.ResetAgent();
13044
+ }
13045
+ this.#socket = void 0;
13046
+ }
13047
+ } catch (error) {
13048
+ const errorMessage = `SocketIoClient:ResetSocket(): Error: [${error}]`;
13049
+ this.LogErrorMessage(errorMessage);
13050
+ this.SocketConnectError(new Error(errorMessage));
13051
+ }
13052
+ };
12905
13053
  };
12906
13054
  //#endregion
12907
13055
  //#region node_modules/@nsshunt/stsinstrumentmanagerclient/dist/index.mjs
@@ -13397,12 +13545,6 @@ var timestampExtension = {
13397
13545
  else return new ExtData(type, data);
13398
13546
  }
13399
13547
  });
13400
- var influxDBDataType = /* @__PURE__ */ function(influxDBDataType) {
13401
- influxDBDataType["intField"] = "intField";
13402
- influxDBDataType["floatField"] = "floatField";
13403
- influxDBDataType["stringField"] = "stringField";
13404
- return influxDBDataType;
13405
- }({});
13406
13548
  var instrumentationObservationInterval = 1e3;
13407
13549
  var instrumentationTimeWindow = 600;
13408
13550
  var globalServiceDefinitions = {
@@ -13412,7 +13554,7 @@ var globalServiceDefinitions = {
13412
13554
  gauge: _nsshunt_stsobservability.Gauge.REQUEST_COUNT_GAUGE,
13413
13555
  instrumentProperty: "val",
13414
13556
  dataType: "number",
13415
- influxdbDataType: influxDBDataType.intField,
13557
+ influxdbDataType: "intField",
13416
13558
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13417
13559
  },
13418
13560
  {
@@ -13420,7 +13562,7 @@ var globalServiceDefinitions = {
13420
13562
  gauge: _nsshunt_stsobservability.Gauge.ERROR_COUNT_GAUGE,
13421
13563
  instrumentProperty: "val",
13422
13564
  dataType: "number",
13423
- influxdbDataType: influxDBDataType.intField,
13565
+ influxdbDataType: "intField",
13424
13566
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13425
13567
  },
13426
13568
  {
@@ -13428,7 +13570,7 @@ var globalServiceDefinitions = {
13428
13570
  gauge: _nsshunt_stsobservability.Gauge.RETRY_COUNT_GAUGE,
13429
13571
  instrumentProperty: "val",
13430
13572
  dataType: "number",
13431
- influxdbDataType: influxDBDataType.intField,
13573
+ influxdbDataType: "intField",
13432
13574
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13433
13575
  },
13434
13576
  {
@@ -13436,7 +13578,7 @@ var globalServiceDefinitions = {
13436
13578
  gauge: _nsshunt_stsobservability.Gauge.AUTHENTICATION_COUNT_GAUGE,
13437
13579
  instrumentProperty: "val",
13438
13580
  dataType: "number",
13439
- influxdbDataType: influxDBDataType.intField,
13581
+ influxdbDataType: "intField",
13440
13582
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13441
13583
  },
13442
13584
  {
@@ -13444,7 +13586,7 @@ var globalServiceDefinitions = {
13444
13586
  gauge: _nsshunt_stsobservability.Gauge.AUTHENTICATION_ERROR_COUNT_GAUGE,
13445
13587
  instrumentProperty: "val",
13446
13588
  dataType: "number",
13447
- influxdbDataType: influxDBDataType.intField,
13589
+ influxdbDataType: "intField",
13448
13590
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13449
13591
  },
13450
13592
  {
@@ -13452,7 +13594,7 @@ var globalServiceDefinitions = {
13452
13594
  gauge: _nsshunt_stsobservability.Gauge.AUTHENTICATION_RETRY_COUNT_GAUGE,
13453
13595
  instrumentProperty: "val",
13454
13596
  dataType: "number",
13455
- influxdbDataType: influxDBDataType.intField,
13597
+ influxdbDataType: "intField",
13456
13598
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13457
13599
  },
13458
13600
  {
@@ -13460,7 +13602,7 @@ var globalServiceDefinitions = {
13460
13602
  gauge: _nsshunt_stsobservability.Gauge.VELOCITY_GAUGE,
13461
13603
  instrumentProperty: "va",
13462
13604
  dataType: "number",
13463
- influxdbDataType: influxDBDataType.floatField,
13605
+ influxdbDataType: "floatField",
13464
13606
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_VELOCITY
13465
13607
  },
13466
13608
  {
@@ -13470,7 +13612,7 @@ var globalServiceDefinitions = {
13470
13612
  dataType: "number",
13471
13613
  timeSeriesIndex: true,
13472
13614
  quantile: true,
13473
- influxdbDataType: influxDBDataType.intField,
13615
+ influxdbDataType: "intField",
13474
13616
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE,
13475
13617
  instrumentOptions: {
13476
13618
  interval: instrumentationObservationInterval,
@@ -13482,7 +13624,7 @@ var globalServiceDefinitions = {
13482
13624
  gauge: _nsshunt_stsobservability.Gauge.CORE_COUNT_GAUGE,
13483
13625
  instrumentProperty: "val",
13484
13626
  dataType: "number",
13485
- influxdbDataType: influxDBDataType.intField,
13627
+ influxdbDataType: "intField",
13486
13628
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13487
13629
  },
13488
13630
  {
@@ -13490,7 +13632,7 @@ var globalServiceDefinitions = {
13490
13632
  gauge: _nsshunt_stsobservability.Gauge.NETWORK_RX_GAUGE,
13491
13633
  instrumentProperty: "va",
13492
13634
  dataType: "number",
13493
- influxdbDataType: influxDBDataType.floatField,
13635
+ influxdbDataType: "floatField",
13494
13636
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_VELOCITY
13495
13637
  },
13496
13638
  {
@@ -13498,7 +13640,7 @@ var globalServiceDefinitions = {
13498
13640
  gauge: _nsshunt_stsobservability.Gauge.NETWORK_TX_GAUGE,
13499
13641
  instrumentProperty: "va",
13500
13642
  dataType: "number",
13501
- influxdbDataType: influxDBDataType.floatField,
13643
+ influxdbDataType: "floatField",
13502
13644
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_VELOCITY
13503
13645
  },
13504
13646
  {
@@ -13506,7 +13648,7 @@ var globalServiceDefinitions = {
13506
13648
  gauge: _nsshunt_stsobservability.Gauge.TIMER_GAUGE,
13507
13649
  instrumentProperty: "val",
13508
13650
  dataType: "number",
13509
- influxdbDataType: influxDBDataType.floatField,
13651
+ influxdbDataType: "floatField",
13510
13652
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_TIMER
13511
13653
  },
13512
13654
  {
@@ -13516,7 +13658,7 @@ var globalServiceDefinitions = {
13516
13658
  dataType: "number",
13517
13659
  timeSeriesIndex: true,
13518
13660
  quantile: true,
13519
- influxdbDataType: influxDBDataType.floatField,
13661
+ influxdbDataType: "floatField",
13520
13662
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE,
13521
13663
  instrumentOptions: {
13522
13664
  interval: instrumentationObservationInterval,
@@ -13561,7 +13703,7 @@ var globalServiceDefinitions = {
13561
13703
  dataType: "number",
13562
13704
  timeSeriesIndex: true,
13563
13705
  quantile: true,
13564
- influxdbDataType: influxDBDataType.floatField,
13706
+ influxdbDataType: "floatField",
13565
13707
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE,
13566
13708
  instrumentOptions: {
13567
13709
  interval: instrumentationObservationInterval,
@@ -13607,7 +13749,7 @@ var globalServiceDefinitions = {
13607
13749
  dataType: "string",
13608
13750
  timeSeriesIndex: false,
13609
13751
  quantile: false,
13610
- influxdbDataType: influxDBDataType.stringField,
13752
+ influxdbDataType: "stringField",
13611
13753
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_LOG,
13612
13754
  instrumentOptions: {
13613
13755
  consoleLogging: false,
@@ -13640,7 +13782,7 @@ var globalServiceDefinitions = {
13640
13782
  dataType: "number",
13641
13783
  timeSeriesIndex: true,
13642
13784
  quantile: true,
13643
- influxdbDataType: influxDBDataType.floatField,
13785
+ influxdbDataType: "floatField",
13644
13786
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE,
13645
13787
  instrumentOptions: {
13646
13788
  interval: instrumentationObservationInterval,
@@ -13654,7 +13796,7 @@ var globalServiceDefinitions = {
13654
13796
  dataType: "number",
13655
13797
  timeSeriesIndex: true,
13656
13798
  quantile: true,
13657
- influxdbDataType: influxDBDataType.intField,
13799
+ influxdbDataType: "intField",
13658
13800
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE,
13659
13801
  instrumentOptions: {
13660
13802
  interval: instrumentationObservationInterval,
@@ -13666,7 +13808,7 @@ var globalServiceDefinitions = {
13666
13808
  gauge: _nsshunt_stsobservability.Gauge.CONNECTION_POOL_TOTAL_GAUGE,
13667
13809
  instrumentProperty: "val",
13668
13810
  dataType: "number",
13669
- influxdbDataType: influxDBDataType.intField,
13811
+ influxdbDataType: "intField",
13670
13812
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13671
13813
  },
13672
13814
  {
@@ -13674,7 +13816,7 @@ var globalServiceDefinitions = {
13674
13816
  gauge: _nsshunt_stsobservability.Gauge.CONNECTION_POOL_IDLE_GAUGE,
13675
13817
  instrumentProperty: "val",
13676
13818
  dataType: "number",
13677
- influxdbDataType: influxDBDataType.intField,
13819
+ influxdbDataType: "intField",
13678
13820
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13679
13821
  },
13680
13822
  {
@@ -13682,7 +13824,7 @@ var globalServiceDefinitions = {
13682
13824
  gauge: _nsshunt_stsobservability.Gauge.CONNECTION_POOL_WAITING_GAUGE,
13683
13825
  instrumentProperty: "val",
13684
13826
  dataType: "number",
13685
- influxdbDataType: influxDBDataType.intField,
13827
+ influxdbDataType: "intField",
13686
13828
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13687
13829
  },
13688
13830
  {
@@ -13692,7 +13834,7 @@ var globalServiceDefinitions = {
13692
13834
  dataType: "number",
13693
13835
  timeSeriesIndex: true,
13694
13836
  quantile: true,
13695
- influxdbDataType: influxDBDataType.floatField,
13837
+ influxdbDataType: "floatField",
13696
13838
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13697
13839
  },
13698
13840
  {
@@ -13700,7 +13842,7 @@ var globalServiceDefinitions = {
13700
13842
  gauge: _nsshunt_stsobservability.Gauge.OBJECT_GAUGE,
13701
13843
  instrumentProperty: "val",
13702
13844
  dataType: "JSON",
13703
- influxdbDataType: influxDBDataType.stringField,
13845
+ influxdbDataType: "stringField",
13704
13846
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_OBJECT,
13705
13847
  instrumentOptions: { label: "InstrumentObjectMaster" }
13706
13848
  }
@@ -13752,7 +13894,7 @@ var globalServiceDefinitions = {
13752
13894
  gauge: _nsshunt_stsobservability.Gauge.CHILD_COUNT,
13753
13895
  instrumentProperty: "val",
13754
13896
  dataType: "number",
13755
- influxdbDataType: influxDBDataType.intField,
13897
+ influxdbDataType: "intField",
13756
13898
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13757
13899
  }],
13758
13900
  GetPathFromContext(context) {
@@ -13809,7 +13951,7 @@ var globalServiceDefinitions = {
13809
13951
  dataType: "number",
13810
13952
  timeSeriesIndex: true,
13811
13953
  quantile: true,
13812
- influxdbDataType: influxDBDataType.floatField,
13954
+ influxdbDataType: "floatField",
13813
13955
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13814
13956
  },
13815
13957
  {
@@ -13819,7 +13961,7 @@ var globalServiceDefinitions = {
13819
13961
  dataType: "number",
13820
13962
  timeSeriesIndex: true,
13821
13963
  quantile: true,
13822
- influxdbDataType: influxDBDataType.intField,
13964
+ influxdbDataType: "intField",
13823
13965
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13824
13966
  },
13825
13967
  {
@@ -13827,7 +13969,7 @@ var globalServiceDefinitions = {
13827
13969
  gauge: _nsshunt_stsobservability.Gauge.CONNECTION_POOL_TOTAL_GAUGE,
13828
13970
  instrumentProperty: "val",
13829
13971
  dataType: "number",
13830
- influxdbDataType: influxDBDataType.intField,
13972
+ influxdbDataType: "intField",
13831
13973
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13832
13974
  },
13833
13975
  {
@@ -13835,7 +13977,7 @@ var globalServiceDefinitions = {
13835
13977
  gauge: _nsshunt_stsobservability.Gauge.CONNECTION_POOL_IDLE_GAUGE,
13836
13978
  instrumentProperty: "val",
13837
13979
  dataType: "number",
13838
- influxdbDataType: influxDBDataType.intField,
13980
+ influxdbDataType: "intField",
13839
13981
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13840
13982
  },
13841
13983
  {
@@ -13843,7 +13985,7 @@ var globalServiceDefinitions = {
13843
13985
  gauge: _nsshunt_stsobservability.Gauge.CONNECTION_POOL_WAITING_GAUGE,
13844
13986
  instrumentProperty: "val",
13845
13987
  dataType: "number",
13846
- influxdbDataType: influxDBDataType.intField,
13988
+ influxdbDataType: "intField",
13847
13989
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13848
13990
  },
13849
13991
  {
@@ -13853,7 +13995,7 @@ var globalServiceDefinitions = {
13853
13995
  dataType: "number",
13854
13996
  timeSeriesIndex: true,
13855
13997
  quantile: true,
13856
- influxdbDataType: influxDBDataType.floatField,
13998
+ influxdbDataType: "floatField",
13857
13999
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_GAUGE
13858
14000
  },
13859
14001
  {
@@ -13861,7 +14003,7 @@ var globalServiceDefinitions = {
13861
14003
  gauge: _nsshunt_stsobservability.Gauge.OBJECT_GAUGE,
13862
14004
  instrumentProperty: "val",
13863
14005
  dataType: "JSON",
13864
- influxdbDataType: influxDBDataType.stringField,
14006
+ influxdbDataType: "stringField",
13865
14007
  gaugeType: _nsshunt_stsobservability.GaugeTypes.INSTRUMENT_OBJECT
13866
14008
  }
13867
14009
  ],