@camstack/addon-training 0.1.47 → 0.1.48

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.
Files changed (40) hide show
  1. package/dist/{MaskShapeCanvas-Kfg9dl6B.mjs → MaskShapeCanvas-HNL0xNpy.mjs} +229 -228
  2. package/dist/MotionZonesSettings-B1g6IUfQ.mjs +291 -0
  3. package/dist/PrivacyMaskSettings-D4WRZZeD.mjs +339 -0
  4. package/dist/{ReactKonva-DGuYUN0L.mjs → ReactKonva-DzGysLZQ.mjs} +28 -28
  5. package/dist/SceneMonitorEditor-pYZfyXtn.mjs +825 -0
  6. package/dist/_stub.js +11561 -10220
  7. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-cOIklMU6.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BclY1R96.mjs} +4 -4
  8. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BVsoOuTM.mjs +26 -0
  9. package/dist/{_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs → _virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs} +1 -1
  10. package/dist/addon-training.css +1 -1
  11. package/dist/{chevron-right-D3StkdcR.mjs → chevron-right-cA8Hucbi.mjs} +1 -1
  12. package/dist/{createLucideIcon-CPP1Jzoz.mjs → createLucideIcon-C0bBNRpC.mjs} +8 -8
  13. package/dist/{dist-BUzSmOA3.js → dist-DxTjO9kC.js} +173 -4
  14. package/dist/{dist-CCnnaqt1.mjs → dist-GI2KEl-e.mjs} +173 -4
  15. package/dist/{grid-2x2-Yngdckwo.mjs → grid-2x2-CHuMzRxF.mjs} +1 -1
  16. package/dist/{hostInit-v495uwvg.mjs → hostInit-BHX8oN7K.mjs} +3 -3
  17. package/dist/{icons-C4_Ji5S0.mjs → icons-BwkaMam3.mjs} +9 -9
  18. package/dist/index.js +1 -1
  19. package/dist/{mic-off-DPNSd6G7.mjs → mic-off-2uHAsVtR.mjs} +1 -1
  20. package/dist/orchestrator/training.addon.js +1 -1
  21. package/dist/orchestrator/training.addon.mjs +1 -1
  22. package/dist/{player-overlays-DXTsKpgo.mjs → player-overlays-B4V_uIvb.mjs} +25 -25
  23. package/dist/providers/modal/training-modal.addon.js +1 -1
  24. package/dist/providers/modal/training-modal.addon.mjs +1 -1
  25. package/dist/remoteEntry.js +1 -1
  26. package/dist/{responsive-Cfmds8tw.mjs → responsive-1iwc-rj2.mjs} +26 -26
  27. package/dist/{rotate-ccw-Dak-lXgZ.mjs → rotate-ccw-Cu6tGrgG.mjs} +1 -1
  28. package/dist/scene-monitor-copy-Cqfs4Vng.mjs +176 -0
  29. package/dist/{settings-2-Cgiv3kQb.mjs → settings-2-xV0I5Y5U.mjs} +1 -1
  30. package/dist/{square-B_679zIX.mjs → square-ZPUterXM.mjs} +1 -1
  31. package/dist/{trash-2-DC8LDYlI.mjs → trash-2-BKfuhsgY.mjs} +1 -1
  32. package/dist/ui-text-CqJgUCKX.mjs +34 -0
  33. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CdlOqgkp.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-D5OhZIRm.mjs} +1 -1
  34. package/dist/{zoom-out-BJoVDYa3.mjs → zoom-out-DDZCsqkQ.mjs} +1 -1
  35. package/package.json +1 -1
  36. package/dist/MotionZonesSettings-15Lfyz9l.mjs +0 -292
  37. package/dist/PrivacyMaskSettings-CAyzlGjl.mjs +0 -348
  38. package/dist/SceneMonitorEditor-D49_o83T.mjs +0 -810
  39. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cn2OEGrR.mjs +0 -26
  40. package/dist/scene-monitor-copy-DX2u-htD.mjs +0 -136
