@camstack/addon-benchmark 0.1.24 → 0.1.25

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/_stub.js CHANGED
@@ -329,7 +329,7 @@ const qn = (e, t) => {
329
329
  "left-bottom"
330
330
  ], E = () => [...A(), U, W], B = () => ["auto", "hidden", "clip", "visible", "scroll"], z = () => ["auto", "contain", "none"], I = () => [U, W, u], J = () => [Ve, "full", "auto", ...I()], Z = () => [Ue, "none", "subgrid", U, W], X = () => ["auto", {
331
331
  span: ["full", Ue, U, W]
332
- }, Ue, U, W], he = () => [Ue, "auto", U, W], me = () => ["auto", "min", "max", "fr", U, W], ge = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], ue = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], G = () => ["auto", ...I()], ae = () => [Ve, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...I()], q = () => [Ve, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...I()], ie = () => [Ve, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...I()], D = () => [e, U, W], L = () => [...A(), mr, pr, {
332
+ }, Ue, U, W], he = () => [Ue, "auto", U, W], me = () => ["auto", "min", "max", "fr", U, W], ge = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], ue = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], G = () => ["auto", ...I()], ae = () => [Ve, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...I()], q = () => [Ve, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...I()], ie = () => [Ve, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...I()], D = () => [e, U, W], Q = () => [...A(), mr, pr, {
333
333
  position: [U, W]
334
334
  }], T = () => ["no-repeat", {
335
335
  repeat: ["", "x", "y", "space", "round"]
@@ -350,7 +350,7 @@ const qn = (e, t) => {
350
350
  y,
351
351
  U,
352
352
  W
353
- ], ve = () => ["none", de, U, W], F = () => ["none", de, U, W], Q = () => [de, U, W], se = () => [Ve, "full", ...I()];
353
+ ], ve = () => ["none", de, U, W], F = () => ["none", de, U, W], L = () => [de, U, W], se = () => [Ve, "full", ...I()];
354
354
  return {
355
355
  cacheSize: 500,
356
356
  theme: {
@@ -1405,7 +1405,7 @@ const qn = (e, t) => {
1405
1405
  * @see https://tailwindcss.com/docs/background-position
1406
1406
  */
1407
1407
  "bg-position": [{
1408
- bg: L()
1408
+ bg: Q()
1409
1409
  }],
1410
1410
  /**
1411
1411
  * Background Repeat
@@ -2110,7 +2110,7 @@ const qn = (e, t) => {
2110
2110
  * @see https://tailwindcss.com/docs/mask-position
2111
2111
  */
2112
2112
  "mask-position": [{
2113
- mask: L()
2113
+ mask: Q()
2114
2114
  }],
2115
2115
  /**
2116
2116
  * Mask Repeat
@@ -2489,21 +2489,21 @@ const qn = (e, t) => {
2489
2489
  * @see https://tailwindcss.com/docs/skew
2490
2490
  */
2491
2491
  skew: [{
2492
- skew: Q()
2492
+ skew: L()
2493
2493
  }],
2494
2494
  /**
2495
2495
  * Skew X
2496
2496
  * @see https://tailwindcss.com/docs/skew
2497
2497
  */
2498
2498
  "skew-x": [{
2499
- "skew-x": Q()
2499
+ "skew-x": L()
2500
2500
  }],
2501
2501
  /**
2502
2502
  * Skew Y
2503
2503
  * @see https://tailwindcss.com/docs/skew
2504
2504
  */
2505
2505
  "skew-y": [{
2506
- "skew-y": Q()
2506
+ "skew-y": L()
2507
2507
  }],
2508
2508
  /**
2509
2509
  * Transform
@@ -3012,7 +3012,7 @@ const Ds = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
3012
3012
  * This source code is licensed under the ISC license.
3013
3013
  * See the LICENSE file in the root directory of this source tree.
3014
3014
  */
3015
- const Ls = (e) => e.replace(
3015
+ const Qs = (e) => e.replace(
3016
3016
  /^([A-Z])|[\s-_]+(\w)/g,
3017
3017
  (t, n, s) => s ? s.toUpperCase() : n.toLowerCase()
3018
3018
  );
@@ -3023,7 +3023,7 @@ const Ls = (e) => e.replace(
3023
3023
  * See the LICENSE file in the root directory of this source tree.
3024
3024
  */
3025
3025
  const fr = (e) => {
3026
- const t = Ls(e);
3026
+ const t = Qs(e);
3027
3027
  return t.charAt(0).toUpperCase() + t.slice(1);
3028
3028
  };
3029
3029
  /**
@@ -3032,7 +3032,7 @@ const fr = (e) => {
3032
3032
  * This source code is licensed under the ISC license.
3033
3033
  * See the LICENSE file in the root directory of this source tree.
3034
3034
  */
3035
- var Qs = {
3035
+ var Ls = {
3036
3036
  xmlns: "http://www.w3.org/2000/svg",
3037
3037
  width: 24,
3038
3038
  height: 24,
@@ -3075,7 +3075,7 @@ const Fs = De(
3075
3075
  "svg",
3076
3076
  {
3077
3077
  ref: u,
3078
- ...Qs,
3078
+ ...Ls,
3079
3079
  width: t,
3080
3080
  height: t,
3081
3081
  stroke: e,
@@ -3519,7 +3519,7 @@ const Do = [
3519
3519
  * This source code is licensed under the ISC license.
3520
3520
  * See the LICENSE file in the root directory of this source tree.
3521
3521
  */
3522
- const Lo = [
3522
+ const Qo = [
3523
3523
  [
3524
3524
  "path",
3525
3525
  {
@@ -3529,18 +3529,18 @@ const Lo = [
3529
3529
  ],
3530
3530
  ["path", { d: "M12 9v4", key: "juzpu7" }],
3531
3531
  ["path", { d: "M12 17h.01", key: "p32p05" }]
3532
- ], mn = ce("triangle-alert", Lo);
3532
+ ], mn = ce("triangle-alert", Qo);
3533
3533
  /**
3534
3534
  * @license lucide-react v0.576.0 - ISC
3535
3535
  *
3536
3536
  * This source code is licensed under the ISC license.
3537
3537
  * See the LICENSE file in the root directory of this source tree.
3538
3538
  */
3539
- const Qo = [
3539
+ const Lo = [
3540
3540
  ["path", { d: "M12 3v12", key: "1x0j5s" }],
3541
3541
  ["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
3542
3542
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
3543
- ], gn = ce("upload", Qo);
3543
+ ], gn = ce("upload", Lo);
3544
3544
  /**
3545
3545
  * @license lucide-react v0.576.0 - ISC
3546
3546
  *
@@ -4668,17 +4668,17 @@ function Pa({
4668
4668
  inheritedEnabledByAddon: v = {},
4669
4669
  hideModelAndSettings: k = !1
4670
4670
  }) {
4671
- const C = (L) => ({
4671
+ const C = (Q) => ({
4672
4672
  toggleMode: y,
4673
4673
  hideModelAndSettings: k,
4674
4674
  ...y === "threeState" ? {
4675
- overrideState: w[L] !== void 0 ? w[L] : null,
4676
- onOverrideChange: x ? (T) => x(L, T) : void 0,
4677
- inheritedEnabled: v[L]
4675
+ overrideState: w[Q] !== void 0 ? w[Q] : null,
4676
+ onOverrideChange: x ? (T) => x(Q, T) : void 0,
4677
+ inheritedEnabled: v[Q]
4678
4678
  } : {}
4679
- }), A = Ne(() => new Set(m), [m]), E = Ne(() => Ea(e), [e]), [B, z] = N([]), I = a ? JSON.stringify(t) !== JSON.stringify(s.find((L) => L.id === a)?.steps) : !1;
4680
- function J(L) {
4681
- const T = L.target.value || null;
4679
+ }), A = Ne(() => new Set(m), [m]), E = Ne(() => Ea(e), [e]), [B, z] = N([]), I = a ? JSON.stringify(t) !== JSON.stringify(s.find((Q) => Q.id === a)?.steps) : !1;
4680
+ function J(Q) {
4681
+ const T = Q.target.value || null;
4682
4682
  if (T) {
4683
4683
  const te = s.find((_) => _.id === T);
4684
4684
  if (te) {
@@ -4693,23 +4693,23 @@ function Pa({
4693
4693
  a && d(a, t);
4694
4694
  }
4695
4695
  function X() {
4696
- const L = window.prompt("Template name:");
4697
- L?.trim() && c(L.trim(), t);
4696
+ const Q = window.prompt("Template name:");
4697
+ Q?.trim() && c(Q.trim(), t);
4698
4698
  }
4699
4699
  function he() {
4700
4700
  if (!a) return;
4701
- const L = s.find((T) => T.id === a);
4702
- L && window.confirm(`Delete template "${L.name}"?`) && u(a);
4701
+ const Q = s.find((T) => T.id === a);
4702
+ Q && window.confirm(`Delete template "${Q.name}"?`) && u(a);
4703
4703
  }
4704
- function me(L) {
4705
- n(t.map((T) => T.addonId !== L.addonId ? T : ge(L)));
4704
+ function me(Q) {
4705
+ n(t.map((T) => T.addonId !== Q.addonId ? T : ge(Q)));
4706
4706
  }
4707
- function ge(L) {
4708
- const T = L.children.some((te) => te.enabled || te.children.some((_) => _.enabled));
4707
+ function ge(Q) {
4708
+ const T = Q.children.some((te) => te.enabled || te.children.some((_) => _.enabled));
4709
4709
  return {
4710
- ...L,
4711
- enabled: L.enabled || T,
4712
- children: L.children.map((te) => {
4710
+ ...Q,
4711
+ enabled: Q.enabled || T,
4712
+ children: Q.children.map((te) => {
4713
4713
  const _ = te.children.some((K) => K.enabled);
4714
4714
  return {
4715
4715
  ...te,
@@ -4718,13 +4718,13 @@ function Pa({
4718
4718
  })
4719
4719
  };
4720
4720
  }
4721
- function ue(L, T) {
4721
+ function ue(Q, T) {
4722
4722
  const te = Tt(T);
4723
- n(t.map((_) => _.addonId !== L ? _ : { ..._, children: [..._.children, te] }));
4723
+ n(t.map((_) => _.addonId !== Q ? _ : { ..._, children: [..._.children, te] }));
4724
4724
  }
4725
- function G(L) {
4725
+ function G(Q) {
4726
4726
  const T = /* @__PURE__ */ new Set();
4727
- for (const te of L) {
4727
+ for (const te of Q) {
4728
4728
  T.add(te.addonId);
4729
4729
  for (const K of te.children) T.add(K.addonId);
4730
4730
  const _ = G(te.children);
@@ -4733,22 +4733,22 @@ function Pa({
4733
4733
  return T;
4734
4734
  }
4735
4735
  const ae = G(t);
4736
- function q(L) {
4737
- const T = E.get(L.addonId);
4736
+ function q(Q) {
4737
+ const T = E.get(Q.addonId);
4738
4738
  if (!T) return [];
4739
- const _ = e.slots.find(($) => $.id === T.slot)?.parentSlot == null, K = T.childSlots, f = new Set(L.children.map(($) => $.addonId)), S = [];
4739
+ const _ = e.slots.find(($) => $.id === T.slot)?.parentSlot == null, K = T.childSlots, f = new Set(Q.children.map(($) => $.addonId)), S = [];
4740
4740
  for (const $ of e.slots)
4741
4741
  if (K.includes($.id))
4742
4742
  for (const R of $.addons) {
4743
4743
  if (f.has(R.id) || A.has(R.id)) continue;
4744
4744
  const re = R.inputClasses.length === 0;
4745
4745
  if (re && !_) continue;
4746
- (re || R.inputClasses.some((F) => L.outputClasses.includes(F))) && S.push(R);
4746
+ (re || R.inputClasses.some((F) => Q.outputClasses.includes(F))) && S.push(R);
4747
4747
  }
4748
4748
  return S;
4749
4749
  }
4750
- function ie(L) {
4751
- const T = h ? { ...L, children: L.children.filter((_) => _.enabled).map((_) => ({ ..._, children: _.children.filter((K) => K.enabled) })) } : L, te = h ? [] : q(T);
4750
+ function ie(Q) {
4751
+ const T = h ? { ...Q, children: Q.children.filter((_) => _.enabled).map((_) => ({ ..._, children: _.children.filter((K) => K.enabled) })) } : Q, te = h ? [] : q(T);
4752
4752
  return /* @__PURE__ */ l("div", { className: "space-y-1.5", children: [
4753
4753
  /* @__PURE__ */ r(
4754
4754
  $t,
@@ -4850,7 +4850,7 @@ function Pa({
4850
4850
  ] })
4851
4851
  ] }, T.addonId);
4852
4852
  }
4853
- const D = e.slots.filter((L) => L.parentSlot === null).sort((L, T) => L.priority - T.priority);
4853
+ const D = e.slots.filter((Q) => Q.parentSlot === null).sort((Q, T) => Q.priority - T.priority);
4854
4854
  return /* @__PURE__ */ l("div", { className: "space-y-4", children: [
4855
4855
  !g && /* @__PURE__ */ r("div", { className: "rounded-lg border border-border bg-surface p-3", children: /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
4856
4856
  /* @__PURE__ */ r("div", { className: "relative flex-1 min-w-0", children: /* @__PURE__ */ l(
@@ -4861,7 +4861,7 @@ function Pa({
4861
4861
  className: "w-full rounded-lg border border-border bg-background px-3 py-2 text-sm text-foreground focus:outline-none focus:border-primary/50",
4862
4862
  children: [
4863
4863
  /* @__PURE__ */ r("option", { value: "", children: "No template" }),
4864
- s.map((L) => /* @__PURE__ */ r("option", { value: L.id, children: L.name }, L.id))
4864
+ s.map((Q) => /* @__PURE__ */ r("option", { value: Q.id, children: Q.name }, Q.id))
4865
4865
  ]
4866
4866
  }
4867
4867
  ) }),
@@ -4911,19 +4911,19 @@ function Pa({
4911
4911
  /* @__PURE__ */ r("span", { className: "font-medium", children: "Template loaded with warnings:" }),
4912
4912
  /* @__PURE__ */ r("button", { onClick: () => z([]), className: "text-amber-400/60 hover:text-amber-400", children: /* @__PURE__ */ r(qe, { className: "h-3.5 w-3.5" }) })
4913
4913
  ] }),
4914
- B.map((L, T) => /* @__PURE__ */ l("div", { children: [
4914
+ B.map((Q, T) => /* @__PURE__ */ l("div", { children: [
4915
4915
  "• ",
4916
- L
4916
+ Q
4917
4917
  ] }, T))
4918
4918
  ] }),
4919
- D.map((L) => {
4920
- const T = t.filter((S) => S.slot === L.id && !A.has(S.addonId)), te = h ? T.filter((S) => S.enabled) : T, _ = h ? [] : L.addons.filter((S) => !ae.has(S.id) && !A.has(S.id)), K = /* @__PURE__ */ new Map(), f = [];
4919
+ D.map((Q) => {
4920
+ const T = t.filter((S) => S.slot === Q.id && !A.has(S.addonId)), te = h ? T.filter((S) => S.enabled) : T, _ = h ? [] : Q.addons.filter((S) => !ae.has(S.id) && !A.has(S.id)), K = /* @__PURE__ */ new Map(), f = [];
4921
4921
  for (const S of te)
4922
4922
  S.group ? (K.has(S.group) || K.set(S.group, []), K.get(S.group).push(S)) : f.push(S);
4923
4923
  return /* @__PURE__ */ l("div", { className: "space-y-2", children: [
4924
4924
  b && /* @__PURE__ */ l("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-foreground-subtle/50", children: [
4925
4925
  "Slot: ",
4926
- L.label
4926
+ Q.label
4927
4927
  ] }),
4928
4928
  f.map((S) => ie(S)),
4929
4929
  [...K.entries()].map(([S, $]) => /* @__PURE__ */ l("div", { className: "space-y-2 rounded-lg border border-border/40 p-2", children: [
@@ -4933,7 +4933,7 @@ function Pa({
4933
4933
  !p && _.map((S) => /* @__PURE__ */ r(Dt, { addon: S, onClick: () => {
4934
4934
  n([...t, Tt(S)]);
4935
4935
  } }, S.id))
4936
- ] }, L.id);
4936
+ ] }, Q.id);
4937
4937
  })
4938
4938
  ] });
4939
4939
  }
@@ -4993,7 +4993,7 @@ const ht = {
4993
4993
  "#059669"
4994
4994
  // emerald-600
4995
4995
  ], Ia = "#f59e42";
4996
- function Le(e, t) {
4996
+ function Qe(e, t) {
4997
4997
  if (t?.[e]) return t[e];
4998
4998
  if (t?.[e.toLowerCase()]) return t[e.toLowerCase()];
4999
4999
  if (ht[e]) return ht[e];
@@ -5017,7 +5017,7 @@ function $a({
5017
5017
  borderWidth: m = 2
5018
5018
  }) {
5019
5019
  function g(v) {
5020
- return Le(v, a);
5020
+ return Qe(v, a);
5021
5021
  }
5022
5022
  const h = i ?? (t && n ? `${t}/${n}` : "16/9"), b = s.filter((v) => v.score >= p), y = b.filter((v) => v.kind === "first-level"), w = b.filter((v) => v.kind === "detail"), x = Da(w, (v) => v.parentId ?? "");
5023
5023
  return /* @__PURE__ */ r(
@@ -5116,7 +5116,7 @@ function Ar({
5116
5116
  "span",
5117
5117
  {
5118
5118
  className: "text-[9px] font-semibold px-1 rounded-sm whitespace-nowrap text-white",
5119
- style: { backgroundColor: Le(h.label) },
5119
+ style: { backgroundColor: Qe(h.label) },
5120
5120
  children: [
5121
5121
  h.label,
5122
5122
  " ",
@@ -5231,7 +5231,7 @@ function Ta({
5231
5231
  "span",
5232
5232
  {
5233
5233
  className: "text-[8px] font-semibold px-0.5 rounded-sm whitespace-nowrap text-white",
5234
- style: { backgroundColor: Le(u.label) },
5234
+ style: { backgroundColor: Qe(u.label) },
5235
5235
  children: [
5236
5236
  u.label,
5237
5237
  " ",
@@ -5255,7 +5255,7 @@ function Da(e, t) {
5255
5255
  }
5256
5256
  return n;
5257
5257
  }
5258
- function La({
5258
+ function Qa({
5259
5259
  detections: e,
5260
5260
  classColors: t,
5261
5261
  className: n,
@@ -5311,7 +5311,7 @@ function Er({
5311
5311
  hiddenKeys: s,
5312
5312
  onToggleVisibility: a
5313
5313
  }) {
5314
- const i = Le(e.macroClass, n), c = !s?.has(e.id), d = e.debug?.mask, u = e.debug?.maskWidth, p = e.debug?.maskHeight, m = e.debug?.alternateLabels;
5314
+ const i = Qe(e.macroClass, n), c = !s?.has(e.id), d = e.debug?.mask, u = e.debug?.maskWidth, p = e.debug?.maskHeight, m = e.debug?.alternateLabels;
5315
5315
  return /* @__PURE__ */ l("div", { className: `rounded-md border border-border bg-surface p-3 space-y-1 ${c ? "" : "opacity-40"}`, children: [
5316
5316
  /* @__PURE__ */ l("div", { className: "flex justify-between items-center", children: [
5317
5317
  /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
@@ -5360,8 +5360,8 @@ function Er({
5360
5360
  {
5361
5361
  className: "inline-flex items-center gap-1 text-[10px] font-medium px-1.5 py-0.5 rounded-full",
5362
5362
  style: {
5363
- backgroundColor: Le(g.label, n) + "20",
5364
- color: Le(g.label, n)
5363
+ backgroundColor: Qe(g.label, n) + "20",
5364
+ color: Qe(g.label, n)
5365
5365
  },
5366
5366
  children: [
5367
5367
  g.label,
@@ -5379,7 +5379,7 @@ function Er({
5379
5379
  )) }),
5380
5380
  m && Object.keys(m).length > 0 && /* @__PURE__ */ r(Oa, { alternateLabels: m, colors: n }),
5381
5381
  t.length > 0 && /* @__PURE__ */ r(
5382
- Qa,
5382
+ La,
5383
5383
  {
5384
5384
  items: t,
5385
5385
  colors: n,
@@ -5389,14 +5389,14 @@ function Er({
5389
5389
  )
5390
5390
  ] });
5391
5391
  }
5392
- function Qa({
5392
+ function La({
5393
5393
  items: e,
5394
5394
  colors: t,
5395
5395
  hiddenKeys: n,
5396
5396
  onToggleVisibility: s
5397
5397
  }) {
5398
5398
  return /* @__PURE__ */ r("div", { className: "ml-4 mt-1.5 space-y-1.5 border-l-2 border-border pl-3", children: e.map((a) => {
5399
- const i = Le(a.macroClass, t), c = !n?.has(a.id), d = a.debug?.mask, u = a.debug?.maskWidth, p = a.debug?.maskHeight;
5399
+ const i = Qe(a.macroClass, t), c = !n?.has(a.id), d = a.debug?.mask, u = a.debug?.maskWidth, p = a.debug?.maskHeight;
5400
5400
  return /* @__PURE__ */ l("div", { className: `text-xs space-y-0.5 ${c ? "" : "opacity-40"}`, children: [
5401
5401
  /* @__PURE__ */ l("div", { className: "flex items-center gap-1.5", children: [
5402
5402
  s && /* @__PURE__ */ r(
@@ -5432,8 +5432,8 @@ function Qa({
5432
5432
  {
5433
5433
  className: "inline-flex items-center gap-0.5 text-[9px] font-medium px-1 py-0.5 rounded-full",
5434
5434
  style: {
5435
- backgroundColor: Le(m.label, t) + "20",
5436
- color: Le(m.label, t)
5435
+ backgroundColor: Qe(m.label, t) + "20",
5436
+ color: Qe(m.label, t)
5437
5437
  },
5438
5438
  children: [
5439
5439
  m.label,
@@ -5479,8 +5479,8 @@ function Oa({
5479
5479
  {
5480
5480
  className: "inline-flex items-center gap-0.5 text-[9px] px-1 py-0.5 rounded-full",
5481
5481
  style: {
5482
- backgroundColor: Le(i, t) + "10",
5483
- color: Le(i, t),
5482
+ backgroundColor: Qe(i, t) + "10",
5483
+ color: Qe(i, t),
5484
5484
  opacity: Math.max(0.4, d.score)
5485
5485
  },
5486
5486
  children: [
@@ -5660,7 +5660,7 @@ class qa {
5660
5660
  return this.transfomers[t];
5661
5661
  }
5662
5662
  }
5663
- const Va = (e) => Object.prototype.toString.call(e).slice(8, -1), yn = (e) => typeof e > "u", Ua = (e) => e === null, ct = (e) => typeof e != "object" || e === null || e === Object.prototype ? !1 : Object.getPrototypeOf(e) === null ? !0 : Object.getPrototypeOf(e) === Object.prototype, Vt = (e) => ct(e) && Object.keys(e).length === 0, Ke = (e) => Array.isArray(e), Ha = (e) => typeof e == "string", Ka = (e) => typeof e == "number" && !isNaN(e), Ga = (e) => typeof e == "boolean", Ya = (e) => e instanceof RegExp, dt = (e) => e instanceof Map, ut = (e) => e instanceof Set, vn = (e) => Va(e) === "Symbol", Za = (e) => e instanceof Date && !isNaN(e.valueOf()), wn = (e) => e instanceof Error, Ir = (e) => typeof e == "number" && isNaN(e), Ja = (e) => Ga(e) || Ua(e) || yn(e) || Ka(e) || Ha(e) || vn(e), Xa = (e) => typeof e == "bigint", ei = (e) => e === 1 / 0 || e === -1 / 0, ti = (e) => ArrayBuffer.isView(e) && !(e instanceof DataView), ri = (e) => e instanceof URL, Ut = (e) => e.replace(/\\/g, "\\\\").replace(/\./g, "\\."), Lt = (e) => e.map(String).map(Ut).join("."), lt = (e, t) => {
5663
+ const Va = (e) => Object.prototype.toString.call(e).slice(8, -1), yn = (e) => typeof e > "u", Ua = (e) => e === null, ct = (e) => typeof e != "object" || e === null || e === Object.prototype ? !1 : Object.getPrototypeOf(e) === null ? !0 : Object.getPrototypeOf(e) === Object.prototype, Vt = (e) => ct(e) && Object.keys(e).length === 0, Ke = (e) => Array.isArray(e), Ha = (e) => typeof e == "string", Ka = (e) => typeof e == "number" && !isNaN(e), Ga = (e) => typeof e == "boolean", Ya = (e) => e instanceof RegExp, dt = (e) => e instanceof Map, ut = (e) => e instanceof Set, vn = (e) => Va(e) === "Symbol", Za = (e) => e instanceof Date && !isNaN(e.valueOf()), wn = (e) => e instanceof Error, Ir = (e) => typeof e == "number" && isNaN(e), Ja = (e) => Ga(e) || Ua(e) || yn(e) || Ka(e) || Ha(e) || vn(e), Xa = (e) => typeof e == "bigint", ei = (e) => e === 1 / 0 || e === -1 / 0, ti = (e) => ArrayBuffer.isView(e) && !(e instanceof DataView), ri = (e) => e instanceof URL, Ut = (e) => e.replace(/\\/g, "\\\\").replace(/\./g, "\\."), Qt = (e) => e.map(String).map(Ut).join("."), lt = (e, t) => {
5664
5664
  const n = [];
5665
5665
  let s = "";
5666
5666
  for (let i = 0; i < e.length; i++) {
@@ -5956,7 +5956,7 @@ function ui(e, t) {
5956
5956
  return;
5957
5957
  t || (a = a.map((d) => d.map(String)).sort((d, u) => d.length - u.length));
5958
5958
  const [i, ...c] = a;
5959
- i.length === 0 ? s = c.map(Lt) : n[Lt(i)] = c.map(Lt);
5959
+ i.length === 0 ? s = c.map(Qt) : n[Qt(i)] = c.map(Qt);
5960
5960
  }), s ? Vt(n) ? [s] : [s, n] : Vt(n) ? void 0 : n;
5961
5961
  }
5962
5962
  const $n = (e, t, n, s, a = [], i = [], c = /* @__PURE__ */ new Map()) => {
@@ -6312,11 +6312,15 @@ o.meshNetwork.getStatus.useQuery;
6312
6312
  o.meshNetwork.join.useMutation;
6313
6313
  o.meshNetwork.startLogin.useMutation;
6314
6314
  o.meshNetwork.leave.useMutation;
6315
+ o.meshNetwork.logout.useMutation;
6315
6316
  o.meshNetwork.listPeers.useQuery;
6316
6317
  o.meshNetwork.testConnection.useMutation;
6317
6318
  o.meshOrchestrator.listProviders.useQuery;
6318
6319
  o.meshOrchestrator.joinProvider.useMutation;
6319
6320
  o.meshOrchestrator.leaveProvider.useMutation;
6321
+ o.meshOrchestrator.startLoginProvider.useMutation;
6322
+ o.meshOrchestrator.logoutProvider.useMutation;
6323
+ o.meshOrchestrator.listProviderPeers.useQuery;
6320
6324
  o.metricsProvider.collectSnapshot.useQuery;
6321
6325
  o.metricsProvider.getCached.useQuery;
6322
6326
  o.metricsProvider.getCurrent.useQuery;
@@ -6359,6 +6363,7 @@ o.nodes.restartNode.useMutation;
6359
6363
  o.nodes.shutdownNode.useMutation;
6360
6364
  o.nodes.renameNode.useMutation;
6361
6365
  o.nodes.clusterAddonStatus.useQuery;
6366
+ o.nodes.getNodeAddons.useQuery;
6362
6367
  o.nodes.setProcessLogLevel.useMutation;
6363
6368
  o.nodes.executeQuery.useMutation;
6364
6369
  o.notificationOutput.send.useMutation;
@@ -7098,7 +7103,7 @@ function Di({
7098
7103
  }
7099
7104
  ) });
7100
7105
  }
7101
- function Li({
7106
+ function Qi({
7102
7107
  field: e,
7103
7108
  value: t,
7104
7109
  onChange: n,
@@ -7123,7 +7128,7 @@ function Li({
7123
7128
  }
7124
7129
  ) });
7125
7130
  }
7126
- function Qi({
7131
+ function Li({
7127
7132
  field: e,
7128
7133
  value: t,
7129
7134
  onChange: n,
@@ -7941,9 +7946,9 @@ function mt({ field: e, values: t, onChange: n, disabled: s, translationFn: a, o
7941
7946
  case "color":
7942
7947
  return /* @__PURE__ */ r(Oi, { field: e, value: m, onChange: g, disabled: s, translationFn: a });
7943
7948
  case "node-select":
7944
- return /* @__PURE__ */ r(Li, { field: e, value: m, onChange: g, disabled: s, translationFn: a });
7945
- case "node-multiselect":
7946
7949
  return /* @__PURE__ */ r(Qi, { field: e, value: m, onChange: g, disabled: s, translationFn: a });
7950
+ case "node-multiselect":
7951
+ return /* @__PURE__ */ r(Li, { field: e, value: m, onChange: g, disabled: s, translationFn: a });
7947
7952
  case "probe":
7948
7953
  return /* @__PURE__ */ r(Fi, { field: e, value: m, onChange: g, disabled: s, translationFn: a, onTestField: i, onAction: u, externalProbe: c });
7949
7954
  case "group":
@@ -8070,7 +8075,7 @@ const cl = ({ open: e }) => /* @__PURE__ */ r(
8070
8075
  children: /* @__PURE__ */ r("polyline", { points: "9 18 15 12 9 6" })
8071
8076
  }
8072
8077
  );
8073
- function Lr(e) {
8078
+ function Qr(e) {
8074
8079
  const t = {};
8075
8080
  if (!e) return t;
8076
8081
  for (const n of e.sections)
@@ -8117,18 +8122,18 @@ function ar({
8117
8122
  w(!0), v(null);
8118
8123
  const ae = g === "override" && Object.keys(B).length > 0 ? B : void 0;
8119
8124
  return e.addonSettings.getGlobalSettings.query({ addonId: t, nodeId: n, ...ae ? { overlay: ae } : {} }).then((q) => {
8120
- G || (b(q), ae || J(Lr(q)), w(!1));
8125
+ G || (b(q), ae || J(Qr(q)), w(!1));
8121
8126
  }).catch((q) => {
8122
8127
  G || (v(q instanceof Error ? q.message : String(q)), w(!1));
8123
8128
  }), () => {
8124
8129
  G = !0;
8125
8130
  };
8126
8131
  }, [e, t, n, c, g, Z]);
8127
- const X = Ne(() => Lr(h), [h]), he = Ne(() => h ? dl(h) : null, [h]), me = async (G) => {
8132
+ const X = Ne(() => Qr(h), [h]), he = Ne(() => h ? dl(h) : null, [h]), me = async (G) => {
8128
8133
  if (g === "override") {
8129
8134
  const q = I ?? X, ie = {};
8130
- for (const L of Object.keys(G))
8131
- G[L] !== q[L] && (ie[L] = G[L]);
8135
+ for (const Q of Object.keys(G))
8136
+ G[Q] !== q[Q] && (ie[Q] = G[Q]);
8132
8137
  const D = { ...q, ...ie };
8133
8138
  z(ie), m?.(ie, D);
8134
8139
  return;
@@ -8274,7 +8279,7 @@ function fl({
8274
8279
  frameHeight: n
8275
8280
  }) {
8276
8281
  return t === 0 || n === 0 ? null : /* @__PURE__ */ r(Be, { children: e.map((s) => {
8277
- const { x: a, y: i, width: c, height: d } = s.bbox, u = a / t * 100, p = i / n * 100, m = c / t * 100, g = d / n * 100, h = Le(s.macroClass), b = [`${s.macroClass} ${(s.score * 100).toFixed(0)}%`];
8282
+ const { x: a, y: i, width: c, height: d } = s.bbox, u = a / t * 100, p = i / n * 100, m = c / t * 100, g = d / n * 100, h = Qe(s.macroClass), b = [`${s.macroClass} ${(s.score * 100).toFixed(0)}%`];
8278
8283
  for (const y of s.labels)
8279
8284
  b.push(y.label);
8280
8285
  return /* @__PURE__ */ r(
@@ -8337,7 +8342,7 @@ function yl({
8337
8342
  v.current.clear();
8338
8343
  }
8339
8344
  y.current && (y.current.srcObject = null);
8340
- }, [h]), L = fe(async () => {
8345
+ }, [h]), Q = fe(async () => {
8341
8346
  if (!E.current || !m || !g) return;
8342
8347
  D(), ie("connecting");
8343
8348
  const F = new AbortController();
@@ -8366,7 +8371,7 @@ function yl({
8366
8371
  console.debug("[WebRTC] ICE candidate error:", V);
8367
8372
  }, console.debug("[WebRTC] Setting remote description (server offer)..."), await P.setRemoteDescription({ type: "offer", sdp: pe });
8368
8373
  const we = await P.createAnswer();
8369
- if (await P.setLocalDescription(we), console.debug("[WebRTC] Local description set, waiting for ICE gathering..."), await Qr(P), !E.current) return;
8374
+ if (await P.setLocalDescription(we), console.debug("[WebRTC] Local description set, waiting for ICE gathering..."), await Lr(P), !E.current) return;
8370
8375
  const $e = (P.localDescription?.sdp ?? "").split(`
8371
8376
  `).filter((V) => V.startsWith("a=candidate:")).length;
8372
8377
  console.debug("[WebRTC] Sending answer to server", { localCandidates: $e, sessionId: Me.slice(0, 8) }), await g(Me, P.localDescription?.sdp ?? ""), console.debug("[WebRTC] Answer sent successfully");
@@ -8377,9 +8382,9 @@ function yl({
8377
8382
  ye && ye.readyState === 0 && console.log(`[WebRTC] no video data yet (ice=${Pe.iceConnectionState})`);
8378
8383
  };
8379
8384
  setTimeout(Ee, 3e3), setTimeout(Ee, 8e3);
8380
- } catch (Q) {
8385
+ } catch (L) {
8381
8386
  if (!E.current) return;
8382
- const se = Q instanceof Error ? Q.message : String(Q);
8387
+ const se = L instanceof Error ? L.message : String(L);
8383
8388
  J(se), ie("error"), u?.(se), K();
8384
8389
  }
8385
8390
  }, [e, t, m, g, D, ie, u, b]), T = fe(async () => {
@@ -8390,9 +8395,9 @@ function yl({
8390
8395
  iceServers: [{ urls: "stun:stun.l.google.com:19302" }]
8391
8396
  });
8392
8397
  x.current = F, F.addTransceiver("video", { direction: "recvonly" }), F.addTransceiver("audio", { direction: "recvonly" });
8393
- const Q = new MediaStream();
8398
+ const L = new MediaStream();
8394
8399
  F.ontrack = (ne) => {
8395
- Q.addTrack(ne.track), y.current && (y.current.srcObject = Q, y.current.play().catch(() => {
8400
+ L.addTrack(ne.track), y.current && (y.current.srcObject = L, y.current.play().catch(() => {
8396
8401
  }));
8397
8402
  }, F.oniceconnectionstatechange = () => {
8398
8403
  if (!E.current) return;
@@ -8401,7 +8406,7 @@ function yl({
8401
8406
  })) : (ne === "failed" || ne === "disconnected" || ne === "closed") && (ie("disconnected"), K());
8402
8407
  };
8403
8408
  const se = await F.createOffer();
8404
- if (await F.setLocalDescription(se), await Qr(F), !E.current) return;
8409
+ if (await F.setLocalDescription(se), await Lr(F), !E.current) return;
8405
8410
  const Me = `${e}/api/webrtc?src=${encodeURIComponent(t)}`, pe = await fetch(Me, {
8406
8411
  method: "POST",
8407
8412
  headers: { "Content-Type": "application/sdp" },
@@ -8413,11 +8418,11 @@ function yl({
8413
8418
  await F.setRemoteDescription({ type: "answer", sdp: P });
8414
8419
  } catch (F) {
8415
8420
  if (!E.current) return;
8416
- const Q = F instanceof Error ? F.message : String(F);
8417
- J(Q), ie("error"), u?.(Q), K();
8421
+ const L = F instanceof Error ? F.message : String(F);
8422
+ J(L), ie("error"), u?.(L), K();
8418
8423
  }
8419
8424
  }
8420
- }, [e, t, D, ie, u]), te = q ? L : T, _ = le(() => {
8425
+ }, [e, t, D, ie, u]), te = q ? Q : T, _ = le(() => {
8421
8426
  });
8422
8427
  _.current = te;
8423
8428
  const K = fe(() => {
@@ -8447,9 +8452,9 @@ function yl({
8447
8452
  if (!y.current) return;
8448
8453
  const F = document.createElement("canvas");
8449
8454
  F.width = y.current.videoWidth || 1280, F.height = y.current.videoHeight || 720;
8450
- const Q = F.getContext("2d");
8451
- if (!Q) return;
8452
- Q.drawImage(y.current, 0, 0);
8455
+ const L = F.getContext("2d");
8456
+ if (!L) return;
8457
+ L.drawImage(y.current, 0, 0);
8453
8458
  const se = document.createElement("a");
8454
8459
  se.download = `${t.replace(/[/:]/g, "-")}-${Date.now()}.jpg`, se.href = F.toDataURL("image/jpeg", 0.92), se.click();
8455
8460
  };
@@ -8501,7 +8506,7 @@ function yl({
8501
8506
  {
8502
8507
  className: `absolute bottom-0 inset-x-0 flex items-center justify-between px-3 py-1.5 bg-gradient-to-t from-black/80 to-transparent transition-opacity duration-200 ${ge ? "opacity-100" : "opacity-0"}`,
8503
8508
  children: [
8504
- /* @__PURE__ */ r("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ r(Qt, { onClick: $, title: Z ? "Unmute" : "Mute", children: Z ? /* @__PURE__ */ l("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [
8509
+ /* @__PURE__ */ r("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ r(Lt, { onClick: $, title: Z ? "Unmute" : "Mute", children: Z ? /* @__PURE__ */ l("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [
8505
8510
  /* @__PURE__ */ r("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
8506
8511
  /* @__PURE__ */ r("line", { x1: "23", y1: "9", x2: "17", y2: "15" }),
8507
8512
  /* @__PURE__ */ r("line", { x1: "17", y1: "9", x2: "23", y2: "15" })
@@ -8510,11 +8515,11 @@ function yl({
8510
8515
  /* @__PURE__ */ r("path", { d: "M19.07 4.93a10 10 0 010 14.14M15.54 8.46a5 5 0 010 7.07" })
8511
8516
  ] }) }) }),
8512
8517
  /* @__PURE__ */ l("div", { className: "flex items-center gap-1", children: [
8513
- /* @__PURE__ */ r(Qt, { onClick: re, title: "Take snapshot", children: /* @__PURE__ */ l("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [
8518
+ /* @__PURE__ */ r(Lt, { onClick: re, title: "Take snapshot", children: /* @__PURE__ */ l("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [
8514
8519
  /* @__PURE__ */ r("path", { d: "M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2z" }),
8515
8520
  /* @__PURE__ */ r("circle", { cx: "12", cy: "13", r: "4" })
8516
8521
  ] }) }),
8517
- /* @__PURE__ */ r(Qt, { onClick: R, title: he ? "Exit fullscreen" : "Fullscreen", children: he ? /* @__PURE__ */ r("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ r("path", { d: "M8 3v3a2 2 0 01-2 2H3m18 0h-3a2 2 0 01-2-2V3m0 18v-3a2 2 0 012-2h3M3 16h3a2 2 0 012 2v3" }) }) : /* @__PURE__ */ r("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ r("path", { d: "M8 3H5a2 2 0 00-2 2v3m18 0V5a2 2 0 00-2-2h-3m0 18h3a2 2 0 002-2v-3M3 16v3a2 2 0 002 2h3" }) }) })
8522
+ /* @__PURE__ */ r(Lt, { onClick: R, title: he ? "Exit fullscreen" : "Fullscreen", children: he ? /* @__PURE__ */ r("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ r("path", { d: "M8 3v3a2 2 0 01-2 2H3m18 0h-3a2 2 0 01-2-2V3m0 18v-3a2 2 0 012-2h3M3 16h3a2 2 0 012 2v3" }) }) : /* @__PURE__ */ r("svg", { className: "h-3.5 w-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ r("path", { d: "M8 3H5a2 2 0 00-2 2v3m18 0V5a2 2 0 00-2-2h-3m0 18h3a2 2 0 002-2v-3M3 16v3a2 2 0 002 2h3" }) }) })
8518
8523
  ] })
8519
8524
  ]
8520
8525
  }
@@ -8523,7 +8528,7 @@ function yl({
8523
8528
  }
8524
8529
  );
8525
8530
  }
8526
- function Qt({
8531
+ function Lt({
8527
8532
  onClick: e,
8528
8533
  title: t,
8529
8534
  children: n
@@ -8538,7 +8543,7 @@ function Qt({
8538
8543
  }
8539
8544
  );
8540
8545
  }
8541
- async function Qr(e) {
8546
+ async function Lr(e) {
8542
8547
  if (e.iceGatheringState !== "complete")
8543
8548
  return new Promise((t) => {
8544
8549
  const n = () => {
@@ -8665,7 +8670,7 @@ function wl({
8665
8670
  ] })
8666
8671
  ] });
8667
8672
  }
8668
- function Ln({ data: e, label: t = "Response", className: n = "" }) {
8673
+ function Qn({ data: e, label: t = "Response", className: n = "" }) {
8669
8674
  const [s, a] = N(!1);
8670
8675
  if (!e) return null;
8671
8676
  const i = JSON.stringify(e, null, 2);
@@ -8687,7 +8692,7 @@ function Ln({ data: e, label: t = "Response", className: n = "" }) {
8687
8692
  s && /* @__PURE__ */ r("div", { className: "max-h-80 overflow-y-auto overflow-x-auto", children: /* @__PURE__ */ r("pre", { className: "p-3 text-[10px] leading-4 font-mono text-foreground-subtle whitespace-pre", children: i }) })
8688
8693
  ] });
8689
8694
  }
8690
- function Qn(e) {
8695
+ function Ln(e) {
8691
8696
  const [t, n] = N([]), s = fe((i) => {
8692
8697
  n((c) => {
8693
8698
  const d = [...c, i];
@@ -8736,7 +8741,7 @@ function Sl({
8736
8741
  const [b, y] = N(""), [w, x] = N(""), [v, k] = N(i), C = e, A = t ?? (b || void 0), E = n ?? (w ? Number(w) : void 0), B = s, z = a, I = Ne(() => {
8737
8742
  const P = {};
8738
8743
  return C && (P.agentId = C), A && (P.addonId = A), E !== void 0 && Number.isFinite(E) && (P.deviceId = E), B && (P.integrationId = B), z && (P.requestId = z), Object.keys(P).length > 0 ? P : void 0;
8739
- }, [C, A, E, B, z]), J = Qn(kl), Z = m ?? J, X = Z.entries, [he, me] = N(0), [ge, ue] = N(!1), [G, ae] = N(!1), [q, ie] = N(/* @__PURE__ */ new Set()), [D, L] = N(""), T = le(null), te = `${C ?? ""}:${A ?? ""}:${String(E ?? "")}:${B ?? ""}:${z ?? ""}`, _ = le(te);
8744
+ }, [C, A, E, B, z]), J = Ln(kl), Z = m ?? J, X = Z.entries, [he, me] = N(0), [ge, ue] = N(!1), [G, ae] = N(!1), [q, ie] = N(/* @__PURE__ */ new Set()), [D, Q] = N(""), T = le(null), te = `${C ?? ""}:${A ?? ""}:${String(E ?? "")}:${B ?? ""}:${z ?? ""}`, _ = le(te);
8740
8745
  ee(() => {
8741
8746
  _.current !== te && (_.current = te, Z.reset(), me(0), ie(/* @__PURE__ */ new Set()));
8742
8747
  }, [te, Z]);
@@ -8816,7 +8821,7 @@ function Sl({
8816
8821
  const we = new Set(ne);
8817
8822
  return we.has(P) ? we.delete(P) : we.add(P), we;
8818
8823
  });
8819
- }, []), [Q, se] = N(null), Me = fe((P, ne) => {
8824
+ }, []), [L, se] = N(null), Me = fe((P, ne) => {
8820
8825
  const we = new Date(P.timestamp).toISOString(), $e = P.tags ? " " + Object.entries(P.tags).filter(([, V]) => V).map(([V, ye]) => `${V}=${ye}`).join(" ") : "", Pe = P.meta && Object.keys(P.meta).length > 0 ? ` meta=${JSON.stringify(P.meta)}` : "", Ee = `${we} [${P.level.toUpperCase()}]${P.scope ? ` [${P.scope}]` : ""}${$e} ${P.message}${Pe}`;
8821
8826
  navigator.clipboard.writeText(Ee).then(() => {
8822
8827
  se(ne), setTimeout(() => se((V) => V === ne ? null : V), 1200);
@@ -8868,7 +8873,7 @@ function Sl({
8868
8873
  {
8869
8874
  type: "text",
8870
8875
  value: D,
8871
- onChange: (P) => L(P.target.value),
8876
+ onChange: (P) => Q(P.target.value),
8872
8877
  placeholder: "Search…",
8873
8878
  className: "w-32 pl-1.5 pr-5 py-0.5 rounded border border-border bg-background text-foreground text-[10px] focus:outline-none focus:border-primary/50"
8874
8879
  }
@@ -8877,7 +8882,7 @@ function Sl({
8877
8882
  "button",
8878
8883
  {
8879
8884
  type: "button",
8880
- onClick: () => L(""),
8885
+ onClick: () => Q(""),
8881
8886
  className: "absolute right-1 top-1/2 -translate-y-1/2 text-foreground-subtle hover:text-foreground",
8882
8887
  title: "Clear search",
8883
8888
  children: /* @__PURE__ */ r(qe, { className: "h-2.5 w-2.5" })
@@ -8946,15 +8951,15 @@ function Sl({
8946
8951
  /* @__PURE__ */ l("div", { className: "flex-1 min-w-0", children: [
8947
8952
  P.message,
8948
8953
  Pe && ye && /* @__PURE__ */ l("div", { className: "mt-1 text-[9px] text-foreground-subtle bg-surface rounded px-2 py-1 space-y-0.5", children: [
8949
- V && Object.entries(P.meta).filter(([, Re]) => Re !== void 0 && Re !== "").map(([Re, Qe]) => /* @__PURE__ */ l("div", { children: [
8954
+ V && Object.entries(P.meta).filter(([, Re]) => Re !== void 0 && Re !== "").map(([Re, Le]) => /* @__PURE__ */ l("div", { children: [
8950
8955
  /* @__PURE__ */ r("span", { className: "text-amber-400/80 font-medium", children: Re }),
8951
8956
  /* @__PURE__ */ r("span", { className: "text-foreground-subtle", children: ": " }),
8952
- /* @__PURE__ */ r("span", { className: "text-foreground break-all", children: Or(Qe) })
8957
+ /* @__PURE__ */ r("span", { className: "text-foreground break-all", children: Or(Le) })
8953
8958
  ] }, `m-${Re}`)),
8954
- Ee && Object.entries(P.tags).filter(([, Re]) => Re !== void 0).map(([Re, Qe]) => /* @__PURE__ */ l("div", { children: [
8959
+ Ee && Object.entries(P.tags).filter(([, Re]) => Re !== void 0).map(([Re, Le]) => /* @__PURE__ */ l("div", { children: [
8955
8960
  /* @__PURE__ */ r("span", { className: "text-primary/70 font-medium", children: Re }),
8956
8961
  /* @__PURE__ */ r("span", { className: "text-foreground-subtle", children: ": " }),
8957
- /* @__PURE__ */ r("span", { className: "text-foreground", children: Qe })
8962
+ /* @__PURE__ */ r("span", { className: "text-foreground", children: Le })
8958
8963
  ] }, `t-${Re}`))
8959
8964
  ] })
8960
8965
  ] })
@@ -8962,7 +8967,7 @@ function Sl({
8962
8967
  /* @__PURE__ */ r("td", { className: "px-1 py-1 align-top w-5", children: /* @__PURE__ */ r(
8963
8968
  Cl,
8964
8969
  {
8965
- copied: Q === $e,
8970
+ copied: L === $e,
8966
8971
  onCopy: () => Me(P, $e)
8967
8972
  }
8968
8973
  ) })
@@ -9178,7 +9183,7 @@ function Dl({
9178
9183
  ee(() => {
9179
9184
  v.current !== y && (v.current = y, x(new Set(b)));
9180
9185
  }, [y, b]);
9181
- const k = Qn(Tl), C = m ?? k, A = C.entries, [E, B] = N(!0), [z, I] = N(/* @__PURE__ */ new Set()), [J, Z] = N(""), [X, he] = N(!1), [me, ge] = N(""), [ue, G] = N(0), ae = le(null), q = le(null), ie = `${e ?? ""}:${t ?? ""}:${String(n ?? "")}:${i ?? ""}`, D = le(ie);
9186
+ const k = Ln(Tl), C = m ?? k, A = C.entries, [E, B] = N(!0), [z, I] = N(/* @__PURE__ */ new Set()), [J, Z] = N(""), [X, he] = N(!1), [me, ge] = N(""), [ue, G] = N(0), ae = le(null), q = le(null), ie = `${e ?? ""}:${t ?? ""}:${String(n ?? "")}:${i ?? ""}`, D = le(ie);
9182
9187
  ee(() => {
9183
9188
  D.current !== ie && (D.current = ie, C.reset(), I(/* @__PURE__ */ new Set()), G(0));
9184
9189
  }, [ie, C]), ee(() => {
@@ -9191,20 +9196,20 @@ function Dl({
9191
9196
  document.removeEventListener("mousedown", M);
9192
9197
  };
9193
9198
  }, [X]);
9194
- const L = Ne(() => {
9199
+ const Q = Ne(() => {
9195
9200
  const M = {};
9196
9201
  return e && (M.agentId = e), t && (M.addonId = t), n !== void 0 && (M.deviceId = n), i && (M.category = i), M;
9197
9202
  }, [e, t, n, i]), T = Ne(() => [...w].sort(), [w]), te = Ne(() => T.join(","), [T]), _ = Ne(() => {
9198
- const M = { ...L, limit: d };
9203
+ const M = { ...Q, limit: d };
9199
9204
  return T.length > 0 && T.length < nt.length && (M.category = T), M;
9200
- }, [L, d, te, T]), { data: K, isLoading: f } = o.systemEvents.getRecent.useQuery(
9205
+ }, [Q, d, te, T]), { data: K, isLoading: f } = o.systemEvents.getRecent.useQuery(
9201
9206
  _,
9202
9207
  { staleTime: 3e4 }
9203
9208
  ), S = le(w);
9204
9209
  ee(() => {
9205
9210
  S.current = w;
9206
9211
  }, [w]);
9207
- const $ = L;
9212
+ const $ = Q;
9208
9213
  o.systemEvents.subscribe.useSubscription(
9209
9214
  $,
9210
9215
  {
@@ -9262,7 +9267,7 @@ function Dl({
9262
9267
  const j = new Set(O);
9263
9268
  return j.has(M) ? j.delete(M) : j.add(M), j;
9264
9269
  });
9265
- }, []), Q = fe(() => {
9270
+ }, []), L = fe(() => {
9266
9271
  x(new Set(b)), Z(""), G(0);
9267
9272
  }, [b]), se = fe(() => {
9268
9273
  G(Date.now()), C.reset();
@@ -9286,7 +9291,7 @@ function Dl({
9286
9291
  }, []), ye = Ne(() => {
9287
9292
  const M = me.trim().toLowerCase();
9288
9293
  return M ? nt.filter((O) => O.toLowerCase().includes(M)) : nt;
9289
- }, [me]), Re = nt.length, Qe = w.size, rt = Qe === Re, Pt = rt ? "All" : `${Qe}/${Re}`;
9294
+ }, [me]), Re = nt.length, Le = w.size, rt = Le === Re, Pt = rt ? "All" : `${Le}/${Re}`;
9290
9295
  return /* @__PURE__ */ l("div", { className: oe("h-full min-h-0 flex flex-col", h), onClick: (M) => M.stopPropagation(), children: [
9291
9296
  /* @__PURE__ */ l("div", { className: "flex items-center justify-between px-3 py-1.5 bg-surface-hover/30 gap-2 shrink-0", children: [
9292
9297
  /* @__PURE__ */ l("div", { className: "flex items-center gap-2 flex-wrap", children: [
@@ -9332,7 +9337,7 @@ function Dl({
9332
9337
  }
9333
9338
  ),
9334
9339
  X && /* @__PURE__ */ r(
9335
- Ll,
9340
+ Ql,
9336
9341
  {
9337
9342
  search: me,
9338
9343
  onSearchChange: ge,
@@ -9341,7 +9346,7 @@ function Dl({
9341
9346
  onToggle: F,
9342
9347
  onSelectAll: Ee,
9343
9348
  onSelectNone: V,
9344
- onResetDefaults: Q
9349
+ onResetDefaults: L
9345
9350
  }
9346
9351
  )
9347
9352
  ] }),
@@ -9349,7 +9354,7 @@ function Dl({
9349
9354
  "button",
9350
9355
  {
9351
9356
  type: "button",
9352
- onClick: Q,
9357
+ onClick: L,
9353
9358
  className: "inline-flex items-center gap-1 text-[9px] px-1.5 py-0.5 rounded border border-border text-foreground-subtle hover:text-foreground transition-colors",
9354
9359
  title: "Reset filters to defaults",
9355
9360
  children: [
@@ -9435,7 +9440,7 @@ function Dl({
9435
9440
  children: [
9436
9441
  /* @__PURE__ */ r("span", { className: "text-foreground-subtle whitespace-nowrap w-[70px] shrink-0 pt-0.5", children: new Date(M.timestamp).toLocaleTimeString() }),
9437
9442
  /* @__PURE__ */ r(
9438
- Ql,
9443
+ Ll,
9439
9444
  {
9440
9445
  copied: P === M.id,
9441
9446
  onCopy: () => Pe(M)
@@ -9477,7 +9482,7 @@ function Dl({
9477
9482
  ] })
9478
9483
  ] });
9479
9484
  }
9480
- function Ll({
9485
+ function Ql({
9481
9486
  search: e,
9482
9487
  onSearchChange: t,
9483
9488
  categories: n,
@@ -9587,7 +9592,7 @@ function yt({ label: e, value: t }) {
9587
9592
  t
9588
9593
  ] });
9589
9594
  }
9590
- function Ql({
9595
+ function Ll({
9591
9596
  copied: e,
9592
9597
  onCopy: t
9593
9598
  }) {
@@ -10408,8 +10413,8 @@ function ec({ trpc: e }) {
10408
10413
  const re = (await e.streamBroker.listAllProfileSlots.query()).filter((F) => F.status !== "unassigned"), ve = await Promise.all(
10409
10414
  re.map(async (F) => {
10410
10415
  try {
10411
- const Q = await e.streamBroker.getBrokerStats.query({ brokerId: F.brokerId });
10412
- return { brokerId: F.brokerId, ...Q };
10416
+ const L = await e.streamBroker.getBrokerStats.query({ brokerId: F.brokerId });
10417
+ return { brokerId: F.brokerId, ...L };
10413
10418
  } catch {
10414
10419
  return null;
10415
10420
  }
@@ -10437,7 +10442,7 @@ function ec({ trpc: e }) {
10437
10442
  Number.isFinite(R) && (f.has(R) || f.set(R, []), f.get(R).push(S));
10438
10443
  }
10439
10444
  return f;
10440
- }, [s]), y = Ne(() => t.filter((f) => b.has(f.id)), [t, b]), w = Ne(() => y.find((S) => S.online)?.id ?? y[0]?.id ?? null, [y]), x = i ?? w, v = x !== null ? t.find((f) => f.id === x) ?? null : null, k = x !== null ? b.get(x) ?? [] : [], C = Ca(e, x), A = Fl(e, x), { createSession: E, sendAnswer: B } = A, z = A.closeSession, I = On(e, x), Z = I.phase === "active", [X, he] = N(null), [me, ge] = N(null), [ue, G] = N(!1), [ae, q] = N(!0), [ie, D] = N(!1), [L, T] = N(!1), te = X ? k.find((f) => f.brokerId === X) ?? k[0] : k[0], _ = me ?? (x !== null ? `${x}/adaptive` : ""), K = Ne(() => {
10445
+ }, [s]), y = Ne(() => t.filter((f) => b.has(f.id)), [t, b]), w = Ne(() => y.find((S) => S.online)?.id ?? y[0]?.id ?? null, [y]), x = i ?? w, v = x !== null ? t.find((f) => f.id === x) ?? null : null, k = x !== null ? b.get(x) ?? [] : [], C = Ca(e, x), A = Fl(e, x), { createSession: E, sendAnswer: B } = A, z = A.closeSession, I = On(e, x), Z = I.phase === "active", [X, he] = N(null), [me, ge] = N(null), [ue, G] = N(!1), [ae, q] = N(!0), [ie, D] = N(!1), [Q, T] = N(!1), te = X ? k.find((f) => f.brokerId === X) ?? k[0] : k[0], _ = me ?? (x !== null ? `${x}/adaptive` : ""), K = Ne(() => {
10441
10446
  const f = A.streams.find(($) => $.id === _);
10442
10447
  if (f) return f.target;
10443
10448
  const S = _.indexOf("/");
@@ -10457,8 +10462,8 @@ function ec({ trpc: e }) {
10457
10462
  if (f) return;
10458
10463
  const $ = /* @__PURE__ */ new Map();
10459
10464
  S.forEach((R, re) => {
10460
- const ve = R.id ?? `stream${re}`, F = R.profileHint ? R.profileHint.toUpperCase() : R.label ?? ve, Q = R.resolution ? ` (${R.resolution.width}×${R.resolution.height})` : "";
10461
- $.set(ve, `${F}${Q}`);
10465
+ const ve = R.id ?? `stream${re}`, F = R.profileHint ? R.profileHint.toUpperCase() : R.label ?? ve, L = R.resolution ? ` (${R.resolution.width}×${R.resolution.height})` : "";
10466
+ $.set(ve, `${F}${L}`);
10462
10467
  }), u($);
10463
10468
  }).catch((S) => {
10464
10469
  console.warn("[benchmark:live] Stream labels failed:", S);
@@ -10578,7 +10583,7 @@ function ec({ trpc: e }) {
10578
10583
  "button",
10579
10584
  {
10580
10585
  onClick: () => T((f) => !f),
10581
- className: `px-1.5 py-0.5 rounded text-[10px] font-medium transition-colors ${L ? "bg-cyan-500/20 text-cyan-400" : "text-foreground-subtle hover:text-foreground"}`,
10586
+ className: `px-1.5 py-0.5 rounded text-[10px] font-medium transition-colors ${Q ? "bg-cyan-500/20 text-cyan-400" : "text-foreground-subtle hover:text-foreground"}`,
10582
10587
  children: "Logs"
10583
10588
  }
10584
10589
  )
@@ -10655,7 +10660,7 @@ function ec({ trpc: e }) {
10655
10660
  }
10656
10661
  ),
10657
10662
  ie && x !== null && /* @__PURE__ */ r(Sr, { title: "Events", onClose: () => D(!1), defaultWidth: 560, defaultHeight: 420, offsetIndex: 0, children: /* @__PURE__ */ r(Dl, { deviceId: x, maxHeight: "max-h-full", className: "h-full" }) }),
10658
- L && x !== null && /* @__PURE__ */ r(Sr, { title: "Logs", onClose: () => T(!1), defaultWidth: 560, defaultHeight: 420, offsetIndex: 1, children: /* @__PURE__ */ r(Sl, { deviceId: x, maxHeight: "max-h-full", className: "h-full", showScope: !0 }) })
10663
+ Q && x !== null && /* @__PURE__ */ r(Sr, { title: "Logs", onClose: () => T(!1), defaultWidth: 560, defaultHeight: 420, offsetIndex: 1, children: /* @__PURE__ */ r(Sl, { deviceId: x, maxHeight: "max-h-full", className: "h-full", showScope: !0 }) })
10659
10664
  ] });
10660
10665
  }
10661
10666
  function tc(e) {
@@ -10736,7 +10741,7 @@ function zr(e, t) {
10736
10741
  return { runtime: n, backend: s, format: a, ...i ? { device: i } : {} };
10737
10742
  }
10738
10743
  function rc({ trpc: e, nodeId: t }) {
10739
- const [n, s] = N(null), [a, i] = N([]), [c, d] = N(null), [u, p] = N([]), [m, g] = N(""), [h, b] = N(null), [y, w] = N(""), [x, v] = N(null), [k, C] = N({ w: 640, h: 480 }), [A, E] = N([]), [B, z] = N(!1), [I, J] = N(""), [Z, X] = N(null), [he, me] = N(!0), [ge, ue] = N([]), [G, ae] = N({}), [q, ie] = N({}), [D, L] = N(200), [T, te] = N(4), [_, K] = N(1), [f, S] = N(!1), [$, R] = N(null), [re, ve] = N(null), [F, Q] = N(null), se = le(null), [Me, pe] = N(/* @__PURE__ */ new Set()), P = fe((M, O) => {
10744
+ const [n, s] = N(null), [a, i] = N([]), [c, d] = N(null), [u, p] = N([]), [m, g] = N(""), [h, b] = N(null), [y, w] = N(""), [x, v] = N(null), [k, C] = N({ w: 640, h: 480 }), [A, E] = N([]), [B, z] = N(!1), [I, J] = N(""), [Z, X] = N(null), [he, me] = N(!0), [ge, ue] = N([]), [G, ae] = N({}), [q, ie] = N({}), [D, Q] = N(200), [T, te] = N(4), [_, K] = N(1), [f, S] = N(!1), [$, R] = N(null), [re, ve] = N(null), [F, L] = N(null), se = le(null), [Me, pe] = N(/* @__PURE__ */ new Set()), P = fe((M, O) => {
10740
10745
  pe((j) => {
10741
10746
  const H = new Set(j);
10742
10747
  return O ? H.delete(M) : H.add(M), H;
@@ -10759,7 +10764,7 @@ function rc({ trpc: e, nodeId: t }) {
10759
10764
  } else if (be !== xe) return;
10760
10765
  if (H.message) {
10761
10766
  const Se = String(H.message);
10762
- ue((_e) => [..._e, Se]), Te && H.benchProgress && (R(Se), Q({
10767
+ ue((_e) => [..._e, Se]), Te && H.benchProgress && (R(Se), L({
10763
10768
  iter: Math.ceil(H.runs / Math.max(1, T)),
10764
10769
  total: D,
10765
10770
  runs: H.runs,
@@ -10863,7 +10868,7 @@ ${xe(O)}
10863
10868
  J("No image loaded");
10864
10869
  return;
10865
10870
  }
10866
- J(""), S(!0), ve(M), R("caching frame…"), Q(null);
10871
+ J(""), S(!0), ve(M), R("caching frame…"), L(null);
10867
10872
  const O = A.map((be) => Jt(be)), j = zr(q, Object.keys(G).length > 0), H = `synth-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
10868
10873
  se.current = H;
10869
10874
  let xe = null;
@@ -10890,7 +10895,7 @@ ${xe(O)}
10890
10895
  console.log("[benchmark UI] synthetic bench output", {
10891
10896
  ...Se,
10892
10897
  clientWallMs: _e.toFixed(0)
10893
- }), Q({
10898
+ }), L({
10894
10899
  iter: D,
10895
10900
  total: D,
10896
10901
  runs: Se.runs,
@@ -10924,7 +10929,7 @@ ${xe(O)}
10924
10929
  const Ee = k.w, V = k.h, ye = Z?.detections ? [...Z.detections] : [], Re = /* @__PURE__ */ new Set();
10925
10930
  for (const M of ye)
10926
10931
  M.kind === "first-level" && Me.has(M.id) && Re.add(M.id);
10927
- const Qe = ye.filter((M) => !(Me.has(M.id) || M.kind === "detail" && M.parentId && Re.has(M.parentId))), rt = {}, Pt = Z?.debug?.stepTimings ?? [];
10932
+ const Le = ye.filter((M) => !(Me.has(M.id) || M.kind === "detail" && M.parentId && Re.has(M.parentId))), rt = {}, Pt = Z?.debug?.stepTimings ?? [];
10928
10933
  for (const M of Pt)
10929
10934
  rt[`${M.source}${M.modelId ? ` (${M.modelId})` : ""}`] = M.ms;
10930
10935
  return /* @__PURE__ */ l("div", { className: "space-y-4", children: [
@@ -10979,7 +10984,7 @@ ${xe(O)}
10979
10984
  max: 1e3,
10980
10985
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
10981
10986
  value: D,
10982
- onChange: (M) => L(Number(M.target.value)),
10987
+ onChange: (M) => Q(Number(M.target.value)),
10983
10988
  disabled: f
10984
10989
  }
10985
10990
  )
@@ -11131,14 +11136,14 @@ ${xe(O)}
11131
11136
  src: x,
11132
11137
  imageWidth: Ee,
11133
11138
  imageHeight: V,
11134
- detections: Qe,
11139
+ detections: Le,
11135
11140
  placeholder: "Select an image above"
11136
11141
  }
11137
11142
  ),
11138
- Z && Qe.length > 0 && /* @__PURE__ */ l("div", { className: "text-xs text-foreground-subtle", children: [
11139
- Qe.length,
11143
+ Z && Le.length > 0 && /* @__PURE__ */ l("div", { className: "text-xs text-foreground-subtle", children: [
11144
+ Le.length,
11140
11145
  " detection",
11141
- Qe.length !== 1 ? "s" : "",
11146
+ Le.length !== 1 ? "s" : "",
11142
11147
  " — ",
11143
11148
  Ee,
11144
11149
  "x",
@@ -11150,14 +11155,14 @@ ${xe(O)}
11150
11155
  ] }, O)) }),
11151
11156
  Object.keys(rt).length > 0 && /* @__PURE__ */ r(Ba, { timings: rt, totalMs: Z?.debug?.totalInferenceMs }),
11152
11157
  Z && /* @__PURE__ */ r(
11153
- La,
11158
+ Qa,
11154
11159
  {
11155
11160
  detections: ye,
11156
11161
  hiddenKeys: Me,
11157
11162
  onToggleVisibility: P
11158
11163
  }
11159
11164
  ),
11160
- /* @__PURE__ */ r(Ln, { data: Z, label: "Pipeline Response" })
11165
+ /* @__PURE__ */ r(Qn, { data: Z, label: "Pipeline Response" })
11161
11166
  ] }),
11162
11167
  /* @__PURE__ */ r("div", { className: "space-y-2", children: n && /* @__PURE__ */ r(
11163
11168
  Pa,
@@ -11386,7 +11391,7 @@ function nc({ trpc: e, nodeId: t }) {
11386
11391
  max: ve,
11387
11392
  step: F,
11388
11393
  value: R,
11389
- onChange: (Q) => q(f.key, Number(Q.target.value)),
11394
+ onChange: (L) => q(f.key, Number(L.target.value)),
11390
11395
  className: "w-full"
11391
11396
  }
11392
11397
  )
@@ -11434,7 +11439,7 @@ function nc({ trpc: e, nodeId: t }) {
11434
11439
  }
11435
11440
  if (k)
11436
11441
  return /* @__PURE__ */ r("div", { className: "text-sm text-foreground-subtle animate-pulse py-8 text-center", children: "Loading audio pipeline..." });
11437
- const D = x?.frame, L = D?.detections ?? [], T = L[0]?.debug?.alternateLabels?.["audio-classifier"] ?? [], _ = D?.debug?.stepTimings?.find((f) => f.source === "audio-classifier")?.ms, K = D?.debug?.totalInferenceMs;
11442
+ const D = x?.frame, Q = D?.detections ?? [], T = Q[0]?.debug?.alternateLabels?.["audio-classifier"] ?? [], _ = D?.debug?.stepTimings?.find((f) => f.source === "audio-classifier")?.ms, K = D?.debug?.totalInferenceMs;
11438
11443
  return /* @__PURE__ */ l("div", { className: "space-y-4", children: [
11439
11444
  /* @__PURE__ */ r(
11440
11445
  ar,
@@ -11467,10 +11472,10 @@ function nc({ trpc: e, nodeId: t }) {
11467
11472
  /* @__PURE__ */ l("div", { className: "rounded-xl border border-border bg-surface overflow-hidden", children: [
11468
11473
  /* @__PURE__ */ l("div", { className: "px-3 py-2 border-b border-border flex items-center justify-between", children: [
11469
11474
  /* @__PURE__ */ r("h3", { className: "text-xs font-medium text-foreground", children: "Waveform" }),
11470
- L.length > 0 && /* @__PURE__ */ l("span", { className: "text-[10px] text-foreground-subtle", children: [
11471
- L.length,
11475
+ Q.length > 0 && /* @__PURE__ */ l("span", { className: "text-[10px] text-foreground-subtle", children: [
11476
+ Q.length,
11472
11477
  " detection",
11473
- L.length !== 1 ? "s" : ""
11478
+ Q.length !== 1 ? "s" : ""
11474
11479
  ] })
11475
11480
  ] }),
11476
11481
  /* @__PURE__ */ r("div", { className: "p-2", children: m ? /* @__PURE__ */ r(
@@ -11482,8 +11487,8 @@ function nc({ trpc: e, nodeId: t }) {
11482
11487
  }
11483
11488
  ) : /* @__PURE__ */ r("div", { className: "h-[140px] flex items-center justify-center text-xs text-foreground-subtle", children: "Select an audio file above" }) })
11484
11489
  ] }),
11485
- x?.success && L.length > 0 && (() => {
11486
- const f = L[0], S = f.debug?.originalClass;
11490
+ x?.success && Q.length > 0 && (() => {
11491
+ const f = Q[0], S = f.debug?.originalClass;
11487
11492
  return /* @__PURE__ */ l("div", { className: "rounded-xl border border-primary/30 bg-primary/5 px-3 py-2 flex items-center justify-between", children: [
11488
11493
  /* @__PURE__ */ l("div", { className: "flex items-center gap-2 min-w-0", children: [
11489
11494
  /* @__PURE__ */ r("span", { className: "text-xs font-medium text-foreground", children: "Best match:" }),
@@ -11544,7 +11549,7 @@ function nc({ trpc: e, nodeId: t }) {
11544
11549
  ] })
11545
11550
  ] }),
11546
11551
  /* @__PURE__ */ r("div", { className: "px-3 py-2 max-h-80 overflow-y-auto", children: h ? /* @__PURE__ */ r("div", { className: "text-[10px] text-foreground-subtle animate-pulse py-2 text-center", children: "Classifying..." }) : T.length > 0 ? /* @__PURE__ */ r("div", { className: "space-y-1", children: T.slice(0, 50).map((f, S) => {
11547
- const $ = L.some((R) => R.macroClass === f.label);
11552
+ const $ = Q.some((R) => R.macroClass === f.label);
11548
11553
  return /* @__PURE__ */ l("div", { className: "flex items-center justify-between text-[11px]", children: [
11549
11554
  /* @__PURE__ */ l("div", { className: "flex items-center gap-1.5 min-w-0", children: [
11550
11555
  /* @__PURE__ */ r("span", { className: `truncate ${$ ? "text-primary font-medium" : "text-foreground"}`, children: f.label }),
@@ -11557,7 +11562,7 @@ function nc({ trpc: e, nodeId: t }) {
11557
11562
  ] }, `${f.label}-${S}`);
11558
11563
  }) }) : /* @__PURE__ */ r("div", { className: "text-[10px] text-foreground-subtle py-2 text-center", children: "No classifications" }) })
11559
11564
  ] }),
11560
- /* @__PURE__ */ r(Ln, { data: x, label: "Audio Classification Response" })
11565
+ /* @__PURE__ */ r(Qn, { data: x, label: "Audio Classification Response" })
11561
11566
  ] }),
11562
11567
  /* @__PURE__ */ l("div", { className: "space-y-3", children: [
11563
11568
  A && /* @__PURE__ */ l("div", { className: "rounded-xl border border-border bg-surface overflow-hidden", children: [
@@ -11626,27 +11631,27 @@ function Wr(e, t) {
11626
11631
  }
11627
11632
  }
11628
11633
  function sc({ trpc: e, nodeId: t }) {
11629
- const [n, s] = N([]), [a, i] = N(""), [c, d] = N(3), [u, p] = N(25), [m, g] = N("jpeg"), [h, b] = N("duration"), [y, w] = N(60), [x, v] = N(1e3), [k, C] = N(15), [A, E] = N(2e3), [B, z] = N(5), [I, J] = N(20), [Z] = N("decoder-nodeav"), [X, he] = N(""), [me, ge] = N(""), [ue] = N(0), [G, ae] = N(null), [q, ie] = N(!1), [D, L] = N(""), [T, te] = N(null), [_, K] = N("idle"), [f, S] = N(null), [$, R] = N(!0), re = le(null);
11634
+ const [n, s] = N([]), [a, i] = N(""), [c, d] = N(3), [u, p] = N(25), [m, g] = N("jpeg"), [h, b] = N("duration"), [y, w] = N(60), [x, v] = N(1e3), [k, C] = N(15), [A, E] = N(2e3), [B, z] = N(5), [I, J] = N(20), [Z] = N("decoder-nodeav"), [X, he] = N(""), [me, ge] = N(""), [ue] = N(0), [G, ae] = N(null), [q, ie] = N(!1), [D, Q] = N(""), [T, te] = N(null), [_, K] = N("idle"), [f, S] = N(null), [$, R] = N(!0), re = le(null);
11630
11635
  ee(() => {
11631
11636
  e.addons.custom.mutate({
11632
11637
  addonId: "benchmark",
11633
11638
  action: "listDecoderFixtures",
11634
11639
  input: void 0
11635
- }).then((Q) => {
11636
- const se = Q;
11640
+ }).then((L) => {
11641
+ const se = L;
11637
11642
  s(se), se.length > 0 && i(se[0].filename), R(!1);
11638
- }).catch((Q) => {
11639
- console.warn("[benchmark:decoder] listDecoderFixtures failed:", Q), R(!1);
11643
+ }).catch((L) => {
11644
+ console.warn("[benchmark:decoder] listDecoderFixtures failed:", L), R(!1);
11640
11645
  });
11641
11646
  }, [e]), ee(() => {
11642
- e.addonSettings.getGlobalSettings.query({ addonId: Z, nodeId: t }).then((Q) => {
11643
- const se = Q;
11647
+ e.addonSettings.getGlobalSettings.query({ addonId: Z, nodeId: t }).then((L) => {
11648
+ const se = L;
11644
11649
  he(String(Wr(se, "hwaccel") ?? "")), ge(String(Wr(se, "probedBestHwaccel") ?? ""));
11645
- }).catch((Q) => {
11646
- console.warn("[benchmark:decoder] addon-settings fetch failed:", Q), he(""), ge("");
11650
+ }).catch((L) => {
11651
+ console.warn("[benchmark:decoder] addon-settings fetch failed:", L), he(""), ge("");
11647
11652
  });
11648
11653
  }, [e, t, Z, ue]), ee(() => {
11649
- let Q = null;
11654
+ let L = null;
11650
11655
  try {
11651
11656
  const se = e.live.onEvent.subscribe(
11652
11657
  { category: "benchmark.progress" },
@@ -11665,20 +11670,20 @@ function sc({ trpc: e, nodeId: t }) {
11665
11670
  }
11666
11671
  }
11667
11672
  );
11668
- se && (Q = () => se.unsubscribe());
11673
+ se && (L = () => se.unsubscribe());
11669
11674
  } catch (se) {
11670
11675
  console.warn("[benchmark:decoder] progress subscription not available:", se);
11671
11676
  }
11672
11677
  return () => {
11673
- Q?.();
11678
+ L?.();
11674
11679
  };
11675
11680
  }, [e]);
11676
11681
  const ve = async () => {
11677
- L(""), S(null), te(null), K("init");
11678
- const Q = `decoder-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
11679
- re.current = Q, ie(!0);
11682
+ Q(""), S(null), te(null), K("init");
11683
+ const L = `decoder-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
11684
+ re.current = L, ie(!0);
11680
11685
  const se = G || X || me || "none", Me = {
11681
- sessionId: Q,
11686
+ sessionId: L,
11682
11687
  cameras: c,
11683
11688
  mode: h === "duration" ? { kind: "duration", durationSec: y } : { kind: "iterations", iterations: x },
11684
11689
  source: { kind: "sample", fixtureFilename: a },
@@ -11721,18 +11726,18 @@ function sc({ trpc: e, nodeId: t }) {
11721
11726
  });
11722
11727
  }
11723
11728
  } catch (pe) {
11724
- L(pe instanceof Error ? pe.message : String(pe));
11729
+ Q(pe instanceof Error ? pe.message : String(pe));
11725
11730
  } finally {
11726
11731
  re.current = null, ie(!1);
11727
11732
  }
11728
11733
  }, F = async () => {
11729
- const Q = re.current;
11730
- if (Q)
11734
+ const L = re.current;
11735
+ if (L)
11731
11736
  try {
11732
11737
  await e.addons.custom.mutate({
11733
11738
  addonId: "benchmark",
11734
11739
  action: "abortDecoderPerformanceTest",
11735
- input: { sessionId: Q }
11740
+ input: { sessionId: L }
11736
11741
  });
11737
11742
  } catch (se) {
11738
11743
  console.warn("[benchmark:decoder] abort failed:", se);
@@ -11753,8 +11758,8 @@ function sc({ trpc: e, nodeId: t }) {
11753
11758
  refreshToken: ue,
11754
11759
  collapsible: !0,
11755
11760
  mode: "override",
11756
- onOverrideChange: (Q) => {
11757
- const se = Q.hwaccel;
11761
+ onOverrideChange: (L) => {
11762
+ const se = L.hwaccel;
11758
11763
  ae(typeof se == "string" && se.length > 0 ? se : null);
11759
11764
  }
11760
11765
  }
@@ -11773,18 +11778,18 @@ function sc({ trpc: e, nodeId: t }) {
11773
11778
  {
11774
11779
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11775
11780
  value: a,
11776
- onChange: (Q) => i(Q.target.value),
11781
+ onChange: (L) => i(L.target.value),
11777
11782
  disabled: q,
11778
- children: n.map((Q) => /* @__PURE__ */ l("option", { value: Q.filename, children: [
11779
- Q.resolutionLabel,
11783
+ children: n.map((L) => /* @__PURE__ */ l("option", { value: L.filename, children: [
11784
+ L.resolutionLabel,
11780
11785
  " ",
11781
- Q.codec.toUpperCase(),
11786
+ L.codec.toUpperCase(),
11782
11787
  " — ",
11783
- Q.filename,
11788
+ L.filename,
11784
11789
  " (",
11785
- Math.round(Q.sizeBytes / 1024),
11790
+ Math.round(L.sizeBytes / 1024),
11786
11791
  " KB)"
11787
- ] }, Q.filename))
11792
+ ] }, L.filename))
11788
11793
  }
11789
11794
  )
11790
11795
  ] }),
@@ -11799,7 +11804,7 @@ function sc({ trpc: e, nodeId: t }) {
11799
11804
  max: 16,
11800
11805
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11801
11806
  value: c,
11802
- onChange: (Q) => d(Number(Q.target.value)),
11807
+ onChange: (L) => d(Number(L.target.value)),
11803
11808
  disabled: q
11804
11809
  }
11805
11810
  )
@@ -11814,7 +11819,7 @@ function sc({ trpc: e, nodeId: t }) {
11814
11819
  max: 120,
11815
11820
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11816
11821
  value: u,
11817
- onChange: (Q) => p(Number(Q.target.value)),
11822
+ onChange: (L) => p(Number(L.target.value)),
11818
11823
  disabled: q
11819
11824
  }
11820
11825
  )
@@ -11826,7 +11831,7 @@ function sc({ trpc: e, nodeId: t }) {
11826
11831
  {
11827
11832
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11828
11833
  value: m,
11829
- onChange: (Q) => g(Q.target.value),
11834
+ onChange: (L) => g(L.target.value),
11830
11835
  disabled: q,
11831
11836
  children: [
11832
11837
  /* @__PURE__ */ r("option", { value: "jpeg", children: "jpeg" }),
@@ -11842,7 +11847,7 @@ function sc({ trpc: e, nodeId: t }) {
11842
11847
  {
11843
11848
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11844
11849
  value: h,
11845
- onChange: (Q) => b(Q.target.value),
11850
+ onChange: (L) => b(L.target.value),
11846
11851
  disabled: q,
11847
11852
  children: [
11848
11853
  /* @__PURE__ */ r("option", { value: "duration", children: "duration" }),
@@ -11861,7 +11866,7 @@ function sc({ trpc: e, nodeId: t }) {
11861
11866
  max: 1800,
11862
11867
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11863
11868
  value: y,
11864
- onChange: (Q) => w(Number(Q.target.value)),
11869
+ onChange: (L) => w(Number(L.target.value)),
11865
11870
  disabled: q
11866
11871
  }
11867
11872
  )
@@ -11875,7 +11880,7 @@ function sc({ trpc: e, nodeId: t }) {
11875
11880
  max: 1e6,
11876
11881
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11877
11882
  value: x,
11878
- onChange: (Q) => v(Number(Q.target.value)),
11883
+ onChange: (L) => v(Number(L.target.value)),
11879
11884
  disabled: q
11880
11885
  }
11881
11886
  )
@@ -11889,7 +11894,7 @@ function sc({ trpc: e, nodeId: t }) {
11889
11894
  min: 0,
11890
11895
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11891
11896
  value: k,
11892
- onChange: (Q) => C(Number(Q.target.value)),
11897
+ onChange: (L) => C(Number(L.target.value)),
11893
11898
  disabled: q
11894
11899
  }
11895
11900
  )
@@ -11903,7 +11908,7 @@ function sc({ trpc: e, nodeId: t }) {
11903
11908
  min: 500,
11904
11909
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11905
11910
  value: A,
11906
- onChange: (Q) => E(Number(Q.target.value)),
11911
+ onChange: (L) => E(Number(L.target.value)),
11907
11912
  disabled: q
11908
11913
  }
11909
11914
  )
@@ -11918,7 +11923,7 @@ function sc({ trpc: e, nodeId: t }) {
11918
11923
  step: 0.5,
11919
11924
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11920
11925
  value: B,
11921
- onChange: (Q) => z(Number(Q.target.value)),
11926
+ onChange: (L) => z(Number(L.target.value)),
11922
11927
  disabled: q
11923
11928
  }
11924
11929
  )
@@ -11933,7 +11938,7 @@ function sc({ trpc: e, nodeId: t }) {
11933
11938
  step: 0.5,
11934
11939
  className: "mt-1 w-full px-2 py-1 text-sm bg-background border border-border rounded",
11935
11940
  value: I,
11936
- onChange: (Q) => J(Number(Q.target.value)),
11941
+ onChange: (L) => J(Number(L.target.value)),
11937
11942
  disabled: q
11938
11943
  }
11939
11944
  )