@nsshunt/stsvueutils 1.2.32 → 1.2.34

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.
@@ -34,11 +34,11 @@ var __privateMethod = (obj, member, method) => {
34
34
  __accessCheck(obj, member, "access private method");
35
35
  return method;
36
36
  };
37
- var _store, _storage, _workersEx, _runner, _workerId, _options, _STSInstrumentController, _app, _CreateRunnerCopy, CreateRunnerCopy_fn, _SetRunnerIntoWorker, _ProcessTelemetry, _CreateAsyncRunner, _PostMessageToWorker, _TerminateWorker, _StopRunner, _StopWorker, _requestResponseMessages, _requestResponseMessageTimeout, _port, _SetupListener, _collectorCollectorPort, _requestResponseHelper, _runners, _options2, _SetMessagePort, _AddAsyncRunner, _StopRunners;
38
- import { inject, defineComponent, defineAsyncComponent, ref, openBlock, createElementBlock, createVNode, unref, reactive, computed, watch, resolveComponent, createBlock, withCtx, createTextVNode, toDisplayString, createElementVNode, createCommentVNode, Fragment, renderList, onMounted, onBeforeUnmount, pushScopeId, popScopeId, resolveDynamicComponent } from "vue";
37
+ var _store, _storage, _workersEx, _runner, _workerId, _options, _STSInstrumentController, _app, _CreateRunnerCopy, CreateRunnerCopy_fn, _SetRunnerIntoWorker, _ProcessTelemetry, _CreateAsyncRunner, _PostMessageToWorker, _TerminateWorker, _StopRunner, _StopWorker, _requestResponseMessages, _requestResponseMessageTimeout, _port, _SetupListener, _collectorCollectorPort, _requestResponseHelper, _runners, _options2, _SetMessagePort, _AddAsyncRunner, _StopRunners, _socket, _observabilitySocketIOSubscriber, _logger, _observabilitySubscriptionManager, _store2, _state, _modelId, _options3, _tinyEmitter, _id, _SocketIOConnect, _SetupObservabilitySubscriber, _SetupSocketIO, _SocketConnect, _ProcessSocketError, _ProcessSocketEvents;
38
+ import { inject, defineComponent, defineAsyncComponent, ref, openBlock, createElementBlock, createVNode, unref, reactive, computed, watch, resolveComponent, createBlock, withCtx, createTextVNode, toDisplayString, createElementVNode, createCommentVNode, Fragment, renderList, onMounted, onBeforeUnmount, pushScopeId, popScopeId, resolveDynamicComponent, isRef } from "vue";
39
39
  import debugModule from "debug";
40
- import { STSInstrumentControllerPluginKey, GetSTSInstrumentController, Gauge, GetSTSInstrumentControllerPluginKey } from "@nsshunt/stsobservability";
41
- import { ModelDelimeter, Sleep } from "@nsshunt/stsutils";
40
+ import { STSInstrumentControllerPluginKey, GetSTSInstrumentController, Gauge, GetSTSInstrumentControllerPluginKey, ObservabilitySocketIOSubscriber, ObservabilityRESTAPISubscriber, ObservabilitySubscriptionManager, SubscriptionTopic, SocketIoClientHelper } from "@nsshunt/stsobservability";
41
+ import { ModelDelimeter, Sleep, defaultLogger } from "@nsshunt/stsutils";
42
42
  import { defineStore } from "pinia";
43
43
  import _cloneDeep from "lodash.clonedeep";
44
44
  const STSStoragePluginKey = Symbol("storage");
@@ -2609,7 +2609,7 @@ const ModelStore = defineStore("__sts__ModelStore", {
2609
2609
  }
2610
2610
  }
2611
2611
  });
2612
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2612
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2613
2613
  __name: "UXBarChart",
2614
2614
  setup(__props, { expose: __expose }) {
2615
2615
  const VueApexCharts = defineAsyncComponent(() => import("vue3-apexcharts"));
@@ -2690,7 +2690,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2690
2690
  };
2691
2691
  }
2692
2692
  });
2693
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2693
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2694
2694
  __name: "UXLineChart",
2695
2695
  setup(__props, { expose: __expose }) {
2696
2696
  const VueApexCharts = defineAsyncComponent(() => import("vue3-apexcharts"));
@@ -2792,7 +2792,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2792
2792
  };
2793
2793
  }
2794
2794
  });
2795
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2795
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2796
2796
  __name: "UXMultiBarChart",
2797
2797
  props: {
2798
2798
  series: {},
@@ -2892,7 +2892,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2892
2892
  };
2893
2893
  }
2894
2894
  });
2895
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
2895
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2896
2896
  __name: "UXRadialChart",
