@camstack/addon-model-studio 1.1.299 → 1.1.300

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 (20) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +19 -0
  3. package/dist/{MotionZonesSettings-sz-ODYZW.mjs → MotionZonesSettings-DyZoYI0U.mjs} +2 -2
  4. package/dist/{PrivacyMaskSettings-6vNqzYvt.mjs → PrivacyMaskSettings-B37uji0h.mjs} +4 -4
  5. package/dist/{SceneMonitorEditor-DILUr4Mu.mjs → SceneMonitorEditor-adwuwWhh.mjs} +3 -3
  6. package/dist/_stub.js +630 -630
  7. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page--ME5lZcf.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-BlPX9fcr.mjs} +3 -3
  8. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CrWbJfbZ.mjs +26 -0
  9. package/dist/{hostInit-CtIHp-Co.mjs → hostInit-LqGEoqeQ.mjs} +2 -2
  10. package/dist/model-studio.addon.js +144 -7
  11. package/dist/model-studio.addon.mjs +144 -7
  12. package/dist/{player-overlays-D_Gu9LQG.mjs → player-overlays-NWrAt23J.mjs} +1 -1
  13. package/dist/remoteEntry.js +1 -1
  14. package/dist/{responsive-EDVJCyVr.mjs → responsive-D0VqJmUb.mjs} +1 -1
  15. package/dist/{scene-monitor-copy-CNS1lQNa.mjs → scene-monitor-copy-CFRppIGJ.mjs} +1 -1
  16. package/dist/{square-DmAYvpZY.mjs → square-0_tIf9AN.mjs} +1 -1
  17. package/dist/{trash-2-C4LJKmdi.mjs → trash-2-BLOVJO98.mjs} +1 -1
  18. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-brpqeKaY.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BUYxMBCF.mjs} +1 -1
  19. package/package.json +4 -2
  20. package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Dcmr_zC_.mjs +0 -26
package/dist/_stub.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import "./virtualExposes-CWSi4E_g.mjs";
2
- import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-brpqeKaY.mjs";
2
+ import "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BUYxMBCF.mjs";
3
3
  import { S as e, _ as t, a as n, b as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, p as f, r as p, t as m, u as h, v as g, y as _ } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react__loadShare__.js-DMBKVIH7.mjs";
4
4
  import { n as v, r as y, t as b } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-ds_Ehzaa.mjs";
5
5
  import { n as x, r as S, t as C } from "./ui-text-BqZa5BNK.mjs";
6
- import { $ as w, A as T, B as E, C as D, D as O, E as ee, F as k, G as A, H as j, I as te, J as ne, K as re, L as M, M as ie, N as ae, O as N, P as oe, Q as P, R as F, S as se, T as ce, U as le, V as ue, W as de, X as fe, Y as pe, Z as me, _ as he, a as ge, at as I, c as _e, ct as ve, d as ye, dt as be, et as xe, f as Se, ft as Ce, g as we, h as Te, i as Ee, it as L, j as De, k as Oe, l as ke, lt as Ae, m as je, n as Me, nt as Ne, o as Pe, ot as R, p as Fe, q as Ie, r as Le, rt as Re, s as ze, t as Be, tt as Ve, u as He, ut as Ue, v as We, w as Ge, x as Ke, y as qe, z as Je } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Dcmr_zC_.mjs";
7
- import { _ as z, a as Ye, c as Xe, f as Ze, g as Qe, h as $e, i as et, l as tt, m as nt, o as rt, p as it, r as at, s as ot, t as st, u as ct } from "./responsive-EDVJCyVr.mjs";
8
- import { d as lt, l as ut, u as dt } from "./scene-monitor-copy-CNS1lQNa.mjs";
9
- import { i as ft, r as pt } from "./player-overlays-D_Gu9LQG.mjs";
10
- import { r as mt, t as ht } from "./square-DmAYvpZY.mjs";
11
- import { t as gt } from "./trash-2-C4LJKmdi.mjs";
6
+ import { $ as w, A as T, B as E, C as D, D as ee, E as te, F as O, G as k, H as A, I as ne, J as re, K as ie, L as j, M as ae, N as oe, O as M, P as se, Q as N, R as P, S as F, T as ce, U as le, V as ue, W as de, X as fe, Y as pe, Z as me, _ as he, a as ge, at as I, b as _e, c as ve, d as ye, dt as be, et as xe, f as Se, ft as Ce, g as we, h as Te, i as Ee, it as De, j as Oe, k as ke, l as Ae, lt as je, m as Me, n as Ne, nt as Pe, o as Fe, ot as L, p as Ie, q as Le, r as Re, rt as ze, s as Be, st as R, t as Ve, tt as He, u as Ue, ut as We, v as Ge, w as Ke, y as qe, z as Je } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CrWbJfbZ.mjs";
7
+ import { _ as z, a as Ye, c as Xe, f as Ze, g as Qe, h as $e, i as et, l as tt, m as nt, o as rt, p as it, r as at, s as ot, t as st, u as ct } from "./responsive-D0VqJmUb.mjs";
8
+ import { d as lt, l as ut, u as dt } from "./scene-monitor-copy-CFRppIGJ.mjs";
9
+ import { i as ft, r as pt } from "./player-overlays-NWrAt23J.mjs";
10
+ import { r as mt, t as ht } from "./square-0_tIf9AN.mjs";
11
+ import { t as gt } from "./trash-2-BLOVJO98.mjs";
12
12
  import { t as _t } from "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-BvzT760A.mjs";
13
13
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare__react_mf_2_dom__loadShare__.js-C8Ar0nzL.mjs";
14
14
  import "./_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B-9Pn2K0.mjs";
@@ -2435,464 +2435,464 @@ function ei(e, t) {
2435
2435
  };
2436
2436
  }