@@ -1,12 +1,12 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
2
- import { $ as t, $n as n, $t as r, A as i, An as a, At as o, B as s, Bn as c, Bt as l, C as u, Cn as d, Ct as f, D as p, Dn as m, Dt as h, E as g, En as _, Et as v, F as y, Fn as b, Ft as x, G as S, Gn as C, Gt as w, H as T, Hn as E, Ht as D, I as O, In as k, It as A, J as j, Jn as M, Jt as N, K as P, Kn as F, Kt as I, L, Ln as R, Lt as z, M as B, Mn as V, Mt as H, N as U, Nn as W, Nt as G, O as K, On as q, Ot as J, P as Y, Pn as X, Pt as Z, Q, Qn as $, Qt as ee, R as te, Rn as ne, Rt as re, S as ie, Sn as ae, St as oe, T as se, Tn as ce, Tt as le, U as ue, Un as de, Ut as fe, V as pe, Vn as me, Vt as he, W as ge, Wn as _e, Wt as ve, X as ye, Xn as be, Xt as xe, Y as Se, Yn as Ce, Yt as we, Z as Te, Zn as Ee, Zt as De, _ as Oe, _n as ke, _t as Ae, a as je, an as Me, ar as Ne, at as Pe, b as Fe, bn as Ie, bt as Le, c as Re, cn as ze, cr as Be, ct as Ve, d as He, dn as Ue, dr as We, dt as Ge, en as Ke, er as qe, et as Je, f as Ye, fn as Xe, fr as Ze, ft as Qe, g as $e, gn as et, gt as tt, h as nt, hn as rt, ht as it, i as at, in as ot, ir as st, it as ct, j as lt, jn as ut, jt as dt, k as ft, kn as pt, kt as mt, l as ht, ln as gt, lr as _t, lt as vt, m as yt, mn as bt, mt as xt, n as St, nn as Ct, nr as wt, nt as Tt, o as Et, on as Dt, or as Ot, ot as kt, p as At, pn as jt, pt as Mt, q as Nt, qn as Pt, qt as Ft, r as It, rn as Lt, rr as Rt, rt as zt, s as Bt, sn as Vt, sr as Ht, st as Ut, t as Wt, tn as Gt, tr as Kt, tt as qt, u as Jt, un as Yt, ur as Xt, ut as Zt, v as Qt, vn as $t, vt as en, w as tn, wn as nn, wt as rn, x as an, xn as on, xt as sn, y as cn, yn as ln, yt as un, z as dn, zn as fn, zt as pn } from "./zoom-out-BJoVDYa3.mjs";
3
- import { n as mn, r as hn, t as gn } from "./rotate-ccw-Dak-lXgZ.mjs";
4
- import { n as _n, t as vn } from "./chevron-right-D3StkdcR.mjs";
5
- import { n as yn, r as bn, t as xn } from "./square-B_679zIX.mjs";
6
- import { t as Sn } from "./grid-2x2-Yngdckwo.mjs";
7
- import { n as Cn, t as wn } from "./mic-off-DPNSd6G7.mjs";
8
- import { t as Tn } from "./settings-2-Cgiv3kQb.mjs";
9
- import { t as En } from "./trash-2-DC8LDYlI.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
+ import { $ as t, $n as n, $t as r, A as i, An as a, At as o, B as s, Bn as c, Bt as l, C as u, Cn as d, Ct as f, D as p, Dn as m, Dt as h, E as g, En as _, Et as v, F as y, Fn as b, Ft as x, G as S, Gn as C, Gt as w, H as T, Hn as E, Ht as D, I as O, In as k, It as A, J as j, Jn as M, Jt as N, K as P, Kn as F, Kt as I, L, Ln as R, Lt as z, M as B, Mn as V, Mt as H, N as U, Nn as W, Nt as G, O as K, On as q, Ot as J, P as Y, Pn as X, Pt as Z, Q, Qn as $, Qt as ee, R as te, Rn as ne, Rt as re, S as ie, Sn as ae, St as oe, T as se, Tn as ce, Tt as le, U as ue, Un as de, Ut as fe, V as pe, Vn as me, Vt as he, W as ge, Wn as _e, Wt as ve, X as ye, Xn as be, Xt as xe, Y as Se, Yn as Ce, Yt as we, Z as Te, Zn as Ee, Zt as De, _ as Oe, _n as ke, _t as Ae, a as je, an as Me, ar as Ne, at as Pe, b as Fe, bn as Ie, bt as Le, c as Re, cn as ze, cr as Be, ct as Ve, d as He, dn as Ue, dr as We, dt as Ge, en as Ke, er as qe, et as Je, f as Ye, fn as Xe, fr as Ze, ft as Qe, g as $e, gn as et, gt as tt, h as nt, hn as rt, ht as it, i as at, in as ot, ir as st, it as ct, j as lt, jn as ut, jt as dt, k as ft, kn as pt, kt as mt, l as ht, ln as gt, lr as _t, lt as vt, m as yt, mn as bt, mt as xt, n as St, nn as Ct, nr as wt, nt as Tt, o as Et, on as Dt, or as Ot, ot as kt, p as At, pn as jt, pt as Mt, q as Nt, qn as Pt, qt as Ft, r as It, rn as Lt, rr as Rt, rt as zt, s as Bt, sn as Vt, sr as Ht, st as Ut, t as Wt, tn as Gt, tr as Kt, tt as qt, u as Jt, un as Yt, ur as Xt, ut as Zt, v as Qt, vn as $t, vt as en, w as tn, wn as nn, wt as rn, x as an, xn as on, xt as sn, y as cn, yn as ln, yt as un, z as dn, zn as fn, zt as pn } from "./zoom-out-DDZCsqkQ.mjs";
3
+ import { n as mn, r as hn, t as gn } from "./rotate-ccw-Cu6tGrgG.mjs";
4
+ import { n as _n, t as vn } from "./chevron-right-cA8Hucbi.mjs";
5
+ import { n as yn, r as bn, t as xn } from "./square-ZPUterXM.mjs";
6
+ import { t as Sn } from "./grid-2x2-CHuMzRxF.mjs";
7
+ import { n as Cn, t as wn } from "./mic-off-2uHAsVtR.mjs";
8
+ import { t as Tn } from "./settings-2-xV0I5Y5U.mjs";
9
+ import { t as En } from "./trash-2-BKfuhsgY.mjs";
10
10
  var Dn = e("a-arrow-down", [
11
11
  ["path", {
12
12
  d: "m14 12 4 4 4-4",
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("./dist-BUzSmOA3.js");
2
+ require("./dist-DxTjO9kC.js");
3
3
  const require_orchestrator_training_addon = require("./orchestrator/training.addon.js");
4
4
  const require_providers_modal_training_modal_addon = require("./providers/modal/training-modal.addon.js");
5
5
  //#region src/providers/fake/fake-provider.ts
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
2
  var t = e("hexagon", [["path", {
3
3
  d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
4
4
  key: "yt0hxn"
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-BUzSmOA3.js");
2
+ const require_dist = require("../dist-DxTjO9kC.js");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path);
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA } from "../dist-CCnnaqt1.mjs";
1
+ import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA } from "../dist-GI2KEl-e.mjs";
2
2
  import path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import { createReadStream } from "node:fs";
@@ -1,59 +1,59 @@
1
- import { S as e, _ as t, l as n, u as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { n as i, t as a } from "./chevron-right-D3StkdcR.mjs";
3
- import { y as o } from "./responsive-Cfmds8tw.mjs";
4
- import { n as s, r as c, t as l } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
1
+ import { d as e, u as t, w as n, y as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
2
+ import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
3
+ import { n as s, t as c } from "./chevron-right-cA8Hucbi.mjs";
4
+ import { h as l } from "./responsive-1iwc-rj2.mjs";
5
5
  //#region ../ui-library/src/composites/widget-panel.tsx
6
- e();
7
- function u({ title: e, icon: n, headerRight: r, collapsible: o = !1, defaultOpen: u = !0, bodyClassName: d = "p-3", children: f }) {
8
- let [p, m] = t(u), h = !o || p, g = /* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c("span", {
6
+ n();
7
+ function u({ title: e, icon: t, headerRight: n, collapsible: l = !1, defaultOpen: u = !0, bodyClassName: d = "p-3", children: f }) {
8
+ let [p, m] = r(u), h = !l || p, g = /* @__PURE__ */ a(o, { children: [/* @__PURE__ */ a("span", {
9
9
  className: "flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-foreground",
10
- children: [n, e]
11
- }), o ? s(p ? i : a, { className: "h-3.5 w-3.5 text-foreground-subtle" }) : r] }), _ = `px-4 py-2 flex items-center justify-between ${h ? "border-b border-border" : ""}`;
12
- return /* @__PURE__ */ c("div", {
10
+ children: [t, e]
11
+ }), l ? i(p ? s : c, { className: "h-3.5 w-3.5 text-foreground-subtle" }) : n] }), _ = `px-4 py-2 flex items-center justify-between ${h ? "border-b border-border" : ""}`;
12
+ return /* @__PURE__ */ a("div", {
13
13
  className: "rounded-lg border border-border bg-surface overflow-hidden",
14
- children: [o ? /* @__PURE__ */ s("button", {
14
+ children: [l ? /* @__PURE__ */ i("button", {
15
15
  type: "button",
16
16
  onClick: () => m((e) => !e),
17
17
  className: `w-full text-left ${_}`,
18
18
  children: g
19
- }) : /* @__PURE__ */ s("div", {
19
+ }) : /* @__PURE__ */ i("div", {
20
20
  className: _,
21
21
  children: g
22
- }), h ? /* @__PURE__ */ s("div", {
22
+ }), h ? /* @__PURE__ */ i("div", {
23
23
  className: d,
24
24
  children: f
25
25
  }) : null]
26
26
  });
27
27
  }
28
28
  function d({ label: e, icon: t, children: n, footer: r }) {
29
- return /* @__PURE__ */ c("div", {
29
+ return /* @__PURE__ */ a("div", {
30
30
  className: "min-w-0 rounded-lg border border-border bg-surface p-2 sm:p-2.5",
31
31
  children: [
32
- /* @__PURE__ */ c("div", {
32
+ /* @__PURE__ */ a("div", {
33
33
  className: "mb-0.5 flex min-w-0 items-center gap-1.5 text-[10px] uppercase tracking-wider text-foreground-subtle",
34
- children: [t, /* @__PURE__ */ s("span", {
34
+ children: [t, /* @__PURE__ */ i("span", {
35
35
  className: "min-w-0 truncate",
36
36
  children: e
37
37
  })]
38
38
  }),
39
- /* @__PURE__ */ s("div", {
39
+ /* @__PURE__ */ i("div", {
40
40
  className: "truncate text-lg font-semibold leading-tight text-foreground",
41
41
  children: n
42
42
  }),
43
- r == null ? null : /* @__PURE__ */ s("div", {
43
+ r == null ? null : /* @__PURE__ */ i("div", {
44
44
  className: "mt-0.5 truncate text-[10px] text-foreground-subtle",
45
45
  children: r
46
46
  })
47
47
  ]
48
48
  });
49
49
  }
50
- e(), o("camstack:player-overlays-state", null);
51
- var f = o("camstack:player-overlays-actions", null);
52
- function p(e) {
53
- let t = n(f);
54
- r(() => {
55
- if (!(!t || !e)) return t.setLayer(e), () => t.removeLayer(e.id);
56
- }, [t, e]);
50
+ n(), l("camstack:player-overlays-state", null);
51
+ var f = l("camstack:player-overlays-actions", null);
52
+ function p(n) {
53
+ let r = t(f);
54
+ e(() => {
55
+ if (!(!r || !n)) return r.setLayer(n), () => r.removeLayer(n.id);
56
+ }, [r, n]);
57
57
  }
58
58
  //#endregion
59
59
  export { d as n, u as r, p as t };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../../dist-BUzSmOA3.js");
2
+ const require_dist = require("../../dist-DxTjO9kC.js");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path, 1);
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { _ as number, b as string, c as trainingProviderCapability, d as arrayItemFieldPath, f as globalSecretScope, g as boolean, h as toSecretFieldView, l as BaseAddon, m as isSecretMarker, p as isSecretClear, u as SECRET_CLEAR, v as object, y as record } from "../../dist-CCnnaqt1.mjs";
1
+ import { _ as number, b as string, c as trainingProviderCapability, d as arrayItemFieldPath, f as globalSecretScope, g as boolean, h as toSecretFieldView, l as BaseAddon, m as isSecretMarker, p as isSecretClear, u as SECRET_CLEAR, v as object, y as record } from "../../dist-GI2KEl-e.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import path, { dirname, posix } from "node:path";
4
4
  import { createHash, createPrivateKey, createPublicKey, createSign, randomBytes, randomUUID } from "node:crypto";
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CdlOqgkp.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-D5OhZIRm.mjs";
2
2
  export { t as get, e as init };
@@ -1,62 +1,62 @@
1
- import { S as e, _ as t, c as n, l as r, m as i, t as a, u as o, v as s } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { y as c } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cn2OEGrR.mjs";
1
+ import { b as e, d as t, g as n, l as r, n as i, u as a, w as o, y as s } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
3
2
  import "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
3
+ import { y as c } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BVsoOuTM.mjs";
4
4
  //#region ../ui-library/src/lib/shared-context.ts
5
- e();
5
+ o();
6
6
  function l(e, t) {
7
- if (typeof globalThis > "u") return a(t);
7
+ if (typeof globalThis > "u") return i(t);
8
8
  let n = globalThis.__camstackSharedContexts, r = n ?? /* @__PURE__ */ new Map();
9
9
  n || (globalThis.__camstackSharedContexts = r);
10
- let i = r.get(e);
11
- if (i) return i;
12
- let o = a(t);
10
+ let a = r.get(e);
11
+ if (a) return a;
12
+ let o = i(t);
13
13
  return r.set(e, o), o;
14
14
  }
15
15
  //#endregion
16
16
  //#region ../ui-library/src/contexts/system-context.tsx
17
- e();
17
+ o();
18
18
  var u = l("camstack:system", null);
19
19
  function d() {
20
- let e = r(u);
20
+ let e = a(u);
21
21
  if (!e) throw Error("useSystem(): no <SystemProvider> in tree");
22
22
  return e;
23
23
  }
24
24
  //#endregion
25
25
  //#region ../ui-library/src/hooks/use-device-proxy.ts
26
- e();
26
+ o();
27
27
  var f = "capability.binding-changed";
28
- function p(e, n) {
29
- let [r, a] = t(null);
30
- return o(() => {
31
- if (n === null) {
28
+ function p(e, r) {
29
+ let [i, a] = s(null);
30
+ return t(() => {
31
+ if (r === null) {
32
32
  a(null);
33
33
  return;
34
34
  }
35
- let t = !1, r = async () => {
35
+ let t = !1, n = async () => {
36
36
  try {
37
- let r = await e.deviceManager.getBindings.query({ deviceId: n });
38
- t || a(r);
37
+ let n = await e.deviceManager.getBindings.query({ deviceId: r });
38
+ t || a(n);
39
39
  } catch {
40
40
  t || a((e) => e);
41
41
  }
42
42
  };
43
- r();
43
+ n();
44
44
  let i = e.live?.onEvent.subscribe({ category: f }, { onData: (e) => {
45
45
  let t = e.data?.source;
46
46
  if (!t) {
47
- r();
47
+ n();
48
48
  return;
49
49
  }
50
- t.type === "device" && t.id === n && r();
50
+ t.type === "device" && t.id === r && n();
51
51
  } });
52
52
  return () => {
53
53
  t = !0, i?.unsubscribe();
54
54
  };
55
- }, [e, n]), i(() => r ? c(e, r) : null, [e, r]);
55
+ }, [e, r]), n(() => i ? c(e, i) : null, [e, i]);
56
56
  }
57
- function m(e) {
58
- let t = n((t) => e ? e.subscribe(() => t()) : () => void 0, [e]), r = n(() => e?.value, [e]);
59
- return s(t, r, r);
57
+ function m(t) {
58
+ let n = r((e) => t ? t.subscribe(() => e()) : () => void 0, [t]), i = r(() => t?.value, [t]);
59
+ return e(n, i, i);
60
60
  }
61
61
  function h(e, t, n) {
62
62
  let r = p(e, t);
@@ -79,6 +79,6 @@ function _(e) {
79
79
  }
80
80
  //#endregion
81
81
  //#region ../ui-library/src/lib/responsive.ts
82
- var v = "rounded-lg border border-border bg-surface overflow-hidden", y = "border-b border-border px-3 sm:px-4 py-1.5 sm:py-2", b = "p-2 sm:p-3 lg:p-4", x = "grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4", S = "flex min-w-0 flex-col gap-0.5 py-1.5 sm:flex-row sm:items-center", C = "min-w-0 text-[11px] leading-tight text-foreground-subtle sm:w-32 sm:shrink-0 sm:pr-2", w = "flex w-full min-w-0 items-center gap-1 sm:flex-1", T = "min-w-0 break-all text-xs text-foreground sm:truncate", E = "text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider", D = "text-[10px] text-foreground-subtle", O = "inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors", k = "border-primary/50 bg-primary/15 text-primary", A = "border-border bg-surface text-foreground-subtle hover:bg-surface-hover";
82
+ var v = "rounded-lg border border-border bg-surface overflow-hidden", y = "border-b border-border px-3 sm:px-4 py-1.5 sm:py-2", b = "p-2 sm:p-3 lg:p-4", x = "grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4", S = "text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider", C = "text-[10px] text-foreground-subtle", w = "inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors", T = "border-primary/50 bg-primary/15 text-primary", E = "border-border bg-surface text-foreground-subtle hover:bg-surface-hover";
83
83
  //#endregion
84
- export { m as _, b as a, S as c, T as d, D as f, h as g, p as h, x as i, C as l, _ as m, O as n, v as o, E as p, A as r, y as s, k as t, w as u, d as v, l as y };
84
+ export { b as a, C as c, p as d, h as f, l as h, x as i, S as l, d as m, w as n, v as o, m as p, E as r, y as s, T as t, _ as u };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
2
  var t = e("camera", [["path", {
3
3
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
4
4
  key: "18u6gg"
@@ -0,0 +1,176 @@
1
+ import { g as e, l as t, w as n, y as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
2
+ import { n as i } from "./ui-text-CqJgUCKX.mjs";
3
+ //#region ../ui-library/src/lib/hub-mount.ts
4
+ n();
5
+ var a = "camstack-mount", o = /^\/(?:[A-Za-z0-9_\-.]+\/)*$/, s = null;
6
+ function c(e) {
7
+ if (e == null || e === "") return null;
8
+ let t = e.endsWith("/") ? e : `${e}/`;
9
+ return !o.test(t) || t.includes("/../") || t.includes("/./") ? null : t;
10
+ }
11
+ function l() {
12
+ if (typeof document > "u") return "/";
13
+ let e = c(document.querySelector(`meta[name="${a}"]`)?.getAttribute("content"));
14
+ if (e !== null) return e;
15
+ if (document.querySelector("base[href]") !== null) try {
16
+ let e = new URL(document.baseURI);
17
+ if (e.origin === window.location.origin) {
18
+ let t = c(e.pathname);
19
+ if (t !== null) return t;
20
+ }
21
+ } catch {}
22
+ return "/";
23
+ }
24
+ function u() {
25
+ return s === null && (s = l()), s;
26
+ }
27
+ function d() {
28
+ return u().replace(/\/$/, "");
29
+ }
30
+ function f(e) {
31
+ return /^[a-z][a-z0-9+.-]*:/i.test(e) || e.startsWith("//");
32
+ }
33
+ function p(e) {
34
+ if (f(e)) return e;
35
+ let t = u(), n = e.replace(/^\/+/, "");
36
+ return t !== "/" && (e === d() || e.startsWith(t)) ? e : `${t}${n}`;
37
+ }
38
+ //#endregion
39
+ //#region ../ui-library/src/hooks/use-device-snapshot.ts
40
+ var m = "/addon/snapshot/media";
41
+ function h(n, i = {}) {
42
+ let { width: a, baseUrl: o } = i, [s, c] = r(0);
43
+ return {
44
+ src: e(() => {
45
+ if (n === null || n <= 0) return null;
46
+ let e = o === void 0 ? d() : o.replace(/\/+$/, ""), t = new URLSearchParams();
47
+ a !== void 0 && Number.isInteger(a) && a > 0 && t.set("w", String(a)), s > 0 && (t.set("force", "1"), t.set("r", String(s)));
48
+ let r = t.toString();
49
+ return `${e}${m}/${String(n)}.jpg${r.length > 0 ? `?${r}` : ""}`;
50
+ }, [
51
+ n,
52
+ a,
53
+ o,
54
+ s
55
+ ]),
56
+ loading: !1,
57
+ refresh: t(() => {
58
+ c((e) => e + 1);
59
+ }, [])
60
+ };
61
+ }
62
+ //#endregion
63
+ //#region ../ui-library/src/composites/cap-settings/scene-monitor-copy.ts
64
+ var g = ["day", "ir"], _ = {
65
+ day: {
66
+ labelKey: "uiLibrary.sceneMonitor.variant.day",
67
+ labelFallback: "Daylight"
68
+ },
69
+ ir: {
70
+ labelKey: "uiLibrary.sceneMonitor.variant.ir",
71
+ labelFallback: "Night (IR)"
72
+ },
73
+ night: {
74
+ labelKey: "uiLibrary.sceneMonitor.variant.night",
75
+ labelFallback: "Night"
76
+ },
77
+ dawn: {
78
+ labelKey: "uiLibrary.sceneMonitor.variant.dawn",
79
+ labelFallback: "Dawn"
80
+ },
81
+ dusk: {
82
+ labelKey: "uiLibrary.sceneMonitor.variant.dusk",
83
+ labelFallback: "Dusk"
84
+ }
85
+ };
86
+ function v(e, t = i) {
87
+ let n = _[e];
88
+ return n === void 0 ? e : t(n.labelKey, n.labelFallback);
89
+ }
90
+ function y(e, t = i) {
91
+ let n = new Set(e.coveredConditions), r = g.map((e) => `${v(e, t)} ${n.has(e) ? "✓" : "✗"}`), a = [...n].filter((e) => !g.some((t) => t === e));
92
+ for (let e of a) r.push(`${v(e, t)} ✓`);
93
+ let o = g.filter((e) => !n.has(e));
94
+ if (o.length === 0) return r.join(" · ");
95
+ if (n.size === 0) return t("uiLibrary.sceneMonitor.coverage.empty", "{{parts}} — nothing captured yet, so this scene is not watching.", { parts: r.join(" · ") });
96
+ let [s = "", c] = o.map((e) => v(e, t).toLowerCase()), l = c === void 0 ? s : t("uiLibrary.sceneMonitor.coverage.namesJoin", "{{first}} and {{second}}", {
97
+ first: s,
98
+ second: c
99
+ }), u = {
100
+ parts: r.join(" · "),
101
+ names: l
102
+ };
103
+ return e.onUncoveredCondition === "judge-anyway" ? t("uiLibrary.sceneMonitor.coverage.judgeAnyway", "{{parts}} — {{names}} judged against the references you do have.", u) : t("uiLibrary.sceneMonitor.coverage.skip", "{{parts}} — optional; checks in {{names}} are skipped.", u);
104
+ }
105
+ function b(e, t = i) {
106
+ return e.suspendedCondition === null ? null : t("uiLibrary.sceneMonitor.suspension", "Paused — nothing was captured in {{light}}, so checks are on hold until the light changes back. Capture {{light}} if you want it watched around the clock.", { light: v(e.suspendedCondition, t).toLowerCase() });
107
+ }
108
+ var x = {
109
+ "no-reference-for-condition": {
110
+ key: "uiLibrary.sceneMonitor.unavailable.no_reference_for_condition",
111
+ fallback: "can’t tell — nothing has been captured for this scene yet. Press “Capture daylight” to photograph what normal looks like."
112
+ },
113
+ "view-shifted": {
114
+ key: "uiLibrary.sceneMonitor.unavailable.view_shifted",
115
+ fallback: "can’t tell — the camera view has moved since the reference was captured. Re-capture it."
116
+ },
117
+ "no-vision-profile": {
118
+ key: "uiLibrary.sceneMonitor.unavailable.no_vision_profile",
119
+ fallback: "can’t tell — the vision model is unreachable, so the change is on hold."
120
+ },
121
+ "encoder-model-changed": {
122
+ key: "uiLibrary.sceneMonitor.unavailable.encoder_model_changed",
123
+ fallback: "can’t tell — the embedding model changed, so the stored references are unreadable. Re-capture them."
124
+ },
125
+ "no-snapshot": {
126
+ key: "uiLibrary.sceneMonitor.unavailable.no_snapshot",
127
+ fallback: "can’t tell — this camera did not return a frame."
128
+ }
129
+ };
130
+ function S(e, t, n = i) {
131
+ if (e.states.length === 0) return n("uiLibrary.sceneMonitor.status.notArmed", "Not armed yet — capture the initial state to start watching.");
132
+ if (e.verdict === "unknown") {
133
+ if (e.unavailable === null) return n("uiLibrary.sceneMonitor.status.cantTellNow", "can’t tell right now.");
134
+ let t = x[e.unavailable];
135
+ return n(t.key, t.fallback);
136
+ }
137
+ let r = e.verdict === "diverged" ? e.divergedAt : e.armedAt, a = r === null ? "" : ` ${n("uiLibrary.sceneMonitor.status.heldFor", "for {{duration}}", { duration: E(Math.max(0, t - r)) })}`;
138
+ if (e.latched) return e.verdict === "diverged" ? n("uiLibrary.sceneMonitor.status.changedLatched", "CHANGED{{held}} — press Reset when you have dealt with it.", { held: a }) : n("uiLibrary.sceneMonitor.status.backToNormal", "Back to normal, but still flagged as changed{{held}}. Press Reset to clear it.", { held: a });
139
+ let o = b(e, n);
140
+ return o === null ? e.verdict === "diverged" ? n("uiLibrary.sceneMonitor.status.changed", "CHANGED{{held}}", { held: a }) : n("uiLibrary.sceneMonitor.status.normal", "Normal{{held}}", { held: a }) : o;
141
+ }
142
+ function C(e, t = i) {
143
+ return e.states.length === 0 ? {
144
+ text: t("uiLibrary.sceneMonitor.badge.notArmed", "Not armed"),
145
+ tone: "unknown"
146
+ } : e.latched ? {
147
+ text: t("uiLibrary.sceneMonitor.badge.changed", "Changed"),
148
+ tone: "alarm"
149
+ } : e.suspendedCondition === null ? e.verdict === "unknown" ? {
150
+ text: t("uiLibrary.sceneMonitor.badge.cantTell", "Can’t tell"),
151
+ tone: "unknown"
152
+ } : e.verdict === "diverged" ? {
153
+ text: t("uiLibrary.sceneMonitor.badge.changed", "Changed"),
154
+ tone: "alarm"
155
+ } : {
156
+ text: t("uiLibrary.sceneMonitor.badge.normal", "Normal"),
157
+ tone: "ok"
158
+ } : {
159
+ text: t("uiLibrary.sceneMonitor.badge.paused", "Paused"),
160
+ tone: "unknown"
161
+ };
162
+ }
163
+ var w = .4;
164
+ function T(e) {
165
+ return e.width * e.height > w;
166
+ }
167
+ function E(e) {
168
+ let t = Math.floor(e / 1e3);
169
+ if (t < 60) return `${t}s`;
170
+ let n = Math.floor(t / 60);
171
+ if (n < 60) return `${n}m`;
172
+ let r = Math.floor(n / 60);
173
+ return r < 48 ? `${r}h` : `${Math.floor(r / 24)}d`;
174
+ }
175
+ //#endregion
176
+ export { S as a, p as c, T as i, C as n, v as o, y as r, h as s, g as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
2
  var t = e("settings-2", [
3
3
  ["path", {
4
4
  d: "M14 17H5",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -0,0 +1,34 @@
1
+ import { f as e, n as t, t as n, u as r, w as i } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-CEvdvp1T.mjs";
2
+ import { n as a, t as o } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
3
+ //#region ../ui-library/src/contexts/ui-text.tsx
4
+ i();
5
+ var s = /\{\{\s*(\w+)\s*\}\}/g;
6
+ function c(e, t) {
7
+ return typeof e == "string" ? e : t === 1 ? e.one : e.other;
8
+ }
9
+ var l = (e, t, n) => {
10
+ let r = c(t, n?.count);
11
+ return n ? r.replace(s, (e, t) => {
12
+ let r = n[t];
13
+ return r == null ? e : String(r);
14
+ }) : r;
15
+ }, u = t(l);
16
+ function d() {
17
+ return r(u);
18
+ }
19
+ var f = /<(\d+)>([\s\S]*?)<\/\1>/g;
20
+ function p(e, t) {
21
+ let r = [], i = 0;
22
+ for (let a of e.matchAll(f)) {
23
+ let o = a.index ?? 0;
24
+ o > i && r.push(e.slice(i, o));
25
+ let s = t[Number(a[1])];
26
+ r.push(s ? n(s, void 0, a[2] ?? "") : a[2] ?? ""), i = o + a[0].length;
27
+ }
28
+ return i < e.length && r.push(e.slice(i)), r;
29
+ }
30
+ function m({ uiKey: t, fallback: n, components: r = [], values: i }) {
31
+ return /* @__PURE__ */ a(o, { children: p(d()(t, n, i), r).map((t, n) => /* @__PURE__ */ a(e, { children: t }, n)) });
32
+ }
33
+ //#endregion
34
+ export { l as n, d as r, m as t };
@@ -2762,7 +2762,7 @@ async function or(e) {
2762
2762
  }
2763
2763
  }
2764
2764
  async function sr() {
2765
- return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-cOIklMU6.mjs")).catch((e) => {
2765
+ return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BclY1R96.mjs")).catch((e) => {
2766
2766
  throw ir = void 0, e;
2767
2767
  }), ir;
2768
2768
  }
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-CPP1Jzoz.mjs";
1
+ import { t as e } from "./createLucideIcon-C0bBNRpC.mjs";
2
2
  var t = e("activity", [["path", {
3
3
  d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",
4
4
  key: "169zse"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-training",
3
- "version": "0.1.47",
3
+ "version": "0.1.48",
4
4
  "description": "Cloud training for CamStack: fine-tune the root detector on your own frames, on your own GPU-cloud account",
5
5
  "keywords": [
6
6
  "camstack",