2897
2897
  props: {
2898
2898
  series: {},
@@ -9163,7 +9163,7 @@ function createDOMPurify() {
9163
9163
  return DOMPurify;
9164
9164
  }
9165
9165
  var purify = createDOMPurify();
9166
- const _hoisted_1$4 = { class: "instDisplay text-right" };
9166
+ const _hoisted_1$5 = { class: "instDisplay text-right" };
9167
9167
  const _hoisted_2$4 = {
9168
9168
  key: 0,
9169
9169
  class: "instDisplayWide ml-6"
@@ -9204,7 +9204,7 @@ const _hoisted_26$2 = { key: 0 };
9204
9204
  const _hoisted_27$2 = ["innerHTML"];
9205
9205
  const _hoisted_28$2 = { key: 1 };
9206
9206
  const _hoisted_29$1 = ["innerHTML"];
9207
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9207
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
9208
9208
  __name: "UXModelInstrumentAgentCommon",
9209
9209
  props: {
9210
9210
  modelId: {},
@@ -9354,7 +9354,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9354
9354
  }),
9355
9355
  createVNode(_component_v_col, { md: "10" }, {
9356
9356
  default: withCtx(() => [
9357
- createElementVNode("span", _hoisted_1$4, toDisplayString(round2Places(_ctx.instrumentData[`${unref(Gauge).DURATION_GAUGE}`].val)), 1),
9357
+ createElementVNode("span", _hoisted_1$5, toDisplayString(round2Places(_ctx.instrumentData[`${unref(Gauge).DURATION_GAUGE}`].val)), 1),
9358
9358
  _ctx.isLeafNode === false ? (openBlock(), createElementBlock("span", _hoisted_2$4, toDisplayString(round2PlacesArray(_ctx.instrumentData[`${unref(Gauge).DURATION_GAUGE}`].percentile)), 1)) : createCommentVNode("", true)
9359
9359
  ]),
9360
9360
  _: 1
@@ -9433,7 +9433,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9433
9433
  createVNode(_component_v_col, { md: "12" }, {
9434
9434
  default: withCtx(() => [
9435
9435
  createElementVNode("div", null, [
9436
- createVNode(_sfc_main$8, {
9436
+ createVNode(_sfc_main$9, {
9437
9437
  ref_key: "barChartEx",
9438
9438
  ref: barChartEx
9439
9439
  }, null, 512)
@@ -9613,8 +9613,8 @@ const _export_sfc = (sfc, props) => {
9613
9613
  }
9614
9614
  return target2;
9615
9615
  };
9616
- const UXModelInstrumentAgentCommon = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-00273855"]]);
9617
- const _hoisted_1$3 = { class: "ststitle" };
9616
+ const UXModelInstrumentAgentCommon = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-00273855"]]);
9617
+ const _hoisted_1$4 = { class: "ststitle" };
9618
9618
  const _hoisted_2$3 = {
9619
9619
  key: 0,
9620
9620
  class: "stssubtitle"
@@ -9669,7 +9669,7 @@ const _hoisted_40 = { key: 0 };
9669
9669
  const _hoisted_41 = ["innerHTML"];
9670
9670
  const _hoisted_42 = { key: 1 };
9671
9671
  const _hoisted_43 = ["innerHTML"];
9672
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
9672
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9673
9673
  __name: "UXModelInstrumentServiceCommon",
9674
9674
  props: {
9675
9675
  modelId: {},
@@ -9815,7 +9815,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
9815
9815
  onClick: _cache[0] || (_cache[0] = ($event) => clicked(_ctx.nodeid))
9816
9816
  }, {
9817
9817
  default: withCtx(() => [
9818
- createElementVNode("div", _hoisted_1$3, [
9818
+ createElementVNode("div", _hoisted_1$4, [
9819
9819
  createTextVNode(toDisplayString(friendlyTitle(_ctx.title)) + " ", 1),
9820
9820
  _ctx.title.length > 30 ? (openBlock(), createElementBlock("div", _hoisted_2$3, [
9821
9821
  createTextVNode(toDisplayString(_ctx.title.split("@")[0]) + " ", 1),
@@ -9862,7 +9862,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
9862
9862
  }, {
9863
9863
  default: withCtx(() => [
9864
9864
  createElementVNode("div", null, [
9865
- createVNode(_sfc_main$7, {
9865
+ createVNode(_sfc_main$8, {
9866
9866
  ref_key: "lineChartEx",
9867
9867
  ref: lineChartEx
9868
9868
  }, null, 512)
@@ -9994,7 +9994,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
9994
9994
  createVNode(_component_v_col, { md: "12" }, {
9995
9995
  default: withCtx(() => [
9996
9996
  createElementVNode("div", null, [
9997
- createVNode(_sfc_main$8, {
9997
+ createVNode(_sfc_main$9, {
9998
9998
  ref_key: "barChartEx",
9999
9999
  ref: barChartEx
10000
10000
  }, null, 512)
@@ -10265,9 +10265,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10265
10265
  };
10266
10266
  }
10267
10267
  });
10268
- const UXModelInstrumentServiceCommon = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-02af10f2"]]);
10268
+ const UXModelInstrumentServiceCommon = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-02af10f2"]]);
10269
10269
  const _withScopeId = (n) => (pushScopeId("data-v-3eab32be"), n = n(), popScopeId(), n);
10270
- const _hoisted_1$2 = { class: "ststitle" };
10270
+ const _hoisted_1$3 = { class: "ststitle" };
10271
10271
  const _hoisted_2$2 = {
10272
10272
  key: 0,
10273
10273
  class: "stssubtitle"
@@ -10325,7 +10325,7 @@ const _hoisted_28 = {
10325
10325
  class: "stsinfo",
10326
10326
  style: { "text-align": "right", "padding-left": "15px" }
10327
10327
  };
10328
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10328
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10329
10329
  __name: "UXModelInstrumentServiceSmall",
10330
10330
  props: {
10331
10331
  modelId: {},
@@ -10587,7 +10587,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10587
10587
  onClick: _cache[0] || (_cache[0] = ($event) => clicked(_ctx.nodeid))
10588
10588
  }, {
10589
10589
  default: withCtx(() => [
10590
- createElementVNode("div", _hoisted_1$2, [
10590
+ createElementVNode("div", _hoisted_1$3, [
10591
10591
  createTextVNode(toDisplayString(friendlyTitle(_ctx.title)) + " ", 1),
10592
10592
  _ctx.title.length > 30 ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
10593
10593
  createTextVNode(toDisplayString(_ctx.title.split("@")[0]) + " ", 1),
@@ -10838,10 +10838,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10838
10838
  };
10839
10839
  }
10840
10840
  });
10841
- const UXModelInstrumentServiceSmall = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3eab32be"]]);
10842
- const _hoisted_1$1 = ["value"];
10841
+ const UXModelInstrumentServiceSmall = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-3eab32be"]]);
10842
+ const _hoisted_1$2 = ["value"];
10843
10843
  const _hoisted_2$1 = { key: 0 };
10844
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
10844
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10845
10845
  __name: "UXModelNode",
10846
10846
  props: {
10847
10847
  modelId: {},
@@ -10896,11 +10896,544 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
10896
10896
  onMyclick: navigate
10897
10897
  }, null, 40, ["model-id", "nodeid", "contextdata", "instrumentdata", "title"]))
10898
10898
  ])) : createCommentVNode("", true)
10899
- ], 8, _hoisted_1$1);
10899
+ ], 8, _hoisted_1$2);
10900
10900
  }), 128);
10901
10901
  };
10902
10902
  }
10903
10903
  });
10904
+ let getRandomValues;
10905
+ const rnds8 = new Uint8Array(16);
10906
+ function rng() {
10907
+ if (!getRandomValues) {
10908
+ getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
10909
+ if (!getRandomValues) {
10910
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
10911
+ }
10912
+ }
10913
+ return getRandomValues(rnds8);
10914
+ }
10915
+ const byteToHex = [];
10916
+ for (let i = 0; i < 256; ++i) {
10917
+ byteToHex.push((i + 256).toString(16).slice(1));
10918
+ }
10919
+ function unsafeStringify(arr, offset = 0) {
10920
+ return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
10921
+ }
10922
+ const randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
10923
+ const native = {
10924
+ randomUUID
10925
+ };
10926
+ function v4(options, buf, offset) {
10927
+ if (native.randomUUID && !buf && !options) {
10928
+ return native.randomUUID();
10929
+ }
10930
+ options = options || {};
10931
+ const rnds = options.random || (options.rng || rng)();
10932
+ rnds[6] = rnds[6] & 15 | 64;
10933
+ rnds[8] = rnds[8] & 63 | 128;
10934
+ if (buf) {
10935
+ offset = offset || 0;
10936
+ for (let i = 0; i < 16; ++i) {
10937
+ buf[offset + i] = rnds[i];
10938
+ }
10939
+ return buf;
10940
+ }
10941
+ return unsafeStringify(rnds);
10942
+ }
10943
+ const SOCKET_NAMESPACE = "stsinstrumentmanager/stsmonitor";
10944
+ class ObservabilitySubscriberManager {
10945
+ constructor(options) {
10946
+ __privateAdd(this, _socket, null);
10947
+ __privateAdd(this, _observabilitySocketIOSubscriber, null);
10948
+ __privateAdd(this, _logger, void 0);
10949
+ __privateAdd(this, _observabilitySubscriptionManager, null);
10950
+ __privateAdd(this, _store2, void 0);
10951
+ __privateAdd(this, _state, "init");
10952
+ __privateAdd(this, _modelId, void 0);
10953
+ __privateAdd(this, _options3, void 0);
10954
+ __privateAdd(this, _tinyEmitter, void 0);
10955
+ __privateAdd(this, _id, void 0);
10956
+ __privateAdd(this, _SocketIOConnect, (socket) => {
10957
+ var _a, _b;
10958
+ try {
10959
+ console.log(chalk$1.cyan(`SocketIOConnect(): Starting`));
10960
+ console.log(chalk$1.cyan(`SocketIOConnect(): State: [${__privateGet(this, _state)}]`));
10961
+ console.log(chalk$1.cyan(`SocketIOConnect(): Current Model Subscriptions: [${(_a = __privateGet(this, _observabilitySubscriptionManager)) == null ? void 0 : _a.subscriptions}]`));
10962
+ if (__privateGet(this, _observabilitySocketIOSubscriber) instanceof ObservabilitySocketIOSubscriber) {
10963
+ if (socket.id) {
10964
+ const observabilitySocketIOSubscriberSocketId = __privateGet(this, _observabilitySocketIOSubscriber).socket.id;
10965
+ if (observabilitySocketIOSubscriberSocketId) {
10966
+ if (socket.id.localeCompare(observabilitySocketIOSubscriberSocketId) === 0) {
10967
+ __privateGet(this, _logger).debug(chalk$1.cyan(`AgentSocketClient:constructor:SocketIOConnectSocket(): ids are the same - ignoring`));
10968
+ }
10969
+ }
10970
+ }
10971
+ __privateGet(this, _logger).debug(chalk$1.cyan(`AgentSocketClient:constructor:SocketIOConnect(): Socket ids are different - update with new socket`));
10972
+ __privateGet(this, _observabilitySocketIOSubscriber).socket = socket;
10973
+ (_b = __privateGet(this, _observabilitySubscriptionManager)) == null ? void 0 : _b.Stop();
10974
+ if (__privateGet(this, _state).localeCompare("started") === 0) {
10975
+ setTimeout(() => {
10976
+ var _a2;
10977
+ __privateGet(this, _logger).debug(chalk$1.cyan(`AgentSocketClient:constructor:SocketIOConnect(): observabilitySubscriptionManager Start`));
10978
+ (_a2 = __privateGet(this, _observabilitySubscriptionManager)) == null ? void 0 : _a2.Start();
10979
+ __privateGet(this, _tinyEmitter).emit("connected");
10980
+ }, 2500);
10981
+ } else {
10982
+ __privateGet(this, _logger).debug(chalk$1.cyan(`AgentSocketClient:constructor:SocketIOConnect(): state not in the started state, current state: [${__privateGet(this, _state)}]`));
10983
+ __privateGet(this, _tinyEmitter).emit("connected");
10984
+ }
10985
+ } else {
10986
+ __privateGet(this, _logger).debug(chalk$1.cyan(`SocketIOConnect(): this.#observabilitySocketIOSubscriber not instance of ObservabilitySocketIOSubscriber`));
10987
+ __privateGet(this, _logger).debug(chalk$1.cyan(__privateGet(this, _observabilitySocketIOSubscriber)));
10988
+ __privateGet(this, _tinyEmitter).emit("connected");
10989
+ }
10990
+ } catch (error) {
10991
+ __privateGet(this, _logger).error(chalk$1.red(`SocketIOConnect(): Error: [${error}]`));
10992
+ __privateGet(this, _tinyEmitter).emit("connected");
10993
+ } finally {
10994
+ __privateGet(this, _logger).debug(chalk$1.cyan(`SocketIOConnect(): Ended`));
10995
+ }
10996
+ });
10997
+ __privateAdd(this, _SetupObservabilitySubscriber, () => {
10998
+ __privateGet(this, _logger).debug(`ObservabilitySubscriberManager:SetupObservabilitySubscriber(): consumeInstrumentationMode: [${__privateGet(this, _options3).consumeInstrumentationMode}]`);
10999
+ switch (__privateGet(this, _options3).consumeInstrumentationMode) {
11000
+ case "PROXY":
11001
+ __privateSet(this, _observabilitySocketIOSubscriber, new ObservabilitySocketIOSubscriber({
11002
+ socket: __privateGet(this, _socket),
11003
+ keepAlive: 2500,
11004
+ //@@
11005
+ logger: __privateGet(this, _logger)
11006
+ }));
11007
+ break;
11008
+ case "REST":
11009
+ __privateSet(this, _observabilitySocketIOSubscriber, new ObservabilityRESTAPISubscriber({
11010
+ keepAlive: 1e3,
11011
+ //@@
11012
+ urlBase: `${__privateGet(this, _options3).instrumentManagerEndpoint}:${__privateGet(this, _options3).instrumentManagerPort}${__privateGet(this, _options3).instrumentManagerAPIRoot}`,
11013
+ logger: __privateGet(this, _logger)
11014
+ }));
11015
+ break;
11016
+ default:
11017
+ __privateGet(this, _logger).error(chalk$1.red(`ObservabilitySubscriberManager:SetupObservabilitySubscriber(): Unsupported consumeInstrumentationMode mode: [${__privateGet(this, _options3).consumeInstrumentationMode}]`));
11018
+ return;
11019
+ }
11020
+ __privateSet(this, _observabilitySubscriptionManager, new ObservabilitySubscriptionManager({
11021
+ logger: __privateGet(this, _logger),
11022
+ maxLogLength: 100
11023
+ }));
11024
+ __privateGet(this, _observabilitySubscriptionManager).observabilitySocketIOSubscriber = __privateGet(this, _observabilitySocketIOSubscriber);
11025
+ });
11026
+ __publicField(this, "Start", () => {
11027
+ return new Promise((resolve) => {
11028
+ if (__privateGet(this, _options3).consumeInstrumentationMode.localeCompare("PROXY") === 0) {
11029
+ const onConnected = () => {
11030
+ __privateGet(this, _tinyEmitter).off("connected", onConnected);
11031
+ __privateGet(this, _logger).debug(chalk$1.cyan(`ObservabilitySubscriberManager:Start() connected`));
11032
+ resolve(true);
11033
+ };
11034
+ __privateGet(this, _tinyEmitter).on("connected", onConnected);
11035
+ __privateGet(this, _SetupSocketIO).call(this);
11036
+ } else {
11037
+ __privateGet(this, _SetupObservabilitySubscriber).call(this);
11038
+ resolve(true);
11039
+ }
11040
+ });
11041
+ });
11042
+ __privateAdd(this, _SetupSocketIO, () => {
11043
+ const socketUtils = new SocketIoClientHelper({});
11044
+ __privateSet(this, _socket, socketUtils.SetupClientSideSocket(
11045
+ "STSVueTilsTester",
11046
+ `${__privateGet(this, _options3).instrumentManagerEndpoint}:${__privateGet(this, _options3).instrumentManagerPort}/${SOCKET_NAMESPACE}/`,
11047
+ __privateGet(this, _SocketConnect),
11048
+ // Connected call back
11049
+ __privateGet(this, _ProcessSocketEvents),
11050
+ // Custom Events
11051
+ __privateGet(this, _ProcessSocketError)
11052
+ // Handle socket errors
11053
+ ));
11054
+ });
11055
+ __privateAdd(this, _SocketConnect, (socket) => {
11056
+ defaultLogger.debug(chalk$1.magenta(`SocketIOConnect(): Socket ID: [${socket.id}]`));
11057
+ if (__privateGet(this, _observabilitySubscriptionManager) === null) {
11058
+ __privateGet(this, _SetupObservabilitySubscriber).call(this);
11059
+ }
11060
+ __privateGet(this, _SocketIOConnect).call(this, socket);
11061
+ });
11062
+ __privateAdd(this, _ProcessSocketError, (error) => {
11063
+ defaultLogger.error(chalk$1.red(`SetupClientSideSocket error callback: [${error}]`));
11064
+ });
11065
+ __privateAdd(this, _ProcessSocketEvents, (socket) => {
11066
+ });
11067
+ __privateSet(this, _id, v4());
11068
+ __privateSet(this, _options3, options);
11069
+ __privateSet(this, _modelId, options.modelId);
11070
+ __privateSet(this, _logger, defaultLogger);
11071
+ __privateSet(this, _store2, ModelStore());
11072
+ __privateSet(this, _tinyEmitter, new TinyEmitter());
11073
+ if (!__privateGet(this, _options3).consumeInstrumentationMode) {
11074
+ __privateGet(this, _options3).consumeInstrumentationMode = "PROXY";
11075
+ }
11076
+ }
11077
+ get id() {
11078
+ return __privateGet(this, _id);
11079
+ }
11080
+ UpdateModelCursor(subscriptions) {
11081
+ var _a;
11082
+ __privateGet(this, _logger).debug(chalk$1.yellow(`UpdateModelCursor`));
11083
+ (_a = __privateGet(this, _observabilitySubscriptionManager)) == null ? void 0 : _a.Stop();
11084
+ __privateSet(this, _state, "stopped");
11085
+ setTimeout(() => {
11086
+ if (__privateGet(this, _observabilitySubscriptionManager)) {
11087
+ __privateGet(this, _observabilitySubscriptionManager).subscriptions = subscriptions;
11088
+ __privateGet(this, _observabilitySubscriptionManager).Start();
11089
+ } else {
11090
+ __privateGet(this, _logger).debug(chalk$1.yellow(`UpdateModelCursor(): Could not update subscriptions, this.#observabilitySubscriptionManager not set`));
11091
+ }
11092
+ __privateSet(this, _state, "started");
11093
+ }, 0);
11094
+ }
11095
+ TransformSubscriptionPayloadCallback(subscriptionPayload) {
11096
+ try {
11097
+ if (__privateGet(this, _observabilitySubscriptionManager)) {
11098
+ __privateGet(this, _observabilitySubscriptionManager).TransformSubscriptionPayloadCallback(subscriptionPayload, false);
11099
+ if (subscriptionPayload.subscriptionKey.topic.localeCompare(SubscriptionTopic.AllAgentsCombined) === 0) {
11100
+ const agentModel = __privateGet(this, _observabilitySubscriptionManager).agentModel;
11101
+ __privateGet(this, _store2).UpdateAgentModel(__privateGet(this, _modelId), agentModel, subscriptionPayload.subscriptionKey);
11102
+ }
11103
+ if (subscriptionPayload.subscriptionKey.topic.localeCompare(SubscriptionTopic.AllServicesCombined) === 0) {
11104
+ const serviceModel = __privateGet(this, _observabilitySubscriptionManager).serviceModel;
11105
+ __privateGet(this, _store2).UpdateServiceModel(__privateGet(this, _modelId), serviceModel, subscriptionPayload.subscriptionKey);
11106
+ }
11107
+ if (subscriptionPayload.subscriptionKey.topic.localeCompare(SubscriptionTopic.Services) === 0) {
11108
+ const serviceModel = __privateGet(this, _observabilitySubscriptionManager).serviceModel;
11109
+ __privateGet(this, _store2).UpdateServiceModel(__privateGet(this, _modelId), serviceModel, subscriptionPayload.subscriptionKey);
11110
+ }
11111
+ if (subscriptionPayload.subscriptionKey.topic.localeCompare(SubscriptionTopic.ServiceInstances) === 0) {
11112
+ const serviceModel = __privateGet(this, _observabilitySubscriptionManager).serviceModel;
11113
+ __privateGet(this, _store2).UpdateServiceModel(__privateGet(this, _modelId), serviceModel, subscriptionPayload.subscriptionKey);
11114
+ }
11115
+ if (subscriptionPayload.subscriptionKey.topic.localeCompare(SubscriptionTopic.ServiceInstance) === 0) {
11116
+ const serviceModel = __privateGet(this, _observabilitySubscriptionManager).serviceModel;
11117
+ __privateGet(this, _store2).UpdateServiceModel(__privateGet(this, _modelId), serviceModel, subscriptionPayload.subscriptionKey);
11118
+ }
11119
+ } else {
11120
+ __privateGet(this, _logger).error(`TransformSubscriptionPayloadCallback(): observabilitySubscriptionManager not set`);
11121
+ }
11122
+ } catch (error) {
11123
+ __privateGet(this, _logger).error(`TransformSubscriptionPayloadCallback(): #modelId: [${__privateGet(this, _modelId)}], Error: [${error}]`);
11124
+ }
11125
+ }
11126
+ Unsubscribe() {
11127
+ var _a;
11128
+ __privateGet(this, _logger).debug(chalk$1.cyan(`ObservabilitySubscriberManager:Unsubscribe()`));
11129
+ __privateSet(this, _state, "stopped");
11130
+ (_a = __privateGet(this, _observabilitySubscriptionManager)) == null ? void 0 : _a.Stop();
11131
+ if (__privateGet(this, _options3).consumeInstrumentationMode.localeCompare("PROXY") === 0) {
11132
+ setTimeout(() => {
11133
+ var _a2;
11134
+ __privateGet(this, _logger).debug(chalk$1.cyan(`ObservabilitySubscriberManager:Unsubscribe() socket.disconnect`));
11135
+ (_a2 = __privateGet(this, _socket)) == null ? void 0 : _a2.disconnect();
11136
+ __privateSet(this, _socket, null);
11137
+ }, 1e3);
11138
+ }
11139
+ }
11140
+ }
11141
+ _socket = new WeakMap();
11142
+ _observabilitySocketIOSubscriber = new WeakMap();
11143
+ _logger = new WeakMap();
11144
+ _observabilitySubscriptionManager = new WeakMap();
11145
+ _store2 = new WeakMap();
11146
+ _state = new WeakMap();
11147
+ _modelId = new WeakMap();
11148
+ _options3 = new WeakMap();
11149
+ _tinyEmitter = new WeakMap();
11150
+ _id = new WeakMap();
11151
+ _SocketIOConnect = new WeakMap();
11152
+ _SetupObservabilitySubscriber = new WeakMap();
11153
+ _SetupSocketIO = new WeakMap();
11154
+ _SocketConnect = new WeakMap();
11155
+ _ProcessSocketError = new WeakMap();
11156
+ _ProcessSocketEvents = new WeakMap();
11157
+ const _hoisted_1$1 = { class: "d-flex flex-wrap justify-space-between" };
11158
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11159
+ __name: "UXModelNavigator",
11160
+ props: {
11161
+ modelId: {}
11162
+ },
11163
+ setup(__props, { expose: __expose }) {
11164
+ chalk$1.level = 3;
11165
+ const props = __props;
11166
+ const store = ModelStore();
11167
+ let observabilitySubscriberManager = null;
11168
+ const TransformSubscriptionPayloadCallback = (subscriptionPayload) => {
11169
+ observabilitySubscriberManager == null ? void 0 : observabilitySubscriberManager.TransformSubscriptionPayloadCallback(subscriptionPayload);
11170
+ };
11171
+ let rootLevelSubscriptions = [{
11172
+ subscriptionKey: {
11173
+ id: v4(),
11174
+ topic: SubscriptionTopic.AllServicesCombined
11175
+ },
11176
+ cb: TransformSubscriptionPayloadCallback
11177
+ }, {
11178
+ subscriptionKey: {
11179
+ id: v4(),
11180
+ topic: SubscriptionTopic.AllAgentsCombined
11181
+ },
11182
+ cb: TransformSubscriptionPayloadCallback
11183
+ }];
11184
+ const ServicesSubscriptions = [{
11185
+ subscriptionKey: {
11186
+ id: v4(),
11187
+ topic: SubscriptionTopic.Services
11188
+ },
11189
+ cb: TransformSubscriptionPayloadCallback
11190
+ }];
11191
+ const GetServiceInstancesSubscriptions = (serviceId) => {
11192
+ return [{
11193
+ subscriptionKey: {
11194
+ id: v4(),
11195
+ topic: SubscriptionTopic.ServiceInstances,
11196
+ key: serviceId
11197
+ },
11198
+ cb: TransformSubscriptionPayloadCallback
11199
+ }];
11200
+ };
11201
+ const GetServiceInstanceSubscriptions = (serviceId, serviceInstanceId) => {
11202
+ return [{
11203
+ subscriptionKey: {
11204
+ id: v4(),
11205
+ topic: SubscriptionTopic.ServiceInstance,
11206
+ key: serviceId,
11207
+ subkey: serviceInstanceId
11208
+ },
11209
+ cb: TransformSubscriptionPayloadCallback
11210
+ }];
11211
+ };
11212
+ let navSubscriptions = rootLevelSubscriptions;
11213
+ let navigationSubscriptions = {
11214
+ subscriptions: [],
11215
+ currentSubscriptions: null
11216
+ };
11217
+ let obj = reactive(navigationSubscriptions);
11218
+ const getPathString = (sub2) => {
11219
+ if (sub2.subscriptionKey.key && sub2.subscriptionKey.subkey) {
11220
+ return `${sub2.subscriptionKey.topic}[${sub2.subscriptionKey.key}/${sub2.subscriptionKey.subkey}]`;
11221
+ }
11222
+ if (sub2.subscriptionKey.key) {
11223
+ return `${sub2.subscriptionKey.topic}[${sub2.subscriptionKey.key}]`;
11224
+ }
11225
+ return `${sub2.subscriptionKey.topic}`;
11226
+ };
11227
+ const navigationPath = computed(() => {
11228
+ let pathString = "";
11229
+ let sep = "";
11230
+ obj.subscriptions.forEach((s) => {
11231
+ pathString += sep + getPathString(s[0]);
11232
+ sep = "/";
11233
+ });
11234
+ if (obj.currentSubscriptions) {
11235
+ return pathString + sep + getPathString(obj.currentSubscriptions[0]);
11236
+ }
11237
+ return pathString;
11238
+ });
11239
+ const BackDisabled = computed(() => {
11240
+ return obj.subscriptions.length < 1;
11241
+ });
11242
+ const modelNode = reactive({
11243
+ node: {}
11244
+ });
11245
+ computed({
11246
+ get: () => modelNode.node,
11247
+ set: (val) => {
11248
+ modelNode.node = val;
11249
+ }
11250
+ });
11251
+ const clicked = function(id) {
11252
+ var _a, _b;
11253
+ if (store._models[props.modelId]) {
11254
+ if (store._models[props.modelId].serviceModelSubscriptionKey) {
11255
+ switch ((_a = store._models[props.modelId].serviceModelSubscriptionKey) == null ? void 0 : _a.topic) {
11256
+ case SubscriptionTopic.AllServicesCombined:
11257
+ navigate(ServicesSubscriptions);
11258
+ break;
11259
+ case SubscriptionTopic.Services:
11260
+ navigate(GetServiceInstancesSubscriptions(id));
11261
+ break;
11262
+ case SubscriptionTopic.ServiceInstances:
11263
+ navigate(GetServiceInstanceSubscriptions((_b = store._models[props.modelId].serviceModelSubscriptionKey) == null ? void 0 : _b.key, id));
11264
+ break;
11265
+ }
11266
+ }
11267
+ }
11268
+ };
11269
+ const navigate = function(subscriptions) {
11270
+ obj.subscriptions.push(navSubscriptions);
11271
+ navSubscriptions = subscriptions;
11272
+ obj.currentSubscriptions = subscriptions;
11273
+ observabilitySubscriberManager == null ? void 0 : observabilitySubscriberManager.UpdateModelCursor(subscriptions);
11274
+ };
11275
+ const GoBack = function() {
11276
+ if (obj.subscriptions.length > 0) {
11277
+ let key = obj.subscriptions.pop();
11278
+ if (key) {
11279
+ navSubscriptions = key;
11280
+ obj.currentSubscriptions = key;
11281
+ observabilitySubscriberManager == null ? void 0 : observabilitySubscriberManager.UpdateModelCursor(navSubscriptions);
11282
+ }
11283
+ }
11284
+ };
11285
+ const TopLevel = function() {
11286
+ obj.subscriptions = [];
11287
+ navSubscriptions = rootLevelSubscriptions;
11288
+ obj.currentSubscriptions = rootLevelSubscriptions;
11289
+ observabilitySubscriberManager == null ? void 0 : observabilitySubscriberManager.UpdateModelCursor(navSubscriptions);
11290
+ };
11291
+ onMounted(() => {
11292
+ console.log(`UXModelNavigator: onMounted()`);
11293
+ });
11294
+ onBeforeUnmount(() => {
11295
+ console.log(`UXModelNavigator: onBeforeUnmount()`);
11296
+ Stop();
11297
+ });
11298
+ let tab = ref(null);
11299
+ const Stop = () => {
11300
+ store.UpdateSate(props.modelId, _estate.STOPPING);
11301
+ if (observabilitySubscriberManager) {
11302
+ observabilitySubscriberManager.Unsubscribe();
11303
+ store.UpdateObservabilitySubscriberManager(observabilitySubscriberManager.id, null);
11304
+ }
11305
+ observabilitySubscriberManager = null;
11306
+ store.UpdateSate(props.modelId, _estate.IDLE);
11307
+ };
11308
+ const Start = async (options) => {
11309
+ store.UpdateSate(props.modelId, _estate.STARTING);
11310
+ observabilitySubscriberManager = new ObservabilitySubscriberManager(options);
11311
+ store.UpdateObservabilitySubscriberManager(observabilitySubscriberManager.id, observabilitySubscriberManager);
11312
+ await observabilitySubscriberManager.Start();
11313
+ obj.currentSubscriptions = rootLevelSubscriptions;
11314
+ observabilitySubscriberManager == null ? void 0 : observabilitySubscriberManager.UpdateModelCursor(rootLevelSubscriptions);
11315
+ store.UpdateSate(props.modelId, _estate.STARTED);
11316
+ };
11317
+ __expose({
11318
+ Start,
11319
+ Stop
11320
+ });
11321
+ return (_ctx, _cache) => {
11322
+ const _component_v_tab = resolveComponent("v-tab");
11323
+ const _component_v_tabs = resolveComponent("v-tabs");
11324
+ const _component_v_window_item = resolveComponent("v-window-item");
11325
+ const _component_v_window = resolveComponent("v-window");
11326
+ const _component_v_col = resolveComponent("v-col");
11327
+ const _component_v_row = resolveComponent("v-row");
11328
+ const _component_v_icon = resolveComponent("v-icon");
11329
+ const _component_v_btn = resolveComponent("v-btn");
11330
+ const _component_v_sheet = resolveComponent("v-sheet");
11331
+ return openBlock(), createBlock(_component_v_sheet, {
11332
+ theme: "light",
11333
+ rounded: "lg",
11334
+ class: "ma-4 mr-0 pa-2",
11335
+ elevation: 10
11336
+ }, {
11337
+ default: withCtx(() => [
11338
+ createTextVNode(" UXModelNavigator - Path: " + toDisplayString(navigationPath.value) + " ", 1),
11339
+ createVNode(_component_v_row, { "no-gutters": "" }, {
11340
+ default: withCtx(() => [
11341
+ createVNode(_component_v_col, null, {
11342
+ default: withCtx(() => [
11343
+ createVNode(_component_v_tabs, {
11344
+ modelValue: unref(tab),
11345
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(tab) ? tab.value = $event : tab = $event),
11346
+ "background-color": "primary"
11347
+ }, {
11348
+ default: withCtx(() => [
11349
+ createVNode(_component_v_tab, { value: "summary" }, {
11350
+ default: withCtx(() => [
11351
+ createTextVNode(" Summary ")
11352
+ ]),
11353
+ _: 1
11354
+ }),
11355
+ createVNode(_component_v_tab, { value: "detailed" }, {
11356
+ default: withCtx(() => [
11357
+ createTextVNode(" Detailed ")
11358
+ ]),
11359
+ _: 1
11360
+ })
11361
+ ]),
11362
+ _: 1
11363
+ }, 8, ["modelValue"]),
11364
+ createVNode(_component_v_window, {
11365
+ modelValue: unref(tab),
11366
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(tab) ? tab.value = $event : tab = $event)
11367
+ }, {
11368
+ default: withCtx(() => [
11369
+ createVNode(_component_v_window_item, { value: "summary" }, {
11370
+ default: withCtx(() => [
11371
+ createVNode(_sfc_main$2, {
11372
+ "model-id": props.modelId,
11373
+ nodeid: "_",
11374
+ "small-mode": true,
11375
+ onMyclick: clicked
11376
+ }, null, 8, ["model-id"])
11377
+ ]),
11378
+ _: 1
11379
+ }),
11380
+ createVNode(_component_v_window_item, { value: "detailed" }, {
11381
+ default: withCtx(() => [
11382
+ createVNode(_sfc_main$2, {
11383
+ "model-id": props.modelId,
11384
+ nodeid: "_",
11385
+ "small-mode": false,
11386
+ onMyclick: clicked
11387
+ }, null, 8, ["model-id"])
11388
+ ]),
11389
+ _: 1
11390
+ })
11391
+ ]),
11392
+ _: 1
11393
+ }, 8, ["modelValue"])
11394
+ ]),
11395
+ _: 1
11396
+ })
11397
+ ]),
11398
+ _: 1
11399
+ }),
11400
+ createElementVNode("div", _hoisted_1$1, [
11401
+ createVNode(_component_v_btn, {
11402
+ color: "secondary",
11403
+ class: "ma-1",
11404
+ onClick: TopLevel
11405
+ }, {
11406
+ default: withCtx(() => [
11407
+ createTextVNode(" Top Level"),
11408
+ createVNode(_component_v_icon, {
11409
+ end: "",
11410
+ icon: "mdi-arrow-up-circle"
11411
+ })
11412
+ ]),
11413
+ _: 1
11414
+ }),
11415
+ createVNode(_component_v_btn, {
11416
+ class: "ma-1",
11417
+ color: "secondary",
11418
+ disabled: BackDisabled.value,
11419
+ onClick: GoBack
11420
+ }, {
11421
+ default: withCtx(() => [
11422
+ createTextVNode(" Go Back"),
11423
+ createVNode(_component_v_icon, {
11424
+ end: "",
11425
+ icon: "mdi-arrow-left-circle"
11426
+ })
11427
+ ]),
11428
+ _: 1
11429
+ }, 8, ["disabled"])
11430
+ ])
11431
+ ]),
11432
+ _: 1
11433
+ });
11434
+ };
11435
+ }
11436
+ });
10904
11437
  const _hoisted_1 = /* @__PURE__ */ createElementVNode("div", null, " UXTestForm ", -1);
10905
11438
  const _hoisted_2 = { class: "text-wrap" };
10906
11439
  const _hoisted_3 = { class: "ml-0 text-caption" };
@@ -11148,15 +11681,15 @@ export {
11148
11681
  STSWorkerManagerPluginKey,
11149
11682
  TelemetryStore,
11150
11683
  URI_BASE_VUEUTILS,
11151
- _sfc_main$8 as UXBarChart,
11152
- _sfc_main$7 as UXLineChart,
11684
+ _sfc_main$9 as UXBarChart,
11685
+ _sfc_main$8 as UXLineChart,
11153
11686
  UXModelInstrumentAgentCommon,
11154
11687
  UXModelInstrumentServiceCommon,
11155
11688
  UXModelInstrumentServiceSmall,
11156
11689
  _sfc_main$1 as UXModelNavigator,
11157
- _sfc_main$1 as UXModelNode,
11158
- _sfc_main$6 as UXMultiBarChart,
11159
- _sfc_main$5 as UXRadialChart,
11690
+ _sfc_main$2 as UXModelNode,
11691
+ _sfc_main$7 as UXMultiBarChart,
11692
+ _sfc_main$6 as UXRadialChart,
11160
11693
  _sfc_main as UXTestForm,
11161
11694
  WorkerInstance,
11162
11695
  _estate,