2437
2437
  var ti = {
2438
- [I.Camera]: {
2438
+ [L.Camera]: {
2439
2439
  icon: lt,
2440
2440
  labelKey: "uiLibrary.deviceMeta.type.camera",
2441
2441
  labelFallback: "Camera"
2442
2442
  },
2443
- [I.Hub]: {
2443
+ [L.Hub]: {
2444
2444
  icon: Wn,
2445
2445
  labelKey: "uiLibrary.deviceMeta.type.hub",
2446
2446
  labelFallback: "Hub"
2447
2447
  },
2448
- [I.Light]: {
2448
+ [L.Light]: {
2449
2449
  icon: Dn,
2450
2450
  labelKey: "uiLibrary.deviceMeta.type.light",
2451
2451
  labelFallback: "Light"
2452
2452
  },
2453
- [I.Siren]: {
2453
+ [L.Siren]: {
2454
2454
  icon: dr,
2455
2455
  labelKey: "uiLibrary.deviceMeta.type.siren",
2456
2456
  labelFallback: "Siren"
2457
2457
  },
2458
- [I.Switch]: {
2458
+ [L.Switch]: {
2459
2459
  icon: Tr,
2460
2460
  labelKey: "uiLibrary.deviceMeta.type.switch",
2461
2461
  labelFallback: "Switch"
2462
2462
  },
2463
- [I.Sensor]: {
2463
+ [L.Sensor]: {
2464
2464
  icon: vt,
2465
2465
  labelKey: "uiLibrary.deviceMeta.type.sensor",
2466
2466
  labelFallback: "Sensor"
2467
2467
  },
2468
- [I.Thermostat]: {
2468
+ [L.Thermostat]: {
2469
2469
  icon: Cr,
2470
2470
  labelKey: "uiLibrary.deviceMeta.type.thermostat",
2471
2471
  labelFallback: "Thermostat"
2472
2472
  },
2473
- [I.Climate]: {
2473
+ [L.Climate]: {
2474
2474
  icon: yt,
2475
2475
  labelKey: "uiLibrary.deviceMeta.type.climate",
2476
2476
  labelFallback: "Air conditioner"
2477
2477
  },
2478
- [I.Button]: {
2478
+ [L.Button]: {
2479
2479
  icon: Kt,
2480
2480
  labelKey: "uiLibrary.deviceMeta.type.button",
2481
2481
  labelFallback: "Button"
2482
2482
  },
2483
- [I.EventEmitter]: {
2483
+ [L.EventEmitter]: {
2484
2484
  icon: Gr,
2485
2485
  labelKey: "uiLibrary.deviceMeta.type.eventEmitter",
2486
2486
  labelFallback: "Event Emitter"
2487
2487
  },
2488
- [I.Update]: {
2488
+ [L.Update]: {
2489
2489
  icon: rr,
2490
2490
  labelKey: "uiLibrary.deviceMeta.type.update",
2491
2491
  labelFallback: "Update"
2492
2492
  },
2493
- [I.Generic]: {
2493
+ [L.Generic]: {
2494
2494
  icon: Pt,
2495
2495
  labelKey: "uiLibrary.deviceMeta.type.generic",
2496
2496
  labelFallback: "Generic"
2497
2497
  },
2498
- [I.Notifier]: {
2498
+ [L.Notifier]: {
2499
2499
  icon: Ot,
2500
2500
  labelKey: "uiLibrary.deviceMeta.type.notifier",
2501
2501
  labelFallback: "Notifier"
2502
2502
  },
2503
- [I.Script]: {
2503
+ [L.Script]: {
2504
2504
  icon: ar,
2505
2505
  labelKey: "uiLibrary.deviceMeta.type.script",
2506
2506
  labelFallback: "Script"
2507
2507
  },
2508
- [I.Automation]: {
2508
+ [L.Automation]: {
2509
2509
  icon: Ur,
2510
2510
  labelKey: "uiLibrary.deviceMeta.type.automation",
2511
2511
  labelFallback: "Automation"
2512
2512
  },
2513
- [I.Lock]: {
2513
+ [L.Lock]: {
2514
2514
  icon: Mn,
2515
2515
  labelKey: "uiLibrary.deviceMeta.type.lock",
2516
2516
  labelFallback: "Lock"
2517
2517
  },
2518
- [I.Cover]: {
2518
+ [L.Cover]: {
2519
2519
  icon: jt,
2520
2520
  labelKey: "uiLibrary.deviceMeta.type.cover",
2521
2521
  labelFallback: "Cover"
2522
2522
  },
2523
- [I.Valve]: {
2523
+ [L.Valve]: {
2524
2524
  icon: Xn,
2525
2525
  labelKey: "uiLibrary.deviceMeta.type.valve",
2526
2526
  labelFallback: "Valve"
2527
2527
  },
2528
- [I.Humidifier]: {
2528
+ [L.Humidifier]: {
2529
2529
  icon: zr,
2530
2530
  labelKey: "uiLibrary.deviceMeta.type.humidifier",
2531
2531
  labelFallback: "Humidifier"
2532
2532
  },
2533
- [I.WaterHeater]: {
2533
+ [L.WaterHeater]: {
2534
2534
  icon: wt,
2535
2535
  labelKey: "uiLibrary.deviceMeta.type.waterHeater",
2536
2536
  labelFallback: "Water heater"
2537
2537
  },
2538
- [I.Fan]: {
2538
+ [L.Fan]: {
2539
2539
  icon: pn,
2540
2540
  labelKey: "uiLibrary.deviceMeta.type.fan",
2541
2541
  labelFallback: "Fan"
2542
2542
  },
2543
- [I.MediaPlayer]: {
2543
+ [L.MediaPlayer]: {
2544
2544
  icon: Ln,
2545
2545
  labelKey: "uiLibrary.deviceMeta.type.mediaPlayer",
2546
2546
  labelFallback: "Media player"
2547
2547
  },
2548
- [I.AlarmPanel]: {
2548
+ [L.AlarmPanel]: {
2549
2549
  icon: sr,
2550
2550
  labelKey: "uiLibrary.deviceMeta.type.alarmPanel",
2551
2551
  labelFallback: "Alarm panel"
2552
2552
  },
2553
- [I.Control]: {
2553
+ [L.Control]: {
2554
2554
  icon: mr,
2555
2555
  labelKey: "uiLibrary.deviceMeta.type.control",
2556
2556
  labelFallback: "Control"
2557
2557
  },
2558
- [I.Presence]: {
2558
+ [L.Presence]: {
2559
2559
  icon: Pn,
2560
2560
  labelKey: "uiLibrary.deviceMeta.type.presence",
2561
2561
  labelFallback: "Presence"
2562
2562
  },
2563
- [I.Weather]: {
2563
+ [L.Weather]: {
2564
2564
  icon: $t,
2565
2565
  labelKey: "uiLibrary.deviceMeta.type.weather",
2566
2566
  labelFallback: "Weather"
2567
2567
  },
2568
- [I.Vacuum]: {
2568
+ [L.Vacuum]: {
2569
2569
  icon: Nt,
2570
2570
  labelKey: "uiLibrary.deviceMeta.type.vacuum",
2571
2571
  labelFallback: "Vacuum"
2572
2572
  },
2573
- [I.LawnMower]: {
2573
+ [L.LawnMower]: {
2574
2574
  icon: Dr,
2575
2575
  labelKey: "uiLibrary.deviceMeta.type.lawnMower",
2576
2576
  labelFallback: "Lawn mower"
2577
2577
  },
2578
- [I.Container]: {
2578
+ [L.Container]: {
2579
2579
  icon: Pt,
2580
2580
  labelKey: "uiLibrary.deviceMeta.type.container",
2581
2581
  labelFallback: "Container"
2582
2582
  },
2583
- [I.Image]: {
2583
+ [L.Image]: {
2584
2584
  icon: Cn,
2585
2585
  labelKey: "uiLibrary.deviceMeta.type.image",
2586
2586
  labelFallback: "Image"
2587
2587
  },
2588
- [I.PetFeeder]: {
2588
+ [L.PetFeeder]: {
2589
2589
  icon: Mt,
2590
2590
  labelKey: "uiLibrary.deviceMeta.type.petFeeder",
2591
2591
  labelFallback: "Pet feeder"
2592
2592
  },
2593
- [I.Dishwasher]: {
2593
+ [L.Dishwasher]: {
2594
2594
  icon: zr,
2595
2595
  labelKey: "uiLibrary.deviceMeta.type.dishwasher",
2596
2596
  labelFallback: "Dishwasher"
2597
2597
  }
2598
2598
  }, ni = {
2599
- [L.Siren]: {
2599
+ [I.Siren]: {
2600
2600
  icon: dr,
2601
2601
  labelKey: "uiLibrary.deviceMeta.role.siren",
2602
2602
  labelFallback: "Siren"
2603
2603
  },
2604
- [L.Floodlight]: {
2604
+ [I.Floodlight]: {
2605
2605
  icon: Dn,
2606
2606
  labelKey: "uiLibrary.deviceMeta.role.floodlight",
2607
2607
  labelFallback: "Floodlight"
2608
2608
  },
2609
- [L.Spotlight]: {
2609
+ [I.Spotlight]: {
2610
2610
  icon: gn,
2611
2611
  labelKey: "uiLibrary.deviceMeta.role.spotlight",
2612
2612
  labelFallback: "Spotlight"
2613
2613
  },
2614
- [L.PirSensor]: {
2614
+ [I.PirSensor]: {
2615
2615
  icon: tr,
2616
2616
  labelKey: "uiLibrary.deviceMeta.role.pirSensor",
2617
2617
  labelFallback: "PIR sensor"
2618
2618
  },
2619
- [L.Chime]: {
2619
+ [I.Chime]: {
2620
2620
  icon: Ot,
2621
2621
  labelKey: "uiLibrary.deviceMeta.role.chime",
2622
2622
  labelFallback: "Chime"
2623
2623
  },
2624
- [L.Autotrack]: {
2624
+ [I.Autotrack]: {
2625
2625
  icon: an,
2626
2626
  labelKey: "uiLibrary.deviceMeta.role.autotrack",
2627
2627
  labelFallback: "Auto-track"
2628
2628
  },
2629
- [L.Nightvision]: {
2629
+ [I.Nightvision]: {
2630
2630
  icon: Rn,
2631
2631
  labelKey: "uiLibrary.deviceMeta.role.nightvision",
2632
2632
  labelFallback: "Night vision"
2633
2633
  },
2634
- [L.PrivacyMask]: {
2634
+ [I.PrivacyMask]: {
2635
2635
  icon: mt,
2636
2636
  labelKey: "uiLibrary.deviceMeta.role.privacyMask",
2637
2637
  labelFallback: "Privacy mask"
2638
2638
  },
2639
- [L.Doorbell]: {
2639
+ [I.Doorbell]: {
2640
2640
  icon: sn,
2641
2641
  labelKey: "uiLibrary.deviceMeta.role.doorbell",
2642
2642
  labelFallback: "Doorbell"
2643
2643
  },
2644
- [L.CoverBlind]: {
2644
+ [I.CoverBlind]: {
2645
2645
  icon: jt,
2646
2646
  labelKey: "uiLibrary.deviceMeta.role.coverBlind",
2647
2647
  labelFallback: "Blind"
2648
2648
  },
2649
- [L.CoverShutter]: {
2649
+ [I.CoverShutter]: {
2650
2650
  icon: jt,
2651
2651
  labelKey: "uiLibrary.deviceMeta.role.coverShutter",
2652
2652
  labelFallback: "Shutter"
2653
2653
  },
2654
- [L.CoverAwning]: {
2654
+ [I.CoverAwning]: {
2655
2655
  icon: jt,
2656
2656
  labelKey: "uiLibrary.deviceMeta.role.coverAwning",
2657
2657
  labelFallback: "Awning"
2658
2658
  },
2659
- [L.CoverCurtain]: {
2659
+ [I.CoverCurtain]: {
2660
2660
  icon: jt,
2661
2661
  labelKey: "uiLibrary.deviceMeta.role.coverCurtain",
2662
2662
  labelFallback: "Curtain"
2663
2663
  },
2664
- [L.CoverGarage]: {
2664
+ [I.CoverGarage]: {
2665
2665
  icon: sn,
2666
2666
  labelKey: "uiLibrary.deviceMeta.role.coverGarage",
2667
2667
  labelFallback: "Garage door"
2668
2668
  },
2669
- [L.CoverGate]: {
2669
+ [I.CoverGate]: {
2670
2670
  icon: sn,
2671
2671
  labelKey: "uiLibrary.deviceMeta.role.coverGate",
2672
2672
  labelFallback: "Gate"
2673
2673
  },
2674
- [L.CoverDoor]: {
2674
+ [I.CoverDoor]: {
2675
2675
  icon: cn,
2676
2676
  labelKey: "uiLibrary.deviceMeta.role.coverDoor",
2677
2677
  labelFallback: "Door"
2678
2678
  },
2679
- [L.CoverWindow]: {
2679
+ [I.CoverWindow]: {
2680
2680
  icon: jt,
2681
2681
  labelKey: "uiLibrary.deviceMeta.role.coverWindow",
2682
2682
  labelFallback: "Window"
2683
2683
  },
2684
- [L.BinaryHelper]: {
2684
+ [I.BinaryHelper]: {
2685
2685
  icon: Tr,
2686
2686
  labelKey: "uiLibrary.deviceMeta.role.binaryHelper",
2687
2687
  labelFallback: "Binary helper"
2688
2688
  },
2689
- [L.Outlet]: {
2689
+ [I.Outlet]: {
2690
2690
  icon: $n,
2691
2691
  labelKey: "uiLibrary.deviceMeta.role.outlet",
2692
2692
  labelFallback: "Outlet"
2693
2693
  },
2694
- [L.MotionSensor]: {
2694
+ [I.MotionSensor]: {
2695
2695
  icon: _n,
2696
2696
  labelKey: "uiLibrary.deviceMeta.role.motionSensor",
2697
2697
  labelFallback: "Motion sensor"
2698
2698
  },
2699
- [L.ContactSensor]: {
2699
+ [I.ContactSensor]: {
2700
2700
  icon: cn,
2701
2701
  labelKey: "uiLibrary.deviceMeta.role.contactSensor",
2702
2702
  labelFallback: "Contact sensor"
2703
2703
  },
2704
- [L.LeakSensor]: {
2704
+ [I.LeakSensor]: {
2705
2705
  icon: un,
2706
2706
  labelKey: "uiLibrary.deviceMeta.role.leakSensor",
2707
2707
  labelFallback: "Leak sensor"
2708
2708
  },
2709
- [L.SmokeSensor]: {
2709
+ [I.SmokeSensor]: {
2710
2710
  icon: bt,
2711
2711
  labelKey: "uiLibrary.deviceMeta.role.smokeSensor",
2712
2712
  labelFallback: "Smoke sensor"
2713
2713
  },
2714
- [L.COSensor]: {
2714
+ [I.COSensor]: {
2715
2715
  icon: Hr,
2716
2716
  labelKey: "uiLibrary.deviceMeta.role.cOSensor",
2717
2717
  labelFallback: "CO sensor"
2718
2718
  },
2719
- [L.GasSensor]: {
2719
+ [I.GasSensor]: {
2720
2720
  icon: hn,
2721
2721
  labelKey: "uiLibrary.deviceMeta.role.gasSensor",
2722
2722
  labelFallback: "Gas sensor"
2723
2723
  },
2724
- [L.TamperSensor]: {
2724
+ [I.TamperSensor]: {
2725
2725
  icon: sr,
2726
2726
  labelKey: "uiLibrary.deviceMeta.role.tamperSensor",
2727
2727
  labelFallback: "Tamper sensor"
2728
2728
  },
2729
- [L.VibrationSensor]: {
2729
+ [I.VibrationSensor]: {
2730
2730
  icon: Ir,
2731
2731
  labelKey: "uiLibrary.deviceMeta.role.vibrationSensor",
2732
2732
  labelFallback: "Vibration sensor"
2733
2733
  },
2734
- [L.ConnectivitySensor]: {
2734
+ [I.ConnectivitySensor]: {
2735
2735
  icon: Vr,
2736
2736
  labelKey: "uiLibrary.deviceMeta.role.connectivitySensor",
2737
2737
  labelFallback: "Connectivity"
2738
2738
  },
2739
- [L.SoundSensor]: {
2739
+ [I.SoundSensor]: {
2740
2740
  icon: Lr,
2741
2741
  labelKey: "uiLibrary.deviceMeta.role.soundSensor",
2742
2742
  labelFallback: "Sound sensor"
2743
2743
  },
2744
- [L.BinarySensor]: {
2744
+ [I.BinarySensor]: {
2745
2745
  icon: Tr,
2746
2746
  labelKey: "uiLibrary.deviceMeta.role.binarySensor",
2747
2747
  labelFallback: "Binary sensor"
2748
2748
  },
2749
- [L.TemperatureSensor]: {
2749
+ [I.TemperatureSensor]: {
2750
2750
  icon: Cr,
2751
2751
  labelKey: "uiLibrary.deviceMeta.role.temperatureSensor",
2752
2752
  labelFallback: "Temperature"
2753
2753
  },
2754
- [L.HumiditySensor]: {
2754
+ [I.HumiditySensor]: {
2755
2755
  icon: dn,
2756
2756
  labelKey: "uiLibrary.deviceMeta.role.humiditySensor",
2757
2757
  labelFallback: "Humidity"
2758
2758
  },
2759
- [L.AmbientLightSensor]: {
2759
+ [I.AmbientLightSensor]: {
2760
2760
  icon: br,
2761
2761
  labelKey: "uiLibrary.deviceMeta.role.ambientLightSensor",
2762
2762
  labelFallback: "Ambient light"
2763
2763
  },
2764
- [L.PressureSensor]: {
2764
+ [I.PressureSensor]: {
2765
2765
  icon: vn,
2766
2766
  labelKey: "uiLibrary.deviceMeta.role.pressureSensor",
2767
2767
  labelFallback: "Pressure"
2768
2768
  },
2769
- [L.WindSensor]: {
2769
+ [I.WindSensor]: {
2770
2770
  icon: Hr,
2771
2771
  labelKey: "uiLibrary.deviceMeta.role.windSensor",
2772
2772
  labelFallback: "Wind"
2773
2773
  },
2774
- [L.RainSensor]: {
2774
+ [I.RainSensor]: {
2775
2775
  icon: Zt,
2776
2776
  labelKey: "uiLibrary.deviceMeta.role.rainSensor",
2777
2777
  labelFallback: "Rain"
2778
2778
  },
2779
- [L.UvSensor]: {
2779
+ [I.UvSensor]: {
2780
2780
  icon: yr,
2781
2781
  labelKey: "uiLibrary.deviceMeta.role.uvSensor",
2782
2782
  labelFallback: "UV index"
2783
2783
  },
2784
- [L.SolarRadiationSensor]: {
2784
+ [I.SolarRadiationSensor]: {
2785
2785
  icon: xr,
2786
2786
  labelKey: "uiLibrary.deviceMeta.role.solarRadiationSensor",
2787
2787
  labelFallback: "Solar radiation"
2788
2788
  },
2789
- [L.SoilMoistureSensor]: {
2789
+ [I.SoilMoistureSensor]: {
2790
2790
  icon: vr,
2791
2791
  labelKey: "uiLibrary.deviceMeta.role.soilMoistureSensor",
2792
2792
  labelFallback: "Soil moisture"
2793
2793
  },
2794
- [L.PowerSensor]: {
2794
+ [I.PowerSensor]: {
2795
2795
  icon: Gr,
2796
2796
  labelKey: "uiLibrary.deviceMeta.role.powerSensor",
2797
2797
  labelFallback: "Power"
2798
2798
  },
2799
- [L.EnergySensor]: {
2799
+ [I.EnergySensor]: {
2800
2800
  icon: Gr,
2801
2801
  labelKey: "uiLibrary.deviceMeta.role.energySensor",
2802
2802
  labelFallback: "Energy"
2803
2803
  },
2804
- [L.VoltageSensor]: {
2804
+ [I.VoltageSensor]: {
2805
2805
  icon: Gr,
2806
2806
  labelKey: "uiLibrary.deviceMeta.role.voltageSensor",
2807
2807
  labelFallback: "Voltage"
2808
2808
  },
2809
- [L.CurrentSensor]: {
2809
+ [I.CurrentSensor]: {
2810
2810
  icon: Gr,
2811
2811
  labelKey: "uiLibrary.deviceMeta.role.currentSensor",
2812
2812
  labelFallback: "Current"
2813
2813
  },
2814
- [L.AirQualitySensor]: {
2814
+ [I.AirQualitySensor]: {
2815
2815
  icon: Hr,
2816
2816
  labelKey: "uiLibrary.deviceMeta.role.airQualitySensor",
2817
2817
  labelFallback: "Air quality"
2818
2818
  },
2819
- [L.BatterySensor]: {
2819
+ [I.BatterySensor]: {
2820
2820
  icon: vn,
2821
2821
  labelKey: "uiLibrary.deviceMeta.role.batterySensor",
2822
2822
  labelFallback: "Battery"
2823
2823
  },
2824
- [L.NumericSensor]: {
2824
+ [I.NumericSensor]: {
2825
2825
  icon: bn,
2826
2826
  labelKey: "uiLibrary.deviceMeta.role.numericSensor",
2827
2827
  labelFallback: "Numeric sensor"
2828
2828
  },
2829
- [L.EnumSensor]: {
2829
+ [I.EnumSensor]: {
2830
2830
  icon: kn,
2831
2831
  labelKey: "uiLibrary.deviceMeta.role.enumSensor",
2832
2832
  labelFallback: "Enum sensor"
2833
2833
  },
2834
- [L.DateTimeSensor]: {
2834
+ [I.DateTimeSensor]: {
2835
2835
  icon: Jt,
2836
2836
  labelKey: "uiLibrary.deviceMeta.role.dateTimeSensor",
2837
2837
  labelFallback: "Date / time"
2838
2838
  },
2839
- [L.GenericSensor]: {
2839
+ [I.GenericSensor]: {
2840
2840
  icon: vn,
2841
2841
  labelKey: "uiLibrary.deviceMeta.role.genericSensor",
2842
2842
  labelFallback: "Sensor"
2843
2843
  },
2844
- [L.NumericControl]: {
2844
+ [I.NumericControl]: {
2845
2845
  icon: mr,
2846
2846
  labelKey: "uiLibrary.deviceMeta.role.numericControl",
2847
2847
  labelFallback: "Numeric control"
2848
2848
  },
2849
- [L.SelectControl]: {
2849
+ [I.SelectControl]: {
2850
2850
  icon: On,
2851
2851
  labelKey: "uiLibrary.deviceMeta.role.selectControl",
2852
2852
  labelFallback: "Select control"
2853
2853
  },
2854
- [L.TextControl]: {
2854
+ [I.TextControl]: {
2855
2855
  icon: jr,
2856
2856
  labelKey: "uiLibrary.deviceMeta.role.textControl",
2857
2857
  labelFallback: "Text control"
2858
2858
  },
2859
- [L.DateTimeControl]: {
2859
+ [I.DateTimeControl]: {
2860
2860
  icon: Jt,
2861
2861
  labelKey: "uiLibrary.deviceMeta.role.dateTimeControl",
2862
2862
  labelFallback: "Date / time control"
2863
2863
  },
2864
- [L.MobilePushNotifier]: {
2864
+ [I.MobilePushNotifier]: {
2865
2865
  icon: hr,
2866
2866
  labelKey: "uiLibrary.deviceMeta.role.mobilePushNotifier",
2867
2867
  labelFallback: "Mobile push"
2868
2868
  },
2869
- [L.MessagingNotifier]: {
2869
+ [I.MessagingNotifier]: {
2870
2870
  icon: In,
2871
2871
  labelKey: "uiLibrary.deviceMeta.role.messagingNotifier",
2872
2872
  labelFallback: "Messaging"
2873
2873
  },
2874
- [L.EmailNotifier]: {
2874
+ [I.EmailNotifier]: {
2875
2875
  icon: Nn,
2876
2876
  labelKey: "uiLibrary.deviceMeta.role.emailNotifier",
2877
2877
  labelFallback: "Email"
2878
2878
  },
2879
- [L.GenericNotifier]: {
2879
+ [I.GenericNotifier]: {
2880
2880
  icon: Ot,
2881
2881
  labelKey: "uiLibrary.deviceMeta.role.genericNotifier",
2882
2882
  labelFallback: "Notifier"
2883
2883
  }
2884
- }, ri = new Set(Object.values(I));
2885
- new Set(Object.values(L));
2884
+ }, ri = new Set(Object.values(L));
2885
+ new Set(Object.values(I));
2886
2886
  function ii(e) {
2887
2887
  return ri.has(e);
2888
2888
  }
2889
- var ai = ti[I.Generic];
2890
- ni[L.GenericSensor];
2889
+ var ai = ti[L.Generic];
2890
+ ni[I.GenericSensor];
2891
2891
  function oi(e, t = x) {
2892
2892
  return ii(e) ? ei(ti[e] ?? ai, t) : ei(ai, t);
2893
2893
  }
2894
2894
  function si(e) {
2895
- return Object.values(I).map((t) => {
2895
+ return Object.values(L).map((t) => {
2896
2896
  let n = oi(t, e);
2897
2897
  return {
2898
2898
  id: t,
@@ -3220,19 +3220,19 @@ var ui = (e, t) => {
3220
3220
  $i,
3221
3221
  U,
3222
3222
  H
3223
- ], O = () => [
3223
+ ], ee = () => [
3224
3224
  $i,
3225
3225
  "auto",
3226
3226
  U,
3227
3227
  H
3228
- ], ee = () => [
3228
+ ], te = () => [
3229
3229
  "auto",
3230
3230
  "min",
3231
3231
  "max",
3232
3232
  "fr",
3233
3233
  U,
3234
3234
  H
3235
- ], k = () => [
3235
+ ], O = () => [
3236
3236
  "start",
3237
3237
  "end",
3238
3238
  "center",
@@ -3243,14 +3243,14 @@ var ui = (e, t) => {
3243
3243
  "baseline",
3244
3244
  "center-safe",
3245
3245
  "end-safe"
3246
- ], A = () => [
3246
+ ], k = () => [
3247
3247
  "start",
3248
3248
  "end",
3249
3249
  "center",
3250
3250
  "stretch",
3251
3251
  "center-safe",
3252
3252
  "end-safe"
3253
- ], j = () => ["auto", ...w()], te = () => [
3253
+ ], A = () => ["auto", ...w()], ne = () => [
3254
3254
  Qi,
3255
3255
  "auto",
3256
3256
  "full",
@@ -3264,7 +3264,7 @@ var ui = (e, t) => {
3264
3264
  "max",
3265
3265
  "fit",
3266
3266
  ...w()
3267
- ], ne = () => [
3267
+ ], re = () => [
3268
3268
  Qi,
3269
3269
  "screen",
3270
3270
  "full",
@@ -3275,7 +3275,7 @@ var ui = (e, t) => {
3275
3275
  "max",
3276
3276
  "fit",
3277
3277
  ...w()
3278
- ], re = () => [
3278
+ ], ie = () => [
3279
3279
  Qi,
3280
3280
  "screen",
3281
3281
  "full",
@@ -3287,45 +3287,45 @@ var ui = (e, t) => {
3287
3287
  "max",
3288
3288
  "fit",
3289
3289
  ...w()
3290
- ], M = () => [
3290
+ ], j = () => [
3291
3291
  e,
3292
3292
  U,
3293
3293
  H
3294
- ], ie = () => [
3294
+ ], ae = () => [
3295
3295
  ...b(),
3296
3296
  ya,
3297
3297
  ma,
3298
3298
  { position: [U, H] }
3299
- ], ae = () => ["no-repeat", { repeat: [
3299
+ ], oe = () => ["no-repeat", { repeat: [
3300
3300
  "",
3301
3301
  "x",
3302
3302
  "y",
3303
3303
  "space",
3304
3304
  "round"
3305
- ] }], N = () => [
3305
+ ] }], M = () => [
3306
3306
  "auto",
3307
3307
  "cover",
3308
3308
  "contain",
3309
3309
  ba,
3310
3310
  la,
3311
3311
  { size: [U, H] }
3312
- ], oe = () => [
3312
+ ], se = () => [
3313
3313
  ea,
3314
3314
  _a,
3315
3315
  ua
3316
- ], P = () => [
3316
+ ], N = () => [
3317
3317
  "",
3318
3318
  "none",
3319
3319
  "full",
3320
3320
  l,
3321
3321
  U,
3322
3322
  H
3323
- ], F = () => [
3323
+ ], P = () => [
3324
3324
  "",
3325
3325
  V,
3326
3326
  _a,
3327
3327
  ua
3328
- ], se = () => [
3328
+ ], F = () => [
3329
3329
  "solid",
3330
3330
  "dashed",
3331
3331
  "dotted",
@@ -3611,12 +3611,12 @@ var ui = (e, t) => {
3611
3611
  ] }],
3612
3612
  "grid-cols": [{ "grid-cols": E() }],
3613
3613
  "col-start-end": [{ col: D() }],
3614
- "col-start": [{ "col-start": O() }],
3615
- "col-end": [{ "col-end": O() }],
3614
+ "col-start": [{ "col-start": ee() }],
3615
+ "col-end": [{ "col-end": ee() }],
3616
3616
  "grid-rows": [{ "grid-rows": E() }],
3617
3617
  "row-start-end": [{ row: D() }],
3618
- "row-start": [{ "row-start": O() }],
3619
- "row-end": [{ "row-end": O() }],
3618
+ "row-start": [{ "row-start": ee() }],
3619
+ "row-end": [{ "row-end": ee() }],
3620
3620
  "grid-flow": [{ "grid-flow": [
3621
3621
  "row",
3622
3622
  "col",
@@ -3624,24 +3624,24 @@ var ui = (e, t) => {
3624
3624
  "row-dense",
3625
3625
  "col-dense"
3626
3626
  ] }],
3627
- "auto-cols": [{ "auto-cols": ee() }],
3628
- "auto-rows": [{ "auto-rows": ee() }],
3627
+ "auto-cols": [{ "auto-cols": te() }],
3628
+ "auto-rows": [{ "auto-rows": te() }],
3629
3629
  gap: [{ gap: w() }],
3630
3630
  "gap-x": [{ "gap-x": w() }],
3631
3631
  "gap-y": [{ "gap-y": w() }],
3632
- "justify-content": [{ justify: [...k(), "normal"] }],
3633
- "justify-items": [{ "justify-items": [...A(), "normal"] }],
3634
- "justify-self": [{ "justify-self": ["auto", ...A()] }],
3635
- "align-content": [{ content: ["normal", ...k()] }],
3636
- "align-items": [{ items: [...A(), { baseline: ["", "last"] }] }],
3632
+ "justify-content": [{ justify: [...O(), "normal"] }],
3633
+ "justify-items": [{ "justify-items": [...k(), "normal"] }],
3634
+ "justify-self": [{ "justify-self": ["auto", ...k()] }],
3635
+ "align-content": [{ content: ["normal", ...O()] }],
3636
+ "align-items": [{ items: [...k(), { baseline: ["", "last"] }] }],
3637
3637
  "align-self": [{ self: [
3638
3638
  "auto",
3639
- ...A(),
3639
+ ...k(),
3640
3640
  { baseline: ["", "last"] }
3641
3641
  ] }],
3642
- "place-content": [{ "place-content": k() }],
3643
- "place-items": [{ "place-items": [...A(), "baseline"] }],
3644
- "place-self": [{ "place-self": ["auto", ...A()] }],
3642
+ "place-content": [{ "place-content": O() }],
3643
+ "place-items": [{ "place-items": [...k(), "baseline"] }],
3644
+ "place-self": [{ "place-self": ["auto", ...k()] }],
3645
3645
  p: [{ p: w() }],
3646
3646
  px: [{ px: w() }],
3647
3647
  py: [{ py: w() }],
@@ -3653,38 +3653,38 @@ var ui = (e, t) => {
3653
3653
  pr: [{ pr: w() }],
3654
3654
  pb: [{ pb: w() }],
3655
3655
  pl: [{ pl: w() }],
3656
- m: [{ m: j() }],
3657
- mx: [{ mx: j() }],
3658
- my: [{ my: j() }],
3659
- ms: [{ ms: j() }],
3660
- me: [{ me: j() }],
3661
- mbs: [{ mbs: j() }],
3662
- mbe: [{ mbe: j() }],
3663
- mt: [{ mt: j() }],
3664
- mr: [{ mr: j() }],
3665
- mb: [{ mb: j() }],
3666
- ml: [{ ml: j() }],
3656
+ m: [{ m: A() }],
3657
+ mx: [{ mx: A() }],
3658
+ my: [{ my: A() }],
3659
+ ms: [{ ms: A() }],
3660
+ me: [{ me: A() }],
3661
+ mbs: [{ mbs: A() }],
3662
+ mbe: [{ mbe: A() }],
3663
+ mt: [{ mt: A() }],
3664
+ mr: [{ mr: A() }],
3665
+ mb: [{ mb: A() }],
3666
+ ml: [{ ml: A() }],
3667
3667
  "space-x": [{ "space-x": w() }],
3668
3668
  "space-x-reverse": ["space-x-reverse"],
3669
3669
  "space-y": [{ "space-y": w() }],
3670
3670
  "space-y-reverse": ["space-y-reverse"],
3671
- size: [{ size: te() }],
3672
- "inline-size": [{ inline: ["auto", ...ne()] }],
3673
- "min-inline-size": [{ "min-inline": ["auto", ...ne()] }],
3674
- "max-inline-size": [{ "max-inline": ["none", ...ne()] }],
3675
- "block-size": [{ block: ["auto", ...re()] }],
3676
- "min-block-size": [{ "min-block": ["auto", ...re()] }],
3677
- "max-block-size": [{ "max-block": ["none", ...re()] }],
3671
+ size: [{ size: ne() }],
3672
+ "inline-size": [{ inline: ["auto", ...re()] }],
3673
+ "min-inline-size": [{ "min-inline": ["auto", ...re()] }],
3674
+ "max-inline-size": [{ "max-inline": ["none", ...re()] }],
3675
+ "block-size": [{ block: ["auto", ...ie()] }],
3676
+ "min-block-size": [{ "min-block": ["auto", ...ie()] }],
3677
+ "max-block-size": [{ "max-block": ["none", ...ie()] }],
3678
3678
  w: [{ w: [
3679
3679
  s,
3680
3680
  "screen",
3681
- ...te()
3681
+ ...ne()
3682
3682
  ] }],
3683
3683
  "min-w": [{ "min-w": [
3684
3684
  s,
3685
3685
  "screen",
3686
3686
  "none",
3687
- ...te()
3687
+ ...ne()
3688
3688
  ] }],
3689
3689
  "max-w": [{ "max-w": [
3690
3690
  s,
@@ -3692,23 +3692,23 @@ var ui = (e, t) => {
3692
3692
  "none",
3693
3693
  "prose",
3694
3694
  { screen: [o] },
3695
- ...te()
3695
+ ...ne()
3696
3696
  ] }],
3697
3697
  h: [{ h: [
3698
3698
  "screen",
3699
3699
  "lh",
3700
- ...te()
3700
+ ...ne()
3701
3701
  ] }],
3702
3702
  "min-h": [{ "min-h": [
3703
3703
  "screen",
3704
3704
  "lh",
3705
3705
  "none",
3706
- ...te()
3706
+ ...ne()
3707
3707
  ] }],
3708
3708
  "max-h": [{ "max-h": [
3709
3709
  "screen",
3710
3710
  "lh",
3711
- ...te()
3711
+ ...ne()
3712
3712
  ] }],
3713
3713
  "font-size": [{ text: [
3714
3714
  "base",
@@ -3781,15 +3781,15 @@ var ui = (e, t) => {
3781
3781
  "start",
3782
3782
  "end"
3783
3783
  ] }],
3784
- "placeholder-color": [{ placeholder: M() }],
3785
- "text-color": [{ text: M() }],
3784
+ "placeholder-color": [{ placeholder: j() }],
3785
+ "text-color": [{ text: j() }],
3786
3786
  "text-decoration": [
3787
3787
  "underline",
3788
3788
  "overline",
3789
3789
  "line-through",
3790
3790
  "no-underline"
3791
3791
  ],
3792
- "text-decoration-style": [{ decoration: [...se(), "wavy"] }],
3792
+ "text-decoration-style": [{ decoration: [...F(), "wavy"] }],
3793
3793
  "text-decoration-thickness": [{ decoration: [
3794
3794
  V,
3795
3795
  "from-font",
@@ -3797,7 +3797,7 @@ var ui = (e, t) => {
3797
3797
  U,
3798
3798
  ua
3799
3799
  ] }],
3800
- "text-decoration-color": [{ decoration: M() }],
3800
+ "text-decoration-color": [{ decoration: j() }],
3801
3801
  "underline-offset": [{ "underline-offset": [
3802
3802
  V,
3803
3803
  "auto",
@@ -3884,9 +3884,9 @@ var ui = (e, t) => {
3884
3884
  "padding",
3885
3885
  "content"
3886
3886
  ] }],
3887
- "bg-position": [{ bg: ie() }],
3888
- "bg-repeat": [{ bg: ae() }],
3889
- "bg-size": [{ bg: N() }],
3887
+ "bg-position": [{ bg: ae() }],
3888
+ "bg-repeat": [{ bg: oe() }],
3889
+ "bg-size": [{ bg: M() }],
3890
3890
  "bg-image": [{ bg: [
3891
3891
  "none",
3892
3892
  {
@@ -3919,67 +3919,67 @@ var ui = (e, t) => {
3919
3919
  xa,
3920
3920
  ha
3921
3921
  ] }],
3922
- "bg-color": [{ bg: M() }],
3923
- "gradient-from-pos": [{ from: oe() }],
3924
- "gradient-via-pos": [{ via: oe() }],
3925
- "gradient-to-pos": [{ to: oe() }],
3926
- "gradient-from": [{ from: M() }],
3927
- "gradient-via": [{ via: M() }],
3928
- "gradient-to": [{ to: M() }],
3929
- rounded: [{ rounded: P() }],
3930
- "rounded-s": [{ "rounded-s": P() }],
3931
- "rounded-e": [{ "rounded-e": P() }],
3932
- "rounded-t": [{ "rounded-t": P() }],
3933
- "rounded-r": [{ "rounded-r": P() }],
3934
- "rounded-b": [{ "rounded-b": P() }],
3935
- "rounded-l": [{ "rounded-l": P() }],
3936
- "rounded-ss": [{ "rounded-ss": P() }],
3937
- "rounded-se": [{ "rounded-se": P() }],
3938
- "rounded-ee": [{ "rounded-ee": P() }],
3939
- "rounded-es": [{ "rounded-es": P() }],
3940
- "rounded-tl": [{ "rounded-tl": P() }],
3941
- "rounded-tr": [{ "rounded-tr": P() }],
3942
- "rounded-br": [{ "rounded-br": P() }],
3943
- "rounded-bl": [{ "rounded-bl": P() }],
3944
- "border-w": [{ border: F() }],
3945
- "border-w-x": [{ "border-x": F() }],
3946
- "border-w-y": [{ "border-y": F() }],
3947
- "border-w-s": [{ "border-s": F() }],
3948
- "border-w-e": [{ "border-e": F() }],
3949
- "border-w-bs": [{ "border-bs": F() }],
3950
- "border-w-be": [{ "border-be": F() }],
3951
- "border-w-t": [{ "border-t": F() }],
3952
- "border-w-r": [{ "border-r": F() }],
3953
- "border-w-b": [{ "border-b": F() }],
3954
- "border-w-l": [{ "border-l": F() }],
3955
- "divide-x": [{ "divide-x": F() }],
3922
+ "bg-color": [{ bg: j() }],
3923
+ "gradient-from-pos": [{ from: se() }],
3924
+ "gradient-via-pos": [{ via: se() }],
3925
+ "gradient-to-pos": [{ to: se() }],
3926
+ "gradient-from": [{ from: j() }],
3927
+ "gradient-via": [{ via: j() }],
3928
+ "gradient-to": [{ to: j() }],
3929
+ rounded: [{ rounded: N() }],
3930
+ "rounded-s": [{ "rounded-s": N() }],
3931
+ "rounded-e": [{ "rounded-e": N() }],
3932
+ "rounded-t": [{ "rounded-t": N() }],
3933
+ "rounded-r": [{ "rounded-r": N() }],
3934
+ "rounded-b": [{ "rounded-b": N() }],
3935
+ "rounded-l": [{ "rounded-l": N() }],
3936
+ "rounded-ss": [{ "rounded-ss": N() }],
3937
+ "rounded-se": [{ "rounded-se": N() }],
3938
+ "rounded-ee": [{ "rounded-ee": N() }],
3939
+ "rounded-es": [{ "rounded-es": N() }],
3940
+ "rounded-tl": [{ "rounded-tl": N() }],
3941
+ "rounded-tr": [{ "rounded-tr": N() }],
3942
+ "rounded-br": [{ "rounded-br": N() }],
3943
+ "rounded-bl": [{ "rounded-bl": N() }],
3944
+ "border-w": [{ border: P() }],
3945
+ "border-w-x": [{ "border-x": P() }],
3946
+ "border-w-y": [{ "border-y": P() }],
3947
+ "border-w-s": [{ "border-s": P() }],
3948
+ "border-w-e": [{ "border-e": P() }],
3949
+ "border-w-bs": [{ "border-bs": P() }],
3950
+ "border-w-be": [{ "border-be": P() }],
3951
+ "border-w-t": [{ "border-t": P() }],
3952
+ "border-w-r": [{ "border-r": P() }],
3953
+ "border-w-b": [{ "border-b": P() }],
3954
+ "border-w-l": [{ "border-l": P() }],
3955
+ "divide-x": [{ "divide-x": P() }],
3956
3956
  "divide-x-reverse": ["divide-x-reverse"],
3957
- "divide-y": [{ "divide-y": F() }],
3957
+ "divide-y": [{ "divide-y": P() }],
3958
3958
  "divide-y-reverse": ["divide-y-reverse"],
3959
3959
  "border-style": [{ border: [
3960
- ...se(),
3960
+ ...F(),
3961
3961
  "hidden",
3962
3962
  "none"
3963
3963
  ] }],
3964
3964
  "divide-style": [{ divide: [
3965
- ...se(),
3965
+ ...F(),
3966
3966
  "hidden",
3967
3967
  "none"
3968
3968
  ] }],
3969
- "border-color": [{ border: M() }],
3970
- "border-color-x": [{ "border-x": M() }],
3971
- "border-color-y": [{ "border-y": M() }],
3972
- "border-color-s": [{ "border-s": M() }],
3973
- "border-color-e": [{ "border-e": M() }],
3974
- "border-color-bs": [{ "border-bs": M() }],
3975
- "border-color-be": [{ "border-be": M() }],
3976
- "border-color-t": [{ "border-t": M() }],
3977
- "border-color-r": [{ "border-r": M() }],
3978
- "border-color-b": [{ "border-b": M() }],
3979
- "border-color-l": [{ "border-l": M() }],
3980
- "divide-color": [{ divide: M() }],
3969
+ "border-color": [{ border: j() }],
3970
+ "border-color-x": [{ "border-x": j() }],
3971
+ "border-color-y": [{ "border-y": j() }],
3972
+ "border-color-s": [{ "border-s": j() }],
3973
+ "border-color-e": [{ "border-e": j() }],
3974
+ "border-color-bs": [{ "border-bs": j() }],
3975
+ "border-color-be": [{ "border-be": j() }],
3976
+ "border-color-t": [{ "border-t": j() }],
3977
+ "border-color-r": [{ "border-r": j() }],
3978
+ "border-color-b": [{ "border-b": j() }],
3979
+ "border-color-l": [{ "border-l": j() }],
3980
+ "divide-color": [{ divide: j() }],
3981
3981
  "outline-style": [{ outline: [
3982
- ...se(),
3982
+ ...F(),
3983
3983
  "none",
3984
3984
  "hidden"
3985
3985
  ] }],
@@ -3994,7 +3994,7 @@ var ui = (e, t) => {
3994
3994
  _a,
3995
3995
  ua
3996
3996
  ] }],
3997
- "outline-color": [{ outline: M() }],
3997
+ "outline-color": [{ outline: j() }],
3998
3998
  shadow: [{ shadow: [
3999
3999
  "",
4000
4000
  "none",
@@ -4002,28 +4002,28 @@ var ui = (e, t) => {
4002
4002
  Sa,
4003
4003
  ga
4004
4004
  ] }],
4005
- "shadow-color": [{ shadow: M() }],
4005
+ "shadow-color": [{ shadow: j() }],
4006
4006
  "inset-shadow": [{ "inset-shadow": [
4007
4007
  "none",
4008
4008
  d,
4009
4009
  Sa,
4010
4010
  ga
4011
4011
  ] }],
4012
- "inset-shadow-color": [{ "inset-shadow": M() }],
4013
- "ring-w": [{ ring: F() }],
4012
+ "inset-shadow-color": [{ "inset-shadow": j() }],
4013
+ "ring-w": [{ ring: P() }],
4014
4014
  "ring-w-inset": ["ring-inset"],
4015
- "ring-color": [{ ring: M() }],
4015
+ "ring-color": [{ ring: j() }],
4016
4016
  "ring-offset-w": [{ "ring-offset": [V, ua] }],
4017
- "ring-offset-color": [{ "ring-offset": M() }],
4018
- "inset-ring-w": [{ "inset-ring": F() }],
4019
- "inset-ring-color": [{ "inset-ring": M() }],
4017
+ "ring-offset-color": [{ "ring-offset": j() }],
4018
+ "inset-ring-w": [{ "inset-ring": P() }],
4019
+ "inset-ring-color": [{ "inset-ring": j() }],
4020
4020
  "text-shadow": [{ "text-shadow": [
4021
4021
  "none",
4022
4022
  f,
4023
4023
  Sa,
4024
4024
  ga
4025
4025
  ] }],
4026
- "text-shadow-color": [{ "text-shadow": M() }],
4026
+ "text-shadow-color": [{ "text-shadow": j() }],
4027
4027
  opacity: [{ opacity: [
4028
4028
  V,
4029
4029
  U,
@@ -4052,37 +4052,37 @@ var ui = (e, t) => {
4052
4052
  "mask-image-linear-pos": [{ "mask-linear": [V] }],
4053
4053
  "mask-image-linear-from-pos": [{ "mask-linear-from": le() }],
4054
4054
  "mask-image-linear-to-pos": [{ "mask-linear-to": le() }],
4055
- "mask-image-linear-from-color": [{ "mask-linear-from": M() }],
4056
- "mask-image-linear-to-color": [{ "mask-linear-to": M() }],
4055
+ "mask-image-linear-from-color": [{ "mask-linear-from": j() }],
4056
+ "mask-image-linear-to-color": [{ "mask-linear-to": j() }],
4057
4057
  "mask-image-t-from-pos": [{ "mask-t-from": le() }],
4058
4058
  "mask-image-t-to-pos": [{ "mask-t-to": le() }],
4059
- "mask-image-t-from-color": [{ "mask-t-from": M() }],
4060
- "mask-image-t-to-color": [{ "mask-t-to": M() }],
4059
+ "mask-image-t-from-color": [{ "mask-t-from": j() }],
4060
+ "mask-image-t-to-color": [{ "mask-t-to": j() }],
4061
4061
  "mask-image-r-from-pos": [{ "mask-r-from": le() }],
4062
4062
  "mask-image-r-to-pos": [{ "mask-r-to": le() }],
4063
- "mask-image-r-from-color": [{ "mask-r-from": M() }],
4064
- "mask-image-r-to-color": [{ "mask-r-to": M() }],
4063
+ "mask-image-r-from-color": [{ "mask-r-from": j() }],
4064
+ "mask-image-r-to-color": [{ "mask-r-to": j() }],
4065
4065
  "mask-image-b-from-pos": [{ "mask-b-from": le() }],
4066
4066
  "mask-image-b-to-pos": [{ "mask-b-to": le() }],
4067
- "mask-image-b-from-color": [{ "mask-b-from": M() }],
4068
- "mask-image-b-to-color": [{ "mask-b-to": M() }],
4067
+ "mask-image-b-from-color": [{ "mask-b-from": j() }],
4068
+ "mask-image-b-to-color": [{ "mask-b-to": j() }],
4069
4069
  "mask-image-l-from-pos": [{ "mask-l-from": le() }],
4070
4070
  "mask-image-l-to-pos": [{ "mask-l-to": le() }],
4071
- "mask-image-l-from-color": [{ "mask-l-from": M() }],
4072
- "mask-image-l-to-color": [{ "mask-l-to": M() }],
4071
+ "mask-image-l-from-color": [{ "mask-l-from": j() }],
4072
+ "mask-image-l-to-color": [{ "mask-l-to": j() }],
4073
4073
  "mask-image-x-from-pos": [{ "mask-x-from": le() }],
4074
4074
  "mask-image-x-to-pos": [{ "mask-x-to": le() }],
4075
- "mask-image-x-from-color": [{ "mask-x-from": M() }],
4076
- "mask-image-x-to-color": [{ "mask-x-to": M() }],
4075
+ "mask-image-x-from-color": [{ "mask-x-from": j() }],
4076
+ "mask-image-x-to-color": [{ "mask-x-to": j() }],
4077
4077
  "mask-image-y-from-pos": [{ "mask-y-from": le() }],
4078
4078
  "mask-image-y-to-pos": [{ "mask-y-to": le() }],
4079
- "mask-image-y-from-color": [{ "mask-y-from": M() }],
4080
- "mask-image-y-to-color": [{ "mask-y-to": M() }],
4079
+ "mask-image-y-from-color": [{ "mask-y-from": j() }],
4080
+ "mask-image-y-to-color": [{ "mask-y-to": j() }],
4081
4081
  "mask-image-radial": [{ "mask-radial": [U, H] }],
4082
4082
  "mask-image-radial-from-pos": [{ "mask-radial-from": le() }],
4083
4083
  "mask-image-radial-to-pos": [{ "mask-radial-to": le() }],
4084
- "mask-image-radial-from-color": [{ "mask-radial-from": M() }],
4085
- "mask-image-radial-to-color": [{ "mask-radial-to": M() }],
4084
+ "mask-image-radial-from-color": [{ "mask-radial-from": j() }],
4085
+ "mask-image-radial-to-color": [{ "mask-radial-to": j() }],
4086
4086
  "mask-image-radial-shape": [{ "mask-radial": ["circle", "ellipse"] }],
4087
4087
  "mask-image-radial-size": [{ "mask-radial": [{
4088
4088
  closest: ["side", "corner"],
@@ -4092,8 +4092,8 @@ var ui = (e, t) => {
4092
4092
  "mask-image-conic-pos": [{ "mask-conic": [V] }],
4093
4093
  "mask-image-conic-from-pos": [{ "mask-conic-from": le() }],
4094
4094
  "mask-image-conic-to-pos": [{ "mask-conic-to": le() }],
4095
- "mask-image-conic-from-color": [{ "mask-conic-from": M() }],
4096
- "mask-image-conic-to-color": [{ "mask-conic-to": M() }],
4095
+ "mask-image-conic-from-color": [{ "mask-conic-from": j() }],
4096
+ "mask-image-conic-to-color": [{ "mask-conic-to": j() }],
4097
4097
  "mask-mode": [{ mask: [
4098
4098
  "alpha",
4099
4099
  "luminance",
@@ -4107,9 +4107,9 @@ var ui = (e, t) => {
4107
4107
  "stroke",
4108
4108
  "view"
4109
4109
  ] }],
4110
- "mask-position": [{ mask: ie() }],
4111
- "mask-repeat": [{ mask: ae() }],
4112
- "mask-size": [{ mask: N() }],
4110
+ "mask-position": [{ mask: ae() }],
4111
+ "mask-repeat": [{ mask: oe() }],
4112
+ "mask-size": [{ mask: M() }],
4113
4113
  "mask-type": [{ "mask-type": ["alpha", "luminance"] }],
4114
4114
  "mask-image": [{ mask: [
4115
4115
  "none",
@@ -4140,7 +4140,7 @@ var ui = (e, t) => {
4140
4140
  Sa,
4141
4141
  ga
4142
4142
  ] }],
4143
- "drop-shadow-color": [{ "drop-shadow": M() }],
4143
+ "drop-shadow-color": [{ "drop-shadow": j() }],
4144
4144
  grayscale: [{ grayscale: [
4145
4145
  "",
4146
4146
  V,
@@ -4300,9 +4300,9 @@ var ui = (e, t) => {
4300
4300
  U,
4301
4301
  H
4302
4302
  ] }],
4303
- accent: [{ accent: M() }],
4303
+ accent: [{ accent: j() }],
4304
4304
  appearance: [{ appearance: ["none", "auto"] }],
4305
- "caret-color": [{ caret: M() }],
4305
+ "caret-color": [{ caret: j() }],
4306
4306
  "color-scheme": [{ scheme: [
4307
4307
  "normal",
4308
4308
  "dark",
@@ -4360,8 +4360,8 @@ var ui = (e, t) => {
4360
4360
  "x"
4361
4361
  ] }],
4362
4362
  "scroll-behavior": [{ scroll: ["auto", "smooth"] }],
4363
- "scrollbar-thumb-color": [{ "scrollbar-thumb": M() }],
4364
- "scrollbar-track-color": [{ "scrollbar-track": M() }],
4363
+ "scrollbar-thumb-color": [{ "scrollbar-thumb": j() }],
4364
+ "scrollbar-track-color": [{ "scrollbar-track": j() }],
4365
4365
  "scrollbar-gutter": [{ "scrollbar-gutter": [
4366
4366
  "auto",
4367
4367
  "stable",
@@ -4438,14 +4438,14 @@ var ui = (e, t) => {
4438
4438
  U,
4439
4439
  H
4440
4440
  ] }],
4441
- fill: [{ fill: ["none", ...M()] }],
4441
+ fill: [{ fill: ["none", ...j()] }],
4442
4442
  "stroke-w": [{ stroke: [
4443
4443
  V,
4444
4444
  _a,
4445
4445
  ua,
4446
4446
  da
4447
4447
  ] }],
4448
- stroke: [{ stroke: ["none", ...M()] }],
4448
+ stroke: [{ stroke: ["none", ...j()] }],
4449
4449
  "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
4450
4450
  },
4451
4451
  conflictingClassGroups: {
@@ -4845,13 +4845,13 @@ var Ya = c(({ className: e, options: t, disabled: n, ...r }, i) => /* @__PURE__
4845
4845
  children: /* @__PURE__ */ v(ft, { className: "h-3.5 w-3.5" })
4846
4846
  })]
4847
4847
  }));
4848
- Ya.displayName = "Select", e(), Qe("camstack:secret-reveal", null), B.accessories.setChildHidden.useMutation, B.accessories.getStatus.useQuery, B.addonPages.listPages.useQuery, B.addons.list.useQuery, B.addons.getLogs.useQuery, B.addons.listPackages.useQuery, B.addons.installPackage.useMutation, B.addons.installFromWorkspace.useMutation, B.addons.isWorkspaceAvailable.useQuery, B.addons.listWorkspacePackages.useQuery, B.addons.uninstallPackage.useMutation, B.addons.listInstallations.useQuery, B.addons.reloadPackages.useMutation, B.addons.searchAvailable.useQuery, B.addons.listUpdates.useQuery, B.addons.updatePackage.useMutation, B.addons.rollbackPackage.useMutation, B.addons.forceRefresh.useMutation, B.addons.restartServer.useMutation, B.addons.getLastRestart.useQuery, B.addons.listFrameworkPackages.useQuery, B.addons.listCapabilityProviders.useQuery, B.addons.setCapabilityProviderEnabled.useMutation, B.addons.getVersions.useQuery, B.addons.restartAddon.useMutation, B.addons.retryLoad.useMutation, B.addons.getAutoUpdateSettings.useQuery, B.addons.setAutoUpdateSettings.useMutation, B.addons.getAddonAutoUpdate.useQuery, B.addons.setAddonAutoUpdate.useMutation, B.addons.applyAutoUpdateToAll.useMutation, B.addons.custom.useMutation, B.addons.startJob.useMutation, B.addons.getJob.useQuery, B.addons.listJobs.useQuery, B.addons.cancelJob.useMutation, B.addons.onAddonLogs.useSubscription, B.addonSettings.getGlobalSettings.useQuery, B.addonSettings.updateGlobalSettings.useMutation, B.addonSettings.getIntegrationSettings.useQuery, B.addonSettings.getDeviceSettings.useQuery, B.addonSettings.updateDeviceSettings.useMutation, B.addonWidgets.listWidgets.useQuery, B.airQualitySensor.getStatus.useQuery, B.alarmPanel.arm.useMutation, B.alarmPanel.disarm.useMutation, B.alarmPanel.trigger.useMutation, B.alarmPanel.getStatus.useQuery, B.alerts.emit.useMutation, B.alerts.update.useMutation, B.alerts.list.useQuery, B.alerts.getUnreadCount.useQuery, B.alerts.markRead.useMutation, B.alerts.markAllRead.useMutation, B.alerts.dismiss.useMutation, B.ambientLightSensor.getStatus.useQuery, B.audioAnalysis.resolveDeviceSettings.useQuery, B.audioAnalysis.getDeviceSettingsContribution.useQuery, B.audioAnalysis.getDeviceLiveContribution.useQuery, B.audioAnalysis.applyDeviceSettingsPatch.useMutation, B.audioAnalyzer.analyseChunk.useMutation, B.audioAnalyzer.classify.useQuery, B.audioAnalyzer.attachDevice.useMutation, B.audioAnalyzer.detachDevice.useMutation, B.audioAnalyzer.isReady.useQuery, B.audioAnalyzer.dispose.useMutation, B.audioAnalyzer.reprobeAudioEngine.useMutation, B.audioCodec.listSupportedCodecs.useQuery, B.audioCodec.canHandle.useQuery, B.audioCodec.createDecodeSession.useMutation, B.audioCodec.createEncodeSession.useMutation, B.audioCodec.closeSession.useMutation, B.audioCodec.pushEncodedFrame.useMutation, B.audioCodec.pullPcm.useQuery, B.audioCodec.pushPcm.useMutation, B.audioCodec.pullEncoded.useQuery, B.audioCodec.flushEncode.useMutation, B.audioCodec.listActiveSessions.useQuery, B.audioMetrics.getCurrentSnapshot.useQuery, B.audioMetrics.getHistory.useQuery, B.automationControl.enable.useMutation, B.automationControl.disable.useMutation, B.automationControl.trigger.useMutation, B.automationControl.getStatus.useQuery, B.backup.listDestinations.useQuery, B.backup.trigger.useMutation, B.backup.listRuns.useQuery, B.backup.cancel.useMutation, B.backup.list.useQuery, B.backup.listLocations.useQuery, B.backup.getEntries.useQuery, B.backup.restore.useMutation, B.backup.getEncryption.useQuery, B.backup.setupEncryption.useMutation, B.backup.disableEncryption.useMutation, B.backup.checkBackupKey.useMutation, B.backup.delete.useMutation, B.backup.listArchives.useQuery, B.backup.upsertDestinationPolicy.useMutation, B.backup.previewSchedule.useQuery, B.backup.listSchedules.useQuery, B.backup.listAvailableDatabases.useQuery, B.backup.upsertSchedule.useMutation, B.backup.deleteSchedule.useMutation, B.battery.wakeForStream.useMutation, B.battery.getStatus.useQuery, B.binary.getStatus.useQuery, B.brightness.setBrightness.useMutation, B.brightness.getStatus.useQuery, B.broker.list.useQuery, B.broker.get.useQuery, B.broker.listProviders.useQuery, B.broker.add.useMutation, B.broker.remove.useMutation, B.broker.testConnection.useMutation, B.broker.getSettings.useQuery, B.broker.setSettings.useMutation, B.broker.getBrokerConfig.useQuery, B.broker.getSettingsSchema.useQuery, B.broker.testSettings.useMutation, B.broker.publish.useMutation, B.broker.subscribe.useMutation, B.broker.unsubscribe.useMutation, B.broker.getState.useQuery, B.broker.getStatus.useQuery, B.button.press.useMutation, B.calendars.listCalendars.useQuery, B.calendars.listEvents.useQuery, B.calendars.getPreferences.useQuery, B.calendars.setCalendarPreference.useMutation, B.cameraCredentials.getCredentials.useQuery, B.cameraCredentials.getStatus.useQuery, B.cameraGridLayout.getLayout.useQuery, B.cameraGridLayout.saveLayout.useMutation, B.cameraGridLayout.getDeviceSettingsContribution.useQuery, B.cameraGridLayout.getDeviceLiveContribution.useQuery, B.cameraGridLayout.applyDeviceSettingsPatch.useMutation, B.cameraPipelineConfig.getDeviceSettingsContribution.useQuery, B.cameraPipelineConfig.getDeviceLiveContribution.useQuery, B.cameraPipelineConfig.applyDeviceSettingsPatch.useMutation, B.cameraStreams.getCameraStreams.useQuery, B.cameraStreams.getBrokerStreams.useQuery, B.cameraStreams.getRtspEntries.useQuery, B.cameraStreams.getProfileRtspEntries.useQuery, B.cameraStreams.pickStream.useQuery, B.carbonMonoxide.getStatus.useQuery, B.climateControl.setMode.useMutation, B.climateControl.setFanMode.useMutation, B.climateControl.setPreset.useMutation, B.climateControl.setTarget.useMutation, B.climateControl.setTargetRange.useMutation, B.climateControl.setTargetHumidity.useMutation, B.climateControl.setSwingVertical.useMutation, B.climateControl.setSwingHorizontal.useMutation, B.climateControl.getStatus.useQuery, B.color.setColor.useMutation, B.color.getStatus.useQuery, B.connectionTest.testSettings.useMutation, B.connectionTest.describeTest.useQuery, B.connectivity.getStatus.useQuery, B.consumables.reset.useMutation, B.consumables.getStatus.useQuery, B.contact.getStatus.useQuery, B.control.setValue.useMutation, B.control.getStatus.useQuery, B.coreBlocks.list.useQuery, B.coreBlocks.get.useQuery, B.coreBlocks.create.useMutation, B.coreBlocks.update.useMutation, B.coreBlocks.delete.useMutation, B.coreBlocks.setEnabled.useMutation, B.coreBlocks.restart.useMutation, B.coreBlocks.compile.useMutation, B.coreBlocks.getBlockSettings.useQuery, B.coreBlocks.updateBlockSettings.useMutation, B.coreBlocks.migrateRawSecrets.useMutation, B.coreBlocks.getTypeDefs.useQuery, B.coreBlocks.createComposition.useMutation, B.coreBlocks.updateComposition.useMutation, B.coreBlocks.getComposition.useQuery, B.coreBlocks.listCompositions.useQuery, B.coreBlocks.getCustomization.useQuery, B.coreBlocks.listComposableCaps.useQuery, B.coreBlocks.validateComposition.useMutation, B.cover.open.useMutation, B.cover.close.useMutation, B.cover.stop.useMutation, B.cover.setPosition.useMutation, B.cover.setTiltPosition.useMutation, B.cover.getStatus.useQuery, B.dayNight.getOptions.useQuery, B.dayNight.setSettings.useMutation, B.dayNight.getStatus.useQuery, B.decoder.getInfo.useQuery, B.decoder.reprobeHwaccel.useMutation, B.detectionPipeline.getDeviceSettingsContribution.useQuery, B.detectionPipeline.getDeviceLiveContribution.useQuery, B.detectionPipeline.applyDeviceSettingsPatch.useMutation, B.deviceAdminLink.getAdminLink.useQuery, B.deviceAdoption.listCandidateFilters.useQuery, B.deviceAdoption.listCandidates.useQuery, B.deviceAdoption.getCandidate.useQuery, B.deviceAdoption.refresh.useMutation, B.deviceAdoption.adopt.useMutation, B.deviceAdoption.release.useMutation, B.deviceAdoption.resync.useMutation, B.deviceAdoption.getStatus.useQuery, B.deviceCredentials.listDeviceCredentials.useQuery, B.deviceCredentials.startEnrollment.useMutation, B.deviceCredentials.revokeDeviceCredential.useMutation, B.deviceCredentials.getDeviceCertificateSettings.useQuery, B.deviceCredentials.setDeviceCertificateSettings.useMutation, B.deviceCredentials.deleteDeviceCredential.useMutation, B.deviceCredentials.getDeviceCaStatus.useQuery, B.deviceCredentials.renameDeviceCredential.useMutation, B.deviceDiscovery.listDiscovered.useQuery, B.deviceDiscovery.refreshDiscovery.useMutation, B.deviceDiscovery.adoptDevice.useMutation, B.deviceDiscovery.releaseDevice.useMutation, B.deviceDiscovery.getStatus.useQuery, B.deviceExport.getStatus.useQuery, B.deviceExport.listSupportedDeviceKinds.useQuery, B.deviceExport.listExposedDevices.useQuery, B.deviceExport.exposeDevice.useMutation, B.deviceExport.unexposeDevice.useMutation, B.deviceExport.getDeviceSettingsContribution.useQuery, B.deviceExport.getDeviceLiveContribution.useQuery, B.deviceExport.applyDeviceSettingsPatch.useMutation, B.deviceExtension.listSources.useQuery, B.deviceExtension.listSlots.useQuery, B.deviceExtension.listCandidates.useQuery, B.deviceExtension.setSlot.useMutation, B.deviceHistory.listSeries.useQuery, B.deviceHistory.listNodeSeries.useQuery, B.deviceHistory.query.useQuery, B.deviceHistory.queryNode.useQuery, B.deviceHistory.queryMany.useQuery, B.deviceHistory.declareSeries.useMutation, B.deviceHistory.record.useMutation, B.deviceHistory.recordBuckets.useMutation, B.deviceHistory.getDeviceEnabled.useQuery, B.deviceHistory.setDeviceEnabled.useMutation, B.deviceHistory.getStatus.useQuery, B.deviceHistory.listOrphanSeries.useQuery, B.deviceHistory.deleteOrphanSeries.useMutation, B.deviceManager.allocateDeviceId.useMutation, B.deviceManager.migrateDevice.useMutation, B.deviceManager.registerDevice.useMutation, B.deviceManager.removeDevice.useMutation, B.deviceManager.persistConfig.useMutation, B.deviceManager.loadConfig.useQuery, B.deviceManager.loadRuntimeState.useQuery, B.deviceManager.loadMeta.useQuery, B.deviceManager.setName.useMutation, B.deviceManager.setLocation.useMutation, B.deviceManager.setType.useMutation, B.deviceManager.setIntegrationId.useMutation, B.deviceManager.setLinkDeviceId.useMutation, B.deviceManager.setPrimaryChildEntityId.useMutation, B.deviceManager.setChildLayout.useMutation, B.deviceManager.setDisplay.useMutation;
4848
+ Ya.displayName = "Select", e(), Qe("camstack:secret-reveal", null), B.accessories.setChildHidden.useMutation, B.accessories.getStatus.useQuery, B.addonPages.listPages.useQuery, B.addons.list.useQuery, B.addons.getLogs.useQuery, B.addons.listPackages.useQuery, B.addons.installPackage.useMutation, B.addons.installFromWorkspace.useMutation, B.addons.isWorkspaceAvailable.useQuery, B.addons.listWorkspacePackages.useQuery, B.addons.uninstallPackage.useMutation, B.addons.listInstallations.useQuery, B.addons.reloadPackages.useMutation, B.addons.searchAvailable.useQuery, B.addons.listUpdates.useQuery, B.addons.updatePackage.useMutation, B.addons.rollbackPackage.useMutation, B.addons.forceRefresh.useMutation, B.addons.restartServer.useMutation, B.addons.getLastRestart.useQuery, B.addons.listFrameworkPackages.useQuery, B.addons.listCapabilityProviders.useQuery, B.addons.setCapabilityProviderEnabled.useMutation, B.addons.getVersions.useQuery, B.addons.getPackageDocs.useQuery, B.addons.restartAddon.useMutation, B.addons.retryLoad.useMutation, B.addons.getAutoUpdateSettings.useQuery, B.addons.setAutoUpdateSettings.useMutation, B.addons.getAddonAutoUpdate.useQuery, B.addons.setAddonAutoUpdate.useMutation, B.addons.applyAutoUpdateToAll.useMutation, B.addons.custom.useMutation, B.addons.startJob.useMutation, B.addons.getJob.useQuery, B.addons.listJobs.useQuery, B.addons.cancelJob.useMutation, B.addons.onAddonLogs.useSubscription, B.addonSettings.getGlobalSettings.useQuery, B.addonSettings.updateGlobalSettings.useMutation, B.addonSettings.getIntegrationSettings.useQuery, B.addonSettings.getDeviceSettings.useQuery, B.addonSettings.updateDeviceSettings.useMutation, B.addonWidgets.listWidgets.useQuery, B.airQualitySensor.getStatus.useQuery, B.alarmPanel.arm.useMutation, B.alarmPanel.disarm.useMutation, B.alarmPanel.trigger.useMutation, B.alarmPanel.getStatus.useQuery, B.alerts.emit.useMutation, B.alerts.update.useMutation, B.alerts.list.useQuery, B.alerts.getUnreadCount.useQuery, B.alerts.markRead.useMutation, B.alerts.markAllRead.useMutation, B.alerts.dismiss.useMutation, B.ambientLightSensor.getStatus.useQuery, B.audioAnalysis.resolveDeviceSettings.useQuery, B.audioAnalysis.getDeviceSettingsContribution.useQuery, B.audioAnalysis.getDeviceLiveContribution.useQuery, B.audioAnalysis.applyDeviceSettingsPatch.useMutation, B.audioAnalyzer.analyseChunk.useMutation, B.audioAnalyzer.classify.useQuery, B.audioAnalyzer.attachDevice.useMutation, B.audioAnalyzer.detachDevice.useMutation, B.audioAnalyzer.isReady.useQuery, B.audioAnalyzer.dispose.useMutation, B.audioAnalyzer.reprobeAudioEngine.useMutation, B.audioCodec.listSupportedCodecs.useQuery, B.audioCodec.canHandle.useQuery, B.audioCodec.createDecodeSession.useMutation, B.audioCodec.createEncodeSession.useMutation, B.audioCodec.closeSession.useMutation, B.audioCodec.pushEncodedFrame.useMutation, B.audioCodec.pullPcm.useQuery, B.audioCodec.pushPcm.useMutation, B.audioCodec.pullEncoded.useQuery, B.audioCodec.flushEncode.useMutation, B.audioCodec.listActiveSessions.useQuery, B.audioMetrics.getCurrentSnapshot.useQuery, B.audioMetrics.getHistory.useQuery, B.automationControl.enable.useMutation, B.automationControl.disable.useMutation, B.automationControl.trigger.useMutation, B.automationControl.getStatus.useQuery, B.backup.listDestinations.useQuery, B.backup.trigger.useMutation, B.backup.listRuns.useQuery, B.backup.cancel.useMutation, B.backup.list.useQuery, B.backup.listLocations.useQuery, B.backup.getEntries.useQuery, B.backup.restore.useMutation, B.backup.getEncryption.useQuery, B.backup.setupEncryption.useMutation, B.backup.disableEncryption.useMutation, B.backup.checkBackupKey.useMutation, B.backup.delete.useMutation, B.backup.listArchives.useQuery, B.backup.upsertDestinationPolicy.useMutation, B.backup.previewSchedule.useQuery, B.backup.listSchedules.useQuery, B.backup.listAvailableDatabases.useQuery, B.backup.upsertSchedule.useMutation, B.backup.deleteSchedule.useMutation, B.battery.wakeForStream.useMutation, B.battery.getStatus.useQuery, B.binary.getStatus.useQuery, B.brightness.setBrightness.useMutation, B.brightness.getStatus.useQuery, B.broker.list.useQuery, B.broker.get.useQuery, B.broker.listProviders.useQuery, B.broker.add.useMutation, B.broker.remove.useMutation, B.broker.testConnection.useMutation, B.broker.getSettings.useQuery, B.broker.setSettings.useMutation, B.broker.getBrokerConfig.useQuery, B.broker.getSettingsSchema.useQuery, B.broker.testSettings.useMutation, B.broker.publish.useMutation, B.broker.subscribe.useMutation, B.broker.unsubscribe.useMutation, B.broker.getState.useQuery, B.broker.getStatus.useQuery, B.button.press.useMutation, B.calendars.listCalendars.useQuery, B.calendars.listEvents.useQuery, B.calendars.getPreferences.useQuery, B.calendars.setCalendarPreference.useMutation, B.cameraCredentials.getCredentials.useQuery, B.cameraCredentials.getStatus.useQuery, B.cameraGridLayout.getLayout.useQuery, B.cameraGridLayout.saveLayout.useMutation, B.cameraGridLayout.getDeviceSettingsContribution.useQuery, B.cameraGridLayout.getDeviceLiveContribution.useQuery, B.cameraGridLayout.applyDeviceSettingsPatch.useMutation, B.cameraPipelineConfig.getDeviceSettingsContribution.useQuery, B.cameraPipelineConfig.getDeviceLiveContribution.useQuery, B.cameraPipelineConfig.applyDeviceSettingsPatch.useMutation, B.cameraStreams.getCameraStreams.useQuery, B.cameraStreams.getBrokerStreams.useQuery, B.cameraStreams.getRtspEntries.useQuery, B.cameraStreams.getProfileRtspEntries.useQuery, B.cameraStreams.pickStream.useQuery, B.carbonMonoxide.getStatus.useQuery, B.climateControl.setMode.useMutation, B.climateControl.setFanMode.useMutation, B.climateControl.setPreset.useMutation, B.climateControl.setTarget.useMutation, B.climateControl.setTargetRange.useMutation, B.climateControl.setTargetHumidity.useMutation, B.climateControl.setSwingVertical.useMutation, B.climateControl.setSwingHorizontal.useMutation, B.climateControl.getStatus.useQuery, B.color.setColor.useMutation, B.color.getStatus.useQuery, B.connectionTest.testSettings.useMutation, B.connectionTest.describeTest.useQuery, B.connectivity.getStatus.useQuery, B.consumables.reset.useMutation, B.consumables.getStatus.useQuery, B.contact.getStatus.useQuery, B.control.setValue.useMutation, B.control.getStatus.useQuery, B.coreBlocks.list.useQuery, B.coreBlocks.get.useQuery, B.coreBlocks.create.useMutation, B.coreBlocks.update.useMutation, B.coreBlocks.delete.useMutation, B.coreBlocks.setEnabled.useMutation, B.coreBlocks.restart.useMutation, B.coreBlocks.compile.useMutation, B.coreBlocks.getBlockSettings.useQuery, B.coreBlocks.updateBlockSettings.useMutation, B.coreBlocks.migrateRawSecrets.useMutation, B.coreBlocks.getTypeDefs.useQuery, B.coreBlocks.createComposition.useMutation, B.coreBlocks.updateComposition.useMutation, B.coreBlocks.getComposition.useQuery, B.coreBlocks.listCompositions.useQuery, B.coreBlocks.getCustomization.useQuery, B.coreBlocks.listComposableCaps.useQuery, B.coreBlocks.validateComposition.useMutation, B.cover.open.useMutation, B.cover.close.useMutation, B.cover.stop.useMutation, B.cover.setPosition.useMutation, B.cover.setTiltPosition.useMutation, B.cover.getStatus.useQuery, B.dayNight.getOptions.useQuery, B.dayNight.setSettings.useMutation, B.dayNight.getStatus.useQuery, B.decoder.getInfo.useQuery, B.decoder.reprobeHwaccel.useMutation, B.detectionPipeline.getDeviceSettingsContribution.useQuery, B.detectionPipeline.getDeviceLiveContribution.useQuery, B.detectionPipeline.applyDeviceSettingsPatch.useMutation, B.deviceAdminLink.getAdminLink.useQuery, B.deviceAdoption.listCandidateFilters.useQuery, B.deviceAdoption.listCandidates.useQuery, B.deviceAdoption.getCandidate.useQuery, B.deviceAdoption.refresh.useMutation, B.deviceAdoption.adopt.useMutation, B.deviceAdoption.release.useMutation, B.deviceAdoption.resync.useMutation, B.deviceAdoption.getStatus.useQuery, B.deviceCredentials.listDeviceCredentials.useQuery, B.deviceCredentials.startEnrollment.useMutation, B.deviceCredentials.revokeDeviceCredential.useMutation, B.deviceCredentials.getDeviceCertificateSettings.useQuery, B.deviceCredentials.setDeviceCertificateSettings.useMutation, B.deviceCredentials.deleteDeviceCredential.useMutation, B.deviceCredentials.getDeviceCaStatus.useQuery, B.deviceCredentials.renameDeviceCredential.useMutation, B.deviceDiscovery.listDiscovered.useQuery, B.deviceDiscovery.refreshDiscovery.useMutation, B.deviceDiscovery.adoptDevice.useMutation, B.deviceDiscovery.releaseDevice.useMutation, B.deviceDiscovery.getStatus.useQuery, B.deviceExport.getStatus.useQuery, B.deviceExport.listSupportedDeviceKinds.useQuery, B.deviceExport.listExposedDevices.useQuery, B.deviceExport.exposeDevice.useMutation, B.deviceExport.unexposeDevice.useMutation, B.deviceExport.getDeviceSettingsContribution.useQuery, B.deviceExport.getDeviceLiveContribution.useQuery, B.deviceExport.applyDeviceSettingsPatch.useMutation, B.deviceExtension.listSources.useQuery, B.deviceExtension.listSlots.useQuery, B.deviceExtension.listCandidates.useQuery, B.deviceExtension.setSlot.useMutation, B.deviceHistory.listSeries.useQuery, B.deviceHistory.listNodeSeries.useQuery, B.deviceHistory.query.useQuery, B.deviceHistory.queryNode.useQuery, B.deviceHistory.queryMany.useQuery, B.deviceHistory.declareSeries.useMutation, B.deviceHistory.record.useMutation, B.deviceHistory.recordBuckets.useMutation, B.deviceHistory.getDeviceEnabled.useQuery, B.deviceHistory.setDeviceEnabled.useMutation, B.deviceHistory.getStatus.useQuery, B.deviceHistory.listOrphanSeries.useQuery, B.deviceHistory.deleteOrphanSeries.useMutation, B.deviceManager.allocateDeviceId.useMutation, B.deviceManager.migrateDevice.useMutation, B.deviceManager.registerDevice.useMutation, B.deviceManager.removeDevice.useMutation, B.deviceManager.persistConfig.useMutation, B.deviceManager.loadConfig.useQuery, B.deviceManager.loadRuntimeState.useQuery, B.deviceManager.loadMeta.useQuery, B.deviceManager.setName.useMutation, B.deviceManager.setLocation.useMutation, B.deviceManager.setType.useMutation, B.deviceManager.setIntegrationId.useMutation, B.deviceManager.setLinkDeviceId.useMutation, B.deviceManager.setPrimaryChildEntityId.useMutation, B.deviceManager.setChildLayout.useMutation, B.deviceManager.setDisplay.useMutation;
4849
4849
  var Xa = B.deviceManager.getRoleDisplayDefaults.useQuery;
4850
4850
  B.deviceManager.setRoleDisplayDefaults.useMutation, B.deviceManager.getWireableFields.useQuery, B.deviceManager.setRole.useMutation, B.deviceManager.applyInitialMeta.useMutation, B.deviceManager.setMetadata.useMutation, B.deviceManager.listLocations.useQuery, B.deviceManager.addLocation.useMutation, B.deviceManager.removeLocation.useMutation, B.deviceManager.renameLocation.useMutation, B.deviceManager.listLocationIcons.useQuery, B.deviceManager.setLocationIcon.useMutation, B.deviceManager.listLocationDescriptions.useQuery, B.deviceManager.setLocationDescription.useMutation, B.deviceManager.listSiteZones.useQuery, B.deviceManager.setSiteZone.useMutation, B.deviceManager.removeSiteZone.useMutation, B.deviceManager.renameSiteZone.useMutation, B.deviceManager.setLocationZone.useMutation, B.deviceManager.setDisabled.useMutation, B.deviceManager.listPersistedByAddon.useQuery, B.deviceManager.listAll.useQuery;
4851
4851
  var Za = B.deviceManager.getDevice.useQuery;
4852
4852
  B.deviceManager.getChildren.useQuery, B.deviceManager.getChildrenBatch.useQuery, B.deviceManager.getLinkedDevices.useQuery, B.deviceManager.getLinkedDevicesBatch.useQuery, B.deviceManager.getStreamSources.useQuery, B.deviceManager.getConfigSchema.useQuery, B.deviceManager.getSettingsSchema.useQuery, B.deviceManager.updateConfig.useMutation, B.deviceManager.enable.useMutation, B.deviceManager.disable.useMutation, B.deviceManager.remove.useMutation, B.deviceManager.listDeletedSince.useQuery, B.deviceManager.cleanupDeletedDevicesData.useMutation, B.deviceManager.removeByIntegration.useMutation, B.deviceManager.getStreamProfileMap.useQuery, B.deviceManager.setStreamProfileMap.useMutation, B.deviceManager.probeStreams.useMutation, B.deviceManager.getBindings.useQuery, B.deviceManager.getBindingsBatch.useQuery, B.deviceManager.getAllBindings.useQuery, B.deviceManager.listDeviceIdsByCaps.useQuery, B.deviceManager.setWrapperActive.useMutation, B.deviceManager.getWrapperActivation.useQuery, B.deviceManager.listWrappersForCap.useQuery, B.deviceManager.listBindableCapsForDeviceType.useQuery, B.deviceManager.getDeviceSettingsAggregate.useQuery, B.deviceManager.getDeviceLiveInfoAggregate.useQuery, B.deviceManager.getDeviceAggregate.useQuery, B.deviceManager.runDeviceAction.useMutation, B.deviceManager.updateDeviceField.useMutation, B.deviceManager.updateDeviceFieldsBatch.useMutation, B.deviceManager.discoverDevices.useMutation, B.deviceManager.adoptDevice.useMutation, B.deviceManager.getCreationSchema.useQuery, B.deviceManager.createDevice.useMutation, B.deviceManager.testCreationField.useMutation, B.deviceManager.adoptionListCandidateFilters.useQuery, B.deviceManager.adoptionListCandidates.useQuery, B.deviceManager.adoptionRefresh.useMutation, B.deviceManager.adoptionAdopt.useMutation, B.deviceManager.adoptionRelease.useMutation, B.deviceManager.adoptionStartJob.useMutation, B.deviceManager.adoptionListJobs.useQuery, B.deviceManager.adoptionCancelJob.useMutation, B.deviceManager.adoptionResync.useMutation, B.deviceManager.discoveryProviders.useQuery, B.deviceManager.discoverAllProviders.useMutation, B.deviceManager.discoverProvider.useMutation, B.deviceManager.providerCreationType.useQuery, B.deviceManager.providerDiscoveryParamsSchema.useQuery, B.deviceManager.testField.useMutation, B.deviceManager.getDeviceStatusAggregate.useQuery, B.deviceManager.getDeviceStatusAggregateBatch.useQuery, B.deviceOps.getStreamSources.useQuery, B.deviceOps.getConfigEntries.useQuery, B.deviceOps.setConfig.useMutation, B.deviceOps.runAction.useMutation, B.deviceOps.removeDevice.useMutation, B.deviceOps.getSettingsSchema.useQuery, B.deviceOps.getRawState.useQuery, B.deviceProvider.start.useMutation, B.deviceProvider.stop.useMutation, B.deviceProvider.getStatus.useQuery, B.deviceProvider.getDevices.useQuery, B.deviceProvider.reloadDevice.useMutation, B.deviceProvider.supportsDiscovery.useQuery, B.deviceProvider.discoverDevices.useMutation, B.deviceProvider.getDiscoveryParamsSchema.useQuery, B.deviceProvider.getManualCreationType.useQuery, B.deviceProvider.adoptDiscoveredDevice.useMutation, B.deviceProvider.supportsManualCreation.useQuery, B.deviceProvider.getChildCreationSchema.useQuery, B.deviceProvider.createDevice.useMutation, B.deviceProvider.testCreationField.useMutation;
4853
4853
  var Qa = B.deviceState.getSnapshot.useQuery;
4854
- B.deviceState.getCapSlice.useQuery, B.deviceState.getAllSnapshots.useQuery, B.deviceState.setCapSlice.useMutation, B.deviceState.claimFields.useMutation, B.deviceState.patchOwnedFields.useMutation, B.deviceState.releaseClaim.useMutation, B.deviceState.listClaims.useQuery, B.deviceState.getNativeCapSlice.useQuery, B.deviceStatus.getStatus.useQuery, B.dishwasher.start.useMutation, B.dishwasher.pause.useMutation, B.dishwasher.resume.useMutation, B.dishwasher.stop.useMutation, B.dishwasher.setProgram.useMutation, B.dishwasher.setPower.useMutation, B.dishwasher.setHalfLoad.useMutation, B.dishwasher.setHygienePlus.useMutation, B.dishwasher.setExtraDry.useMutation, B.dishwasher.setIntensiveZone.useMutation, B.dishwasher.setVarioSpeedPlus.useMutation, B.dishwasher.setChildLock.useMutation, B.dishwasher.setOption.useMutation, B.dishwasher.getOptions.useQuery, B.dishwasher.getStatus.useQuery, B.displayPalette.getPalette.useQuery, B.displayPalette.listPresets.useQuery, B.displayPalette.setPalette.useMutation, B.doorbell.getStatus.useQuery, B.enumSensor.getStatus.useQuery, B.eventEmitter.getStatus.useQuery, B.faceGallery.listIdentities.useQuery, B.faceGallery.createIdentity.useMutation, B.faceGallery.renameIdentity.useMutation, B.faceGallery.deleteIdentity.useMutation, B.faceGallery.listIdentitySamples.useQuery, B.faceGallery.auditIdentitySamples.useQuery, B.faceGallery.removeSample.useMutation, B.faceGallery.listRecentFaces.useQuery, B.faceGallery.getFaceByTrack.useQuery, B.faceGallery.getFaceMedia.useQuery, B.faceGallery.assignFace.useMutation, B.faceGallery.unassignFace.useMutation, B.faceGallery.deleteFace.useMutation, B.faceGallery.assignFaces.useMutation, B.faceGallery.unassignFaces.useMutation, B.faceGallery.suggestFaceClusters.useQuery, B.fanControl.setPercentage.useMutation, B.fanControl.setPreset.useMutation, B.fanControl.setDirection.useMutation, B.fanControl.setOscillating.useMutation, B.fanControl.getStatus.useQuery, B.featureProbe.getStatus.useQuery, B.flood.getStatus.useQuery, B.gas.getStatus.useQuery, B.groupStatus.getStatus.useQuery, B.heatingValve.getStatus.useQuery, B.humidifier.setOn.useMutation, B.humidifier.setTargetHumidity.useMutation, B.humidifier.setMode.useMutation, B.humidifier.getStatus.useQuery, B.humiditySensor.getStatus.useQuery, B.image.getStatus.useQuery, B.imageSettings.getOptions.useQuery, B.imageSettings.setSettings.useMutation, B.imageSettings.getStatus.useQuery, B.integrations.list.useQuery, B.integrations.get.useQuery, B.integrations.getByAddonId.useQuery, B.integrations.create.useMutation, B.integrations.update.useMutation, B.integrations.delete.useMutation, B.integrations.getSettings.useQuery, B.integrations.setSettings.useMutation, B.integrations.getAvailableTypes.useQuery, B.integrations.testConnection.useMutation, B.intercom.startSession.useMutation, B.intercom.handleAnswer.useMutation, B.intercom.stopSession.useMutation, B.intercom.startTalkSession.useMutation, B.intercom.pushTalkAudio.useMutation, B.intercom.endTalkSession.useMutation, B.intercom.getStatus.useQuery, B.keychainAdmin.status.useQuery, B.keychainAdmin.listSecrets.useQuery, B.keychainAdmin.listAudit.useQuery, B.keychainAdmin.reveal.useMutation, B.keychainAdmin.setSystemSecret.useMutation, B.keychainAdmin.importSecret.useMutation, B.keychainAdmin.deleteOrphans.useMutation, B.keychainAdmin.rotateMasterKey.useMutation, B.keychainAdmin.purgeRetiredKeys.useMutation, B.keychainAdmin.downloadRecoveryKey.useMutation, B.keychainAdmin.resetKeychain.useMutation, B.keychainAdmin.resetReport.useQuery, B.keychainAdmin.acknowledgeReset.useMutation, B.lawnMowerControl.startMowing.useMutation, B.lawnMowerControl.pause.useMutation, B.lawnMowerControl.dock.useMutation, B.lawnMowerControl.getStatus.useQuery, B.llm.generate.useMutation, B.llm.generateVision.useMutation, B.llm.cancel.useMutation, B.llm.listProfileKinds.useQuery, B.llm.listProfiles.useQuery, B.llm.upsertProfile.useMutation, B.llm.migrateRawSecrets.useMutation, B.llm.deleteProfile.useMutation, B.llm.testProfile.useMutation, B.llm.listModels.useMutation, B.llm.getDefaults.useQuery, B.llm.setDefault.useMutation, B.llm.getUsage.useQuery, B.llm.listModelCatalog.useQuery, B.llm.listRuntimeNodes.useQuery, B.llm.listNodeModels.useQuery, B.llm.resolveModelRef.useMutation, B.llm.installModel.useMutation, B.llm.deleteModel.useMutation, B.llm.getRuntimeStatus.useQuery, B.llm.startRuntime.useMutation, B.llm.stopRuntime.useMutation, B.localNetwork.list.useQuery, B.localNetwork.getPreferred.useQuery, B.localNetwork.getConnectionEndpoints.useQuery, B.localNetwork.getNotificationEndpoint.useQuery, B.localNetwork.setNotificationEndpoint.useMutation, B.localNetwork.getViewerEndpoints.useQuery, B.localNetwork.setViewerEndpoints.useMutation, B.localNetwork.getAddresses.useQuery, B.localNetwork.addCustomAddress.useMutation, B.localNetwork.removeCustomAddress.useMutation, B.localNetwork.setAddressRole.useMutation, B.localNetwork.getHubAddresses.useQuery, B.localNetwork.getAllowedAddresses.useQuery, B.localNetwork.setAllowedAddresses.useMutation, B.localNetwork.resetAllowlistToBestMatch.useMutation, B.localNetwork.getTlsStatus.useQuery, B.localNetwork.regenerateCertificate.useMutation, B.localNetwork.uploadCertificate.useMutation, B.localNetwork.downloadCa.useQuery, B.localNetwork.useStoredUploadedCertificate.useMutation, B.localNetwork.revertToGeneratedCertificate.useMutation, B.lockControl.lock.useMutation, B.lockControl.unlock.useMutation, B.lockControl.open.useMutation, B.lockControl.getStatus.useQuery, B.mediaPlayer.play.useMutation, B.mediaPlayer.pause.useMutation, B.mediaPlayer.stop.useMutation, B.mediaPlayer.next.useMutation, B.mediaPlayer.previous.useMutation, B.mediaPlayer.seek.useMutation, B.mediaPlayer.setVolume.useMutation, B.mediaPlayer.setMute.useMutation, B.mediaPlayer.setShuffle.useMutation, B.mediaPlayer.setRepeat.useMutation, B.mediaPlayer.selectSource.useMutation, B.mediaPlayer.playMedia.useMutation, B.mediaPlayer.getStatus.useQuery, B.meshNetwork.getStatus.useQuery, B.meshNetwork.join.useMutation, B.meshNetwork.startLogin.useMutation, B.meshNetwork.leave.useMutation, B.meshNetwork.logout.useMutation, B.meshNetwork.listPeers.useQuery, B.meshNetwork.testConnection.useMutation, B.metricsProvider.collectSnapshot.useQuery, B.metricsProvider.getCached.useQuery, B.metricsProvider.getCurrent.useQuery, B.metricsProvider.getDiskSpace.useQuery, B.metricsProvider.getGpuInfo.useQuery, B.metricsProvider.getCpuTemperature.useQuery, B.metricsProvider.getProcessStats.useQuery, B.metricsProvider.listAddonInstances.useQuery, B.metricsProvider.getAddonStats.useQuery, B.metricsProvider.listNodeProcesses.useQuery, B.metricsProvider.getLoadSeries.useQuery, B.motion.isDetected.useQuery, B.motion.getStatus.useQuery, B.motionDetection.analyze.useMutation, B.motionDetection.removeCamera.useMutation, B.motionDetection.reset.useMutation, B.motionDetection.getDeviceSettingsContribution.useQuery, B.motionDetection.getDeviceLiveContribution.useQuery, B.motionDetection.applyDeviceSettingsPatch.useMutation, B.motionTrigger.setMotionTrigger.useMutation, B.motionTrigger.getStatus.useQuery, B.motionZones.getOptions.useQuery, B.motionZones.setZone.useMutation, B.motionZones.getStatus.useQuery, B.mqttBroker.listBrokers.useQuery, B.mqttBroker.getBrokerConfig.useQuery, B.mqttBroker.addBroker.useMutation, B.mqttBroker.removeBroker.useMutation, B.mqttBroker.testConnection.useMutation, B.mqttBroker.startEmbeddedBroker.useMutation, B.mqttBroker.stopEmbeddedBroker.useMutation, B.mqttBroker.getStatus.useQuery, B.nativeObjectDetection.getOptions.useQuery, B.nativeObjectDetection.setSettings.useMutation, B.nativeObjectDetection.setEnabled.useMutation, B.nativeObjectDetection.getStatus.useQuery, B.navigation.move.useMutation, B.navigation.stop.useMutation, B.navigation.goToPoint.useMutation, B.navigation.listActions.useQuery, B.navigation.runAction.useMutation, B.navigation.playSound.useMutation, B.navigation.setLightOn.useMutation, B.navigation.setLightMode.useMutation, B.navigation.setLightLevel.useMutation, B.navigation.getFeatures.useQuery, B.navigation.getStatus.useQuery, B.networkAccess.start.useMutation, B.networkAccess.stop.useMutation, B.networkAccess.getEndpoint.useQuery, B.networkAccess.getStatus.useQuery, B.networkAccess.listEndpoints.useQuery, B.networkLink.getStatus.useQuery, B.networkQuality.getDeviceStats.useQuery, B.networkQuality.getAllStats.useQuery, B.networkQuality.reportClientStats.useMutation, B.nodes.topology.useQuery, B.nodes.directory.useQuery, B.nodes.deployAddon.useMutation, B.nodes.undeployAddon.useMutation, B.nodes.restartAddon.useMutation, B.nodes.restartProcess.useMutation, B.nodes.restartNode.useMutation, B.nodes.shutdownNode.useMutation, B.nodes.renameNode.useMutation, B.nodes.clusterAddonStatus.useQuery, B.nodes.getCapUsageGraph.useQuery, B.nodes.getNodeAddons.useQuery, B.nodes.setProcessLogLevel.useMutation, B.nodes.executeQuery.useMutation, B.notificationOutput.listTargetKinds.useQuery, B.notificationOutput.listTargets.useQuery, B.notificationOutput.getTarget.useQuery, B.notificationOutput.discoverTargets.useQuery, B.notificationOutput.probeTargetConfig.useMutation, B.notificationOutput.send.useMutation, B.notificationOutput.testTarget.useMutation, B.notificationOutput.upsertTarget.useMutation, B.notificationOutput.deleteTarget.useMutation, B.notificationOutput.setTargetEnabled.useMutation, B.notificationRules.listRules.useQuery, B.notificationRules.getRule.useQuery, B.notificationRules.createRule.useMutation, B.notificationRules.updateRule.useMutation, B.notificationRules.deleteRule.useMutation, B.notificationRules.setRuleEnabled.useMutation, B.notificationRules.listSequences.useQuery, B.notificationRules.getSequence.useQuery, B.notificationRules.createSequence.useMutation, B.notificationRules.updateSequence.useMutation, B.notificationRules.deleteSequence.useMutation, B.notificationRules.getClipRetentionAsks.useQuery, B.notificationRules.listDeviceMutes.useQuery, B.notificationRules.setDeviceMuted.useMutation, B.notificationRules.testRule.useMutation, B.notificationRules.previewStateSummary.useMutation, B.notificationRules.getConditionCatalog.useQuery, B.notificationRules.getTemplateCatalog.useQuery, B.notificationRules.previewTemplate.useMutation, B.notificationRules.getHistory.useQuery, B.notificationRules.getRuleLastRuns.useQuery, B.notificationRules.resolveArtifactUrl.useQuery, B.notificationRules.listSnoozes.useQuery, B.notificationRules.createSnooze.useMutation, B.notificationRules.cancelSnooze.useMutation, B.notificationRules.getAlarmConfig.useQuery, B.notificationRules.setAlarmConfig.useMutation, B.notificationRules.createAlarmProfile.useMutation, B.notificationRules.renameAlarmProfile.useMutation, B.notificationRules.deleteAlarmProfile.useMutation, B.notificationRules.activateAlarmProfile.useMutation, B.notificationRules.getAlarmSensors.useQuery, B.notifier.send.useMutation, B.notifier.cancel.useMutation, B.notifier.getStatus.useQuery, B.numericSensor.getStatus.useQuery, B.oidcConnections.connectionFormSchema.useQuery, B.oidcConnections.listConnections.useQuery, B.oidcConnections.createConnection.useMutation, B.oidcConnections.updateConnection.useMutation, B.oidcConnections.deleteConnection.useMutation, B.osd.setOverlay.useMutation, B.osd.getStatus.useQuery, B.osdManager.getDeviceOsd.useQuery, B.osdManager.getSourceCatalog.useQuery, B.osdManager.getConditionSupport.useQuery, B.osdManager.setSlotBinding.useMutation, B.osdManager.clearSlotBinding.useMutation, B.osdManager.setSlotCameraEnabled.useMutation, B.osdManager.copyDeviceConfiguration.useMutation, B.osdManager.previewSlot.useMutation, B.osdManager.renderDevice.useMutation, B.osdManager.listTemplates.useQuery, B.osdManager.upsertTemplate.useMutation, B.osdManager.deleteTemplate.useMutation, B.petFeeder.feed.useMutation, B.petFeeder.cancelFeed.useMutation, B.petFeeder.resetDesiccant.useMutation, B.petFeeder.markFoodReplenished.useMutation, B.petFeeder.callPet.useMutation, B.petFeeder.playSound.useMutation, B.petFeeder.setChildLock.useMutation, B.petFeeder.setIndicatorLight.useMutation, B.petFeeder.setFeedSound.useMutation, B.petFeeder.setVolume.useMutation, B.petFeeder.getStatus.useQuery, B.pipelineAnalytics.getActiveTracks.useQuery, B.pipelineAnalytics.getTrack.useQuery, B.pipelineAnalytics.listTracks.useQuery, B.pipelineAnalytics.listRecentTracks.useQuery, B.pipelineAnalytics.clearTracks.useMutation, B.pipelineAnalytics.getMotionEvents.useQuery, B.pipelineAnalytics.getObjectEvents.useQuery, B.pipelineAnalytics.getAudioEvents.useQuery, B.pipelineAnalytics.listEventKinds.useQuery, B.pipelineAnalytics.listEventKindsBatch.useQuery, B.pipelineAnalytics.getSensorEvents.useQuery, B.pipelineAnalytics.getKeyEvents.useQuery, B.pipelineAnalytics.getKeyEventsBatch.useQuery, B.pipelineAnalytics.readLongTermSeries.useQuery, B.pipelineAnalytics.getEventDensity.useQuery, B.pipelineAnalytics.getEventDensityBatch.useQuery, B.pipelineAnalytics.pruneEventsBefore.useMutation, B.pipelineAnalytics.pruneTracksBefore.useMutation, B.pipelineAnalytics.wipeAllAnalytics.useMutation, B.pipelineAnalytics.reconcileFromDisk.useMutation, B.pipelineAnalytics.deleteTracks.useMutation, B.pipelineAnalytics.setTrackFlags.useMutation, B.pipelineAnalytics.listArchivedDebugNotes.useQuery, B.pipelineAnalytics.setTrackRelation.useMutation, B.pipelineAnalytics.clearTrackRelation.useMutation, B.pipelineAnalytics.setTrackPurity.useMutation, B.pipelineAnalytics.listTrackRelations.useQuery, B.pipelineAnalytics.listBirthDecisions.useQuery, B.pipelineAnalytics.getEventStoreFootprint.useQuery, B.pipelineAnalytics.getEventMediaFootprintByKind.useQuery, B.pipelineAnalytics.pruneEvents.useMutation, B.pipelineAnalytics.deleteDeviceEvents.useMutation, B.pipelineAnalytics.pauseForStorageMigration.useMutation, B.pipelineAnalytics.resumeForStorageMigration.useMutation, B.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, B.pipelineAnalytics.startStorageMigrationMove.useMutation, B.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, B.pipelineAnalytics.cancelStorageMigrationMove.useMutation, B.pipelineAnalytics.relocateMedia.useMutation, B.pipelineAnalytics.countUnstampedEventMedia.useQuery, B.pipelineAnalytics.countRelocatableMedia.useQuery, B.pipelineAnalytics.listRelocateMediaJobs.useQuery, B.pipelineAnalytics.cancelRelocateMedia.useMutation, B.pipelineAnalytics.listOpsLog.useQuery, B.pipelineAnalytics.reclaimDebugMedia.useMutation, B.pipelineAnalytics.getMediaReclaimStatus.useQuery, B.pipelineAnalytics.getTrainingExportSummary.useQuery, B.pipelineAnalytics.getTrainingExportUrl.useQuery, B.pipelineAnalytics.listRetrainStaging.useQuery, B.pipelineAnalytics.listRetrainCorpusPage.useQuery, B.pipelineAnalytics.getRetrainCorpusKpi.useQuery, B.pipelineAnalytics.listRetrainFrames.useQuery, B.pipelineAnalytics.selectRetrainFrames.useMutation, B.pipelineAnalytics.deselectRetrainFrame.useMutation, B.pipelineAnalytics.getRetrainFrameImage.useQuery, B.pipelineAnalytics.proposeRetrainAnnotations.useMutation, B.pipelineAnalytics.listRetrainAnnotations.useQuery, B.pipelineAnalytics.saveRetrainAnnotations.useMutation, B.pipelineAnalytics.backfillRetrainOrigins.useMutation, B.pipelineAnalytics.completeRetrainTrack.useMutation, B.pipelineAnalytics.restageRetrainTrack.useMutation, B.pipelineAnalytics.getRetrainExportUrl.useQuery, B.pipelineAnalytics.setRetrainFrameComplete.useMutation, B.pipelineAnalytics.writeRetrainArchive.useMutation, B.pipelineAnalytics.offerRetrainArchive.useMutation, B.pipelineAnalytics.listRetrainAssistProfiles.useQuery, B.pipelineAnalytics.proposeRetrainAnnotationsWithLlm.useMutation, B.pipelineAnalytics.createRetrainCollection.useMutation, B.pipelineAnalytics.listRetrainCollections.useQuery, B.pipelineAnalytics.resolveRetrainTrainingCorpus.useQuery, B.pipelineAnalytics.renameRetrainCollection.useMutation, B.pipelineAnalytics.deleteRetrainCollection.useMutation, B.pipelineAnalytics.addRetrainFrameFromRecording.useMutation, B.pipelineAnalytics.addRetrainFramesToCollection.useMutation, B.pipelineAnalytics.removeRetrainFrameFromCollection.useMutation, B.pipelineAnalytics.listRetrainCollectionFrames.useQuery, B.pipelineAnalytics.getEventMedia.useQuery, B.pipelineAnalytics.getTrackMedia.useQuery, B.pipelineAnalytics.listTrackMedia.useQuery, B.pipelineAnalytics.listEventMedia.useQuery, B.pipelineAnalytics.ownersWithMedia.useQuery, B.pipelineAnalytics.searchObjectEvents.useQuery, B.pipelineAnalytics.wipeObjectEmbeddings.useMutation, B.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, B.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, B.pipelineAnalytics.getDeviceSettingsContribution.useQuery, B.pipelineAnalytics.getDeviceLiveContribution.useQuery, B.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, B.pipelineExecutor.getAvailableEngines.useQuery, B.pipelineExecutor.getSelectedEngine.useQuery, B.pipelineExecutor.getEngineProvisioning.useQuery, B.pipelineExecutor.getVideoPipelineSteps.useQuery, B.pipelineExecutor.setVideoPipelineSteps.useMutation, B.pipelineExecutor.getInferenceDeviceHealth.useQuery, B.pipelineExecutor.rearmInferenceDevice.useMutation, B.pipelineExecutor.getSchema.useQuery, B.pipelineExecutor.getOrchestratorConfigSchema.useQuery, B.pipelineExecutor.validatePipeline.useQuery, B.pipelineExecutor.getCapabilities.useQuery, B.pipelineExecutor.getAddonModels.useQuery, B.pipelineExecutor.downloadModel.useMutation, B.pipelineExecutor.deleteModel.useMutation, B.pipelineExecutor.runPipeline.useMutation, B.pipelineExecutor.runPipelineBatch.useMutation, B.pipelineExecutor.cacheFrameInPool.useMutation, B.pipelineExecutor.inferCached.useMutation, B.pipelineExecutor.uncacheFrame.useMutation, B.pipelineExecutor.getEffectiveTuning.useQuery, B.pipelineExecutor.listLoadedEngines.useQuery, B.pipelineExecutor.spinEngine.useMutation, B.pipelineExecutor.killEngine.useMutation, B.pipelineExecutor.listReferenceImages.useQuery, B.pipelineExecutor.getReferenceImage.useQuery, B.pipelineExecutor.getReferenceAudioFiles.useQuery, B.pipelineExecutor.getReferenceAudio.useQuery, B.pipelineExecutor.getAudioCapabilities.useQuery, B.pipelineExecutor.runAudioTest.useMutation, B.pipelineExecutor.getDetectionConfigSchema.useQuery, B.pipelineOrchestrator.requestOccupancyLook.useMutation, B.pipelineOrchestrator.pauseForStorageMigration.useMutation, B.pipelineOrchestrator.resumeForStorageMigration.useMutation, B.pipelineOrchestrator.assignPipeline.useMutation, B.pipelineOrchestrator.unassignPipeline.useMutation, B.pipelineOrchestrator.setPipelineDevicePin.useMutation, B.pipelineOrchestrator.getPipelineDevicePin.useQuery, B.pipelineOrchestrator.rebalance.useMutation, B.pipelineOrchestrator.getPipelineAssignments.useQuery, B.pipelineOrchestrator.getPipelineAssignment.useQuery, B.pipelineOrchestrator.getAgentLoad.useQuery, B.pipelineOrchestrator.getClusterModelChoice.useQuery, B.pipelineOrchestrator.getGlobalMetrics.useQuery, B.pipelineOrchestrator.getCameraMetrics.useQuery, B.pipelineOrchestrator.getCapabilityBindings.useQuery, B.pipelineOrchestrator.setCapabilityBinding.useMutation, B.pipelineOrchestrator.getIngestOwner.useQuery, B.pipelineOrchestrator.assignAudio.useMutation, B.pipelineOrchestrator.unassignAudio.useMutation, B.pipelineOrchestrator.getAudioAssignment.useQuery, B.pipelineOrchestrator.getAudioNodeLoad.useQuery, B.pipelineOrchestrator.getAudioAssignments.useQuery, B.pipelineOrchestrator.getAgentSettings.useQuery;
4854
+ B.deviceState.getCapSlice.useQuery, B.deviceState.getAllSnapshots.useQuery, B.deviceState.setCapSlice.useMutation, B.deviceState.claimFields.useMutation, B.deviceState.patchOwnedFields.useMutation, B.deviceState.releaseClaim.useMutation, B.deviceState.listClaims.useQuery, B.deviceState.getNativeCapSlice.useQuery, B.deviceStatus.getStatus.useQuery, B.dishwasher.start.useMutation, B.dishwasher.pause.useMutation, B.dishwasher.resume.useMutation, B.dishwasher.stop.useMutation, B.dishwasher.setProgram.useMutation, B.dishwasher.setPower.useMutation, B.dishwasher.setHalfLoad.useMutation, B.dishwasher.setHygienePlus.useMutation, B.dishwasher.setExtraDry.useMutation, B.dishwasher.setIntensiveZone.useMutation, B.dishwasher.setVarioSpeedPlus.useMutation, B.dishwasher.setChildLock.useMutation, B.dishwasher.setOption.useMutation, B.dishwasher.getOptions.useQuery, B.dishwasher.getStatus.useQuery, B.displayPalette.getPalette.useQuery, B.displayPalette.listPresets.useQuery, B.displayPalette.setPalette.useMutation, B.doorbell.getStatus.useQuery, B.enumSensor.getStatus.useQuery, B.eventEmitter.getStatus.useQuery, B.faceGallery.listIdentities.useQuery, B.faceGallery.createIdentity.useMutation, B.faceGallery.renameIdentity.useMutation, B.faceGallery.deleteIdentity.useMutation, B.faceGallery.listIdentitySamples.useQuery, B.faceGallery.auditIdentitySamples.useQuery, B.faceGallery.removeSample.useMutation, B.faceGallery.listRecentFaces.useQuery, B.faceGallery.getFaceByTrack.useQuery, B.faceGallery.getFaceMedia.useQuery, B.faceGallery.assignFace.useMutation, B.faceGallery.unassignFace.useMutation, B.faceGallery.deleteFace.useMutation, B.faceGallery.assignFaces.useMutation, B.faceGallery.unassignFaces.useMutation, B.faceGallery.suggestFaceClusters.useQuery, B.fanControl.setPercentage.useMutation, B.fanControl.setPreset.useMutation, B.fanControl.setDirection.useMutation, B.fanControl.setOscillating.useMutation, B.fanControl.getStatus.useQuery, B.featureProbe.getStatus.useQuery, B.flood.getStatus.useQuery, B.gas.getStatus.useQuery, B.groupCommands.getStatus.useQuery, B.groupStatus.getStatus.useQuery, B.heatingValve.getStatus.useQuery, B.humidifier.setOn.useMutation, B.humidifier.setTargetHumidity.useMutation, B.humidifier.setMode.useMutation, B.humidifier.getStatus.useQuery, B.humiditySensor.getStatus.useQuery, B.image.getStatus.useQuery, B.imageSettings.getOptions.useQuery, B.imageSettings.setSettings.useMutation, B.imageSettings.getStatus.useQuery, B.integrations.list.useQuery, B.integrations.get.useQuery, B.integrations.getByAddonId.useQuery, B.integrations.create.useMutation, B.integrations.update.useMutation, B.integrations.delete.useMutation, B.integrations.getSettings.useQuery, B.integrations.setSettings.useMutation, B.integrations.getAvailableTypes.useQuery, B.integrations.testConnection.useMutation, B.intercom.startSession.useMutation, B.intercom.handleAnswer.useMutation, B.intercom.stopSession.useMutation, B.intercom.startTalkSession.useMutation, B.intercom.pushTalkAudio.useMutation, B.intercom.endTalkSession.useMutation, B.intercom.getStatus.useQuery, B.keychainAdmin.status.useQuery, B.keychainAdmin.listSecrets.useQuery, B.keychainAdmin.listAudit.useQuery, B.keychainAdmin.reveal.useMutation, B.keychainAdmin.setSystemSecret.useMutation, B.keychainAdmin.importSecret.useMutation, B.keychainAdmin.deleteOrphans.useMutation, B.keychainAdmin.rotateMasterKey.useMutation, B.keychainAdmin.purgeRetiredKeys.useMutation, B.keychainAdmin.downloadRecoveryKey.useMutation, B.keychainAdmin.resetKeychain.useMutation, B.keychainAdmin.resetReport.useQuery, B.keychainAdmin.acknowledgeReset.useMutation, B.lawnMowerControl.startMowing.useMutation, B.lawnMowerControl.pause.useMutation, B.lawnMowerControl.dock.useMutation, B.lawnMowerControl.getStatus.useQuery, B.llm.generate.useMutation, B.llm.generateVision.useMutation, B.llm.cancel.useMutation, B.llm.listProfileKinds.useQuery, B.llm.listProfiles.useQuery, B.llm.upsertProfile.useMutation, B.llm.migrateRawSecrets.useMutation, B.llm.deleteProfile.useMutation, B.llm.testProfile.useMutation, B.llm.listModels.useMutation, B.llm.getDefaults.useQuery, B.llm.setDefault.useMutation, B.llm.getUsage.useQuery, B.llm.listModelCatalog.useQuery, B.llm.listRuntimeNodes.useQuery, B.llm.listNodeModels.useQuery, B.llm.resolveModelRef.useMutation, B.llm.installModel.useMutation, B.llm.deleteModel.useMutation, B.llm.getRuntimeStatus.useQuery, B.llm.startRuntime.useMutation, B.llm.stopRuntime.useMutation, B.localNetwork.list.useQuery, B.localNetwork.getPreferred.useQuery, B.localNetwork.getConnectionEndpoints.useQuery, B.localNetwork.getNotificationEndpoint.useQuery, B.localNetwork.setNotificationEndpoint.useMutation, B.localNetwork.getViewerEndpoints.useQuery, B.localNetwork.setViewerEndpoints.useMutation, B.localNetwork.getAddresses.useQuery, B.localNetwork.addCustomAddress.useMutation, B.localNetwork.removeCustomAddress.useMutation, B.localNetwork.setAddressRole.useMutation, B.localNetwork.getHubAddresses.useQuery, B.localNetwork.getAllowedAddresses.useQuery, B.localNetwork.setAllowedAddresses.useMutation, B.localNetwork.resetAllowlistToBestMatch.useMutation, B.localNetwork.getTlsStatus.useQuery, B.localNetwork.regenerateCertificate.useMutation, B.localNetwork.uploadCertificate.useMutation, B.localNetwork.downloadCa.useQuery, B.localNetwork.useStoredUploadedCertificate.useMutation, B.localNetwork.revertToGeneratedCertificate.useMutation, B.lockControl.lock.useMutation, B.lockControl.unlock.useMutation, B.lockControl.open.useMutation, B.lockControl.getStatus.useQuery, B.mediaPlayer.play.useMutation, B.mediaPlayer.pause.useMutation, B.mediaPlayer.stop.useMutation, B.mediaPlayer.next.useMutation, B.mediaPlayer.previous.useMutation, B.mediaPlayer.seek.useMutation, B.mediaPlayer.setVolume.useMutation, B.mediaPlayer.setMute.useMutation, B.mediaPlayer.setShuffle.useMutation, B.mediaPlayer.setRepeat.useMutation, B.mediaPlayer.selectSource.useMutation, B.mediaPlayer.playMedia.useMutation, B.mediaPlayer.getStatus.useQuery, B.meshNetwork.getStatus.useQuery, B.meshNetwork.join.useMutation, B.meshNetwork.startLogin.useMutation, B.meshNetwork.leave.useMutation, B.meshNetwork.logout.useMutation, B.meshNetwork.listPeers.useQuery, B.meshNetwork.testConnection.useMutation, B.metricsProvider.collectSnapshot.useQuery, B.metricsProvider.getCached.useQuery, B.metricsProvider.getCurrent.useQuery, B.metricsProvider.getDiskSpace.useQuery, B.metricsProvider.getGpuInfo.useQuery, B.metricsProvider.getCpuTemperature.useQuery, B.metricsProvider.getProcessStats.useQuery, B.metricsProvider.listAddonInstances.useQuery, B.metricsProvider.getAddonStats.useQuery, B.metricsProvider.listNodeProcesses.useQuery, B.metricsProvider.getLoadSeries.useQuery, B.motion.isDetected.useQuery, B.motion.getStatus.useQuery, B.motionDetection.analyze.useMutation, B.motionDetection.removeCamera.useMutation, B.motionDetection.reset.useMutation, B.motionDetection.getDeviceSettingsContribution.useQuery, B.motionDetection.getDeviceLiveContribution.useQuery, B.motionDetection.applyDeviceSettingsPatch.useMutation, B.motionTrigger.setMotionTrigger.useMutation, B.motionTrigger.getStatus.useQuery, B.motionZones.getOptions.useQuery, B.motionZones.setZone.useMutation, B.motionZones.getStatus.useQuery, B.mqttBroker.listBrokers.useQuery, B.mqttBroker.getBrokerConfig.useQuery, B.mqttBroker.addBroker.useMutation, B.mqttBroker.removeBroker.useMutation, B.mqttBroker.testConnection.useMutation, B.mqttBroker.startEmbeddedBroker.useMutation, B.mqttBroker.stopEmbeddedBroker.useMutation, B.mqttBroker.getStatus.useQuery, B.nativeObjectDetection.getOptions.useQuery, B.nativeObjectDetection.setSettings.useMutation, B.nativeObjectDetection.setEnabled.useMutation, B.nativeObjectDetection.getStatus.useQuery, B.navigation.move.useMutation, B.navigation.stop.useMutation, B.navigation.goToPoint.useMutation, B.navigation.listActions.useQuery, B.navigation.runAction.useMutation, B.navigation.playSound.useMutation, B.navigation.setLightOn.useMutation, B.navigation.setLightMode.useMutation, B.navigation.setLightLevel.useMutation, B.navigation.getFeatures.useQuery, B.navigation.getStatus.useQuery, B.networkAccess.start.useMutation, B.networkAccess.stop.useMutation, B.networkAccess.getEndpoint.useQuery, B.networkAccess.getStatus.useQuery, B.networkAccess.listEndpoints.useQuery, B.networkLink.getStatus.useQuery, B.networkQuality.getDeviceStats.useQuery, B.networkQuality.getAllStats.useQuery, B.networkQuality.reportClientStats.useMutation, B.nodes.topology.useQuery, B.nodes.directory.useQuery, B.nodes.deployAddon.useMutation, B.nodes.undeployAddon.useMutation, B.nodes.restartAddon.useMutation, B.nodes.restartProcess.useMutation, B.nodes.restartNode.useMutation, B.nodes.shutdownNode.useMutation, B.nodes.renameNode.useMutation, B.nodes.clusterAddonStatus.useQuery, B.nodes.getCapUsageGraph.useQuery, B.nodes.getNodeAddons.useQuery, B.nodes.setProcessLogLevel.useMutation, B.nodes.executeQuery.useMutation, B.notificationOutput.listTargetKinds.useQuery, B.notificationOutput.listTargets.useQuery, B.notificationOutput.getTarget.useQuery, B.notificationOutput.discoverTargets.useQuery, B.notificationOutput.probeTargetConfig.useMutation, B.notificationOutput.send.useMutation, B.notificationOutput.testTarget.useMutation, B.notificationOutput.upsertTarget.useMutation, B.notificationOutput.deleteTarget.useMutation, B.notificationOutput.setTargetEnabled.useMutation, B.notificationRules.listRules.useQuery, B.notificationRules.getRule.useQuery, B.notificationRules.createRule.useMutation, B.notificationRules.updateRule.useMutation, B.notificationRules.deleteRule.useMutation, B.notificationRules.setRuleEnabled.useMutation, B.notificationRules.listSequences.useQuery, B.notificationRules.getSequence.useQuery, B.notificationRules.createSequence.useMutation, B.notificationRules.updateSequence.useMutation, B.notificationRules.deleteSequence.useMutation, B.notificationRules.getClipRetentionAsks.useQuery, B.notificationRules.listDeviceMutes.useQuery, B.notificationRules.setDeviceMuted.useMutation, B.notificationRules.testRule.useMutation, B.notificationRules.previewStateSummary.useMutation, B.notificationRules.getConditionCatalog.useQuery, B.notificationRules.getTemplateCatalog.useQuery, B.notificationRules.previewTemplate.useMutation, B.notificationRules.getHistory.useQuery, B.notificationRules.getRuleLastRuns.useQuery, B.notificationRules.resolveArtifactUrl.useQuery, B.notificationRules.listSnoozes.useQuery, B.notificationRules.createSnooze.useMutation, B.notificationRules.cancelSnooze.useMutation, B.notificationRules.getAlarmConfig.useQuery, B.notificationRules.setAlarmConfig.useMutation, B.notificationRules.createAlarmProfile.useMutation, B.notificationRules.renameAlarmProfile.useMutation, B.notificationRules.deleteAlarmProfile.useMutation, B.notificationRules.activateAlarmProfile.useMutation, B.notificationRules.getAlarmSensors.useQuery, B.notifier.send.useMutation, B.notifier.cancel.useMutation, B.notifier.getStatus.useQuery, B.numericSensor.getStatus.useQuery, B.oidcConnections.connectionFormSchema.useQuery, B.oidcConnections.listConnections.useQuery, B.oidcConnections.createConnection.useMutation, B.oidcConnections.updateConnection.useMutation, B.oidcConnections.deleteConnection.useMutation, B.osd.setOverlay.useMutation, B.osd.getStatus.useQuery, B.osdManager.getDeviceOsd.useQuery, B.osdManager.getSourceCatalog.useQuery, B.osdManager.getConditionSupport.useQuery, B.osdManager.setSlotBinding.useMutation, B.osdManager.clearSlotBinding.useMutation, B.osdManager.setSlotCameraEnabled.useMutation, B.osdManager.copyDeviceConfiguration.useMutation, B.osdManager.previewSlot.useMutation, B.osdManager.renderDevice.useMutation, B.osdManager.listTemplates.useQuery, B.osdManager.upsertTemplate.useMutation, B.osdManager.deleteTemplate.useMutation, B.petFeeder.feed.useMutation, B.petFeeder.cancelFeed.useMutation, B.petFeeder.resetDesiccant.useMutation, B.petFeeder.markFoodReplenished.useMutation, B.petFeeder.callPet.useMutation, B.petFeeder.playSound.useMutation, B.petFeeder.setChildLock.useMutation, B.petFeeder.setIndicatorLight.useMutation, B.petFeeder.setFeedSound.useMutation, B.petFeeder.setVolume.useMutation, B.petFeeder.getStatus.useQuery, B.pipelineAnalytics.getActiveTracks.useQuery, B.pipelineAnalytics.getTrack.useQuery, B.pipelineAnalytics.listTracks.useQuery, B.pipelineAnalytics.listRecentTracks.useQuery, B.pipelineAnalytics.clearTracks.useMutation, B.pipelineAnalytics.getMotionEvents.useQuery, B.pipelineAnalytics.getObjectEvents.useQuery, B.pipelineAnalytics.getAudioEvents.useQuery, B.pipelineAnalytics.listEventKinds.useQuery, B.pipelineAnalytics.listEventKindsBatch.useQuery, B.pipelineAnalytics.getSensorEvents.useQuery, B.pipelineAnalytics.getKeyEvents.useQuery, B.pipelineAnalytics.getKeyEventsBatch.useQuery, B.pipelineAnalytics.readLongTermSeries.useQuery, B.pipelineAnalytics.getEventDensity.useQuery, B.pipelineAnalytics.getEventDensityBatch.useQuery, B.pipelineAnalytics.pruneEventsBefore.useMutation, B.pipelineAnalytics.pruneTracksBefore.useMutation, B.pipelineAnalytics.wipeAllAnalytics.useMutation, B.pipelineAnalytics.reconcileFromDisk.useMutation, B.pipelineAnalytics.deleteTracks.useMutation, B.pipelineAnalytics.setTrackFlags.useMutation, B.pipelineAnalytics.listArchivedDebugNotes.useQuery, B.pipelineAnalytics.setTrackRelation.useMutation, B.pipelineAnalytics.clearTrackRelation.useMutation, B.pipelineAnalytics.setTrackPurity.useMutation, B.pipelineAnalytics.listTrackRelations.useQuery, B.pipelineAnalytics.listBirthDecisions.useQuery, B.pipelineAnalytics.getEventStoreFootprint.useQuery, B.pipelineAnalytics.getEventMediaFootprintByKind.useQuery, B.pipelineAnalytics.pruneEvents.useMutation, B.pipelineAnalytics.deleteDeviceEvents.useMutation, B.pipelineAnalytics.pauseForStorageMigration.useMutation, B.pipelineAnalytics.resumeForStorageMigration.useMutation, B.pipelineAnalytics.refreshStorageLocationsForMigration.useMutation, B.pipelineAnalytics.startStorageMigrationMove.useMutation, B.pipelineAnalytics.getStorageMigrationMoveStatus.useQuery, B.pipelineAnalytics.cancelStorageMigrationMove.useMutation, B.pipelineAnalytics.relocateMedia.useMutation, B.pipelineAnalytics.countUnstampedEventMedia.useQuery, B.pipelineAnalytics.countRelocatableMedia.useQuery, B.pipelineAnalytics.listRelocateMediaJobs.useQuery, B.pipelineAnalytics.cancelRelocateMedia.useMutation, B.pipelineAnalytics.listOpsLog.useQuery, B.pipelineAnalytics.reclaimDebugMedia.useMutation, B.pipelineAnalytics.getMediaReclaimStatus.useQuery, B.pipelineAnalytics.getTrainingExportSummary.useQuery, B.pipelineAnalytics.getTrainingExportUrl.useQuery, B.pipelineAnalytics.listRetrainStaging.useQuery, B.pipelineAnalytics.listRetrainCorpusPage.useQuery, B.pipelineAnalytics.getRetrainCorpusKpi.useQuery, B.pipelineAnalytics.listRetrainFrames.useQuery, B.pipelineAnalytics.selectRetrainFrames.useMutation, B.pipelineAnalytics.deselectRetrainFrame.useMutation, B.pipelineAnalytics.getRetrainFrameImage.useQuery, B.pipelineAnalytics.proposeRetrainAnnotations.useMutation, B.pipelineAnalytics.listRetrainAnnotations.useQuery, B.pipelineAnalytics.saveRetrainAnnotations.useMutation, B.pipelineAnalytics.backfillRetrainOrigins.useMutation, B.pipelineAnalytics.completeRetrainTrack.useMutation, B.pipelineAnalytics.restageRetrainTrack.useMutation, B.pipelineAnalytics.getRetrainExportUrl.useQuery, B.pipelineAnalytics.setRetrainFrameComplete.useMutation, B.pipelineAnalytics.writeRetrainArchive.useMutation, B.pipelineAnalytics.offerRetrainArchive.useMutation, B.pipelineAnalytics.listRetrainAssistProfiles.useQuery, B.pipelineAnalytics.proposeRetrainAnnotationsWithLlm.useMutation, B.pipelineAnalytics.createRetrainCollection.useMutation, B.pipelineAnalytics.listRetrainCollections.useQuery, B.pipelineAnalytics.resolveRetrainTrainingCorpus.useQuery, B.pipelineAnalytics.renameRetrainCollection.useMutation, B.pipelineAnalytics.deleteRetrainCollection.useMutation, B.pipelineAnalytics.addRetrainFrameFromRecording.useMutation, B.pipelineAnalytics.addRetrainFramesToCollection.useMutation, B.pipelineAnalytics.removeRetrainFrameFromCollection.useMutation, B.pipelineAnalytics.listRetrainCollectionFrames.useQuery, B.pipelineAnalytics.getEventMedia.useQuery, B.pipelineAnalytics.getTrackMedia.useQuery, B.pipelineAnalytics.listTrackMedia.useQuery, B.pipelineAnalytics.listEventMedia.useQuery, B.pipelineAnalytics.ownersWithMedia.useQuery, B.pipelineAnalytics.searchObjectEvents.useQuery, B.pipelineAnalytics.wipeObjectEmbeddings.useMutation, B.pipelineAnalytics.rebuildObjectEmbeddings.useMutation, B.pipelineAnalytics.getObjectEmbeddingRebuildStatus.useQuery, B.pipelineAnalytics.getDeviceSettingsContribution.useQuery, B.pipelineAnalytics.getDeviceLiveContribution.useQuery, B.pipelineAnalytics.applyDeviceSettingsPatch.useMutation, B.pipelineExecutor.getAvailableEngines.useQuery, B.pipelineExecutor.getSelectedEngine.useQuery, B.pipelineExecutor.getEngineProvisioning.useQuery, B.pipelineExecutor.getVideoPipelineSteps.useQuery, B.pipelineExecutor.setVideoPipelineSteps.useMutation, B.pipelineExecutor.getInferenceDeviceHealth.useQuery, B.pipelineExecutor.rearmInferenceDevice.useMutation, B.pipelineExecutor.getSchema.useQuery, B.pipelineExecutor.getOrchestratorConfigSchema.useQuery, B.pipelineExecutor.validatePipeline.useQuery, B.pipelineExecutor.getCapabilities.useQuery, B.pipelineExecutor.getAddonModels.useQuery, B.pipelineExecutor.downloadModel.useMutation, B.pipelineExecutor.deleteModel.useMutation, B.pipelineExecutor.runPipeline.useMutation, B.pipelineExecutor.runPipelineBatch.useMutation, B.pipelineExecutor.cacheFrameInPool.useMutation, B.pipelineExecutor.inferCached.useMutation, B.pipelineExecutor.uncacheFrame.useMutation, B.pipelineExecutor.getEffectiveTuning.useQuery, B.pipelineExecutor.listLoadedEngines.useQuery, B.pipelineExecutor.spinEngine.useMutation, B.pipelineExecutor.killEngine.useMutation, B.pipelineExecutor.listReferenceImages.useQuery, B.pipelineExecutor.getReferenceImage.useQuery, B.pipelineExecutor.getReferenceAudioFiles.useQuery, B.pipelineExecutor.getReferenceAudio.useQuery, B.pipelineExecutor.getAudioCapabilities.useQuery, B.pipelineExecutor.runAudioTest.useMutation, B.pipelineExecutor.getDetectionConfigSchema.useQuery, B.pipelineOrchestrator.requestOccupancyLook.useMutation, B.pipelineOrchestrator.pauseForStorageMigration.useMutation, B.pipelineOrchestrator.resumeForStorageMigration.useMutation, B.pipelineOrchestrator.assignPipeline.useMutation, B.pipelineOrchestrator.unassignPipeline.useMutation, B.pipelineOrchestrator.setPipelineDevicePin.useMutation, B.pipelineOrchestrator.getPipelineDevicePin.useQuery, B.pipelineOrchestrator.rebalance.useMutation, B.pipelineOrchestrator.getPipelineAssignments.useQuery, B.pipelineOrchestrator.getPipelineAssignment.useQuery, B.pipelineOrchestrator.getAgentLoad.useQuery, B.pipelineOrchestrator.getClusterModelChoice.useQuery, B.pipelineOrchestrator.getGlobalMetrics.useQuery, B.pipelineOrchestrator.getCameraMetrics.useQuery, B.pipelineOrchestrator.getCapabilityBindings.useQuery, B.pipelineOrchestrator.setCapabilityBinding.useMutation, B.pipelineOrchestrator.getIngestOwner.useQuery, B.pipelineOrchestrator.assignAudio.useMutation, B.pipelineOrchestrator.unassignAudio.useMutation, B.pipelineOrchestrator.getAudioAssignment.useQuery, B.pipelineOrchestrator.getAudioNodeLoad.useQuery, B.pipelineOrchestrator.getAudioAssignments.useQuery, B.pipelineOrchestrator.getAgentSettings.useQuery;
4855
4855
  var $a = B.pipelineOrchestrator.listAgentSettings.useQuery;
4856
4856
  //#endregion
4857
4857
  //#region ../ui-library/src/primitives/badge.tsx
@@ -5063,7 +5063,7 @@ function co() {
5063
5063
  function lo() {
5064
5064
  return co().confirm;
5065
5065
  }
5066
- e(), Qe("camstack:device-context", null), e(), e(), Qe("camstack:widget-registry", null), e(), e(), e(), e(), I.Camera;
5066
+ e(), Qe("camstack:device-context", null), e(), e(), Qe("camstack:widget-registry", null), e(), e(), e(), e(), L.Camera;
5067
5067
  //#endregion
5068
5068
  //#region ../ui-library/src/hooks/use-device-capability.ts
5069
5069
  function G(e) {
@@ -5079,7 +5079,7 @@ function G(e) {
5079
5079
  }
5080
5080
  //#endregion
5081
5081
  //#region ../ui-library/src/primitives/skeleton.tsx
5082
- e(), me.exclude(["full"]).options, e();
5082
+ e(), N.exclude(["full"]).options, e();
5083
5083
  var uo = c(({ className: e, ...t }, n) => /* @__PURE__ */ v("div", {
5084
5084
  ref: n,
5085
5085
  className: W("animate-pulse bg-surface-hover rounded-md h-4 w-full", e),
@@ -5238,7 +5238,7 @@ function So({ className: e, ...t }) {
5238
5238
  }
5239
5239
  //#endregion
5240
5240
  //#region ../../node_modules/qrcode.react/lib/esm/index.js
5241
- e(), e(), e(), e(), e(), e(), e(), n(() => import("./MotionZonesSettings-sz-ODYZW.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./PrivacyMaskSettings-6vNqzYvt.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), e(), e();
5241
+ e(), e(), e(), e(), e(), e(), e(), n(() => import("./MotionZonesSettings-DyZoYI0U.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./PrivacyMaskSettings-B37uji0h.mjs").then((e) => ({ default: e.PrivacyMaskSettings }))), e(), e();
5242
5242
  var Co = Object.defineProperty, wo = Object.getOwnPropertySymbols, To = Object.prototype.hasOwnProperty, Eo = Object.prototype.propertyIsEnumerable, Do = (e, t, n) => t in e ? Co(e, t, {
5243
5243
  enumerable: !0,
5244
5244
  configurable: !0,
@@ -6122,8 +6122,8 @@ var qo = function() {
6122
6122
  let D = Oo({
6123
6123
  height: a,
6124
6124
  width: a
6125
- }, h), O = null;
6126
- return _ != null && (O = /* @__PURE__ */ r.createElement("img", {
6125
+ }, h), ee = null;
6126
+ return _ != null && (ee = /* @__PURE__ */ r.createElement("img", {
6127
6127
  src: _,
6128
6128
  key: _,
6129
6129
  style: { display: "none" },
@@ -6138,7 +6138,7 @@ var qo = function() {
6138
6138
  width: a,
6139
6139
  ref: b,
6140
6140
  role: "img"
6141
- }, g)), O);
6141
+ }, g)), ee);
6142
6142
  });
6143
6143
  Jo.displayName = "QRCodeCanvas";
6144
6144
  var Yo = r.forwardRef(function(e, t) {
@@ -6253,7 +6253,7 @@ function ts({ active: e, onClick: t, disabled: n, children: r, title: i }) {
6253
6253
  });
6254
6254
  }
6255
6255
  function ns({ catalog: e, value: t, onChange: n, disabled: r }) {
6256
- let i = S(), a = He(e), o = D(e, t), s = a.find((e) => e.family === o?.family)?.family ?? a[0]?.family ?? "", c = a.find((e) => e.family === s) ?? a[0];
6256
+ let i = S(), a = Ue(e), o = Ke(e, t), s = a.find((e) => e.family === o?.family)?.family ?? a[0]?.family ?? "", c = a.find((e) => e.family === s) ?? a[0];
6257
6257
  if (!c) return null;
6258
6258
  let l = c.tiers.find((e) => e.tier === o?.tier)?.tier ?? c.tiers[0]?.tier ?? "", u = c.tiers.find((e) => e.tier === l) ?? c.tiers[0];
6259
6259
  if (!u) return null;
@@ -6264,7 +6264,7 @@ function ns({ catalog: e, value: t, onChange: n, disabled: r }) {
6264
6264
  let t = u.options.filter((t) => t.resolution === e), r = t.find((e) => e.precision === (o?.precision ?? "fp32") && e.optimization === (o?.optimization ?? "standard")) ?? t[0];
6265
6265
  r && n(r.modelId);
6266
6266
  }, _ = (t) => {
6267
- let r = de(e, {
6267
+ let r = k(e, {
6268
6268
  family: c.family,
6269
6269
  tier: u.tier,
6270
6270
  precision: t.precision,
@@ -6396,7 +6396,7 @@ function as({ models: e, value: t, onChange: n, disabled: r, defaultModelId: a }
6396
6396
  r ? r.push(n) : t.set(e, [n]);
6397
6397
  }
6398
6398
  return t;
6399
- }, [e]), l = o(() => Ue.filter((e) => (c.get(e)?.length ?? 0) > 0), [c]), u = o(() => {
6399
+ }, [e]), l = o(() => We.filter((e) => (c.get(e)?.length ?? 0) > 0), [c]), u = o(() => {
6400
6400
  let n = e.find((e) => e.id === t);
6401
6401
  return n ? is(n) : void 0;
6402
6402
  }, [e, t]) ?? (l.includes("camstack") ? "camstack" : l[0] ?? "camstack"), [d, f] = g(u);
@@ -6494,12 +6494,12 @@ function us(e) {
6494
6494
  //#endregion
6495
6495
  //#region ../ui-library/src/composites/root-model-source.tsx
6496
6496
  function ds(e, t, n) {
6497
- return ae(e) ? le(e, t, n?.supplies) : null;
6497
+ return se(e) ? de(e, t, n?.supplies) : null;
6498
6498
  }
6499
6499
  function fs(e, t) {
6500
6500
  return {
6501
6501
  ...e,
6502
- [Pe]: t
6502
+ [Be]: t
6503
6503
  };
6504
6504
  }
6505
6505
  function ps(e, t = x) {
@@ -6562,8 +6562,8 @@ function _s(e, t) {
6562
6562
  return (t === void 0 ? e : e / t).toFixed(2).replace(/\.?0+$/, "");
6563
6563
  }
6564
6564
  function vs({ field: e, modelId: t, settings: n, disabled: r, onChangeSettings: i, hideSourceRow: a = !1 }) {
6565
- let o = S(), s = e.modelApplicability?.defaultByModel?.[t], c = j(n, e.key, t.length > 0 ? t : void 0, s, e.default), l = typeof e.default == "number" ? e.default : e.min ?? 0, u = typeof c.value == "number" ? c.value : l, d = e.type === "slider" ? e.displayScale : void 0, f = "unit" in e ? e.unit : void 0, p = c.inapplicableOverride, m = n?.[e.key] !== void 0, h = (r) => {
6566
- i(t.length > 0 ? fe(n, e.key, r, t) : {
6565
+ let o = S(), s = e.modelApplicability?.defaultByModel?.[t], c = le(n, e.key, t.length > 0 ? t : void 0, s, e.default), l = typeof e.default == "number" ? e.default : e.min ?? 0, u = typeof c.value == "number" ? c.value : l, d = e.type === "slider" ? e.displayScale : void 0, f = "unit" in e ? e.unit : void 0, p = c.inapplicableOverride, m = n?.[e.key] !== void 0, h = (r) => {
6566
+ i(t.length > 0 ? me(n, e.key, r, t) : {
6567
6567
  ...n,
6568
6568
  [e.key]: r
6569
6569
  });
@@ -6621,11 +6621,11 @@ function ys(e) {
6621
6621
  }
6622
6622
  function bs({ fields: e, modelId: t, settings: n, disabled: r, onReset: i }) {
6623
6623
  let a = S(), o = ys(e), s = t.length > 0 ? t : void 0;
6624
- return o.length === 0 || !N(n, o, s) ? null : /* @__PURE__ */ v("button", {
6624
+ return o.length === 0 || !ke(n, o, s) ? null : /* @__PURE__ */ v("button", {
6625
6625
  type: "button",
6626
6626
  disabled: r,
6627
6627
  className: "text-[10px] text-primary hover:underline disabled:opacity-50",
6628
- onClick: () => i(je(n, o, s)),
6628
+ onClick: () => i(Me(n, o, s)),
6629
6629
  children: a("uiLibrary.modelBoundSlider.resetThresholds", "Reset thresholds to model defaults")
6630
6630
  });
6631
6631
  }
@@ -6828,7 +6828,7 @@ function Es(e) {
6828
6828
  return e.type !== "separator" && e.type !== "info" && e.type !== "group";
6829
6829
  }
6830
6830
  function Ds(e) {
6831
- return "bindsToModel" in e && e.bindsToModel === !0 ? !0 : "key" in e && De(e.key);
6831
+ return "bindsToModel" in e && e.bindsToModel === !0 ? !0 : "key" in e && ae(e.key);
6832
6832
  }
6833
6833
  function Os(e) {
6834
6834
  return e.flatMap((e) => {
@@ -6896,13 +6896,13 @@ function Fs(e, t, n) {
6896
6896
  }
6897
6897
  var Is = ["camera", "node"];
6898
6898
  function Ls({ field: e, layers: t, target: n, labels: r, boundKeys: i, modelId: a, pinned: o, disabled: s, onReset: c, action: l }) {
6899
- let u = S(), d = ee(t), f = As(e, a), p = f.fromModel ? u("uiLibrary.layeredSettings.modelDefault", "model default") : u("uiLibrary.layeredSettings.default", "default"), m = re(t, e.key, i), h = ks(e), g = h ? j(d, e.key, a, f.value, f.value) : null, _ = g === null || g.source === "override" ? m : "default", b = _ === "default" ? p : r[_] ?? _, x = Is.filter((e) => e !== _ && r[e] !== void 0).filter((n) => t[n]?.[e.key] !== void 0).map((n) => {
6900
- let i = h ? t[n]?.[oe(e.key)] : void 0, o = typeof i == "string" && i !== a ? u("uiLibrary.layeredSettings.forModel", " (for {{model}})", { model: i }) : "";
6899
+ let u = S(), d = ee(t), f = As(e, a), p = f.fromModel ? u("uiLibrary.layeredSettings.modelDefault", "model default") : u("uiLibrary.layeredSettings.default", "default"), m = Le(t, e.key, i), h = ks(e), g = h ? le(d, e.key, a, f.value, f.value) : null, _ = g === null || g.source === "override" ? m : "default", b = _ === "default" ? p : r[_] ?? _, x = Is.filter((e) => e !== _ && r[e] !== void 0).filter((n) => t[n]?.[e.key] !== void 0).map((n) => {
6900
+ let i = h ? t[n]?.[O(e.key)] : void 0, o = typeof i == "string" && i !== a ? u("uiLibrary.layeredSettings.forModel", " (for {{model}})", { model: i }) : "";
6901
6901
  return `${r[n]} ${Ms(e, t[n]?.[e.key])}${o}`;
6902
- }), C = _ === "default" ? x : [...x, `${p} ${Ms(e, f.value)}`], w = re({ [n]: t[n] }, e.key, i) !== "default", T = Is.slice(Is.indexOf(n) + 1).find((n) => r[n] !== void 0 && t[n]?.[e.key] !== void 0), E = T === void 0 ? p : r[T] ?? T, D = m === "default" ? "default" : re({
6902
+ }), C = _ === "default" ? x : [...x, `${p} ${Ms(e, f.value)}`], w = Le({ [n]: t[n] }, e.key, i) !== "default", T = Is.slice(Is.indexOf(n) + 1).find((n) => r[n] !== void 0 && t[n]?.[e.key] !== void 0), E = T === void 0 ? p : r[T] ?? T, D = m === "default" ? "default" : Le({
6903
6903
  ...t,
6904
6904
  [m]: void 0
6905
- }, e.key, i), O = D === "default" ? p : r[D] ?? D;
6905
+ }, e.key, i), te = D === "default" ? p : r[D] ?? D;
6906
6906
  return /* @__PURE__ */ y("div", {
6907
6907
  className: "mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-[10px]",
6908
6908
  children: [
@@ -6919,7 +6919,7 @@ function Ls({ field: e, layers: t, target: n, labels: r, boundKeys: i, modelId:
6919
6919
  o && /* @__PURE__ */ v("span", {
6920
6920
  className: "rounded border border-warning/40 px-1.5 py-px text-warning",
6921
6921
  title: u("uiLibrary.layeredSettings.pinnedHint", "Stored by an older editor as a copy of the value below. It changes nothing today, but it stops later changes below from reaching this camera."),
6922
- children: u("uiLibrary.layeredSettings.pinned", "pinned at the {{source}} value", { source: O.toLowerCase() })
6922
+ children: u("uiLibrary.layeredSettings.pinned", "pinned at the {{source}} value", { source: te.toLowerCase() })
6923
6923
  }),
6924
6924
  /* @__PURE__ */ y("span", {
6925
6925
  className: "ml-auto flex items-center gap-2",
@@ -6935,7 +6935,7 @@ function Ls({ field: e, layers: t, target: n, labels: r, boundKeys: i, modelId:
6935
6935
  });
6936
6936
  }
6937
6937
  function Rs({ addon: e, fields: t, layers: n, target: r, labels: i, modelId: a, onChangeLayer: o, rootModel: s, pinnedKeys: c = [], fieldActions: l, headerActions: u, highlightKey: d = null, disabled: f = !1 }) {
6938
- let p = S(), m = r === "camera" ? Os(t) : t, h = We(m), g = ee(n), _ = n[r], b = Fs(e, a, g), x = ds(e.id, g, s);
6938
+ let p = S(), m = r === "camera" ? Os(t) : t, h = qe(m), g = ee(n), _ = n[r], b = Fs(e, a, g), x = ds(e.id, g, s);
6939
6939
  return /* @__PURE__ */ y("div", {
6940
6940
  className: "space-y-2 text-xs",
6941
6941
  children: [
@@ -6967,7 +6967,7 @@ function Rs({ addon: e, fields: t, layers: n, target: r, labels: i, modelId: a,
6967
6967
  settings: g,
6968
6968
  rootModel: s,
6969
6969
  disabled: f,
6970
- onChange: (e) => o(ne(_, Pe, fs(g, e), []))
6970
+ onChange: (e) => o(pe(_, Be, fs(g, e), []))
6971
6971
  }),
6972
6972
  m.map((e) => {
6973
6973
  if (!Es(e)) return /* @__PURE__ */ v(ws, {
@@ -6988,7 +6988,7 @@ function Rs({ addon: e, fields: t, layers: n, target: r, labels: i, modelId: a,
6988
6988
  step: b,
6989
6989
  disabled: f,
6990
6990
  hideModelBoundSourceRow: !0,
6991
- onChange: (t) => o(ne(_, e.key, t.settings ?? {}, h))
6991
+ onChange: (t) => o(pe(_, e.key, t.settings ?? {}, h))
6992
6992
  }), /* @__PURE__ */ v(Ls, {
6993
6993
  field: e,
6994
6994
  layers: n,
@@ -6998,8 +6998,8 @@ function Rs({ addon: e, fields: t, layers: n, target: r, labels: i, modelId: a,
6998
6998
  modelId: a,
6999
6999
  pinned: c.includes(e.key),
7000
7000
  disabled: f,
7001
- onReset: () => o(pe(_, e.key, h)),
7002
- action: l?.(e.key, re(n, e.key, h))
7001
+ onReset: () => o(fe(_, e.key, h)),
7002
+ action: l?.(e.key, Le(n, e.key, h))
7003
7003
  })]
7004
7004
  }, e.key);
7005
7005
  })
@@ -7010,7 +7010,7 @@ function Rs({ addon: e, fields: t, layers: n, target: r, labels: i, modelId: a,
7010
7010
  //#region ../ui-library/src/composites/agent-step-editor.tsx
7011
7011
  e();
7012
7012
  function zs(e) {
7013
- let t = new Set(he(e.id).map((e) => e.key));
7013
+ let t = new Set(Ge(e.id).map((e) => e.key));
7014
7014
  return (e.configSchema ?? []).filter((e) => !t.has(e.key));
7015
7015
  }
7016
7016
  function Bs(e, t, n, r) {
@@ -7018,7 +7018,7 @@ function Bs(e, t, n, r) {
7018
7018
  }
7019
7019
  function Vs({ addonId: e }) {
7020
7020
  let t = S();
7021
- return he(e).length === 0 ? null : /* @__PURE__ */ v("p", {
7021
+ return Ge(e).length === 0 ? null : /* @__PURE__ */ v("p", {
7022
7022
  className: "text-[10px] leading-snug text-foreground-subtle",
7023
7023
  children: t("uiLibrary.agentStepEditor.clusterHint", "Admission knobs for this step live in Pipeline → Cluster → Settings → Enrichment models. They apply to every camera — a per-device copy would fill the shared index from two policies.")
7024
7024
  });
@@ -7338,13 +7338,13 @@ function uc(e) {
7338
7338
  function dc(e) {
7339
7339
  let t = /* @__PURE__ */ new Map();
7340
7340
  for (let n of e ?? []) {
7341
- let e = Be.safeParse(uc(n.settings));
7342
- t.set(n.nodeId, e.success ? e.data : ze(n.nodeId));
7341
+ let e = Ne.safeParse(uc(n.settings));
7342
+ t.set(n.nodeId, e.success ? e.data : ve(n.nodeId));
7343
7343
  }
7344
7344
  return t;
7345
7345
  }
7346
7346
  function fc(e, t) {
7347
- return e.get(t) ?? ze(t);
7347
+ return e.get(t) ?? ve(t);
7348
7348
  }
7349
7349
  //#endregion
7350
7350
  //#region ../ui-library/src/composites/camera-stream-player.tsx
@@ -7498,46 +7498,46 @@ var Ec = {
7498
7498
  center: "text-center"
7499
7499
  };
7500
7500
  function Dc({ columns: e, rows: t, rowKey: n, onRowClick: r, minWidthPx: i = 480, emptyMessage: s, className: c, bordered: l = !0, rowClassName: u, maxBodyHeight: d, fill: f = !1, defaultSort: p, sort: m, onSortChange: h, pageSize: _, page: b, onPageChange: x, paginationLabels: S = hc, selection: C, renderExpanded: w, isExpanded: T }) {
7501
- let [E, D] = g(p ?? null), [O, ee] = g(0), k = m === void 0 ? E : m, A = (e) => {
7501
+ let [E, D] = g(p ?? null), [ee, te] = g(0), O = m === void 0 ? E : m, k = (e) => {
7502
7502
  m === void 0 && D(e), h?.(e);
7503
- }, j = (e) => {
7504
- b === void 0 && ee(e), x?.(e);
7505
- }, te = f || d !== void 0, ne = f ? "h-full min-h-0" : d ?? "", re = o(() => k === null ? void 0 : e.find((e) => e.key === k.columnKey && e.sortValue !== void 0), [e, k]), M = re?.sortValue, ie = o(() => M === void 0 ? t : wc(t, k, M), [
7503
+ }, A = (e) => {
7504
+ b === void 0 && te(e), x?.(e);
7505
+ }, ne = f || d !== void 0, re = f ? "h-full min-h-0" : d ?? "", ie = o(() => O === null ? void 0 : e.find((e) => e.key === O.columnKey && e.sortValue !== void 0), [e, O]), j = ie?.sortValue, ae = o(() => j === void 0 ? t : wc(t, O, j), [
7506
7506
  t,
7507
- k,
7508
- M
7509
- ]), ae = re === void 0 ? null : k, N = _ === void 0 ? null : mc(ie, b ?? O, _), oe = N === null ? ie : N.pageRows, P = N !== null && N.pageCount > 1 ? /* @__PURE__ */ v(pc, {
7510
- page: N,
7507
+ O,
7508
+ j
7509
+ ]), oe = ie === void 0 ? null : O, M = _ === void 0 ? null : mc(ae, b ?? ee, _), se = M === null ? ae : M.pageRows, N = M !== null && M.pageCount > 1 ? /* @__PURE__ */ v(pc, {
7510
+ page: M,
7511
7511
  labels: S,
7512
- onPageChange: j
7513
- }) : null, F = C === void 0 ? e : [yc(C, oe, (e) => String(n ? n(e, t.indexOf(e)) : t.indexOf(e))), ...e];
7512
+ onPageChange: A
7513
+ }) : null, P = C === void 0 ? e : [yc(C, se, (e) => String(n ? n(e, t.indexOf(e)) : t.indexOf(e))), ...e];
7514
7514
  if (t.length === 0 && s) return /* @__PURE__ */ v("div", {
7515
7515
  className: `rounded-lg ${l ? "border border-border" : ""} bg-surface px-3 py-4 text-xs text-foreground-subtle text-center ${c ?? ""}`,
7516
7516
  children: s
7517
7517
  });
7518
7518
  if (t.length === 0) return null;
7519
- let se = /* @__PURE__ */ v("div", {
7519
+ let F = /* @__PURE__ */ v("div", {
7520
7520
  className: [
7521
7521
  "rounded-lg",
7522
7522
  l ? "border border-border" : "",
7523
7523
  "bg-surface overflow-x-auto",
7524
- te ? `${ne} overflow-y-auto` : "",
7524
+ ne ? `${re} overflow-y-auto` : "",
7525
7525
  f ? "min-h-0 flex-1" : "",
7526
- !f && P === null ? c ?? "" : ""
7526
+ !f && N === null ? c ?? "" : ""
7527
7527
  ].filter(Boolean).join(" "),
7528
7528
  children: /* @__PURE__ */ y("table", {
7529
- className: `w-full text-xs ${te ? "border-separate border-spacing-0" : ""}`,
7529
+ className: `w-full text-xs ${ne ? "border-separate border-spacing-0" : ""}`,
7530
7530
  style: { minWidth: `${i}px` },
7531
7531
  children: [/* @__PURE__ */ v("thead", {
7532
7532
  className: "bg-surface",
7533
- children: /* @__PURE__ */ v("tr", { children: F.map((e) => {
7534
- let t = e.align ?? "left", n = e.nowrap ?? !0, r = e.sortValue !== void 0, i = ae !== null && ae.columnKey === e.key;
7533
+ children: /* @__PURE__ */ v("tr", { children: P.map((e) => {
7534
+ let t = e.align ?? "left", n = e.nowrap ?? !0, r = e.sortValue !== void 0, i = oe !== null && oe.columnKey === e.key;
7535
7535
  return /* @__PURE__ */ v("th", {
7536
- "aria-sort": r ? Tc(ae, e.key) : void 0,
7536
+ "aria-sort": r ? Tc(oe, e.key) : void 0,
7537
7537
  title: r ? void 0 : e.notSortableReason,
7538
7538
  className: [
7539
7539
  "px-3 py-2 text-foreground-subtle font-medium bg-surface border-b border-border",
7540
- te ? "sticky top-0 z-10" : "",
7540
+ ne ? "sticky top-0 z-10" : "",
7541
7541
  Ec[t],
7542
7542
  n ? "whitespace-nowrap" : "",
7543
7543
  e.width ?? ""
@@ -7545,17 +7545,17 @@ function Dc({ columns: e, rows: t, rowKey: n, onRowClick: r, minWidthPx: i = 480
7545
7545
  children: r ? /* @__PURE__ */ v(bc, {
7546
7546
  label: e.headerRender ? e.headerRender() : e.header,
7547
7547
  active: i,
7548
- dir: i && ae !== null ? ae.dir : "asc",
7549
- onSort: () => A(Sc(k, e.key))
7548
+ dir: i && oe !== null ? oe.dir : "asc",
7549
+ onSort: () => k(Sc(O, e.key))
7550
7550
  }) : e.headerRender ? e.headerRender() : e.header
7551
7551
  }, e.key);
7552
7552
  }) })
7553
- }), /* @__PURE__ */ v("tbody", { children: oe.map((e, t) => {
7553
+ }), /* @__PURE__ */ v("tbody", { children: se.map((e, t) => {
7554
7554
  let i = n ? n(e, t) : t, o = u?.(e, t) ?? "", s = r !== void 0, c = w !== void 0 && T?.(e) === !0 ? w(e, t) : null;
7555
7555
  return /* @__PURE__ */ y(a, { children: [/* @__PURE__ */ v("tr", {
7556
7556
  onClick: s ? () => r(e, t) : void 0,
7557
7557
  className: [s ? "cursor-pointer hover:bg-primary/5" : "hover:bg-primary/5", o].filter(Boolean).join(" "),
7558
- children: F.map((n) => {
7558
+ children: P.map((n) => {
7559
7559
  let r = n.align ?? "left", i = n.nowrap ?? !0;
7560
7560
  return /* @__PURE__ */ v("td", {
7561
7561
  "data-cell": n.key,
@@ -7571,7 +7571,7 @@ function Dc({ columns: e, rows: t, rowKey: n, onRowClick: r, minWidthPx: i = 480
7571
7571
  "data-expanded-row": "",
7572
7572
  className: "bg-surface",
7573
7573
  children: /* @__PURE__ */ v("td", {
7574
- colSpan: F.length,
7574
+ colSpan: P.length,
7575
7575
  className: "border-b border-border px-3 py-2",
7576
7576
  children: c
7577
7577
  })
@@ -7579,12 +7579,12 @@ function Dc({ columns: e, rows: t, rowKey: n, onRowClick: r, minWidthPx: i = 480
7579
7579
  }) })]
7580
7580
  })
7581
7581
  });
7582
- return P === null ? f ? /* @__PURE__ */ v("div", {
7582
+ return N === null ? f ? /* @__PURE__ */ v("div", {
7583
7583
  className: `flex min-h-0 flex-1 flex-col ${c ?? ""}`,
7584
- children: se
7585
- }) : se : /* @__PURE__ */ y("div", {
7584
+ children: F
7585
+ }) : F : /* @__PURE__ */ y("div", {
7586
7586
  className: f ? `flex min-h-0 flex-1 flex-col ${c ?? ""}` : c,
7587
- children: [se, P]
7587
+ children: [F, N]
7588
7588
  });
7589
7589
  }
7590
7590
  //#endregion
@@ -7678,7 +7678,7 @@ var Pc = ye(), Fc = new Set([
7678
7678
  "recording",
7679
7679
  "heatmapScrub"
7680
7680
  ]);
7681
- Object.freeze(Object.fromEntries(Me.filter((e) => !Fc.has(e)).map((e) => [e, te(Pc.swatches, Pc.fallbacks, e)])));
7681
+ Object.freeze(Object.fromEntries(Re.filter((e) => !Fc.has(e)).map((e) => [e, j(Pc.swatches, Pc.fallbacks, e)])));
7682
7682
  function Ic(e) {
7683
7683
  let t = e[0];
7684
7684
  if (t === void 0) throw Error("display palette has no fallback colour");
@@ -8364,84 +8364,84 @@ var tu = {
8364
8364
  "error"
8365
8365
  ], ru = 500, iu = 300, au = 24, ou = 1024 * 1024;
8366
8366
  function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integrationId: c, requestId: u, level: d, maxHeight: f = "max-h-96", showScope: p = !1, showDeviceChip: m = !1, showFilters: h = !0, showSourceSelect: _, limit: b = 100, liveBuffer: x, onClose: C, className: w }) {
8367
- let T = S(), E = _ ?? h, [D, O] = g(""), [ee, k] = g(""), [A, j] = g(d ?? "info"), [te, ne] = g(void 0), re = e, M = n ?? (D || void 0), ie = r ?? (ee ? Number(ee) : void 0), ae = c, N = u, oe = o(() => {
8367
+ let T = S(), E = _ ?? h, [D, ee] = g(""), [te, O] = g(""), [k, A] = g(d ?? "info"), [ne, re] = g(void 0), ie = e, j = n ?? (D || void 0), ae = r ?? (te ? Number(te) : void 0), oe = c, M = u, se = o(() => {
8368
8368
  let e = {};
8369
- return re && (e.agentId = re), M && (e.addonId = M), a !== void 0 && Number.isFinite(a) ? e.containerDeviceId = a : ie !== void 0 && Number.isFinite(ie) && (e.deviceId = ie), ae && (e.integrationId = ae), N && (e.requestId = N), Object.keys(e).length > 0 ? e : void 0;
8369
+ return ie && (e.agentId = ie), j && (e.addonId = j), a !== void 0 && Number.isFinite(a) ? e.containerDeviceId = a : ae !== void 0 && Number.isFinite(ae) && (e.deviceId = ae), oe && (e.integrationId = oe), M && (e.requestId = M), Object.keys(e).length > 0 ? e : void 0;
8370
8370
  }, [
8371
- re,
8372
- M,
8373
8371
  ie,
8374
- a,
8372
+ j,
8375
8373
  ae,
8376
- N
8377
- ]), P = Kl(ru), F = x ?? P, se = F.entries, [ce, le] = g(0), [ue, de] = g(!0), fe = t(!1), [pe, me] = g(!1), [he, ge] = g(!1), [I, _e] = g(/* @__PURE__ */ new Set()), [ve, ye] = g(""), be = t(null), xe = `${re ?? ""}:${M ?? ""}:${String(ie ?? "")}:${String(a ?? "")}:${ae ?? ""}:${N ?? ""}`, Se = t(xe);
8374
+ a,
8375
+ oe,
8376
+ M
8377
+ ]), N = Kl(ru), P = x ?? N, F = P.entries, [ce, le] = g(0), [ue, de] = g(!0), fe = t(!1), [pe, me] = g(!1), [he, ge] = g(!1), [I, _e] = g(/* @__PURE__ */ new Set()), [ve, ye] = g(""), be = t(null), xe = `${ie ?? ""}:${j ?? ""}:${String(ae ?? "")}:${String(a ?? "")}:${oe ?? ""}:${M ?? ""}`, Se = t(xe);
8378
8378
  i(() => {
8379
- Se.current !== xe && (Se.current = xe, F.reset(), le(0), _e(/* @__PURE__ */ new Set()), me(!1));
8380
- }, [xe, F]);
8379
+ Se.current !== xe && (Se.current = xe, P.reset(), le(0), _e(/* @__PURE__ */ new Set()), me(!1));
8380
+ }, [xe, P]);
8381
8381
  let Ce = ql(ve, iu).trim(), we = B.logs.sources.useQuery(void 0, { staleTime: 6e4 }), Te = o(() => (we.data ?? []).filter((e) => e.readable), [we.data]), Ee = Ql(o(() => ({
8382
- ...te ? { source: te } : {},
8383
- level: A,
8382
+ ...ne ? { source: ne } : {},
8383
+ level: k,
8384
8384
  ...Ce ? { text: Ce } : {},
8385
- ...oe ? { tags: oe } : {}
8385
+ ...se ? { tags: se } : {}
8386
8386
  }), [
8387
- te,
8388
- A,
8387
+ ne,
8388
+ k,
8389
8389
  Ce,
8390
- oe
8390
+ se
8391
8391
  ]), b);
8392
8392
  B.logs.subscribe.useSubscription({
8393
- level: A,
8393
+ level: k,
8394
8394
  ...Ce ? { text: Ce } : {},
8395
- ...oe ? { tags: oe } : {}
8395
+ ...se ? { tags: se } : {}
8396
8396
  }, { onData: (e) => {
8397
- F.append(e);
8397
+ P.append(e);
8398
8398
  } });
8399
- let L = `${te ?? ""}|${A}|${Ce}`, De = t(L);
8399
+ let De = `${ne ?? ""}|${k}|${Ce}`, Oe = t(De);
8400
8400
  i(() => {
8401
- De.current !== L && (De.current = L, F.reset(), de(!0));
8402
- }, [L, F]);
8403
- let Oe = o(() => {
8404
- let e = Xl(Ee.entries, se);
8401
+ Oe.current !== De && (Oe.current = De, P.reset(), de(!0));
8402
+ }, [De, P]);
8403
+ let ke = o(() => {
8404
+ let e = Xl(Ee.entries, F);
8405
8405
  return ce > 0 ? e.filter((e) => new Date(e.timestamp).getTime() > ce) : e;
8406
8406
  }, [
8407
8407
  Ee.entries,
8408
- se,
8408
+ F,
8409
8409
  ce
8410
- ]), ke = t(null), Ae = l(() => {
8410
+ ]), Ae = t(null), je = l(() => {
8411
8411
  if (Ee.status === "loading" || Ee.done) return;
8412
8412
  let e = be.current;
8413
- e && (ke.current = {
8413
+ e && (Ae.current = {
8414
8414
  height: e.scrollHeight,
8415
8415
  top: e.scrollTop
8416
8416
  }), Ee.loadOlder();
8417
8417
  }, [Ee]);
8418
8418
  s(() => {
8419
- let e = ke.current, t = be.current;
8419
+ let e = Ae.current, t = be.current;
8420
8420
  if (!e || !t || Ee.status !== "idle") return;
8421
- ke.current = null;
8421
+ Ae.current = null;
8422
8422
  let n = e.top + (t.scrollHeight - e.height);
8423
8423
  Math.abs(n - t.scrollTop) < 1 || (fe.current = !0, t.scrollTop = n);
8424
8424
  }, [Ee.status, Ee.entries.length]);
8425
- let je = l((e) => {
8425
+ let Me = l((e) => {
8426
8426
  let t = be.current;
8427
8427
  t && (fe.current = !0, t.scrollTo({
8428
8428
  top: t.scrollHeight,
8429
8429
  ...e ? { behavior: e } : {}
8430
8430
  }));
8431
- }, []), [Me, Ne] = g(!1), Pe = Oe.length > 0 ? Yl(Oe[Oe.length - 1]) : "", R = t(Pe);
8431
+ }, []), [Ne, Pe] = g(!1), Fe = ke.length > 0 ? Yl(ke[ke.length - 1]) : "", L = t(Fe);
8432
8432
  s(() => {
8433
- let e = Pe !== "" && Pe !== R.current;
8434
- R.current = Pe, e && (ue ? je() : Ne(!0));
8433
+ let e = Fe !== "" && Fe !== L.current;
8434
+ L.current = Fe, e && (ue ? Me() : Pe(!0));
8435
8435
  }, [
8436
- Pe,
8436
+ Fe,
8437
8437
  ue,
8438
- je
8438
+ Me
8439
8439
  ]), i(() => {
8440
- ue && Me && Ne(!1);
8441
- }, [ue, Me]);
8442
- let Fe = l(() => {
8443
- de(!0), je("smooth");
8444
- }, [je]), Ie = l(() => {
8440
+ ue && Ne && Pe(!1);
8441
+ }, [ue, Ne]);
8442
+ let Ie = l(() => {
8443
+ de(!0), Me("smooth");
8444
+ }, [Me]), Le = l(() => {
8445
8445
  if (fe.current) {
8446
8446
  fe.current = !1;
8447
8447
  return;
@@ -8449,23 +8449,23 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8449
8449
  let e = be.current;
8450
8450
  if (!e) return;
8451
8451
  let t = $l(e, 40);
8452
- de((e) => e === t ? e : t), e.scrollTop <= au && Ae();
8453
- }, [Ae]), Le = o(() => Oe.filter((e) => e.tags && Object.keys(e.tags).length > 0 || e.meta && Object.keys(e.meta).length > 0).map(Yl), [Oe]), Re = l(() => {
8452
+ de((e) => e === t ? e : t), e.scrollTop <= au && je();
8453
+ }, [je]), Re = o(() => ke.filter((e) => e.tags && Object.keys(e.tags).length > 0 || e.meta && Object.keys(e.meta).length > 0).map(Yl), [ke]), ze = l(() => {
8454
8454
  me((e) => (e && _e(/* @__PURE__ */ new Set()), !e));
8455
- }, []), ze = l(() => {
8456
- let e = Oe.map((e) => {
8455
+ }, []), Be = l(() => {
8456
+ let e = ke.map((e) => {
8457
8457
  let t = new Date(e.timestamp).toLocaleTimeString(), n = e.tags ? " " + Object.entries(e.tags).filter(([, e]) => e).map(([e, t]) => `${e}=${t}`).join(" ") : "";
8458
8458
  return `${t} [${e.level.toUpperCase()}]${e.scope ? ` [${e.scope}]` : ""}${n} ${e.message}`;
8459
8459
  });
8460
8460
  navigator.clipboard.writeText(e.join("\n")).then(() => {
8461
8461
  ge(!0), setTimeout(() => ge(!1), 1500);
8462
8462
  });
8463
- }, [Oe]), Be = B.logs.clear.useMutation(), Ve = l(() => {
8464
- le(Date.now()), F.reset(), Be.mutate(oe ? { tags: oe } : {});
8463
+ }, [ke]), R = B.logs.clear.useMutation(), Ve = l(() => {
8464
+ le(Date.now()), P.reset(), R.mutate(se ? { tags: se } : {});
8465
8465
  }, [
8466
- F,
8467
- Be,
8468
- oe
8466
+ P,
8467
+ R,
8468
+ se
8469
8469
  ]), He = l((e) => {
8470
8470
  _e((t) => {
8471
8471
  let n = new Set(t);
@@ -8490,24 +8490,24 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8490
8490
  className: "text-[10px] uppercase tracking-wide text-foreground-subtle font-medium",
8491
8491
  children: T("uiLibrary.logStream.logs", "Logs")
8492
8492
  }),
8493
- re && /* @__PURE__ */ v(uu, {
8493
+ ie && /* @__PURE__ */ v(uu, {
8494
8494
  label: T("uiLibrary.logStream.scopeAgent", "agent"),
8495
- value: re
8495
+ value: ie
8496
8496
  }),
8497
- M && /* @__PURE__ */ v(uu, {
8497
+ j && /* @__PURE__ */ v(uu, {
8498
8498
  label: T("uiLibrary.logStream.scopeAddon", "addon"),
8499
- value: M
8499
+ value: j
8500
8500
  }),
8501
- ie !== void 0 && /* @__PURE__ */ v(uu, {
8501
+ ae !== void 0 && /* @__PURE__ */ v(uu, {
8502
8502
  label: T("uiLibrary.logStream.scopeDevice", "device"),
8503
- value: `#${ie}`
8503
+ value: `#${ae}`
8504
8504
  }),
8505
8505
  /* @__PURE__ */ v("div", {
8506
8506
  className: "flex rounded border border-border overflow-hidden text-[9px]",
8507
8507
  children: nu.map((e, t) => /* @__PURE__ */ y("button", {
8508
8508
  type: "button",
8509
- onClick: () => j(e),
8510
- className: W("px-1.5 py-0.5 capitalize transition-colors", A === e ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", t > 0 && "border-l border-border"),
8509
+ onClick: () => A(e),
8510
+ className: W("px-1.5 py-0.5 capitalize transition-colors", k === e ? "bg-primary/10 text-primary" : "text-foreground-subtle hover:bg-surface-hover", t > 0 && "border-l border-border"),
8511
8511
  children: [e, "+"]
8512
8512
  }, e))
8513
8513
  }),
@@ -8516,8 +8516,8 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8516
8516
  children: /* @__PURE__ */ v(Ya, {
8517
8517
  "aria-label": T("uiLibrary.logStream.source", "Log source"),
8518
8518
  className: "h-5 text-[10px]",
8519
- value: te ?? Te.find((e) => e.isDefault)?.addonId ?? "",
8520
- onChange: (e) => ne(e.target.value),
8519
+ value: ne ?? Te.find((e) => e.isDefault)?.addonId ?? "",
8520
+ onChange: (e) => re(e.target.value),
8521
8521
  options: Te.map((e) => ({
8522
8522
  value: e.addonId,
8523
8523
  label: e.addonId
@@ -8533,21 +8533,21 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8533
8533
  label: ue ? T("uiLibrary.logStream.following", "Following") : T("uiLibrary.logStream.paused", "Paused"),
8534
8534
  active: ue,
8535
8535
  onClick: () => {
8536
- ue ? de(!1) : Fe();
8536
+ ue ? de(!1) : Ie();
8537
8537
  }
8538
8538
  }),
8539
8539
  /* @__PURE__ */ v(fu, {
8540
8540
  icon: pe ? Ht : Ut,
8541
8541
  label: pe ? T("uiLibrary.logStream.collapse", "Collapse") : T("uiLibrary.logStream.expand", "Expand"),
8542
8542
  active: pe,
8543
- onClick: Re,
8544
- disabled: Le.length === 0
8543
+ onClick: ze,
8544
+ disabled: Re.length === 0
8545
8545
  }),
8546
8546
  /* @__PURE__ */ v(fu, {
8547
8547
  icon: nn,
8548
8548
  label: he ? T("uiLibrary.logStream.copied", "Copied!") : T("uiLibrary.logStream.copy", "Copy"),
8549
- onClick: ze,
8550
- disabled: Oe.length === 0
8549
+ onClick: Be,
8550
+ disabled: ke.length === 0
8551
8551
  }),
8552
8552
  /* @__PURE__ */ v(fu, {
8553
8553
  icon: gt,
@@ -8570,9 +8570,9 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8570
8570
  children: /* @__PURE__ */ v(Wr, { className: "h-2.5 w-2.5" })
8571
8571
  })]
8572
8572
  }),
8573
- se.length > 0 && /* @__PURE__ */ v("span", {
8573
+ F.length > 0 && /* @__PURE__ */ v("span", {
8574
8574
  className: "text-[9px] text-emerald-400 font-medium",
8575
- children: T("uiLibrary.logStream.live", "+{{count}} live", { count: se.length })
8575
+ children: T("uiLibrary.logStream.live", "+{{count}} live", { count: F.length })
8576
8576
  })
8577
8577
  ]
8578
8578
  }), C && /* @__PURE__ */ v("button", {
@@ -8593,7 +8593,7 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8593
8593
  }), /* @__PURE__ */ v("input", {
8594
8594
  type: "text",
8595
8595
  value: D,
8596
- onChange: (e) => O(e.target.value),
8596
+ onChange: (e) => ee(e.target.value),
8597
8597
  placeholder: T("uiLibrary.logStream.all", "all"),
8598
8598
  className: "w-28 px-1.5 py-0.5 rounded border border-border bg-background text-foreground text-[10px] focus:outline-none focus:border-primary/50"
8599
8599
  })]
@@ -8605,8 +8605,8 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8605
8605
  }), /* @__PURE__ */ v("input", {
8606
8606
  type: "text",
8607
8607
  inputMode: "numeric",
8608
- value: ee,
8609
- onChange: (e) => k(e.target.value),
8608
+ value: te,
8609
+ onChange: (e) => O(e.target.value),
8610
8610
  placeholder: T("uiLibrary.logStream.all", "all"),
8611
8611
  className: "w-16 px-1.5 py-0.5 rounded border border-border bg-background text-foreground text-[10px] focus:outline-none focus:border-primary/50"
8612
8612
  })]
@@ -8614,33 +8614,33 @@ function su({ agentId: e, addonId: n, deviceId: r, containerDeviceId: a, integra
8614
8614
  }),
8615
8615
  /* @__PURE__ */ y("div", {
8616
8616
  className: "relative flex-1 min-h-0 flex flex-col",
8617
- children: [!ue && Me && /* @__PURE__ */ y("button", {
8617
+ children: [!ue && Ne && /* @__PURE__ */ y("button", {
8618
8618
  type: "button",
8619
- onClick: Fe,
8619
+ onClick: Ie,
8620
8620
  className: "absolute bottom-2 left-1/2 -translate-x-1/2 z-10 inline-flex items-center gap-1 px-2 py-1 rounded-full border border-primary/40 bg-primary/15 text-primary text-[10px] font-medium shadow-md backdrop-blur-sm hover:bg-primary/25 transition-colors",
8621
8621
  title: T("uiLibrary.logStream.jumpTitle", "Jump to the newest log line and resume following"),
8622
8622
  children: [/* @__PURE__ */ v(xt, { className: "h-3 w-3" }), T("uiLibrary.logStream.jumpToLatest", "Jump to latest")]
8623
8623
  }), /* @__PURE__ */ y("div", {
8624
8624
  ref: be,
8625
- onScroll: Ie,
8625
+ onScroll: Le,
8626
8626
  className: W("flex-1 min-h-0 overflow-auto font-mono text-[10px]", f),
8627
8627
  children: [
8628
8628
  /* @__PURE__ */ v(lu, {
8629
8629
  status: Ee.status,
8630
8630
  done: Ee.done,
8631
8631
  scannedBytes: Ee.scannedBytes,
8632
- hasRows: Oe.length > 0,
8632
+ hasRows: ke.length > 0,
8633
8633
  error: Ee.error,
8634
- onLoadOlder: Ae,
8634
+ onLoadOlder: je,
8635
8635
  onCancel: Ee.cancel
8636
8636
  }),
8637
- Ee.status === "idle" && Ee.done && Oe.length === 0 && /* @__PURE__ */ v("div", {
8637
+ Ee.status === "idle" && Ee.done && ke.length === 0 && /* @__PURE__ */ v("div", {
8638
8638
  className: "py-4 text-center text-foreground-subtle",
8639
8639
  children: T("uiLibrary.logStream.noLogs", "No logs found")
8640
8640
  }),
8641
- Oe.length > 0 && /* @__PURE__ */ v("table", {
8641
+ ke.length > 0 && /* @__PURE__ */ v("table", {
8642
8642
  className: "w-full",
8643
- children: /* @__PURE__ */ v("tbody", { children: Oe.map((e) => {
8643
+ children: /* @__PURE__ */ v("tbody", { children: ke.map((e) => {
8644
8644
  let t = tu[e.level] ?? tu.info, n = t.icon, r = Ke(e), i = pe || I.has(r), a = e.tags && Object.keys(e.tags).length > 0, o = e.meta && Object.keys(e.meta).length > 0, s = a || o;
8645
8645
  return /* @__PURE__ */ y("tr", {
8646
8646
  className: W("hover:bg-surface-hover/30 border-b border-border/30", s && "cursor-pointer"),
@@ -8802,7 +8802,7 @@ function fu({ icon: e, label: t, onClick: n, disabled: r, active: i }) {
8802
8802
  });
8803
8803
  }
8804
8804
  e(), R.AddonStarted, R.AddonInstalled, R.AddonRestarted, R.AddonUpdated, R.AddonStopped, R.AddonUninstalled, R.AddonCrashed, R.AddonError, R.DetectionPhaseTransition, R.DetectionResult, R.DetectionEvent, R.DetectionCameraNative, R.ProviderMotion, R.MotionOnMotionChanged, R.MotionAnalysis, R.MotionZonesRaw, R.ProviderDetection, R.PipelineAudioInferenceResult, R.AgentOnline, R.AgentOffline, R.DeviceRegistered, R.DeviceUnregistered, R.DeviceStateChanged, R.EventEmitted;
8805
- var pu = Object.freeze([...ue()]), mu = Object.freeze([
8805
+ var pu = Object.freeze([...A()]), mu = Object.freeze([
8806
8806
  R.PipelineCameraMetricsSnapshot,
8807
8807
  R.PipelineRunnerLoadSnapshot,
8808
8808
  R.PipelineEngineMetricsSnapshot,
@@ -8824,7 +8824,7 @@ var pu = Object.freeze([...ue()]), mu = Object.freeze([
8824
8824
  ]), hu = new Set(mu);
8825
8825
  //#endregion
8826
8826
  //#region ../ui-library/src/composites/device-controls/atoms.tsx
8827
- Object.freeze(pu.filter((e) => !hu.has(e))), e(), Object.freeze([...new Set(ve.filter((e) => e.scope === "device").map((e) => e.name))].toSorted()), e(), e();
8827
+ Object.freeze(pu.filter((e) => !hu.has(e))), e(), Object.freeze([...new Set(Ve.filter((e) => e.scope === "device").map((e) => e.name))].toSorted()), e(), e();
8828
8828
  function gu({ value: e, unit: t, onDelta: n }) {
8829
8829
  let r = S();
8830
8830
  return /* @__PURE__ */ y("div", {
@@ -9102,13 +9102,13 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9102
9102
  slice: (e) => e.state.lockControl
9103
9103
  }), { display: l, applyOptimistic: u } = q(s, { enabled: r ?? !0 }), [d, f] = g(null), [p, m] = g(!1), [h, _] = g(null);
9104
9104
  if (l === void 0) return null;
9105
- let b = l.state === "locked" || l.state === "locking", x = !c || l.state === "jammed", C = i?.includes(Re.LockOpen) === !0, w = n === "compact", T = () => {
9105
+ let b = l.state === "locked" || l.state === "locking", x = !c || l.state === "jammed", C = i?.includes(De.LockOpen) === !0, w = n === "compact", T = () => {
9106
9106
  u({ state: "locking" }), o?.lock({});
9107
9107
  }, E = () => {
9108
9108
  u({ state: "unlocking" }), o?.unlock({});
9109
9109
  }, D = () => {
9110
9110
  o?.open({});
9111
- }, O = () => {
9111
+ }, ee = () => {
9112
9112
  if (!x) {
9113
9113
  if (!b) {
9114
9114
  T();
@@ -9120,7 +9120,7 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9120
9120
  }
9121
9121
  E();
9122
9122
  }
9123
- }, ee = () => {
9123
+ }, te = () => {
9124
9124
  if (!x) {
9125
9125
  if (w) {
9126
9126
  _(null), f("open");
@@ -9128,9 +9128,9 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9128
9128
  }
9129
9129
  D();
9130
9130
  }
9131
- }, k = () => {
9131
+ }, O = () => {
9132
9132
  p || f(null);
9133
- }, A = async () => {
9133
+ }, k = async () => {
9134
9134
  if (!(p || d === null)) {
9135
9135
  _(null), m(!0);
9136
9136
  try {
@@ -9141,17 +9141,17 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9141
9141
  m(!1);
9142
9142
  }
9143
9143
  }
9144
- }, j = b ? a("uiLibrary.lockPanel.unlock", "Unlock") : a("uiLibrary.lockPanel.lock", "Lock"), te = d === "open" ? a("uiLibrary.lockPanel.openDoorTitle", "Open door?") : a("uiLibrary.lockPanel.unlockTitle", "Unlock device?"), ne = d === "open" ? a("uiLibrary.lockPanel.openDoorBody", "This will release the latch and open the door.") : a("uiLibrary.lockPanel.unlockBody", "This will unlock the device."), re = d === "open" ? a("uiLibrary.lockPanel.confirmOpen", "Confirm open") : a("uiLibrary.lockPanel.confirmUnlock", "Confirm unlock"), M = v(d === "open" ? cn : jn, { className: "h-4 w-4 text-amber-400" });
9144
+ }, A = b ? a("uiLibrary.lockPanel.unlock", "Unlock") : a("uiLibrary.lockPanel.lock", "Lock"), ne = d === "open" ? a("uiLibrary.lockPanel.openDoorTitle", "Open door?") : a("uiLibrary.lockPanel.unlockTitle", "Unlock device?"), re = d === "open" ? a("uiLibrary.lockPanel.openDoorBody", "This will release the latch and open the door.") : a("uiLibrary.lockPanel.unlockBody", "This will unlock the device."), ie = d === "open" ? a("uiLibrary.lockPanel.confirmOpen", "Confirm open") : a("uiLibrary.lockPanel.confirmUnlock", "Confirm unlock"), j = v(d === "open" ? cn : jn, { className: "h-4 w-4 text-amber-400" });
9145
9145
  return /* @__PURE__ */ y("div", {
9146
9146
  className: W("inline-flex items-center", n === "full" ? "gap-2" : "gap-1"),
9147
9147
  children: [
9148
9148
  /* @__PURE__ */ y("button", {
9149
9149
  type: "button",
9150
- "aria-label": j,
9151
- title: l.state === "jammed" ? a("uiLibrary.lockPanel.jammed", "Jammed") : j,
9150
+ "aria-label": A,
9151
+ title: l.state === "jammed" ? a("uiLibrary.lockPanel.jammed", "Jammed") : A,
9152
9152
  disabled: x,
9153
9153
  onClick: (e) => {
9154
- e.stopPropagation(), O();
9154
+ e.stopPropagation(), ee();
9155
9155
  },
9156
9156
  className: W("inline-flex items-center justify-center rounded transition-colors", n === "full" ? "h-7 gap-1.5 px-2 text-xs" : "h-5 w-5", b ? "text-success" : "text-warning", x && "opacity-40 cursor-not-allowed", "hover:bg-surface-hover"),
9157
9157
  children: [v(b ? Mn : jn, { className: "h-3.5 w-3.5" }), n === "full" && /* @__PURE__ */ v("span", { children: l.state })]
@@ -9162,7 +9162,7 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9162
9162
  title: a("uiLibrary.lockPanel.openDoor", "Open door"),
9163
9163
  disabled: x,
9164
9164
  onClick: (e) => {
9165
- e.stopPropagation(), ee();
9165
+ e.stopPropagation(), te();
9166
9166
  },
9167
9167
  className: W("inline-flex items-center justify-center rounded transition-colors", n === "full" ? "h-7 gap-1.5 px-2 text-xs" : "h-5 w-5", "text-foreground-muted", x && "opacity-40 cursor-not-allowed", "hover:bg-surface-hover"),
9168
9168
  children: [/* @__PURE__ */ v(cn, { className: "h-3.5 w-3.5" }), n === "full" && /* @__PURE__ */ v("span", { children: a("uiLibrary.lockPanel.open", "Open") })]
@@ -9170,7 +9170,7 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9170
9170
  w && /* @__PURE__ */ v(go, {
9171
9171
  open: d !== null,
9172
9172
  onOpenChange: (e) => {
9173
- e || k();
9173
+ e || O();
9174
9174
  },
9175
9175
  children: /* @__PURE__ */ y(vo, {
9176
9176
  width: "sm",
@@ -9178,8 +9178,8 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9178
9178
  children: [
9179
9179
  /* @__PURE__ */ y(yo, { children: [/* @__PURE__ */ y(xo, {
9180
9180
  className: "flex items-center gap-2",
9181
- children: [M, te]
9182
- }), /* @__PURE__ */ v(So, { children: ne })] }),
9181
+ children: [j, ne]
9182
+ }), /* @__PURE__ */ v(So, { children: re })] }),
9183
9183
  h !== null && /* @__PURE__ */ v("div", {
9184
9184
  className: "mt-2 px-3 py-2 rounded border border-danger/40 bg-danger/10 text-xs text-danger",
9185
9185
  children: h
@@ -9189,18 +9189,18 @@ function Iu({ trpc: e, deviceId: t, layout: n, optimistic: r, features: i }) {
9189
9189
  variant: "ghost",
9190
9190
  size: "sm",
9191
9191
  disabled: p,
9192
- onClick: () => k(),
9192
+ onClick: () => O(),
9193
9193
  children: a("uiLibrary.lockPanel.cancel", "Cancel")
9194
9194
  }), /* @__PURE__ */ y(oo, {
9195
9195
  type: "button",
9196
9196
  variant: "danger",
9197
9197
  size: "sm",
9198
- "aria-label": re,
9198
+ "aria-label": ie,
9199
9199
  disabled: p,
9200
9200
  onClick: () => {
9201
- A();
9201
+ k();
9202
9202
  },
9203
- children: [p && /* @__PURE__ */ v(An, { className: "h-3.5 w-3.5 animate-spin" }), re]
9203
+ children: [p && /* @__PURE__ */ v(An, { className: "h-3.5 w-3.5 animate-spin" }), ie]
9204
9204
  })] })
9205
9205
  ]
9206
9206
  })
@@ -9792,7 +9792,7 @@ function $u(e, t) {
9792
9792
  //#endregion
9793
9793
  //#region ../ui-library/src/lib/resolve-sensor-display.ts
9794
9794
  function ed(e) {
9795
- if (e !== void 0) return k(e) ?? e;
9795
+ if (e !== void 0) return ne(e) ?? e;
9796
9796
  }
9797
9797
  function td(e) {
9798
9798
  if (e.quantity !== void 0) {
@@ -9804,15 +9804,15 @@ function td(e) {
9804
9804
  }
9805
9805
  }
9806
9806
  function nd(e) {
9807
- let t = e.capName === void 0 ? void 0 : e.display?.perCap?.[e.capName], n = t?.precision ?? e.display?.precision ?? e.roleDefault?.precision ?? e.declarationPrecision, r = td(e), i = e.preference ?? Ve, a = r === void 0 ? void 0 : _e(r), o = r === void 0 ? void 0 : ce(r, i), s = ed(t?.unit ?? e.display?.unit ?? e.roleDefault?.unit), c = s !== void 0 && a !== void 0 && s !== a && Se(a, s), l = c ? s : o ?? "", u = r === "duration" || r === "information" || r === "duration-ms", d = (e) => u || a === void 0 || l.length === 0 || l === a ? e : Ie(e, a, l) ?? e;
9807
+ let t = e.capName === void 0 ? void 0 : e.display?.perCap?.[e.capName], n = t?.precision ?? e.display?.precision ?? e.roleDefault?.precision ?? e.declarationPrecision, r = td(e), i = e.preference ?? Pe, a = r === void 0 ? void 0 : Ae(r), o = r === void 0 ? void 0 : te(r, i), s = ed(t?.unit ?? e.display?.unit ?? e.roleDefault?.unit), c = s !== void 0 && a !== void 0 && s !== a && Ie(a, s), l = c ? s : o ?? "", u = r === "duration" || r === "information" || r === "duration-ms", d = (e) => u || a === void 0 || l.length === 0 || l === a ? e : re(e, a, l) ?? e;
9808
9808
  return {
9809
9809
  unit: l,
9810
9810
  precision: n,
9811
9811
  toDisplayValue: d,
9812
- fromDisplayValue: (e) => u || a === void 0 || l.length === 0 || l === a ? e : Ie(e, l, a) ?? e,
9812
+ fromDisplayValue: (e) => u || a === void 0 || l.length === 0 || l === a ? e : re(e, l, a) ?? e,
9813
9813
  format: (e) => {
9814
9814
  if (r !== void 0 && !c) {
9815
- let t = O({
9815
+ let t = M({
9816
9816
  value: e,
9817
9817
  quantity: r,
9818
9818
  preference: i,
@@ -10063,7 +10063,7 @@ function gd({ trpc: e, deviceId: t, features: n, layout: r, optimistic: i }) {
10063
10063
  slice: (e) => e.state.control
10064
10064
  }), { display: l, applyOptimistic: u } = q(s, { enabled: i ?? !0 });
10065
10065
  if (l === void 0) return null;
10066
- let d = !c, f = a?.sourceInfo?.quantity, p = ie(f) && f !== "device" && f !== "none" ? f : void 0;
10066
+ let d = !c, f = a?.sourceInfo?.quantity, p = oe(f) && f !== "device" && f !== "none" ? f : void 0;
10067
10067
  return /* @__PURE__ */ v("div", {
10068
10068
  "data-kind": l.kind,
10069
10069
  className: "inline-flex min-w-0 max-w-full items-center gap-1 rounded border border-border px-2 py-1 transition-colors",
@@ -10548,7 +10548,7 @@ function Id({ trpc: e, deviceId: t, features: n, optimistic: r }) {
10548
10548
  slice: (e) => e.state.cover
10549
10549
  }), { display: c, applyOptimistic: l } = q(o, { enabled: r ?? !0 });
10550
10550
  if (a === void 0) return null;
10551
- let u = !s, d = (n ?? []).includes(Re.CoverPositionable), f = (n ?? []).includes(Re.CoverTilt), p = Od(c?.state), m = c?.position ?? null, h = m !== null, g = c?.state === "open" || c?.state === "opening", _ = (e, t) => {
10551
+ let u = !s, d = (n ?? []).includes(De.CoverPositionable), f = (n ?? []).includes(De.CoverTilt), p = Od(c?.state), m = c?.position ?? null, h = m !== null, g = c?.state === "open" || c?.state === "opening", _ = (e, t) => {
10552
10552
  u || !e || (t !== void 0 && l(t), e({}));
10553
10553
  }, b = (e) => {
10554
10554
  u || (l({ position: e }), a?.setPosition({ position: e }));
@@ -10801,7 +10801,7 @@ function qd(e) {
10801
10801
  return t !== void 0 && Ud(t, n) ? {
10802
10802
  kind: "value",
10803
10803
  slice: n
10804
- } : e.addonId === qe && e.snapshotStatus === "success" ? { kind: "quiet" } : { kind: "awaiting" };
10804
+ } : e.addonId === _e && e.snapshotStatus === "success" ? { kind: "quiet" } : { kind: "awaiting" };
10805
10805
  }
10806
10806
  //#endregion
10807
10807
  //#region ../ui-library/src/composites/device-controls/sensor-hero-card.tsx
@@ -12169,7 +12169,7 @@ function zf({ label: e, busy: t, variant: n, onClick: r, children: i }) {
12169
12169
  function Bf({ trpc: e, deviceId: t, features: n, optimistic: r }) {
12170
12170
  let i = S(), { cap: a, slice: o, available: s } = Mf(e, t), { display: c, applyOptimistic: l } = q(o, { enabled: r ?? !0 });
12171
12171
  if (a === void 0) return null;
12172
- let u = !s, d = (n ?? []).includes(Re.ValvePositionable), f = Od(c?.state), p = jf(c?.state, i), m = c?.position ?? null, h = m !== null, g = (e, t) => {
12172
+ let u = !s, d = (n ?? []).includes(De.ValvePositionable), f = Od(c?.state), p = jf(c?.state, i), m = c?.position ?? null, h = m !== null, g = (e, t) => {
12173
12173
  u || !e || (t !== void 0 && l(t), e({}));
12174
12174
  }, _ = (e) => {
12175
12175
  u || (l({ position: e }), a.setPosition({ position: e }));
@@ -12933,7 +12933,7 @@ function tp(e, t) {
12933
12933
  }
12934
12934
  function np(e, t) {
12935
12935
  if (e === null) return "—";
12936
- let n = O({
12936
+ let n = M({
12937
12937
  value: e,
12938
12938
  quantity: t,
12939
12939
  precision: 0
@@ -13243,7 +13243,7 @@ function sp({ icon: e, label: t, value: n }) {
13243
13243
  function cp({ trpc: e, deviceId: t }) {
13244
13244
  let n = S(), { slice: r } = tp(e, t);
13245
13245
  if (r === void 0) return null;
13246
- let i = Qf(r.condition, n), a = $f(r.condition), o = r.temperature === null ? void 0 : O({
13246
+ let i = Qf(r.condition, n), a = $f(r.condition), o = r.temperature === null ? void 0 : M({
13247
13247
  value: r.temperature,
13248
13248
  quantity: "temperature",
13249
13249
  precision: 0
@@ -13266,7 +13266,7 @@ function cp({ trpc: e, deviceId: t }) {
13266
13266
  }),
13267
13267
  /* @__PURE__ */ v("span", {
13268
13268
  className: "text-base text-foreground-subtle",
13269
- children: o === void 0 ? O({
13269
+ children: o === void 0 ? M({
13270
13270
  value: 0,
13271
13271
  quantity: "temperature"
13272
13272
  }).unit : o.unit
@@ -13463,7 +13463,7 @@ function gp({ trpc: e, deviceId: t, deviceName: n }) {
13463
13463
  e();
13464
13464
  var _p = 20, vp = 9, yp = "#f59e0b", bp = "#ef4444";
13465
13465
  function xp(e, t) {
13466
- let n = O({
13466
+ let n = M({
13467
13467
  value: t,
13468
13468
  quantity: "duration"
13469
13469
  });
@@ -13473,7 +13473,7 @@ function xp(e, t) {
13473
13473
  });
13474
13474
  }
13475
13475
  function Sp(e) {
13476
- return Math.min(Le, Math.max(Ee, e));
13476
+ return Math.min(Ee, Math.max(ge, e));
13477
13477
  }
13478
13478
  var Cp = "\n@keyframes pf-eat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(2px)} }\n@keyframes pf-pulse { 0%,100%{opacity:.55} 50%{opacity:1} }\n@media (prefers-reduced-motion: reduce) {\n .pf-eat, .pf-pulse { animation: none !important; }\n}\n";
13479
13479
  function wp({ trpc: e, deviceId: t, layout: n, optimistic: r }) {
@@ -13772,7 +13772,7 @@ function Ep({ icon: e, label: t }) {
13772
13772
  });
13773
13773
  }
13774
13774
  function Dp({ grams: e, low: t, eating: n }) {
13775
- let r = S(), i = Math.min(1, Math.max(0, (e ?? 0) / Le)), a = t ? bp : yp, o = 52 - i * 24;
13775
+ let r = S(), i = Math.min(1, Math.max(0, (e ?? 0) / Ee)), a = t ? bp : yp, o = 52 - i * 24;
13776
13776
  return /* @__PURE__ */ y("svg", {
13777
13777
  width: 72,
13778
13778
  height: 72,
@@ -13838,7 +13838,7 @@ function Op({ label: e, grams: t, busy: n, onGrams: r, onFeed: i }) {
13838
13838
  /* @__PURE__ */ v(kp, {
13839
13839
  label: a("uiLibrary.petFeeder.decreasePortion", "Decrease {{label}} portion", { label: e }),
13840
13840
  symbol: "−",
13841
- disabled: n || t <= Ee,
13841
+ disabled: n || t <= ge,
13842
13842
  onClick: () => r(Sp(t - 1))
13843
13843
  }),
13844
13844
  /* @__PURE__ */ y("span", {
@@ -13851,7 +13851,7 @@ function Op({ label: e, grams: t, busy: n, onGrams: r, onFeed: i }) {
13851
13851
  /* @__PURE__ */ v(kp, {
13852
13852
  label: a("uiLibrary.petFeeder.increasePortion", "Increase {{label}} portion", { label: e }),
13853
13853
  symbol: "+",
13854
- disabled: n || t >= Le,
13854
+ disabled: n || t >= Ee,
13855
13855
  onClick: () => r(Sp(t + 1))
13856
13856
  })
13857
13857
  ]
@@ -15190,7 +15190,7 @@ function Pm({ trpc: e, deviceId: t, features: n, optimistic: r }) {
15190
15190
  slice: (e) => e.state.lockControl
15191
15191
  }), { display: s, applyOptimistic: c } = q(a, { enabled: r ?? !0 });
15192
15192
  if (i === void 0 || s === void 0) return null;
15193
- let l = Om(s.state), u = km(s.state) || !o, d = n?.includes(Re.LockOpen) === !0, f = () => {
15193
+ let l = Om(s.state), u = km(s.state) || !o, d = n?.includes(De.LockOpen) === !0, f = () => {
15194
15194
  u || (l ? (c({ state: "unlocking" }), i.unlock({})) : (c({ state: "locking" }), i.lock({})));
15195
15195
  }, p = () => {
15196
15196
  u || i.open({});
@@ -15248,7 +15248,7 @@ function Hm({ trpc: e, deviceId: t, features: n, optimistic: r }) {
15248
15248
  slice: (e) => e.state.color
15249
15249
  }), c = q(a.slice, { enabled: r ?? !0 }), l = q(o.slice, { enabled: r ?? !0 }), u = q(s.slice, { enabled: r ?? !0 });
15250
15250
  if (a.cap === void 0 || c.display === void 0) return null;
15251
- let d = c.display.on === !0, f = !a.available, p = l.display?.percentage ?? 0, m = !o.available, h = d ? p / 100 : 0, g = d ? Bm : Vm, _ = (n?.includes(Re.LightColorMired) ?? !1) && s.cap !== void 0, b = u.display?.mireds, x = !s.available;
15251
+ let d = c.display.on === !0, f = !a.available, p = l.display?.percentage ?? 0, m = !o.available, h = d ? p / 100 : 0, g = d ? Bm : Vm, _ = (n?.includes(De.LightColorMired) ?? !1) && s.cap !== void 0, b = u.display?.mireds, x = !s.available;
15252
15252
  return /* @__PURE__ */ y("div", {
15253
15253
  className: "flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-4",
15254
15254
  children: [
@@ -15373,7 +15373,7 @@ function Gm({ trpc: e, deviceId: t, features: n, optimistic: r }) {
15373
15373
  slice: (e) => e.state.fanControl
15374
15374
  }), s = q(a.slice, { enabled: r ?? !0 }), c = q(o.slice, { enabled: r ?? !0 });
15375
15375
  if (a.cap === void 0 || s.display === void 0) return null;
15376
- let l = s.display.on === !0, u = !a.available, d = c.display?.percentage ?? 0, f = !o.available, p = l ? d / 100 : 0, m = l ? Um : Wm, h = n?.includes(Re.FanSpeed) ?? !1, g = (n?.includes(Re.FanOscillating) ?? !1) && o.cap !== void 0, _ = c.display?.availablePresets ?? [], b = (n?.includes(Re.FanPreset) ?? !1) && o.cap !== void 0 && _.length > 0, x = c.display?.preset ?? "", C = c.display?.oscillating === !0, w = () => {
15376
+ let l = s.display.on === !0, u = !a.available, d = c.display?.percentage ?? 0, f = !o.available, p = l ? d / 100 : 0, m = l ? Um : Wm, h = n?.includes(De.FanSpeed) ?? !1, g = (n?.includes(De.FanOscillating) ?? !1) && o.cap !== void 0, _ = c.display?.availablePresets ?? [], b = (n?.includes(De.FanPreset) ?? !1) && o.cap !== void 0 && _.length > 0, x = c.display?.preset ?? "", C = c.display?.oscillating === !0, w = () => {
15377
15377
  if (u) return;
15378
15378
  let e = !l;
15379
15379
  s.applyOptimistic({ on: e }), a.cap?.setState({ on: e });
@@ -15563,7 +15563,7 @@ function Qm({ trpc: e, deviceId: t, features: n, optimistic: r }) {
15563
15563
  slice: (e) => e.state.mediaPlayer
15564
15564
  }), { display: c, applyOptimistic: l } = q(o, { enabled: r ?? !0 });
15565
15565
  if (a === void 0 || c === void 0) return null;
15566
- let u = !s, d = qm(c.state), f = (n?.includes(Re.MediaPlayerSeek) ?? !1) && c.durationMs !== null && c.durationMs > 0, p = n?.includes(Re.MediaPlayerNext) ?? !1, m = n?.includes(Re.MediaPlayerPrevious) ?? !1, h = (n?.includes(Re.MediaPlayerVolume) ?? !1) && c.volumeLevel !== null, g = () => {
15566
+ let u = !s, d = qm(c.state), f = (n?.includes(De.MediaPlayerSeek) ?? !1) && c.durationMs !== null && c.durationMs > 0, p = n?.includes(De.MediaPlayerNext) ?? !1, m = n?.includes(De.MediaPlayerPrevious) ?? !1, h = (n?.includes(De.MediaPlayerVolume) ?? !1) && c.volumeLevel !== null, g = () => {
15567
15567
  u || (d === "play" ? (l({ state: "playing" }), a.play({})) : (l({ state: "paused" }), a.pause({})));
15568
15568
  }, _ = c.currentMedia?.artist ?? c.currentMedia?.album ?? null, b = Jm(c.positionMs, c.durationMs), x = c.volumeLevel ?? 0;
15569
15569
  return /* @__PURE__ */ y("div", {
@@ -16457,7 +16457,7 @@ var Vh = {
16457
16457
  HeroCard: Rd
16458
16458
  }
16459
16459
  };
16460
- Object.fromEntries(Object.values(I).map((e) => [e, Vh[Ne[e]]])), I.Cover, I.Valve, I.Thermostat, I.Climate, I.Control, I.Button, I.MediaPlayer, I.AlarmPanel, I.Lock, I.Vacuum, I.LawnMower, I.Humidifier, I.Switch, I.Siren, I.Light, I.Fan, I.WaterHeater, I.Sensor, I.Presence, I.EventEmitter, I.Notifier, I.Script, I.Automation, I.Camera, I.Hub, I.Update, I.Generic, I.Weather, I.Container, I.Image, I.PetFeeder, I.Dishwasher, new Set(Object.values(I));
16460
+ Object.fromEntries(Object.values(L).map((e) => [e, Vh[ze[e]]])), L.Cover, L.Valve, L.Thermostat, L.Climate, L.Control, L.Button, L.MediaPlayer, L.AlarmPanel, L.Lock, L.Vacuum, L.LawnMower, L.Humidifier, L.Switch, L.Siren, L.Light, L.Fan, L.WaterHeater, L.Sensor, L.Presence, L.EventEmitter, L.Notifier, L.Script, L.Automation, L.Camera, L.Hub, L.Update, L.Generic, L.Weather, L.Container, L.Image, L.PetFeeder, L.Dishwasher, new Set(Object.values(L));
16461
16461
  //#endregion
16462
16462
  //#region ../ui-library/src/lib/format-last-seen.ts
16463
16463
  var Hh = 1e3;
@@ -19731,7 +19731,7 @@ function MS(e, t) {
19731
19731
  }
19732
19732
  //#endregion
19733
19733
  //#region ../ui-library/src/composites/device-selector-picker.tsx
19734
- e(), e(), e(), e(), e(), e(), d(null), e(), new Set([I.Sensor, I.Presence]), e(), d({}), e(), e(), Object.freeze([]), e(), e(), e(), Qe("camstack:device-quick-detail", null), e(), e(), e(), e(), e(), e(), e(), e(), e(), Q({
19734
+ e(), e(), e(), e(), e(), e(), d(null), e(), new Set([L.Sensor, L.Presence]), e(), d({}), e(), e(), Object.freeze([]), e(), e(), e(), Qe("camstack:device-quick-detail", null), e(), e(), e(), e(), e(), e(), e(), e(), e(), Q({
19735
19735
  id: Fx(),
19736
19736
  stableId: Z(),
19737
19737
  addonId: Z(),
@@ -20033,20 +20033,20 @@ function ZS({ nodes: e, selected: t, onSelect: n }) {
20033
20033
  });
20034
20034
  }
20035
20035
  var QS = c(function({ tree: e, agents: n, getCellState: r, onCellClick: a, onStepClick: c, stepBadge: l, selectedCell: d, single: f, reserveRightPx: p, label: m }, h) {
20036
- let _ = S(), b = o(() => FS(e), [e]), x = o(() => PS(n), [n]), C = t(null), w = f ? JS : KS, T = `${w}rem repeat(${n.length}, 13rem)`, E = n.length + 1, [D, O] = g(!0);
20036
+ let _ = S(), b = o(() => FS(e), [e]), x = o(() => PS(n), [n]), C = t(null), w = f ? JS : KS, T = `${w}rem repeat(${n.length}, 13rem)`, E = n.length + 1, [D, ee] = g(!0);
20037
20037
  s(() => {
20038
20038
  let e = C.current;
20039
20039
  if (!e || p <= 0) {
20040
- O(!0);
20040
+ ee(!0);
20041
20041
  return;
20042
20042
  }
20043
20043
  let t = () => {
20044
20044
  let t = e.getBoundingClientRect().left;
20045
- O(window.innerWidth - p - t >= w * 16 + 208 + 24);
20045
+ ee(window.innerWidth - p - t >= w * 16 + 208 + 24);
20046
20046
  };
20047
20047
  return t(), window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
20048
20048
  }, [p, w]);
20049
- let ee = o(() => {
20049
+ let te = o(() => {
20050
20050
  if (d === null) return null;
20051
20051
  let e = b.findIndex((e) => e.node.addonId === d.addonId);
20052
20052
  if (e < 0) return null;
@@ -20059,30 +20059,30 @@ var QS = c(function({ tree: e, agents: n, getCellState: r, onCellClick: a, onSte
20059
20059
  d,
20060
20060
  b,
20061
20061
  n
20062
- ]), [k, A] = g({
20062
+ ]), [O, k] = g({
20063
20063
  r: 0,
20064
20064
  c: 0
20065
20065
  });
20066
20066
  i(() => {
20067
- ee !== null && A(ee);
20068
- }, [ee]);
20069
- let j = k.r < b.length && k.c < E ? k : {
20067
+ te !== null && k(te);
20068
+ }, [te]);
20069
+ let A = O.r < b.length && O.c < E ? O : {
20070
20070
  r: 0,
20071
20071
  c: 0
20072
- }, te = (e, t) => {
20072
+ }, ne = (e, t) => {
20073
20073
  C.current?.querySelector(`[data-r="${e}"][data-c="${t}"]`)?.focus();
20074
20074
  };
20075
20075
  return u(h, () => ({ focusCell: (e, t) => {
20076
20076
  let r = b.findIndex((t) => t.node.addonId === e);
20077
20077
  if (r < 0) return;
20078
20078
  let i = t === null ? -1 : n.findIndex((e) => NS(e) === t), a = i < 0 ? 0 : i + 1;
20079
- A({
20079
+ k({
20080
20080
  r,
20081
20081
  c: a
20082
- }), te(r, a);
20082
+ }), ne(r, a);
20083
20083
  } }), [b, n]), s(() => {
20084
- if (ee === null) return;
20085
- let e = C.current, t = e?.querySelector(`[data-r="${ee.r}"][data-c="${ee.c}"]`);
20084
+ if (te === null) return;
20085
+ let e = C.current, t = e?.querySelector(`[data-r="${te.r}"][data-c="${te.c}"]`);
20086
20086
  if (!e || !t || (typeof t.scrollIntoView == "function" && t.scrollIntoView({
20087
20087
  block: "nearest",
20088
20088
  inline: "nearest"
@@ -20090,7 +20090,7 @@ var QS = c(function({ tree: e, agents: n, getCellState: r, onCellClick: a, onSte
20090
20090
  let n = window.innerWidth - p - 12, r = t.getBoundingClientRect().right;
20091
20091
  r > n && (e.scrollLeft += r - n);
20092
20092
  }, [
20093
- ee,
20093
+ te,
20094
20094
  p,
20095
20095
  D
20096
20096
  ]), /* @__PURE__ */ v("div", {
@@ -20110,7 +20110,7 @@ var QS = c(function({ tree: e, agents: n, getCellState: r, onCellClick: a, onSte
20110
20110
  r: Number(e.target.dataset.r),
20111
20111
  c: Number(e.target.dataset.c)
20112
20112
  }, n = YS(e.key, t, b.length, E);
20113
- n !== null && (e.preventDefault(), A(n), te(n.r, n.c));
20113
+ n !== null && (e.preventDefault(), k(n), ne(n.r, n.c));
20114
20114
  },
20115
20115
  children: [/* @__PURE__ */ y("div", {
20116
20116
  role: "row",
@@ -20134,7 +20134,7 @@ var QS = c(function({ tree: e, agents: n, getCellState: r, onCellClick: a, onSte
20134
20134
  node: e,
20135
20135
  depth: t,
20136
20136
  r: i,
20137
- tabbable: j.r === i && j.c === 0,
20137
+ tabbable: A.r === i && A.c === 0,
20138
20138
  selected: d?.addonId === e.addonId,
20139
20139
  badge: l?.(e.addonId),
20140
20140
  onClick: c ? (t) => c(e.addonId, t) : void 0,
@@ -20150,7 +20150,7 @@ var QS = c(function({ tree: e, agents: n, getCellState: r, onCellClick: a, onSte
20150
20150
  "data-c": n + 1,
20151
20151
  "data-step": e.addonId,
20152
20152
  "data-col": NS(t),
20153
- tabIndex: j.r === i && j.c === n + 1 ? 0 : -1,
20153
+ tabIndex: A.r === i && A.c === n + 1 ? 0 : -1,
20154
20154
  "aria-disabled": !c,
20155
20155
  "aria-selected": s,
20156
20156
  onClick: (n) => {
@@ -20579,7 +20579,7 @@ function FC(e, t) {
20579
20579
  translate: (t, n) => kC(e, bC(), t, n)
20580
20580
  };
20581
20581
  }
20582
- e(), n(() => import("./MaskShapeCanvas-CrWutXSb.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), n(() => import("./MotionZonesSettings-sz-ODYZW.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./SceneMonitorEditor-DILUr4Mu.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), n(() => import("./PrivacyMaskSettings-6vNqzYvt.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
20582
+ e(), n(() => import("./MaskShapeCanvas-CrWutXSb.mjs").then((e) => ({ default: e.MaskShapeCanvas }))), n(() => import("./MotionZonesSettings-DyZoYI0U.mjs").then((e) => ({ default: e.MotionZonesSettings }))), n(() => import("./SceneMonitorEditor-adwuwWhh.mjs").then((e) => ({ default: e.SceneMonitorEditor }))), n(() => import("./PrivacyMaskSettings-B37uji0h.mjs").then((e) => ({ default: e.PrivacyMaskSettings })));
20583
20583
  //#endregion
20584
20584
  //#region src/plugin-catalog/plugin-catalog-yolo-manifest-data.json
20585
20585
  var IC = /*#__PURE__*/ JSON.parse("[{\"id\":\"scrypted-yolov9t-relu-coreml\",\"label\":\"plugin catalog YOLOv9T ReLU CoreML\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"0a8733949d77e3204dba6418e81a11a8cc177015711457ce2c171266f23382d6\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322229,\"sha256\":\"f5a62f196f1e72a84efa1637119dffb6501621af9cf6f867bc76b4b59c9242a0\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu/scrypted_yolov9t_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":3797160,\"sha256\":\"b994419b8b68cfd6b89c3c6f3fe6b37458c86cc1d87fcca3df5034476a99dd38\"}],\"sizeMB\":4.12},{\"id\":\"scrypted-yolov9t-relu-onnx\",\"label\":\"plugin catalog YOLOv9T ReLU ONNX\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9t_relu/scrypted_yolov9t_relu.onnx\",\"size\":8499266,\"sha256\":\"3f11ea2071b27c285b58c16636a44d6a0a27bdd1ca8b64112dfadabd39cfea47\"}],\"sizeMB\":8.5},{\"id\":\"scrypted-yolov9t-relu-test-coreml\",\"label\":\"plugin catalog YOLOv9T ReLU test CoreML\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"a5e0128b643f1a66f3e07d4b332f9ccbca97ccab75651c794f0b9f1fb41c8491\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322229,\"sha256\":\"79f4f647f2a0c79db3b560c84251b48c7ba7cbe9c1fecc9674d1a603a389dfa3\"},{\"relativePath\":\"coreml/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":3797160,\"sha256\":\"72efc9dc6af9241b5e5ee7de24a4f55741f6425d0e279d797f0f223e3d355f84\"}],\"sizeMB\":4.12},{\"id\":\"scrypted-yolov9t-relu-test-onnx\",\"label\":\"plugin catalog YOLOv9T ReLU test ONNX\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9t_relu_test/scrypted_yolov9t_relu_test.onnx\",\"size\":8499266,\"sha256\":\"d20aa0e6923a3af7f5e84e3a6d28fb00e8ecd592e3225f986f93bd34b634e2f8\"}],\"sizeMB\":8.5},{\"id\":\"scrypted-yolov9s-relu-coreml\",\"label\":\"plugin catalog YOLOv9S ReLU CoreML\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"3bcdb820b82f1e89266f2d11bae1604d3ee4ca6d11dc5bd5c57055ff4157e9f3\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322664,\"sha256\":\"9a9c3c9cbca406ec2f0418ec867ed6b878ec6d02c16636d30e0bbd83d2ff7c40\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu/scrypted_yolov9s_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":14190120,\"sha256\":\"fd51eda58a993997268f6a2e424b536ba173207ad7974ab8bee2a8ff76d52dab\"}],\"sizeMB\":14.51},{\"id\":\"scrypted-yolov9s-relu-onnx\",\"label\":\"plugin catalog YOLOv9S ReLU ONNX\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9s_relu/scrypted_yolov9s_relu.onnx\",\"size\":29287339,\"sha256\":\"ca0b5bd98d5f59eb2029c6cb5129d53af59873f62a317a028beda463bbb96399\"}],\"sizeMB\":29.29},{\"id\":\"scrypted-yolov9s-relu-test-coreml\",\"label\":\"plugin catalog YOLOv9S ReLU test CoreML\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"e2d24de0ce7e8573f19572029765e55abc714f36a85175ad7fcb95c001a76653\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":322664,\"sha256\":\"186b147cdfd15c5ed7a381ec3a426a22cee0b5c52d56f14efd26da06357f5cb0\"},{\"relativePath\":\"coreml/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":14190120,\"sha256\":\"e50651924c2cbffd56008a8953569e66c3de69f21807fcf7d825390ce30f21f8\"}],\"sizeMB\":14.51},{\"id\":\"scrypted-yolov9s-relu-test-onnx\",\"label\":\"plugin catalog YOLOv9S ReLU test ONNX\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9s_relu_test/scrypted_yolov9s_relu_test.onnx\",\"size\":29287339,\"sha256\":\"115ddb83333762a0f2599421335678696454a5c3571ade5df9bac8e9cb5fb4cf\"}],\"sizeMB\":29.29},{\"id\":\"scrypted-yolov9m-relu-coreml\",\"label\":\"plugin catalog YOLOv9M ReLU CoreML\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"c548c6e1ff768b2b01bd71e230aa712a1635ae2baa30e0369557a42fc531ecbf\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":247061,\"sha256\":\"1c40e02fc2a2559cb906ea6cd9da9c730d4a78f5019290cbb38d2fcaae379fe7\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu/scrypted_yolov9m_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":39880616,\"sha256\":\"4cf938e5bfcc3ee1644813e4eb4702a7de450cc0581df94c719cf43d0ed2e408\"}],\"sizeMB\":40.13},{\"id\":\"scrypted-yolov9m-relu-onnx\",\"label\":\"plugin catalog YOLOv9M ReLU ONNX\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9m_relu/scrypted_yolov9m_relu.onnx\",\"size\":80380404,\"sha256\":\"e7a81fb33224a0105d2a0a594c3fa43c398c361de623f1d14156ae826e7312d5\"}],\"sizeMB\":80.38},{\"id\":\"scrypted-yolov9m-relu-test-coreml\",\"label\":\"plugin catalog YOLOv9M ReLU test CoreML\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"8e2684b286d02b4bdf9db1027c84cb89bf8e4830cfb58269f3ec457c5a010650\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":247061,\"sha256\":\"53d5946e74b13b15c5f8616081c9f15e8a95a5df3d5b45b830fc5a7f49561c16\"},{\"relativePath\":\"coreml/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":39880616,\"sha256\":\"69774bf0032c37707601b8cdc1e1820dbd9f8288eb5d6f3879618a5d34ff5199\"}],\"sizeMB\":40.13},{\"id\":\"scrypted-yolov9m-relu-test-onnx\",\"label\":\"plugin catalog YOLOv9M ReLU test ONNX\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9m_relu_test/scrypted_yolov9m_relu_test.onnx\",\"size\":80380404,\"sha256\":\"8bb054f099295909ec518e2a6598d63db24d3f90edc8105a0f016903f2a205a2\"}],\"sizeMB\":80.38},{\"id\":\"scrypted-yolov9c-relu-coreml\",\"label\":\"plugin catalog YOLOv9C ReLU CoreML\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"813a306ebd69cabfd31f00434f5a961feeca7d237833f3e11805dcf4ad120ba9\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":263210,\"sha256\":\"862f082619075e470738306b0ff0a37ae70a7d08e684ca6a6dfa1971d404e0c3\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu/scrypted_yolov9c_relu.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":50489960,\"sha256\":\"ed89747e58943758e2a87221d1d404f6a4466cbc039c3c6f96e327cadc403d27\"}],\"sizeMB\":50.75},{\"id\":\"scrypted-yolov9c-relu-onnx\",\"label\":\"plugin catalog YOLOv9C ReLU ONNX\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9c_relu/scrypted_yolov9c_relu.onnx\",\"size\":101631962,\"sha256\":\"b9372c4428daf4cd944c114b1e80d1a9ff0487d743e53a77216a051cfbef7116\"}],\"sizeMB\":101.63},{\"id\":\"scrypted-yolov9c-relu-test-coreml\",\"label\":\"plugin catalog YOLOv9C ReLU test CoreML\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"coreml\",\"precision\":\"fp16\",\"files\":[{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Manifest.json\",\"size\":617,\"sha256\":\"966ef82a93cb0ccf1036a8c9729c065fd372fa9590a97d0945e581cc674f7ad2\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Data/com.apple.CoreML/model.mlmodel\",\"size\":263210,\"sha256\":\"08718ecd3e9552d21a702bd8df60911cad0eec7b2ae382466809550f14634711\"},{\"relativePath\":\"coreml/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.mlpackage/Data/com.apple.CoreML/weights/weight.bin\",\"size\":50489960,\"sha256\":\"fe5936b9430ab4c87f30b148220131d6ec998b2377223d033e2fa2a00e60aada\"}],\"sizeMB\":50.75},{\"id\":\"scrypted-yolov9c-relu-test-onnx\",\"label\":\"plugin catalog YOLOv9C ReLU test ONNX\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"onnx\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"onnx/scrypted_yolov9c_relu_test/scrypted_yolov9c_relu_test.onnx\",\"size\":101631962,\"sha256\":\"2f4e2031e8efb4cbc871594338b2e875d78ab4af3ee0258d253273b1aac84742\"}],\"sizeMB\":101.63},{\"id\":\"scrypted-yolov9t-relu-openvino-fp32\",\"label\":\"plugin catalog YOLOv9T ReLU OpenVINO FP32\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu/best-converted.xml\",\"size\":628222,\"sha256\":\"01b5a9d02a0f281e1aaf4860e1b0ed3a7f16b9d78975be8ff985ae0ee283d877\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu/best-converted.bin\",\"size\":7542204,\"sha256\":\"4fe9ce8dbdf94514fdd450cbfc907f257153e4898a0c1489a44e4912d8e32cc7\"}],\"sizeMB\":8.17},{\"id\":\"scrypted-yolov9s-relu-openvino-fp32\",\"label\":\"plugin catalog YOLOv9S ReLU OpenVINO FP32\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu/best-converted.xml\",\"size\":629249,\"sha256\":\"5b4a229bf7229425698b63bd065a403e440a6151a6ddff0034867659cc4a480d\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu/best-converted.bin\",\"size\":28329724,\"sha256\":\"c030bd219208ea94082578c81f383d4ef9ec45d7150eec1c2c2ff2569cf49b35\"}],\"sizeMB\":28.96},{\"id\":\"scrypted-yolov9m-relu-openvino-fp32\",\"label\":\"plugin catalog YOLOv9M ReLU OpenVINO FP32\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu/best-converted.xml\",\"size\":485439,\"sha256\":\"c66f9f1965bf70fd3635d4dfc3cb94c72c06b344c256713237d77706725b9a0c\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu/best-converted.bin\",\"size\":79717372,\"sha256\":\"dfc2d8952bbca9ad0e116168e3fd5c754e601c327d78c4f4d0d4cae12f0e1d2a\"}],\"sizeMB\":80.2},{\"id\":\"scrypted-yolov9c-relu-openvino-fp32\",\"label\":\"plugin catalog YOLOv9C ReLU OpenVINO FP32\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"fp32\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu/best-converted.xml\",\"size\":535047,\"sha256\":\"836c1e998ebf76108ff64d554fdfa07aa72c42624f1a5448701bb409f27b8d68\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu/best-converted.bin\",\"size\":100942972,\"sha256\":\"11a1b330ac9843b349927977b3c7c7f17bb42af73a7ff102969132f27ab81814\"}],\"sizeMB\":101.48},{\"id\":\"scrypted-yolov9t-relu-openvino-int8\",\"label\":\"plugin catalog YOLOv9T ReLU OpenVINO INT8\",\"family\":\"yolov9t\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu_int8/best-converted.xml\",\"size\":1380379,\"sha256\":\"e5a76bf88ac69fc0ebc50c04b61ff91550dd9c2349af1f6d7e4cac949c640cec\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu_int8/best-converted.bin\",\"size\":1954956,\"sha256\":\"98fb5b6826d7c6697a585f69ba96754873772d9d61fbed8335aab761e8248659\"}],\"sizeMB\":3.34},{\"id\":\"scrypted-yolov9t-relu-test-openvino-int8\",\"label\":\"plugin catalog YOLOv9T ReLU test OpenVINO INT8\",\"family\":\"yolov9t\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9t_relu_test_int8/best-converted.xml\",\"size\":1380383,\"sha256\":\"9e4119284e923e08c9929e78fd31e2552e602a552ac538ae99bf34a50dd4d172\"},{\"relativePath\":\"openvino/scrypted_yolov9t_relu_test_int8/best-converted.bin\",\"size\":1954960,\"sha256\":\"efe5b0a2fd2f5ddef5923eeb9e592a7ef14719061bb7605c86e05b35c2c58ea9\"}],\"sizeMB\":3.34},{\"id\":\"scrypted-yolov9s-relu-openvino-int8\",\"label\":\"plugin catalog YOLOv9S ReLU OpenVINO INT8\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu_int8/best-converted.xml\",\"size\":1382088,\"sha256\":\"4e6c24cf24afbab21462f7e1a15bd05b1cbbe5915046000e03c2435d8110bbbf\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu_int8/best-converted.bin\",\"size\":7197308,\"sha256\":\"23fd3d666a938c41db232d9c6239baec1134716cfb4ed4ddd3d602dd20eb8ac0\"}],\"sizeMB\":8.58},{\"id\":\"scrypted-yolov9s-relu-test-openvino-int8\",\"label\":\"plugin catalog YOLOv9S ReLU test OpenVINO INT8\",\"family\":\"yolov9s\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9s_relu_test_int8/best-converted.xml\",\"size\":1382092,\"sha256\":\"49865bfeafe7576afce089ba6f5c3e25a9192c8b514eb96265c90fe877795641\"},{\"relativePath\":\"openvino/scrypted_yolov9s_relu_test_int8/best-converted.bin\",\"size\":7197312,\"sha256\":\"78e9d36e6b74754db2b624ea3ec0b3ff57ed6dfed59a4f2225e1a271054597de\"}],\"sizeMB\":8.58},{\"id\":\"scrypted-yolov9m-relu-openvino-int8\",\"label\":\"plugin catalog YOLOv9M ReLU OpenVINO INT8\",\"family\":\"yolov9m\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu_int8/best-converted.xml\",\"size\":1024595,\"sha256\":\"1242ab8d8c73b2e80c5dd541177ade6e102a2684114b059136acb4cad6efb034\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu_int8/best-converted.bin\",\"size\":20090516,\"sha256\":\"da8e44af8bee66478e6f359e9504bfb13ab4b76f4bd8a2f1b10cfbc22febcf6e\"}],\"sizeMB\":21.12},{\"id\":\"scrypted-yolov9m-relu-test-openvino-int8\",\"label\":\"plugin catalog YOLOv9M ReLU test OpenVINO INT8\",\"family\":\"yolov9m\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9m_relu_test_int8/best-converted.xml\",\"size\":1024601,\"sha256\":\"24395ae5fdbb321304c865372cd2b905cdc55abb7610520f3963702e2371decb\"},{\"relativePath\":\"openvino/scrypted_yolov9m_relu_test_int8/best-converted.bin\",\"size\":20090520,\"sha256\":\"4360fe0312067f92c49f180c7b8a10271f14d58b8909aa9b96b13af4ab9289aa\"}],\"sizeMB\":21.12},{\"id\":\"scrypted-yolov9c-relu-openvino-int8\",\"label\":\"plugin catalog YOLOv9C ReLU OpenVINO INT8\",\"family\":\"yolov9c\",\"variant\":\"relu\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu_int8/best-converted.xml\",\"size\":1092695,\"sha256\":\"a45c62940120c4301d8fff9fb3b275c29e3618f403ea68a785f2f3220cefec7a\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu_int8/best-converted.bin\",\"size\":25428280,\"sha256\":\"0643403a56178c3ed1e066c7884458d8ea6780115d662bdc38d10754d7a11c79\"}],\"sizeMB\":26.52},{\"id\":\"scrypted-yolov9c-relu-test-openvino-int8\",\"label\":\"plugin catalog YOLOv9C ReLU test OpenVINO INT8\",\"family\":\"yolov9c\",\"variant\":\"relu_test\",\"format\":\"openvino\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"openvino/scrypted_yolov9c_relu_test_int8/best-converted.xml\",\"size\":1092695,\"sha256\":\"a8a1899848ebd060af2326d3c8d3c09ea83354f0bedff6cce6fa08b284ea5519\"},{\"relativePath\":\"openvino/scrypted_yolov9c_relu_test_int8/best-converted.bin\",\"size\":25428280,\"sha256\":\"2eb6bb3d0a03a9b239b6f623f9e7bced62eea61fbe4d8ff89c1b3e2e2b7978a2\"}],\"sizeMB\":26.52},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-float16\",\"label\":\"plugin catalog YOLOv9s ReLU sep 320 TFLite float16\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"float16\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_float16.tflite\",\"size\":14482836,\"sha256\":\"04889db3b81af361c361e41ffa99327330d37b71d680a2f889e6cdf1e94c0d8c\"}],\"sizeMB\":14.48},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-float32\",\"label\":\"plugin catalog YOLOv9s ReLU sep 320 TFLite float32\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"float32\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_float32.tflite\",\"size\":28777068,\"sha256\":\"f5d7d08fc1d8f2262633d2df4391638e0481740331aaa1837880a47c33001a96\"}],\"sizeMB\":28.78},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-int8\",\"label\":\"plugin catalog YOLOv9s ReLU sep 320 TFLite int8\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"int8\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_int8.tflite\",\"size\":7325616,\"sha256\":\"1e9866b16fe80931383bf3c94dc629fe93a37ba3dc1465ea019eb0a50bd428df\"}],\"sizeMB\":7.33},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-integer_quant\",\"label\":\"plugin catalog YOLOv9s ReLU sep 320 TFLite integer_quant\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"integer_quant\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_integer_quant.tflite\",\"size\":7342552,\"sha256\":\"bc1c902e9a9865637ee2403f70c6bf5c29c695d9163e58ad658feb29bb097ebc\"}],\"sizeMB\":7.34},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-full_integer_quant\",\"label\":\"plugin catalog YOLOv9s ReLU sep 320 TFLite full_integer_quant\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"full_integer_quant\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_full_integer_quant.tflite\",\"size\":7341704,\"sha256\":\"483ce38dbe33ee5a35f40a82f56c77629a44fa5d95efd8ade9fa97e4d2a261fd\"}],\"sizeMB\":7.34},{\"id\":\"scrypted-yolov9s-relu-sep-320-tflite-edgetpu\",\"label\":\"plugin catalog YOLOv9s ReLU sep 320 TFLite edgetpu\",\"family\":\"yolov9s\",\"variant\":\"relu\",\"format\":\"tflite\",\"precision\":\"edgetpu\",\"files\":[{\"relativePath\":\"tflite/scrypted_yolov9s_relu_sep_320/best_full_integer_quant_edgetpu.tflite\",\"size\":8164480,\"sha256\":\"e1e6b074a3b9fdf19a171baf615553ad375a046aa7de2a3fef9a1950175fab22\"}],\"sizeMB\":8.16}]"), LC = {
@@ -20780,7 +20780,7 @@ var rw = Q({
20780
20780
  bytes: typeof t.bytes == "number" ? t.bytes : 0,
20781
20781
  at: typeof t.at == "number" ? t.at : 0
20782
20782
  } } } : e;
20783
- }, Q({ formats: rS(aS(Ae), rw) })), aw = nS(Z(), nS(Z(), iw));
20783
+ }, Q({ formats: rS(aS(je), rw) })), aw = nS(Z(), nS(Z(), iw));
20784
20784
  function ow(e) {
20785
20785
  return `plus-catalog-${e}`;
20786
20786
  }
@@ -20823,7 +20823,7 @@ var sw = Q({
20823
20823
  }), uw = Q({
20824
20824
  id: Z(),
20825
20825
  label: Z(),
20826
- format: aS(Ae),
20826
+ format: aS(je),
20827
20827
  sizeMB: Fx(),
20828
20828
  inputSize: Fx(),
20829
20829
  notes: Z()
@@ -20840,8 +20840,8 @@ var sw = Q({
20840
20840
  width: Fx().optional(),
20841
20841
  height: Fx().optional()
20842
20842
  });
20843
- se({
20844
- registerCustomModel: Ke(xe, Q({
20843
+ D({
20844
+ registerCustomModel: F(He, Q({
20845
20845
  ok: sS(!0),
20846
20846
  conversions: qx(Q({
20847
20847
  format: aS(["openvino", "coreml"]),
@@ -20850,7 +20850,7 @@ se({
20850
20850
  error: Z().optional()
20851
20851
  })).readonly()
20852
20852
  }), { kind: "mutation" }),
20853
- ensureFormatsThenDistribute: Ke(Q({ modelId: Z() }), Q({
20853
+ ensureFormatsThenDistribute: F(Q({ modelId: Z() }), Q({
20854
20854
  conversions: qx(Q({
20855
20855
  format: aS(["openvino", "coreml"]),
20856
20856
  ok: zx(),
@@ -20859,13 +20859,13 @@ se({
20859
20859
  })).readonly(),
20860
20860
  distributed: qx(Q({
20861
20861
  nodeId: Z(),
20862
- format: aS(Ae),
20862
+ format: aS(je),
20863
20863
  ok: zx(),
20864
20864
  error: Z().optional(),
20865
20865
  bytes: Fx().optional()
20866
20866
  })).readonly()
20867
20867
  }), { kind: "mutation" }),
20868
- ensureModelFormats: Ke(Q({
20868
+ ensureModelFormats: F(Q({
20869
20869
  modelId: Z(),
20870
20870
  formats: qx(aS(["openvino", "coreml"])).min(1).readonly()
20871
20871
  }), Q({ conversions: qx(Q({
@@ -20874,59 +20874,59 @@ se({
20874
20874
  nodeId: Z().optional(),
20875
20875
  error: Z().optional()
20876
20876
  })).readonly() }), { kind: "mutation" }),
20877
- removeCustomModel: Ke(Q({ modelId: Z() }), Q({
20877
+ removeCustomModel: F(Q({ modelId: Z() }), Q({
20878
20878
  removed: zx(),
20879
20879
  deletedNodes: qx(Z()).readonly(),
20880
20880
  clearedPins: Fx().int().nonnegative()
20881
20881
  }), { kind: "mutation" }),
20882
- renameCustomModel: Ke(Q({
20882
+ renameCustomModel: F(Q({
20883
20883
  modelId: Z().min(1),
20884
20884
  name: Z()
20885
20885
  }), Q({
20886
20886
  modelId: Z(),
20887
20887
  name: Z()
20888
20888
  }), { kind: "mutation" }),
20889
- removeModelFromNode: Ke(Q({
20889
+ removeModelFromNode: F(Q({
20890
20890
  modelId: Z(),
20891
20891
  nodeId: Z(),
20892
- format: aS(Ae)
20892
+ format: aS(je)
20893
20893
  }), Q({
20894
20894
  deleted: zx(),
20895
20895
  clearedAvailability: zx()
20896
20896
  }), { kind: "mutation" }),
20897
- deleteSeedFromNode: Ke(Q({
20897
+ deleteSeedFromNode: F(Q({
20898
20898
  addonId: Z(),
20899
20899
  modelId: Z(),
20900
- format: aS(Ae),
20900
+ format: aS(je),
20901
20901
  nodeId: Z()
20902
20902
  }), Q({ success: sS(!0) }), { kind: "mutation" }),
20903
- listCustomModels: Ke(Gx(), qx(xe).readonly()),
20904
- distributeModel: Ke(Q({
20903
+ listCustomModels: F(Gx(), qx(He).readonly()),
20904
+ distributeModel: F(Q({
20905
20905
  modelId: Z(),
20906
20906
  nodeId: Z(),
20907
- format: aS(Ae)
20907
+ format: aS(je)
20908
20908
  }), Q({
20909
20909
  ok: zx(),
20910
20910
  sha256: Z(),
20911
20911
  bytes: Fx()
20912
20912
  }), { kind: "mutation" }),
20913
- listAvailability: Ke(Gx(), aw),
20914
- beginModelUpload: Ke(Q({
20913
+ listAvailability: F(Gx(), aw),
20914
+ beginModelUpload: F(Q({
20915
20915
  filename: Z(),
20916
20916
  totalBytes: Fx().int().positive()
20917
20917
  }), Q({ uploadId: Z() }), { kind: "mutation" }),
20918
- appendModelUpload: Ke(Q({
20918
+ appendModelUpload: F(Q({
20919
20919
  uploadId: Z(),
20920
20920
  chunkBase64: Z()
20921
20921
  }), Q({ received: Fx() }), { kind: "mutation" }),
20922
- commitModelUpload: Ke(Q({ uploadId: Z() }), Q({
20922
+ commitModelUpload: F(Q({ uploadId: Z() }), Q({
20923
20923
  filename: Z(),
20924
20924
  bytes: Fx(),
20925
20925
  sha256: Z()
20926
20926
  }), { kind: "mutation" }),
20927
- abortModelUpload: Ke(Q({ uploadId: Z() }), Q({ ok: sS(!0) }), { kind: "mutation" }),
20928
- listPlusCatalogCatalog: Ke(Gx(), qx(uw).readonly()),
20929
- importPlusCatalogCatalogModel: Ke(Q({
20927
+ abortModelUpload: F(Q({ uploadId: Z() }), Q({ ok: sS(!0) }), { kind: "mutation" }),
20928
+ listPlusCatalogCatalog: F(Gx(), qx(uw).readonly()),
20929
+ importPlusCatalogCatalogModel: F(Q({
20930
20930
  catalogId: Z(),
20931
20931
  modelId: Z().optional(),
20932
20932
  name: Z().optional(),
@@ -20936,26 +20936,26 @@ se({
20936
20936
  modelId: Z(),
20937
20937
  bytes: Fx()
20938
20938
  }), { kind: "mutation" }),
20939
- listPluginCatalogCatalog: Ke(Gx(), Q({
20939
+ listPluginCatalogCatalog: F(Gx(), Q({
20940
20940
  entries: qx(cw).readonly(),
20941
20941
  drift: qx(lw).readonly()
20942
20942
  })),
20943
- importPluginCatalogCatalogModel: Ke(Q({
20943
+ importPluginCatalogCatalogModel: F(Q({
20944
20944
  manifestId: Z(),
20945
20945
  name: Z().optional(),
20946
20946
  targetNodeId: Z().optional()
20947
- }), xe, { kind: "mutation" }),
20948
- tfliteSupport: Ke(Q({}).optional(), Q({ nodes: qx(Z()).readonly() })),
20949
- plusCatalogPlusStatus: Ke(Gx(), Q({
20947
+ }), He, { kind: "mutation" }),
20948
+ tfliteSupport: F(Q({}).optional(), Q({ nodes: qx(Z()).readonly() })),
20949
+ plusCatalogPlusStatus: F(Gx(), Q({
20950
20950
  configured: zx(),
20951
20951
  keyFormatValid: zx()
20952
20952
  })),
20953
- plusCatalogPlusTest: Ke(Gx(), Q({
20953
+ plusCatalogPlusTest: F(Gx(), Q({
20954
20954
  ok: zx(),
20955
20955
  error: Z().optional()
20956
20956
  }), { kind: "mutation" }),
20957
- plusCatalogPlusListModels: Ke(Gx(), qx(dw).readonly()),
20958
- importPlusCatalogModel: Ke(Q({
20957
+ plusCatalogPlusListModels: F(Gx(), qx(dw).readonly()),
20958
+ importPlusCatalogModel: F(Q({
20959
20959
  plusModelId: Z(),
20960
20960
  modelId: Z().optional(),
20961
20961
  name: Z().optional(),
@@ -20972,21 +20972,21 @@ se({
20972
20972
  error: Z().optional()
20973
20973
  })).readonly()
20974
20974
  }), { kind: "mutation" }),
20975
- recommendConvertNode: Ke(Q({ targets: qx(w).min(1).readonly() }), qx(Q({
20975
+ recommendConvertNode: F(Q({ targets: qx(xe).min(1).readonly() }), qx(Q({
20976
20976
  nodeId: Z(),
20977
20977
  reason: Z(),
20978
20978
  supported: zx()
20979
20979
  })).readonly()),
20980
- convertModel: Ke(Q({
20980
+ convertModel: F(Q({
20981
20981
  sourceUrl: Z(),
20982
20982
  metadata: Ce,
20983
- targets: qx(w).min(1).readonly(),
20983
+ targets: qx(xe).min(1).readonly(),
20984
20984
  targetNodeId: Z().optional(),
20985
20985
  calibrationRef: Z().optional()
20986
20986
  }), Q({
20987
20987
  entry: be,
20988
20988
  nodeId: Z(),
20989
- artifacts: qx(P).readonly()
20989
+ artifacts: qx(w).readonly()
20990
20990
  }), { kind: "mutation" })
20991
20991
  });
20992
20992
  var fw = /[\u0000-\u001f\u007f]/;
@@ -21015,9 +21015,9 @@ function mw(e) {
21015
21015
  //#region src/ui/model-studio-ui.ts
21016
21016
  var hw = "object-detection";
21017
21017
  function gw(e) {
21018
- return e.stepId === hw ? A(e.entry, {
21018
+ return e.stepId === hw ? ie(e.entry, {
21019
21019
  labels: [],
21020
- classMap: Fe
21020
+ classMap: we
21021
21021
  }) : [];
21022
21022
  }
21023
21023
  var _w = [
@@ -21192,7 +21192,7 @@ function Hw(e, t, n) {
21192
21192
  return r.data;
21193
21193
  }
21194
21194
  function Uw(e) {
21195
- return Array.isArray(e) ? Vw(xe, e, "listCustomModels") : [];
21195
+ return Array.isArray(e) ? Vw(He, e, "listCustomModels") : [];
21196
21196
  }
21197
21197
  function Ww(e) {
21198
21198
  if (!Bw(e)) return {};
@@ -21396,13 +21396,13 @@ async function yT(e, t) {
21396
21396
  }
21397
21397
  async function bT(e, t) {
21398
21398
  let n = await Lw(e, "pipelineExecutor.listLoadedEngines.query").pipelineExecutor.listLoadedEngines.query({ nodeId: t });
21399
- return Hw(F.methods.listLoadedEngines.output, n, "listLoadedEngines");
21399
+ return Hw(Je.methods.listLoadedEngines.output, n, "listLoadedEngines");
21400
21400
  }
21401
21401
  async function xT(e, t) {
21402
21402
  await Lw(e, "pipelineOrchestrator.setAgentInferenceDevices.mutate").pipelineOrchestrator.setAgentInferenceDevices.mutate(t);
21403
21403
  }
21404
21404
  async function ST(e) {
21405
- return M(await Lw(e, "addonSettings.getGlobalSettings.query").addonSettings.getGlobalSettings.query({ addonId: "pipeline-orchestrator" }));
21405
+ return P(await Lw(e, "addonSettings.getGlobalSettings.query").addonSettings.getGlobalSettings.query({ addonId: "pipeline-orchestrator" }));
21406
21406
  }
21407
21407
  async function CT(e, t) {
21408
21408
  await Lw(e, "addonSettings.updateGlobalSettings.mutate").addonSettings.updateGlobalSettings.mutate({
@@ -21445,7 +21445,7 @@ async function DT(e) {
21445
21445
  };
21446
21446
  }
21447
21447
  async function OT(e, t) {
21448
- return Hw(xe, await zw(e, "importPluginCatalogCatalogModel", {
21448
+ return Hw(He, await zw(e, "importPluginCatalogCatalogModel", {
21449
21449
  manifestId: t.manifestId,
21450
21450
  ...t.name === void 0 ? {} : { name: t.name },
21451
21451
  ...t.targetNodeId === void 0 ? {} : { targetNodeId: t.targetNodeId }
@@ -22758,7 +22758,7 @@ function vE({ label: e, value: t, options: n, onChange: r, disabled: i = !1, pla
22758
22758
  //#region src/components/SourceModelBrowser.tsx
22759
22759
  e();
22760
22760
  function yE({ preSelectors: e = [], catalog: t, value: n, onChange: r, title: i, subtitle: a, actionRow: o, renderActionRow: s, footer: c, emptyMessage: l, testId: u = "source-model-browser" }) {
22761
- let { t: d } = $(), f = He(t), [p, m] = g({});
22761
+ let { t: d } = $(), f = Ue(t), [p, m] = g({});
22762
22762
  return /* @__PURE__ */ y("div", {
22763
22763
  className: "space-y-3",
22764
22764
  "data-testid": u,
@@ -22942,8 +22942,8 @@ var TE = [
22942
22942
  key: "test"
22943
22943
  }];
22944
22944
  function DE({ trpc: e, landNodeId: n, onImported: r }) {
22945
- let { t: a } = $(), s = qT(), [c, u] = g(null), [d, f] = g([]), [p, m] = g(null), [h, _] = g({}), [b, x] = g({}), [S, C] = g(null), [w, T] = g(null), [E, D] = g(null), [O, ee] = g("relu"), [k, A] = g(""), [j, te] = g(""), [ne, re] = g(null), [M, ie] = g(""), ae = t(0), N = t(!1), oe = n !== void 0 && n.length > 0 ? n : M.length > 0 ? M : void 0, P = l(async () => {
22946
- let t = ++ae.current;
22945
+ let { t: a } = $(), s = qT(), [c, u] = g(null), [d, f] = g([]), [p, m] = g(null), [h, _] = g({}), [b, x] = g({}), [S, C] = g(null), [w, T] = g(null), [E, D] = g(null), [ee, te] = g("relu"), [O, k] = g(""), [A, ne] = g(""), [re, ie] = g(null), [j, ae] = g(""), oe = t(0), M = t(!1), se = n !== void 0 && n.length > 0 ? n : j.length > 0 ? j : void 0, N = l(async () => {
22946
+ let t = ++oe.current;
22947
22947
  C(null);
22948
22948
  try {
22949
22949
  let n = DT(e), r = Gw(e).then((e) => ({
@@ -22958,8 +22958,8 @@ function DE({ trpc: e, landNodeId: n, onImported: r }) {
22958
22958
  i,
22959
22959
  a
22960
22960
  ]);
22961
- if (t !== ae.current) return;
22962
- if (u(o.entries), f(o.drift), re(l), l.length > 0 && ie((e) => e.length > 0 && l.includes(e) ? e : l[0]), s.ok) {
22961
+ if (t !== oe.current) return;
22962
+ if (u(o.entries), f(o.drift), ie(l), l.length > 0 && ae((e) => e.length > 0 && l.includes(e) ? e : l[0]), s.ok) {
22963
22963
  m(new Set(s.value.map((e) => e.entry.id)));
22964
22964
  let e = {};
22965
22965
  for (let t of s.value) e[t.entry.id] = vw(t.entry);
@@ -22971,18 +22971,18 @@ function DE({ trpc: e, landNodeId: n, onImported: r }) {
22971
22971
  x(e);
22972
22972
  } else x({});
22973
22973
  } catch (e) {
22974
- if (t !== ae.current) return;
22974
+ if (t !== oe.current) return;
22975
22975
  u(null), C(e instanceof Error ? e.message : a("pluginCatalog.loadFailed"));
22976
22976
  }
22977
22977
  }, [e, a]);
22978
22978
  i(() => {
22979
- P();
22980
- }, [P]);
22981
- let F = o(() => (c ?? []).filter((e) => e.variant === O), [c, O]), se = o(() => hE(F), [F]), ce = o(() => new Map(se.map((e) => [e.id, e])), [se]), le = k.length > 0 && ce.has(k) ? k : se[0]?.id ?? "", ue = l(async (t) => {
22982
- if (N.current || wE(j)) return;
22983
- let i = CE(j);
22984
- N.current = !0, T(t.id), D(null);
22985
- let o = t.format === "tflite" ? oe : n !== void 0 && n.length > 0 ? n : void 0;
22979
+ N();
22980
+ }, [N]);
22981
+ let P = o(() => (c ?? []).filter((e) => e.variant === ee), [c, ee]), F = o(() => hE(P), [P]), ce = o(() => new Map(F.map((e) => [e.id, e])), [F]), le = O.length > 0 && ce.has(O) ? O : F[0]?.id ?? "", ue = l(async (t) => {
22982
+ if (M.current || wE(A)) return;
22983
+ let i = CE(A);
22984
+ M.current = !0, T(t.id), D(null);
22985
+ let o = t.format === "tflite" ? se : n !== void 0 && n.length > 0 ? n : void 0;
22986
22986
  try {
22987
22987
  await s.run({
22988
22988
  kind: t.mode === "convert" ? "convert" : "import",
@@ -23024,22 +23024,22 @@ function DE({ trpc: e, landNodeId: n, onImported: r }) {
23024
23024
  ...e,
23025
23025
  status: "done"
23026
23026
  } : e));
23027
- }), await P(), r?.();
23027
+ }), await N(), r?.();
23028
23028
  } catch (e) {
23029
23029
  D(e instanceof Error ? e.message : a("importOp.failed"));
23030
23030
  } finally {
23031
- N.current = !1, T(null);
23031
+ M.current = !1, T(null);
23032
23032
  }
23033
23033
  }, [
23034
23034
  e,
23035
- P,
23035
+ N,
23036
23036
  r,
23037
23037
  p,
23038
23038
  h,
23039
- oe,
23039
+ se,
23040
23040
  n,
23041
23041
  s,
23042
- j,
23042
+ A,
23043
23043
  a
23044
23044
  ]);
23045
23045
  if (c === null && S === null) return /* @__PURE__ */ v("div", {
@@ -23055,13 +23055,13 @@ function DE({ trpc: e, landNodeId: n, onImported: r }) {
23055
23055
  children: S
23056
23056
  }), /* @__PURE__ */ v("button", {
23057
23057
  type: "button",
23058
- onClick: () => void P(),
23058
+ onClick: () => void N(),
23059
23059
  className: "px-3 py-1.5 text-[10px] font-medium rounded-md border border-border text-foreground-subtle hover:text-foreground",
23060
23060
  children: a("common.retry")
23061
23061
  })]
23062
23062
  });
23063
23063
  let de = ce.get(le), fe = de && c ? AE({
23064
- filtered: F,
23064
+ filtered: P,
23065
23065
  drift: d,
23066
23066
  sourceId: de.id
23067
23067
  }) : [], pe = fe.map((e) => ({
@@ -23082,22 +23082,22 @@ function DE({ trpc: e, landNodeId: n, onImported: r }) {
23082
23082
  className: "text-[11px] text-foreground-subtle",
23083
23083
  children: a("pluginCatalog.intro")
23084
23084
  }),
23085
- n === void 0 && ne !== null && ne.length > 0 && /* @__PURE__ */ y("label", {
23085
+ n === void 0 && re !== null && re.length > 0 && /* @__PURE__ */ y("label", {
23086
23086
  className: "flex items-center gap-2 text-[11px] text-foreground",
23087
23087
  children: [/* @__PURE__ */ v("span", {
23088
23088
  className: "text-foreground-subtle uppercase tracking-wide text-[10px]",
23089
23089
  children: a("pluginCatalog.tfliteCoral")
23090
23090
  }), /* @__PURE__ */ v("select", {
23091
23091
  className: "bg-surface border border-border rounded px-2 py-0.5 text-[11px]",
23092
- value: M,
23093
- onChange: (e) => ie(e.target.value),
23094
- children: ne.map((e) => /* @__PURE__ */ v("option", {
23092
+ value: j,
23093
+ onChange: (e) => ae(e.target.value),
23094
+ children: re.map((e) => /* @__PURE__ */ v("option", {
23095
23095
  value: e,
23096
23096
  children: e
23097
23097
  }, e))
23098
23098
  })]
23099
23099
  }),
23100
- n === void 0 && ne !== null && ne.length === 0 && /* @__PURE__ */ v("p", {
23100
+ n === void 0 && re !== null && re.length === 0 && /* @__PURE__ */ v("p", {
23101
23101
  className: "text-[11px] text-warning",
23102
23102
  children: a("pluginCatalog.noCoral")
23103
23103
  }),
@@ -23115,26 +23115,26 @@ function DE({ trpc: e, landNodeId: n, onImported: r }) {
23115
23115
  preSelectors: [{
23116
23116
  id: "variant",
23117
23117
  label: a("pluginCatalog.variant"),
23118
- value: O,
23118
+ value: ee,
23119
23119
  options: EE.map((e) => ({
23120
23120
  value: e.value,
23121
23121
  label: a(`pluginCatalog.variants.${e.key}`),
23122
23122
  count: (c ?? []).filter((t) => t.variant === e.value).length
23123
23123
  })),
23124
23124
  onChange: (e) => {
23125
- (e === "relu" || e === "relu_test") && (ee(e), A(""));
23125
+ (e === "relu" || e === "relu_test") && (te(e), k(""));
23126
23126
  },
23127
23127
  compactWhenSingle: !1
23128
23128
  }],
23129
- catalog: se,
23129
+ catalog: F,
23130
23130
  value: le,
23131
- onChange: A,
23131
+ onChange: k,
23132
23132
  emptyMessage: a("pluginCatalog.emptyVariant"),
23133
23133
  actionRow: de && pe.length > 0 ? /* @__PURE__ */ y("div", {
23134
23134
  className: "space-y-2",
23135
23135
  children: [/* @__PURE__ */ v(SE, {
23136
- value: j,
23137
- onChange: te,
23136
+ value: A,
23137
+ onChange: ne,
23138
23138
  defaultName: de.name
23139
23139
  }), /* @__PURE__ */ v(xE, {
23140
23140
  entries: pe,
@@ -24287,7 +24287,7 @@ var _D = [
24287
24287
  value: "frigate",
24288
24288
  label: "plus catalog"
24289
24289
  }
24290
- ], vD = new Set(Ae);
24290
+ ], vD = new Set(je);
24291
24291
  function yD(e) {
24292
24292
  return vD.has(e);
24293
24293
  }
@@ -24324,7 +24324,7 @@ function bD({ seed: e, nodeId: t, busyKey: n, onDownload: r }) {
24324
24324
  });
24325
24325
  }
24326
24326
  function xD({ seeds: e, nodeId: t, busyKey: n, selectedByFamily: r, onSelectFamily: i, onDownload: a }) {
24327
- let o = Aw(e), s = jw(e), c = o.map(Mw), l = He(c), u = new Map(e.map((e) => [e.modelId, e]));
24327
+ let o = Aw(e), s = jw(e), c = o.map(Mw), l = Ue(c), u = new Map(e.map((e) => [e.modelId, e]));
24328
24328
  return l.length === 0 && s.length === 0 ? null : /* @__PURE__ */ y("div", {
24329
24329
  className: "space-y-3",
24330
24330
  "data-testid": "catalog-provider",
@@ -24399,7 +24399,7 @@ function SD({ trpc: e, refreshKey: t, nodeId: n }) {
24399
24399
  i(() => {
24400
24400
  f(!0), w();
24401
24401
  }, [w, t]);
24402
- let T = o(() => Ow(a), [a]), E = o(() => kw(a, c).filter((e) => e.provider === "camstack"), [a, c]), D = o(() => He(Aw(E).map(Mw)), [E]), O = o(() => {
24402
+ let T = o(() => Ow(a), [a]), E = o(() => kw(a, c).filter((e) => e.provider === "camstack"), [a, c]), D = o(() => Ue(Aw(E).map(Mw)), [E]), ee = o(() => {
24403
24403
  let e = /* @__PURE__ */ new Map();
24404
24404
  for (let t of E) e.set(t.modelId, t);
24405
24405
  return e;
@@ -24408,17 +24408,17 @@ function SD({ trpc: e, refreshKey: t, nodeId: n }) {
24408
24408
  C((e) => {
24409
24409
  let t = {}, n = !1;
24410
24410
  for (let r of D) {
24411
- let i = r.tiers[0]?.baseModelId ?? "", a = e[r.family], o = a !== void 0 && O.has(a) && O.get(a)?.group?.family === r.family ? a : i;
24411
+ let i = r.tiers[0]?.baseModelId ?? "", a = e[r.family], o = a !== void 0 && ee.has(a) && ee.get(a)?.group?.family === r.family ? a : i;
24412
24412
  t[r.family] = o, o !== a && (n = !0);
24413
24413
  }
24414
24414
  return !n && Object.keys(e).length === Object.keys(t).length ? e : t;
24415
24415
  });
24416
- }, [D, O]);
24417
- let ee = qT(), k = l(async (t, i) => {
24416
+ }, [D, ee]);
24417
+ let te = qT(), O = l(async (t, i) => {
24418
24418
  if (yD(i)) {
24419
24419
  _(`${t.stepId}/${t.modelId}/${i}`), x(null);
24420
24420
  try {
24421
- await ee.run({
24421
+ await te.run({
24422
24422
  kind: "download",
24423
24423
  title: r("catalog.opTitle", {
24424
24424
  modelId: t.modelId,
@@ -24464,7 +24464,7 @@ function SD({ trpc: e, refreshKey: t, nodeId: n }) {
24464
24464
  e,
24465
24465
  n,
24466
24466
  w,
24467
- ee,
24467
+ te,
24468
24468
  r
24469
24469
  ]);
24470
24470
  return d ? /* @__PURE__ */ v("div", {
@@ -24509,7 +24509,7 @@ function SD({ trpc: e, refreshKey: t, nodeId: n }) {
24509
24509
  ...n,
24510
24510
  [e]: t
24511
24511
  })),
24512
- onDownload: (e, t) => void k(e, t)
24512
+ onDownload: (e, t) => void O(e, t)
24513
24513
  })
24514
24514
  ]
24515
24515
  });
@@ -24625,8 +24625,8 @@ function OD(e) {
24625
24625
  } : {
24626
24626
  provider: "frigate",
24627
24627
  group: jE(e.type, e.inputWidth),
24628
- ...E(e.labels),
24629
- defaultClassFloors: Je("stock", e.defaultClassFloors)
24628
+ ...ue(e.labels),
24629
+ defaultClassFloors: E("stock", e.defaultClassFloors)
24630
24630
  }
24631
24631
  };
24632
24632
  return {
@@ -24742,34 +24742,34 @@ var LD = [
24742
24742
  ".pt"
24743
24743
  ], zD = [{ value: "upload" }, { value: "url" }];
24744
24744
  function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsumed: a }) {
24745
- let { t: s } = $(), c = qT(), [u, d] = g("upload"), [f, p] = g(""), [m, h] = g(""), [_, b] = g("object-detection"), [x, S] = g("onnx"), [C, w] = g(""), [T, E] = g(""), [D, O] = g(0), [ee, k] = g(320), [A, j] = g(320), [te, ne] = g(""), [re, M] = g(null), [ie, ae] = g([]), [N, oe] = g({ state: "idle" }), [P, F] = g(!1), [se, ce] = g(null), [le, ue] = g(null), de = t(null), fe = o(() => NE(te), [te]);
24745
+ let { t: s } = $(), c = qT(), [u, d] = g("upload"), [f, p] = g(""), [m, h] = g(""), [_, b] = g("object-detection"), [x, S] = g("onnx"), [C, w] = g(""), [T, E] = g(""), [D, ee] = g(0), [te, O] = g(320), [k, A] = g(320), [ne, re] = g(""), [ie, j] = g(null), [ae, oe] = g([]), [M, se] = g({ state: "idle" }), [N, P] = g(!1), [F, ce] = g(null), [le, ue] = g(null), de = t(null), fe = o(() => NE(ne), [ne]);
24746
24746
  i(() => {
24747
- r != null && (d("upload"), S(r.format), w(r.postprocessor ?? ""), k(r.inputSize), j(r.inputSize), ne(r.labels.join("\n")), M(r.sourceLabel), ce(null), ue(null), a?.());
24747
+ r != null && (d("upload"), S(r.format), w(r.postprocessor ?? ""), O(r.inputSize), A(r.inputSize), re(r.labels.join("\n")), j(r.sourceLabel), ce(null), ue(null), a?.());
24748
24748
  }, [r, a]);
24749
24749
  let pe = l((e, t) => {
24750
24750
  let n = ID(e);
24751
- ae(n.hints), n.format !== null && S(n.format), k(n.inputSize), j(n.inputSize), (t?.forceId || !f) && p(n.modelId), m || h(n.name), n.sizeMB !== null && e.kind === "url" && O(n.sizeMB);
24751
+ oe(n.hints), n.format !== null && S(n.format), O(n.inputSize), A(n.inputSize), (t?.forceId || !f) && p(n.modelId), m || h(n.name), n.sizeMB !== null && e.kind === "url" && ee(n.sizeMB);
24752
24752
  }, [f, m]), me = l(async (t) => {
24753
24753
  ce(null), pe({
24754
24754
  kind: "file",
24755
24755
  filename: t.name,
24756
24756
  bytes: t.size
24757
- }, { forceId: !f }), oe({
24757
+ }, { forceId: !f }), se({
24758
24758
  state: "uploading",
24759
24759
  pct: 0
24760
24760
  });
24761
24761
  try {
24762
- oe({
24762
+ se({
24763
24763
  state: "done",
24764
24764
  file: await cT(e, t, (e, t) => {
24765
- oe({
24765
+ se({
24766
24766
  state: "uploading",
24767
24767
  pct: Math.round(e / t * 100)
24768
24768
  });
24769
24769
  })
24770
24770
  });
24771
24771
  } catch (e) {
24772
- oe({
24772
+ se({
24773
24773
  state: "error",
24774
24774
  message: e instanceof Error ? e.message : s("register.uploadFailed")
24775
24775
  });
@@ -24795,10 +24795,10 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24795
24795
  s
24796
24796
  ]), ge = l(async () => {
24797
24797
  ce(null), ue(null);
24798
- let t = u === "upload" ? N.state === "done" ? {
24798
+ let t = u === "upload" ? M.state === "done" ? {
24799
24799
  kind: "upload",
24800
- filename: N.file.filename,
24801
- sizeMB: Number((N.file.bytes / 1e6).toFixed(1))
24800
+ filename: M.file.filename,
24801
+ sizeMB: Number((M.file.bytes / 1e6).toFixed(1))
24802
24802
  } : null : T.trim() ? {
24803
24803
  kind: "url",
24804
24804
  url: T.trim(),
@@ -24806,7 +24806,7 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24806
24806
  } : null;
24807
24807
  if (t === null) return ce(s(u === "upload" ? "register.uploadFirst" : "register.urlRequired"));
24808
24808
  if (wE(m)) return ce(s("register.nameInvalid"));
24809
- F(!0);
24809
+ P(!0);
24810
24810
  try {
24811
24811
  let r = ED(C), i = OD({
24812
24812
  type: "custom",
@@ -24816,8 +24816,8 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24816
24816
  source: t,
24817
24817
  format: x,
24818
24818
  ...r === void 0 ? {} : { postprocessor: r },
24819
- inputWidth: ee,
24820
- inputHeight: A,
24819
+ inputWidth: te,
24820
+ inputHeight: k,
24821
24821
  labels: fe
24822
24822
  });
24823
24823
  await c.run({
@@ -24853,7 +24853,7 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24853
24853
  } catch (e) {
24854
24854
  ce(e instanceof Error ? e.message : s("register.failed"));
24855
24855
  } finally {
24856
- F(!1);
24856
+ P(!1);
24857
24857
  }
24858
24858
  }, [
24859
24859
  e,
@@ -24865,10 +24865,10 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24865
24865
  C,
24866
24866
  T,
24867
24867
  D,
24868
- ee,
24869
- A,
24868
+ te,
24869
+ k,
24870
24870
  fe,
24871
- N,
24871
+ M,
24872
24872
  n,
24873
24873
  c,
24874
24874
  s
@@ -24877,9 +24877,9 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24877
24877
  className: "max-w-2xl space-y-4",
24878
24878
  "data-testid": "custom-tab",
24879
24879
  children: [
24880
- se && /* @__PURE__ */ v("div", {
24880
+ F && /* @__PURE__ */ v("div", {
24881
24881
  className: "rounded-md border border-danger/30 bg-danger/10 px-3 py-2 text-xs text-danger",
24882
- children: se
24882
+ children: F
24883
24883
  }),
24884
24884
  le && /* @__PURE__ */ v("div", {
24885
24885
  className: "rounded-md border border-success/30 bg-success/10 px-3 py-2 text-xs text-success",
@@ -24902,11 +24902,11 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24902
24902
  }, e.value))
24903
24903
  })]
24904
24904
  }),
24905
- re !== null && u === "upload" && /* @__PURE__ */ v("div", {
24905
+ ie !== null && u === "upload" && /* @__PURE__ */ v("div", {
24906
24906
  className: "rounded-md border border-primary/30 bg-primary/10 px-3 py-2 text-[11px] text-foreground-subtle",
24907
24907
  children: /* @__PURE__ */ v(NT, {
24908
24908
  i18nKey: "register.prefilled",
24909
- values: { source: re },
24909
+ values: { source: ie },
24910
24910
  components: { b: /* @__PURE__ */ v("span", { className: "text-foreground" }) }
24911
24911
  })
24912
24912
  }),
@@ -24918,25 +24918,25 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24918
24918
  children: [
24919
24919
  /* @__PURE__ */ v("button", {
24920
24920
  onClick: () => de.current?.click(),
24921
- disabled: N.state === "uploading",
24921
+ disabled: M.state === "uploading",
24922
24922
  className: "px-4 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors",
24923
- children: N.state === "uploading" ? s("register.uploading", { pct: N.pct }) : s("register.chooseFile")
24923
+ children: M.state === "uploading" ? s("register.uploading", { pct: M.pct }) : s("register.chooseFile")
24924
24924
  }),
24925
- N.state === "done" && /* @__PURE__ */ y("span", {
24925
+ M.state === "done" && /* @__PURE__ */ y("span", {
24926
24926
  className: "text-[11px] text-success font-mono",
24927
24927
  children: [
24928
- N.file.filename,
24928
+ M.file.filename,
24929
24929
  " · ",
24930
- (N.file.bytes / 1e6).toFixed(1),
24930
+ (M.file.bytes / 1e6).toFixed(1),
24931
24931
  " MB ·",
24932
24932
  " ",
24933
- N.file.sha256.slice(0, 12),
24933
+ M.file.sha256.slice(0, 12),
24934
24934
  "…"
24935
24935
  ]
24936
24936
  }),
24937
- N.state === "error" && /* @__PURE__ */ v("span", {
24937
+ M.state === "error" && /* @__PURE__ */ v("span", {
24938
24938
  className: "text-[11px] text-danger",
24939
- children: N.message
24939
+ children: M.message
24940
24940
  })
24941
24941
  ]
24942
24942
  }),
@@ -24950,11 +24950,11 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24950
24950
  t && me(t), e.target.value = "";
24951
24951
  }
24952
24952
  }),
24953
- N.state === "uploading" && /* @__PURE__ */ v("div", {
24953
+ M.state === "uploading" && /* @__PURE__ */ v("div", {
24954
24954
  className: "h-1.5 w-full rounded-full bg-surface overflow-hidden mt-2",
24955
24955
  children: /* @__PURE__ */ v("div", {
24956
24956
  className: "h-full rounded-full bg-primary transition-all duration-200",
24957
- style: { width: `${Math.max(2, N.pct)}%` }
24957
+ style: { width: `${Math.max(2, M.pct)}%` }
24958
24958
  })
24959
24959
  })
24960
24960
  ]
@@ -24973,7 +24973,7 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24973
24973
  }), /* @__PURE__ */ v(MT, {
24974
24974
  label: s("register.sizeMb"),
24975
24975
  value: D,
24976
- onChange: O,
24976
+ onChange: ee,
24977
24977
  min: 0
24978
24978
  })]
24979
24979
  }), /* @__PURE__ */ v("button", {
@@ -24983,9 +24983,9 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
24983
24983
  children: s("register.probeUrl")
24984
24984
  })]
24985
24985
  }),
24986
- ie.length > 0 && /* @__PURE__ */ v("ul", {
24986
+ ae.length > 0 && /* @__PURE__ */ v("ul", {
24987
24987
  className: "rounded-md border border-border bg-surface px-3 py-2 text-[10px] text-foreground-subtle space-y-0.5 list-disc list-inside",
24988
- children: ie.map((e) => /* @__PURE__ */ v("li", { children: e }, e))
24988
+ children: ae.map((e) => /* @__PURE__ */ v("li", { children: e }, e))
24989
24989
  }),
24990
24990
  /* @__PURE__ */ y("div", {
24991
24991
  className: "grid grid-cols-1 sm:grid-cols-2 gap-3",
@@ -25010,14 +25010,14 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
25010
25010
  }),
25011
25011
  /* @__PURE__ */ v(MT, {
25012
25012
  label: s("register.inputWidth"),
25013
- value: ee,
25014
- onChange: k,
25013
+ value: te,
25014
+ onChange: O,
25015
25015
  min: 1
25016
25016
  }),
25017
25017
  /* @__PURE__ */ v(MT, {
25018
25018
  label: s("register.inputHeight"),
25019
- value: A,
25020
- onChange: j,
25019
+ value: k,
25020
+ onChange: A,
25021
25021
  min: 1
25022
25022
  })
25023
25023
  ]
@@ -25060,8 +25060,8 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
25060
25060
  /* @__PURE__ */ v(AT, {
25061
25061
  label: s("register.labelmap", { count: fe.length }),
25062
25062
  children: /* @__PURE__ */ v("textarea", {
25063
- value: te,
25064
- onChange: (e) => ne(e.target.value),
25063
+ value: ne,
25064
+ onChange: (e) => re(e.target.value),
25065
25065
  rows: 8,
25066
25066
  spellCheck: !1,
25067
25067
  className: "w-full px-3 py-1.5 text-xs font-mono rounded-md border border-border bg-surface text-foreground focus:outline-none focus:border-primary/50"
@@ -25071,9 +25071,9 @@ function BD({ trpc: e, onRegistered: n, initialPrefill: r = null, onPrefillConsu
25071
25071
  className: "flex items-center gap-2",
25072
25072
  children: /* @__PURE__ */ v("button", {
25073
25073
  onClick: () => void ge(),
25074
- disabled: P || u === "upload" && N.state !== "done",
25074
+ disabled: N || u === "upload" && M.state !== "done",
25075
25075
  className: "px-4 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors",
25076
- children: s(P ? "register.registering" : "register.registerModel")
25076
+ children: s(N ? "register.registering" : "register.registerModel")
25077
25077
  })
25078
25078
  })
25079
25079
  ]
@@ -25114,7 +25114,7 @@ function VD({ trpc: e, onRegistered: t, initialPrefill: n = null, onPrefillConsu
25114
25114
  //#endregion
25115
25115
  //#region src/ui/installed-activation.ts
25116
25116
  function HD(e, t, n, r, i) {
25117
- if (r == null || T(t)) return [];
25117
+ if (r == null || Oe(t)) return [];
25118
25118
  let a = [];
25119
25119
  for (let o of e) o.enabled && i.has(o.format) && ls(r.models, o.format) && us({
25120
25120
  catalog: r,
@@ -25128,7 +25128,7 @@ function HD(e, t, n, r, i) {
25128
25128
  return a;
25129
25129
  }
25130
25130
  function UD(e, t) {
25131
- return { [we(e)]: t };
25131
+ return { [he(e)]: t };
25132
25132
  }
25133
25133
  function WD(e, t, n) {
25134
25134
  let r = Object.keys(t).length > 0;
@@ -25199,7 +25199,7 @@ function $D(e, t, n) {
25199
25199
  function eO(e, t) {
25200
25200
  if (e.onDisk !== "current") return /* @__PURE__ */ new Set();
25201
25201
  let n = t.stepCatalogs[e.stepId], r = new Set([e.format]);
25202
- return T(e.stepId) ? $D(e.stepId, t.clusterModels, n) === e.modelId ? new Set(t.devices.filter((t) => t.enabled && t.format === e.format).map((e) => e.key)) : /* @__PURE__ */ new Set() : new Set(HD(t.devices, e.stepId, e.modelId, n, r).map((e) => e.deviceKey));
25202
+ return Oe(e.stepId) ? $D(e.stepId, t.clusterModels, n) === e.modelId ? new Set(t.devices.filter((t) => t.enabled && t.format === e.format).map((e) => e.key)) : /* @__PURE__ */ new Set() : new Set(HD(t.devices, e.stepId, e.modelId, n, r).map((e) => e.deviceKey));
25203
25203
  }
25204
25204
  function tO(e, t, n) {
25205
25205
  return t ? "outside-pools" : e.some((e) => e.loaded === !0) ? "in-use" : e.some((e) => e.configured) ? "configured" : e.some((e) => e.enabled) ? n ? "idle" : "unknown" : "unused";
@@ -25216,7 +25216,7 @@ function nO(e, t) {
25216
25216
  ...e,
25217
25217
  key: `${e.stepId}::${e.modelId}::${e.format}`,
25218
25218
  renameable: e.origin === "registry",
25219
- clusterScoped: T(e.stepId),
25219
+ clusterScoped: Oe(e.stepId),
25220
25220
  chips: r,
25221
25221
  usage: a,
25222
25222
  removable: a === "idle" || a === "unused"
@@ -25246,7 +25246,7 @@ function iO(e, t) {
25246
25246
  modelId: i,
25247
25247
  name: mw(r.entry),
25248
25248
  description: r.entry.description,
25249
- provider: Oe({
25249
+ provider: T({
25250
25250
  id: i,
25251
25251
  description: r.entry.description,
25252
25252
  provider: r.entry.provider
@@ -25648,7 +25648,7 @@ function yO({ trpc: e, refreshKey: t, clusterModels: n, onChanged: r, onError: i
25648
25648
  id: "installed-cluster-models",
25649
25649
  className: ct,
25650
25650
  children: a("cluster.title")
25651
- }), ke.map((e) => /* @__PURE__ */ v(vO, {
25651
+ }), Se.map((e) => /* @__PURE__ */ v(vO, {
25652
25652
  step: e,
25653
25653
  current: n?.[e.stepId] ?? e.defaultModelId,
25654
25654
  inputs: s,
@@ -25661,7 +25661,7 @@ function yO({ trpc: e, refreshKey: t, clusterModels: n, onChanged: r, onError: i
25661
25661
  function bO(e, t) {
25662
25662
  if (e.kind === "mask") return t("fillBadges.mask");
25663
25663
  if (e.kind === "crop") return e.stepId === "face-detection" ? t("fillBadges.cropFace") : t("fillBadges.cropPlate");
25664
- let n = ge[e.stepId], r = {
25664
+ let n = Fe[e.stepId], r = {
25665
25665
  stepId: e.stepId,
25666
25666
  uncovered: e.uncovered.join(", ")
25667
25667
  };
@@ -25675,7 +25675,7 @@ function xO({ supplies: e }) {
25675
25675
  children: e.map((e) => /* @__PURE__ */ v("span", {
25676
25676
  className: "inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border bg-primary/10 text-primary border-primary/30",
25677
25677
  title: bO(e, t),
25678
- children: Ge(e)
25678
+ children: ce(e)
25679
25679
  }, e.stepId))
25680
25680
  });
25681
25681
  }
@@ -26176,7 +26176,7 @@ function KO(e) {
26176
26176
  return e === null || e.length === 0 ? "hub" : e;
26177
26177
  }
26178
26178
  function qO(e) {
26179
- return Ae.some((t) => t === e);
26179
+ return je.some((t) => t === e);
26180
26180
  }
26181
26181
  async function JO(e, t) {
26182
26182
  let [n, r, i, a, o, s] = await Promise.all([
@@ -26202,7 +26202,7 @@ function YO(e, t, n) {
26202
26202
  return [t(r), a];
26203
26203
  }
26204
26204
  function XO({ trpc: e, refreshKey: t }) {
26205
- let { t: n } = $(), [r, a] = cC("provider"), s = HO(r), c = l((e) => a(e === "all" ? null : e), [a]), [u, d] = YO("type", WO, "all"), [f, p] = YO("device", GO, "all"), [m, h] = YO("node", KO, "hub"), _ = lo(), [x, S] = g(null), [C, w] = g(null), [T, E] = g(0), [D, O] = g(null), ee = l(async () => {
26205
+ let { t: n } = $(), [r, a] = cC("provider"), s = HO(r), c = l((e) => a(e === "all" ? null : e), [a]), [u, d] = YO("type", WO, "all"), [f, p] = YO("device", GO, "all"), [m, h] = YO("node", KO, "hub"), _ = lo(), [x, S] = g(null), [C, w] = g(null), [T, E] = g(0), [D, ee] = g(null), te = l(async () => {
26206
26206
  w(null);
26207
26207
  try {
26208
26208
  S(await JO(e, m));
@@ -26215,11 +26215,11 @@ function XO({ trpc: e, refreshKey: t }) {
26215
26215
  n
26216
26216
  ]);
26217
26217
  i(() => {
26218
- S(null), ee();
26219
- }, [ee, t]);
26220
- let k = l(async () => {
26221
- await ee(), E((e) => e + 1);
26222
- }, [ee]), A = o(() => x === null ? [] : aO({
26218
+ S(null), te();
26219
+ }, [te, t]);
26220
+ let O = l(async () => {
26221
+ await te(), E((e) => e + 1);
26222
+ }, [te]), k = o(() => x === null ? [] : aO({
26223
26223
  nodeId: m,
26224
26224
  seeds: x.seeds,
26225
26225
  stepCatalogs: x.stepCatalogs,
@@ -26228,20 +26228,20 @@ function XO({ trpc: e, refreshKey: t }) {
26228
26228
  clusterModels: x.clusterModels,
26229
26229
  registry: x.models,
26230
26230
  availability: x.availability
26231
- }), [x, m]), j = x?.devices ?? [], te = o(() => oO(A, j, {
26231
+ }), [x, m]), A = x?.devices ?? [], ne = o(() => oO(k, A, {
26232
26232
  provider: s,
26233
26233
  step: u,
26234
26234
  device: f
26235
26235
  }), [
26236
+ k,
26236
26237
  A,
26237
- j,
26238
26238
  s,
26239
26239
  u,
26240
26240
  f
26241
- ]), ne = o(() => {
26242
- let e = new Set(A.map((e) => e.stepId));
26241
+ ]), re = o(() => {
26242
+ let e = new Set(k.map((e) => e.stepId));
26243
26243
  return u !== "all" && e.add(u), [...e].toSorted((e, t) => e.localeCompare(t));
26244
- }, [A, u]), re = l(async (t) => {
26244
+ }, [k, u]), ie = l(async (t) => {
26245
26245
  if (!t.removable || !qO(t.format)) return;
26246
26246
  let n = {
26247
26247
  modelId: t.modelId,
@@ -26252,7 +26252,7 @@ function XO({ trpc: e, refreshKey: t }) {
26252
26252
  ...n,
26253
26253
  addonId: t.stepId
26254
26254
  });
26255
- }, [m, e]), M = l(async (e) => {
26255
+ }, [m, e]), j = l(async (e) => {
26256
26256
  !e.removable || !qO(e.format) || await _({
26257
26257
  title: n("installed.deleteFile.title"),
26258
26258
  message: n("installed.deleteFile.message", {
@@ -26265,20 +26265,20 @@ function XO({ trpc: e, refreshKey: t }) {
26265
26265
  confirmLabel: n("installed.deleteFile.confirm"),
26266
26266
  cancelLabel: n("common.cancel"),
26267
26267
  variant: "danger"
26268
- }) && (await re(e), await k());
26268
+ }) && (await ie(e), await O());
26269
26269
  }, [
26270
26270
  _,
26271
- re,
26271
+ ie,
26272
26272
  m,
26273
- k,
26273
+ O,
26274
26274
  n
26275
- ]), ie = o(() => te.filter((e) => e.removable), [te]), ae = l(async () => {
26276
- if (ie.length === 0) return;
26277
- let e = ie.reduce((e, t) => e + t.sizeMB, 0);
26275
+ ]), ae = o(() => ne.filter((e) => e.removable), [ne]), oe = l(async () => {
26276
+ if (ae.length === 0) return;
26277
+ let e = ae.reduce((e, t) => e + t.sizeMB, 0);
26278
26278
  if (await _({
26279
26279
  title: n("installed.deleteUnused.title"),
26280
26280
  message: n("installed.deleteUnused.message", {
26281
- count: ie.length,
26281
+ count: ae.length,
26282
26282
  size: Nw(e),
26283
26283
  nodeId: m
26284
26284
  }),
@@ -26286,24 +26286,24 @@ function XO({ trpc: e, refreshKey: t }) {
26286
26286
  cancelLabel: n("common.cancel"),
26287
26287
  variant: "danger"
26288
26288
  })) {
26289
- for (let e of ie) await re(e);
26290
- await k();
26289
+ for (let e of ae) await ie(e);
26290
+ await O();
26291
26291
  }
26292
26292
  }, [
26293
26293
  _,
26294
- re,
26295
- m,
26296
- k,
26297
26294
  ie,
26295
+ m,
26296
+ O,
26297
+ ae,
26298
26298
  n
26299
- ]), N = l(async (t, n) => {
26299
+ ]), M = l(async (t, n) => {
26300
26300
  await Yw(e, {
26301
26301
  modelId: t.modelId,
26302
26302
  name: n
26303
- }), await k();
26304
- }, [e, k]), oe = l(async (t, r) => {
26303
+ }), await O();
26304
+ }, [e, O]), se = l(async (t, r) => {
26305
26305
  if (r.configured) {
26306
- O({
26306
+ ee({
26307
26307
  row: t,
26308
26308
  deviceKey: r.deviceKey
26309
26309
  });
@@ -26322,16 +26322,16 @@ function XO({ trpc: e, refreshKey: t }) {
26322
26322
  variant: "default"
26323
26323
  }) && (await xT(e, {
26324
26324
  agentNodeId: m,
26325
- inferenceDevices: GD(j, t.stepId, t.modelId, [r.deviceKey])
26326
- }), await k());
26325
+ inferenceDevices: GD(A, t.stepId, t.modelId, [r.deviceKey])
26326
+ }), await O());
26327
26327
  }, [
26328
26328
  _,
26329
26329
  m,
26330
26330
  e,
26331
- j,
26332
- k,
26331
+ A,
26332
+ O,
26333
26333
  n
26334
- ]), P = A.reduce((e, t) => e + t.sizeMB, 0), F = s !== "all" || u !== "all" || f !== "all";
26334
+ ]), N = k.reduce((e, t) => e + t.sizeMB, 0), P = s !== "all" || u !== "all" || f !== "all";
26335
26335
  return /* @__PURE__ */ y("div", {
26336
26336
  className: Xe,
26337
26337
  "data-testid": "installed-tab",
@@ -26344,10 +26344,10 @@ function XO({ trpc: e, refreshKey: t }) {
26344
26344
  provider: s,
26345
26345
  onProvider: c,
26346
26346
  step: u,
26347
- stepOptions: ne,
26347
+ stepOptions: re,
26348
26348
  onStep: d,
26349
26349
  device: f,
26350
- deviceOptions: JD(j),
26350
+ deviceOptions: JD(A),
26351
26351
  onDevice: p,
26352
26352
  nodeId: m,
26353
26353
  onNode: h
@@ -26363,39 +26363,39 @@ function XO({ trpc: e, refreshKey: t }) {
26363
26363
  "data-testid": "installed-summary",
26364
26364
  children: [
26365
26365
  n("installed.summary.files", {
26366
- count: te.length,
26366
+ count: ne.length,
26367
26367
  nodeId: m
26368
26368
  }),
26369
- F ? ` ${n("installed.summary.ofTotal", { total: A.length })}` : "",
26369
+ P ? ` ${n("installed.summary.ofTotal", { total: k.length })}` : "",
26370
26370
  " ·",
26371
26371
  " ",
26372
- n("installed.summary.onDisk", { size: Nw(P) }),
26372
+ n("installed.summary.onDisk", { size: Nw(N) }),
26373
26373
  " ·",
26374
26374
  " ",
26375
- n("installed.summary.reclaimable", { size: Nw(sO(A)) }),
26375
+ n("installed.summary.reclaimable", { size: Nw(sO(k)) }),
26376
26376
  x?.engines === null ? ` · ${n("installed.summary.loadedUnavailable")}` : ""
26377
26377
  ]
26378
- }), ie.length > 0 && /* @__PURE__ */ v("button", {
26378
+ }), ae.length > 0 && /* @__PURE__ */ v("button", {
26379
26379
  type: "button",
26380
26380
  className: "inline-flex items-center justify-center gap-1 rounded border border-danger/40 bg-danger/10 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-danger hover:bg-danger/20 transition-colors disabled:opacity-40",
26381
26381
  "data-testid": "installed-remove-unused-bulk",
26382
- onClick: () => void ae(),
26383
- children: n("installed.removeUnused", { count: ie.length })
26382
+ onClick: () => void oe(),
26383
+ children: n("installed.removeUnused", { count: ae.length })
26384
26384
  })]
26385
26385
  }),
26386
26386
  /* @__PURE__ */ v(zO, {
26387
- rows: te,
26388
- emptyMessage: A.length === 0 ? n("installed.emptyNode", { nodeId: m }) : n("installed.emptyFiltered"),
26389
- onRemove: M,
26390
- onRename: N,
26391
- onChip: oe,
26387
+ rows: ne,
26388
+ emptyMessage: k.length === 0 ? n("installed.emptyNode", { nodeId: m }) : n("installed.emptyFiltered"),
26389
+ onRemove: j,
26390
+ onRename: M,
26391
+ onChip: se,
26392
26392
  onError: w
26393
26393
  }),
26394
26394
  /* @__PURE__ */ v(yO, {
26395
26395
  trpc: e,
26396
26396
  refreshKey: t + T,
26397
26397
  clusterModels: x?.clusterModels ?? null,
26398
- onChanged: () => void k(),
26398
+ onChanged: () => void O(),
26399
26399
  onError: w
26400
26400
  })
26401
26401
  ] }),
@@ -26405,10 +26405,10 @@ function XO({ trpc: e, refreshKey: t }) {
26405
26405
  stepId: D.row.stepId,
26406
26406
  modelId: D.row.modelId,
26407
26407
  modelName: D.row.name,
26408
- devices: j,
26408
+ devices: A,
26409
26409
  deviceKey: D.deviceKey,
26410
- onClose: () => O(null),
26411
- onDone: () => void k()
26410
+ onClose: () => ee(null),
26411
+ onDone: () => void O()
26412
26412
  })
26413
26413
  ]
26414
26414
  });