@camstack/addon-post-analysis 0.1.17 → 0.1.18

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 (22) hide show
  1. package/dist/embedding-encoder/index.js +1 -1
  2. package/dist/embedding-encoder/index.mjs +1 -1
  3. package/dist/enrichment-engine/index.js +1 -1
  4. package/dist/enrichment-engine/index.mjs +1 -1
  5. package/dist/{index-CGAj-pkn.mjs → index-CIJfmsWX.mjs} +23 -9
  6. package/dist/{index-CGAj-pkn.mjs.map → index-CIJfmsWX.mjs.map} +1 -1
  7. package/dist/{index-Dbx13pc7.js → index-DafwGlkQ.js} +23 -9
  8. package/dist/{index-Dbx13pc7.js.map → index-DafwGlkQ.js.map} +1 -1
  9. package/dist/pipeline-analytics/@mf-types.zip +0 -0
  10. package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Djvv92Kv.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-B3kCe2qM.mjs} +6 -6
  11. package/dist/pipeline-analytics/{hostInit-cznE5sde.mjs → hostInit-CuWzic_f.mjs} +4 -4
  12. package/dist/pipeline-analytics/{index-BCEx31Mh.mjs → index-CUXiTSWS.mjs} +406 -371
  13. package/dist/pipeline-analytics/index.js +1 -1
  14. package/dist/pipeline-analytics/index.mjs +1 -1
  15. package/dist/pipeline-analytics/remoteEntry.js +1 -1
  16. package/dist/recording/index.js +2 -2
  17. package/dist/recording/index.mjs +2 -2
  18. package/dist/{recording-coordinator-b-7Ast8s.js → recording-coordinator-BKsM_JGg.js} +2 -2
  19. package/dist/{recording-coordinator-b-7Ast8s.js.map → recording-coordinator-BKsM_JGg.js.map} +1 -1
  20. package/dist/{recording-coordinator-BjWd7HjD.mjs → recording-coordinator-Bw3N1gYu.mjs} +2 -2
  21. package/dist/{recording-coordinator-BjWd7HjD.mjs.map → recording-coordinator-Bw3N1gYu.mjs.map} +1 -1
  22. package/package.json +1 -1
@@ -28,7 +28,7 @@ const ho = ["onnx", "coreml", "openvino", "tflite", "pt"], vo = [
28
28
  { id: "network", label: "Network", icon: "globe", order: 60 },
29
29
  { id: "storage", label: "Storage", icon: "hard-drive", order: 70 },
30
30
  { id: "advanced", label: "Advanced", icon: "wrench", order: 100 }
31
- ], Gp = Object.fromEntries(vo.map((i) => [i.id, i]));
31
+ ], Qp = Object.fromEntries(vo.map((i) => [i.id, i]));
32
32
  function yo(i) {
33
33
  return i.type === "separator" || i.type === "info" || i.type === "button" || i.type === "object-array" || i.type === "widget" || i.type === "addon-action-button";
34
34
  }
@@ -113,7 +113,7 @@ const X = S([
113
113
  // root: `<dataDir>/backups`. Operators can repoint via the same
114
114
  // override mechanism every other location uses (storage settings).
115
115
  "backups"
116
- ]), Vp = {
116
+ ]), Jp = {
117
117
  // Singletons — system-internal or split-state-incoherent
118
118
  data: "singleton",
119
119
  media: "singleton",
@@ -500,10 +500,10 @@ for (const [i, s] of Object.entries(ko.mapping))
500
500
  Et.set(i.toLowerCase(), s);
501
501
  for (const [i, s] of Object.entries(wo.mapping))
502
502
  Et.set(i.toLowerCase(), s);
503
- function jp(i) {
503
+ function Xp(i) {
504
504
  return Et.get(i.toLowerCase()) ?? null;
505
505
  }
506
- function Zp() {
506
+ function em() {
507
507
  return Io.map((i) => i.id);
508
508
  }
509
509
  var C = /* @__PURE__ */ ((i) => (i.Camera = "camera", i.Hub = "hub", i.Light = "light", i.Siren = "siren", i.Switch = "switch", i.Sensor = "sensor", i.Thermostat = "thermostat", i.Button = "button", i.Generic = "generic", i))(C || {}), on = /* @__PURE__ */ ((i) => (i.BatteryOperated = "battery-operated", i.Rebootable = "rebootable", i.NativeSnapshot = "native-snapshot", i.DoorbellButton = "doorbell-button", i.TwoWayAudio = "two-way-audio", i.PanTiltZoom = "pan-tilt-zoom", i.PtzAutotrack = "ptz-autotrack", i.MotionTrigger = "motion-trigger", i))(on || {}), Ao = /* @__PURE__ */ ((i) => (i.ChargingDC = "charging-dc", i.ChargingSolar = "charging-solar", i.NotCharging = "not-charging", i))(Ao || {}), F = /* @__PURE__ */ ((i) => (i.Siren = "siren", i.Floodlight = "floodlight", i.Spotlight = "spotlight", i.PirSensor = "pir-sensor", i.Chime = "chime", i.Autotrack = "autotrack", i.Nightvision = "nightvision", i.PrivacyMask = "privacy-mask", i.Doorbell = "doorbell", i))(F || {});
@@ -516,7 +516,7 @@ const H = {
516
516
  Autotrack: F.Autotrack,
517
517
  Nightvision: F.Nightvision,
518
518
  PrivacyMask: F.PrivacyMask
519
- }, Yp = {
519
+ }, tm = {
520
520
  [H.Siren]: "Siren",
521
521
  [H.Floodlight]: "Floodlight",
522
522
  [H.Spotlight]: "Spotlight",
@@ -526,7 +526,7 @@ const H = {
526
526
  [H.Nightvision]: "Night Vision",
527
527
  [H.PrivacyMask]: "Privacy Mask"
528
528
  };
529
- function Qp(i, s, n) {
529
+ function am(i, s, n) {
530
530
  const d = `${i}:${s}`;
531
531
  return typeof n == "number" ? `${d}:${n}` : d;
532
532
  }
@@ -548,7 +548,7 @@ const No = {
548
548
  }, Po = [
549
549
  No
550
550
  ];
551
- function Jp(i) {
551
+ function nm(i) {
552
552
  for (const s of Po)
553
553
  if (Co(i, s)) return s;
554
554
  return null;
@@ -682,7 +682,7 @@ const Oe = t({
682
682
  auth: "protected"
683
683
  }
684
684
  };
685
- function Xp(i) {
685
+ function om(i) {
686
686
  let s = i.methods;
687
687
  return i.exposesDeviceSettings && (s = { ...xo, ...s }), i.status && (s = { ...To, ...s }), s;
688
688
  }
@@ -699,7 +699,7 @@ function c(i, s, n) {
699
699
  function V(i) {
700
700
  return { data: i };
701
701
  }
702
- function em(i) {
702
+ function sm(i) {
703
703
  return i?.deviceConfig !== void 0;
704
704
  }
705
705
  const Ro = t({
@@ -885,7 +885,7 @@ const Ro = t({
885
885
  * sliders surface the current level without polling the provider.
886
886
  */
887
887
  runtimeState: da
888
- }, W = S(["high", "mid", "low"]), tm = ["high", "mid", "low"], dn = S([
888
+ }, W = S(["high", "mid", "low"]), im = ["high", "mid", "low"], dn = S([
889
889
  "pull-rtsp",
890
890
  "pull-rtmp",
891
891
  "pull-http",
@@ -965,7 +965,7 @@ const Ro = t({
965
965
  bitrate: a().optional(),
966
966
  codec: e().optional(),
967
967
  profileHint: S(["high", "mid", "low"]).optional()
968
- }), am = t({
968
+ }), cm = t({
969
969
  type: e(),
970
970
  url: e(),
971
971
  videoCodec: e().optional(),
@@ -1115,7 +1115,7 @@ const Ro = t({
1115
1115
  audio: p(Yo).readonly(),
1116
1116
  pipeClients: a(),
1117
1117
  encodedSubscribers: a()
1118
- }), nm = S([
1118
+ }), rm = S([
1119
1119
  "reconnecting",
1120
1120
  "sleeping",
1121
1121
  "offline",
@@ -1660,7 +1660,7 @@ const Ro = t({
1660
1660
  regionCount: a()
1661
1661
  }) }
1662
1662
  }
1663
- }, om = t({
1663
+ }, dm = t({
1664
1664
  activeCameras: a(),
1665
1665
  throttledCameras: a(),
1666
1666
  avgInferenceTimeMs: a(),
@@ -2233,7 +2233,7 @@ const Ro = t({
2233
2233
  * copy stays in sync. Empty array → no zone filtering.
2234
2234
  */
2235
2235
  zones: p(re).readonly().default([])
2236
- }), sm = [
2236
+ }), lm = [
2237
2237
  {
2238
2238
  key: "motionSources",
2239
2239
  type: "multiselect",
@@ -2865,7 +2865,7 @@ const Ro = t({
2865
2865
  * see it active immediately.
2866
2866
  */
2867
2867
  enabled: h().default(!0)
2868
- }), im = p(de).readonly(), ba = S(["motion", "detection"]), An = {
2868
+ }), pm = p(de).readonly(), ba = S(["motion", "detection"]), An = {
2869
2869
  name: "zone-rules",
2870
2870
  scope: "device",
2871
2871
  mode: "singleton",
@@ -2907,7 +2907,7 @@ const Ro = t({
2907
2907
  connected: h(),
2908
2908
  deviceCount: a(),
2909
2909
  error: e().optional()
2910
- }), cm = t({
2910
+ }), mm = t({
2911
2911
  externalId: e(),
2912
2912
  name: e(),
2913
2913
  type: e(),
@@ -3657,7 +3657,7 @@ const Ro = t({
3657
3657
  targets: p(e()).min(1),
3658
3658
  access: p(Se).min(1)
3659
3659
  })
3660
- ]), rm = t({
3660
+ ]), um = t({
3661
3661
  id: e(),
3662
3662
  username: e(),
3663
3663
  passwordHash: e(),
@@ -3677,7 +3677,7 @@ const Ro = t({
3677
3677
  scopes: p(R).default([]),
3678
3678
  createdAt: a(),
3679
3679
  updatedAt: a()
3680
- }), dm = t({
3680
+ }), gm = t({
3681
3681
  id: e(),
3682
3682
  label: e(),
3683
3683
  isAdmin: h().default(!1),
@@ -3687,7 +3687,7 @@ const Ro = t({
3687
3687
  tokenPrefix: e(),
3688
3688
  createdAt: a(),
3689
3689
  lastUsedAt: a().optional()
3690
- }), lm = t({
3690
+ }), hm = t({
3691
3691
  id: e(),
3692
3692
  userId: e(),
3693
3693
  name: e(),
@@ -4150,7 +4150,7 @@ const Ro = t({
4150
4150
  */
4151
4151
  invoke: c(fc, bc, { kind: "mutation" })
4152
4152
  }
4153
- }, pm = [
4153
+ }, vm = [
4154
4154
  { value: "auto", label: "Auto (defer to probed best)" },
4155
4155
  { value: "none", label: "Off (software)" },
4156
4156
  { value: "videotoolbox", label: "VideoToolbox (macOS)" },
@@ -4163,7 +4163,7 @@ const Ro = t({
4163
4163
  { value: "amf", label: "AMF (AMD)" },
4164
4164
  { value: "vdpau", label: "VDPAU (Linux NVIDIA legacy)" },
4165
4165
  { value: "drm", label: "DRM (Linux generic)" }
4166
- ], mm = {
4166
+ ], ym = {
4167
4167
  hwaccel: "auto",
4168
4168
  probedBestHwaccel: ""
4169
4169
  }, kc = t({
@@ -4835,11 +4835,11 @@ const Ro = t({
4835
4835
  // this in `micro` mode.
4836
4836
  rawLabels: p(pt).readonly().optional(),
4837
4837
  inferenceMs: a()
4838
- }), um = [
4838
+ }), Sm = [
4839
4839
  { value: "auto", label: "Auto (platform default)" },
4840
4840
  { value: "apple-soundanalysis", label: "Apple SoundAnalysis (macOS 12+)" },
4841
4841
  { value: "yamnet-onnx", label: "YAMNet ONNX (cross-platform)" }
4842
- ], gm = {
4842
+ ], fm = {
4843
4843
  audioBackend: "auto",
4844
4844
  probedBestAudioBackend: "",
4845
4845
  selectedAudioModel: ""
@@ -7826,6 +7826,16 @@ const Ro = t({
7826
7826
  services: p(fl).readonly(),
7827
7827
  groupId: e().optional()
7828
7828
  }), Il = t({
7829
+ id: e(),
7830
+ status: e(),
7831
+ cpuPercent: a(),
7832
+ memoryRss: a()
7833
+ }), kl = t({
7834
+ category: e(),
7835
+ total: a(),
7836
+ healthy: a(),
7837
+ addons: p(Il).readonly()
7838
+ }), wl = t({
7829
7839
  id: e(),
7830
7840
  name: e(),
7831
7841
  hostname: e(),
@@ -7849,34 +7859,41 @@ const Ro = t({
7849
7859
  status: e()
7850
7860
  })
7851
7861
  ).readonly(),
7852
- processes: p(bl).readonly()
7853
- }), kl = t({
7862
+ processes: p(bl).readonly(),
7863
+ categories: p(kl).readonly()
7864
+ }), Al = t({
7865
+ callerAddonId: e(),
7866
+ providerAddonId: e(),
7867
+ capName: e(),
7868
+ callsPerMin: a(),
7869
+ lastCallAtMs: a()
7870
+ }), Cl = t({
7854
7871
  nodeId: e(),
7855
7872
  name: e(),
7856
7873
  version: e(),
7857
7874
  status: e(),
7858
7875
  synced: h()
7859
- }), wl = t({
7876
+ }), Nl = t({
7860
7877
  hubVersion: e(),
7861
- nodes: p(kl)
7878
+ nodes: p(Cl)
7862
7879
  }), Je = t({
7863
7880
  nodeId: e(),
7864
7881
  addonId: e()
7865
- }), Al = t({
7882
+ }), Pl = t({
7866
7883
  id: e(),
7867
7884
  status: e(),
7868
7885
  version: e().optional(),
7869
7886
  packageName: e().optional()
7870
- }), ce = t({ success: h() }), Cl = t({
7887
+ }), ce = t({ success: h() }), Dl = t({
7871
7888
  success: h(),
7872
7889
  reason: e().optional()
7873
- }), Nl = t({
7890
+ }), Ml = t({
7874
7891
  restarted: p(e()).readonly(),
7875
7892
  failed: p(e()).readonly()
7876
- }), Pl = t({
7893
+ }), El = t({
7877
7894
  nodeId: e(),
7878
7895
  name: e()
7879
- }), Dl = {
7896
+ }), xl = {
7880
7897
  name: "nodes",
7881
7898
  scope: "system",
7882
7899
  mode: "singleton",
@@ -7884,7 +7901,7 @@ const Ro = t({
7884
7901
  methods: {
7885
7902
  topology: c(
7886
7903
  g(),
7887
- p(Il).readonly(),
7904
+ p(wl).readonly(),
7888
7905
  { auth: "admin" }
7889
7906
  ),
7890
7907
  deployAddon: c(Je, ce, {
@@ -7901,12 +7918,12 @@ const Ro = t({
7901
7918
  }),
7902
7919
  restartProcess: c(
7903
7920
  t({ nodeId: e(), processName: e() }),
7904
- Cl,
7921
+ Dl,
7905
7922
  { kind: "mutation", auth: "admin" }
7906
7923
  ),
7907
7924
  restartNode: c(
7908
7925
  t({ nodeId: e() }),
7909
- Nl,
7926
+ Ml,
7910
7927
  { kind: "mutation", auth: "admin" }
7911
7928
  ),
7912
7929
  shutdownNode: c(
@@ -7916,25 +7933,19 @@ const Ro = t({
7916
7933
  ),
7917
7934
  renameNode: c(
7918
7935
  t({ nodeId: e(), name: e().min(1).max(64) }),
7919
- Pl,
7936
+ El,
7920
7937
  { kind: "mutation", auth: "admin" }
7921
7938
  ),
7922
7939
  clusterAddonStatus: c(
7923
7940
  g(),
7924
- b(e(), wl),
7941
+ b(e(), Nl),
7925
7942
  { auth: "admin" }
7926
7943
  ),
7927
7944
  getCapUsageGraph: c(
7928
7945
  t({
7929
7946
  windowSeconds: a().int().positive().max(300).default(60)
7930
7947
  }),
7931
- p(t({
7932
- callerAddonId: e(),
7933
- providerAddonId: e(),
7934
- capName: e(),
7935
- callsPerMin: a(),
7936
- lastCallAtMs: a()
7937
- })).readonly(),
7948
+ p(Al).readonly(),
7938
7949
  { auth: "admin" }
7939
7950
  ),
7940
7951
  /**
@@ -7947,7 +7958,7 @@ const Ro = t({
7947
7958
  */
7948
7959
  getNodeAddons: c(
7949
7960
  t({ nodeId: e() }),
7950
- p(Al).readonly(),
7961
+ p(Pl).readonly(),
7951
7962
  { auth: "admin" }
7952
7963
  ),
7953
7964
  setProcessLogLevel: c(
@@ -7983,7 +7994,7 @@ const Ro = t({
7983
7994
  info: b(e(), f()).readonly(),
7984
7995
  createdAt: a(),
7985
7996
  updatedAt: a()
7986
- }), Ml = t({
7997
+ }), Tl = t({
7987
7998
  addonId: e(),
7988
7999
  name: e(),
7989
8000
  description: e(),
@@ -7993,25 +8004,25 @@ const Ro = t({
7993
8004
  discoveryMode: e(),
7994
8005
  existingInstances: p(t({ id: e(), name: e() })),
7995
8006
  canAdd: h()
7996
- }), El = t({
8007
+ }), Rl = t({
7997
8008
  success: h(),
7998
8009
  error: e().optional()
7999
- }), xl = t({
8010
+ }), Bl = t({
8000
8011
  addonId: e(),
8001
8012
  name: e(),
8002
8013
  enabled: h().optional(),
8003
8014
  info: b(e(), f()).optional(),
8004
8015
  settings: b(e(), f()).optional(),
8005
8016
  skipRestart: h().optional()
8006
- }), Tl = t({
8017
+ }), ql = t({
8007
8018
  id: e(),
8008
8019
  name: e().optional(),
8009
8020
  enabled: h().optional(),
8010
8021
  info: b(e(), f()).optional()
8011
- }), Rl = t({
8022
+ }), Ol = t({
8012
8023
  success: h(),
8013
8024
  deletedId: e()
8014
- }), Bl = {
8025
+ }), zl = {
8015
8026
  name: "integrations",
8016
8027
  scope: "system",
8017
8028
  mode: "singleton",
@@ -8023,18 +8034,18 @@ const Ro = t({
8023
8034
  Xe.nullable()
8024
8035
  ),
8025
8036
  create: c(
8026
- xl,
8037
+ Bl,
8027
8038
  Xe,
8028
8039
  { kind: "mutation", auth: "admin" }
8029
8040
  ),
8030
8041
  update: c(
8031
- Tl,
8042
+ ql,
8032
8043
  Xe,
8033
8044
  { kind: "mutation", auth: "admin" }
8034
8045
  ),
8035
8046
  delete: c(
8036
8047
  t({ id: e() }),
8037
- Rl,
8048
+ Ol,
8038
8049
  { kind: "mutation", auth: "admin" }
8039
8050
  ),
8040
8051
  getSettings: c(
@@ -8052,7 +8063,7 @@ const Ro = t({
8052
8063
  ),
8053
8064
  getAvailableTypes: c(
8054
8065
  g(),
8055
- p(Ml),
8066
+ p(Tl),
8056
8067
  { auth: "admin" }
8057
8068
  ),
8058
8069
  testConnection: c(
@@ -8060,11 +8071,11 @@ const Ro = t({
8060
8071
  addonId: e(),
8061
8072
  settings: b(e(), f())
8062
8073
  }),
8063
- El,
8074
+ Rl,
8064
8075
  { kind: "mutation", auth: "admin" }
8065
8076
  )
8066
8077
  }
8067
- }, Ja = S(["debug", "info", "warn", "error"]), Nt = S(["off", "latest", "beta"]), Hn = S(["off", "latest", "beta", "inherit"]), ql = t({
8078
+ }, Ja = S(["debug", "info", "warn", "error"]), Nt = S(["off", "latest", "beta"]), Hn = S(["off", "latest", "beta", "inherit"]), Ll = t({
8068
8079
  id: e(),
8069
8080
  name: e().optional(),
8070
8081
  version: e().optional(),
@@ -8093,11 +8104,11 @@ const Ro = t({
8093
8104
  }).optional(),
8094
8105
  protected: h().optional(),
8095
8106
  removable: h().optional()
8096
- }), Ol = t({
8107
+ }), _l = t({
8097
8108
  pid: a().optional(),
8098
8109
  mode: e(),
8099
8110
  state: e()
8100
- }), zl = t({
8111
+ }), Fl = t({
8101
8112
  phase: S(["pending", "healthy", "failed"]),
8102
8113
  retryCount: a(),
8103
8114
  firstFailureAt: a().nullable(),
@@ -8107,12 +8118,12 @@ const Ro = t({
8107
8118
  alertEmitted: h(),
8108
8119
  retrying: h(),
8109
8120
  inGracePeriod: h()
8110
- }), Ll = t({
8111
- manifest: ql,
8121
+ }), Ul = t({
8122
+ manifest: Ll,
8112
8123
  declaration: f().optional(),
8113
8124
  source: e(),
8114
8125
  installSource: e().optional(),
8115
- process: Ol.optional(),
8126
+ process: _l.optional(),
8116
8127
  /**
8117
8128
  * True when `applyUpdate` last ran for this package and a pre-update
8118
8129
  * backup is still on disk (post-update health-check hasn't cleared
@@ -8121,24 +8132,24 @@ const Ro = t({
8121
8132
  */
8122
8133
  hasBackup: h().optional(),
8123
8134
  /** Kernel health snapshot — null when monitor doesn't track this package. */
8124
- health: zl.nullable().optional()
8125
- }), _l = t({
8135
+ health: Fl.nullable().optional()
8136
+ }), Hl = t({
8126
8137
  name: e(),
8127
8138
  version: e(),
8128
8139
  dir: e(),
8129
8140
  installSource: e().optional()
8130
- }), Fl = t({
8141
+ }), $l = t({
8131
8142
  name: e(),
8132
8143
  currentVersion: e(),
8133
8144
  latestVersion: e(),
8134
8145
  category: S(["addon", "core"]),
8135
8146
  requiresRestart: h()
8136
- }), Ul = t({
8147
+ }), Wl = t({
8137
8148
  version: e(),
8138
8149
  publishedAt: e(),
8139
8150
  deprecated: e().optional(),
8140
8151
  distTags: p(e()).readonly()
8141
- }), Hl = t({
8152
+ }), Kl = t({
8142
8153
  name: e(),
8143
8154
  version: e(),
8144
8155
  description: e(),
@@ -8147,39 +8158,39 @@ const Ro = t({
8147
8158
  author: e(),
8148
8159
  installed: h(),
8149
8160
  installedVersion: e().optional()
8150
- }), $l = t({
8161
+ }), Gl = t({
8151
8162
  channel: Nt,
8152
8163
  intervalSeconds: a()
8153
- }), Wl = Hn, Kl = f(), Xa = f(), Gl = f(), Vl = t({
8164
+ }), Vl = Hn, jl = f(), Xa = f(), Zl = f(), Yl = t({
8154
8165
  packageName: e(),
8155
8166
  fromVersion: e(),
8156
8167
  toVersion: e(),
8157
8168
  /** Ms-epoch the server scheduled its self-restart. */
8158
8169
  restartingAt: a()
8159
- }), jl = t({
8170
+ }), Ql = t({
8160
8171
  packageName: e(),
8161
8172
  currentVersion: e(),
8162
8173
  latestVersion: e().nullable(),
8163
8174
  hasUpdate: h(),
8164
8175
  /** Optional manifest description for the row tooltip. */
8165
8176
  description: e().optional()
8166
- }), Zl = t({
8177
+ }), Jl = t({
8167
8178
  timestamp: e(),
8168
8179
  level: e(),
8169
8180
  message: e(),
8170
8181
  scope: e().optional()
8171
- }), Yl = f(), Ql = t({
8182
+ }), Xl = f(), ep = t({
8172
8183
  addonId: e().min(1),
8173
8184
  action: e().min(1),
8174
8185
  input: f()
8175
- }), Jl = {
8186
+ }), tp = {
8176
8187
  name: "addons",
8177
8188
  scope: "system",
8178
8189
  mode: "singleton",
8179
8190
  nodeIdMode: "data",
8180
8191
  methods: {
8181
8192
  // ── Listing ──────────────────────────────────────────────────────
8182
- list: c(g(), p(Ll).readonly()),
8193
+ list: c(g(), p(Ul).readonly()),
8183
8194
  // ── Logs (query) ────────────────────────────────────────────────
8184
8195
  // Default auth (`protected`): authenticated users — including scoped
8185
8196
  // tokens with the right route-prefix scope. Reading logs isn't an
@@ -8190,10 +8201,10 @@ const Ro = t({
8190
8201
  limit: a().min(1).max(500).default(100),
8191
8202
  level: Ja.optional()
8192
8203
  }),
8193
- p(Yl)
8204
+ p(Xl)
8194
8205
  ),
8195
8206
  // ── Packages ────────────────────────────────────────────────────
8196
- listPackages: c(g(), p(_l).readonly()),
8207
+ listPackages: c(g(), p(Hl).readonly()),
8197
8208
  installPackage: c(
8198
8209
  t({ packageName: e(), version: e().optional() }),
8199
8210
  Xa,
@@ -8211,7 +8222,7 @@ const Ro = t({
8211
8222
  f(),
8212
8223
  { kind: "mutation", auth: "admin" }
8213
8224
  ),
8214
- reloadPackages: c(g(), Gl, {
8225
+ reloadPackages: c(g(), Zl, {
8215
8226
  kind: "mutation",
8216
8227
  auth: "admin"
8217
8228
  }),
@@ -8221,7 +8232,7 @@ const Ro = t({
8221
8232
  // call shape (`{ query?: string }`).
8222
8233
  searchAvailable: c(
8223
8234
  t({ query: e().optional() }),
8224
- p(Hl)
8235
+ p(Kl)
8225
8236
  ),
8226
8237
  /**
8227
8238
  * Available package updates for a node. `nodeId` omitted (or
@@ -8231,7 +8242,7 @@ const Ro = t({
8231
8242
  */
8232
8243
  listUpdates: c(
8233
8244
  t({ nodeId: e().optional() }),
8234
- p(Fl).readonly(),
8245
+ p($l).readonly(),
8235
8246
  { auth: "admin" }
8236
8247
  ),
8237
8248
  /**
@@ -8312,7 +8323,7 @@ const Ro = t({
8312
8323
  */
8313
8324
  listFrameworkPackages: c(
8314
8325
  g(),
8315
- p(jl).readonly(),
8326
+ p(Ql).readonly(),
8316
8327
  { auth: "admin" }
8317
8328
  ),
8318
8329
  /**
@@ -8385,16 +8396,16 @@ const Ro = t({
8385
8396
  packageName: e().min(1),
8386
8397
  version: e().optional()
8387
8398
  }),
8388
- Vl,
8399
+ Yl,
8389
8400
  { kind: "mutation", auth: "admin" }
8390
8401
  ),
8391
8402
  getVersions: c(
8392
8403
  t({ name: e() }),
8393
- p(Ul).readonly()
8404
+ p(Wl).readonly()
8394
8405
  ),
8395
8406
  restartAddon: c(
8396
8407
  t({ addonId: e() }),
8397
- Kl,
8408
+ jl,
8398
8409
  { kind: "mutation", auth: "admin" }
8399
8410
  ),
8400
8411
  /**
@@ -8411,7 +8422,7 @@ const Ro = t({
8411
8422
  // ── Auto-update ─────────────────────────────────────────────────
8412
8423
  getAutoUpdateSettings: c(
8413
8424
  g(),
8414
- $l,
8425
+ Gl,
8415
8426
  { auth: "admin" }
8416
8427
  ),
8417
8428
  setAutoUpdateSettings: c(
@@ -8424,7 +8435,7 @@ const Ro = t({
8424
8435
  ),
8425
8436
  getAddonAutoUpdate: c(
8426
8437
  t({ addonId: e() }),
8427
- Wl,
8438
+ Vl,
8428
8439
  { auth: "admin" }
8429
8440
  ),
8430
8441
  setAddonAutoUpdate: c(
@@ -8442,30 +8453,30 @@ const Ro = t({
8442
8453
  // is enforced inside the provider; the outer cap auth is
8443
8454
  // `protected` (any authenticated user) so individual addons can
8444
8455
  // gate their own actions to public/protected/admin/superAdmin.
8445
- custom: c(Ql, f(), { kind: "mutation" }),
8456
+ custom: c(ep, f(), { kind: "mutation" }),
8446
8457
  // ── Log streaming ───────────────────────────────────────────────
8447
8458
  onAddonLogs: c(
8448
8459
  t({
8449
8460
  addonId: e(),
8450
8461
  level: Ja.optional()
8451
8462
  }),
8452
- Zl,
8463
+ Jl,
8453
8464
  { kind: "subscription" }
8454
8465
  )
8455
8466
  }
8456
- }, Xl = [
8467
+ }, ap = [
8457
8468
  "decoder",
8458
8469
  "motion-detection",
8459
8470
  "pipeline-executor",
8460
8471
  "audio-analyzer",
8461
8472
  "pipeline-analytics",
8462
8473
  "notification-output"
8463
- ], hm = [
8464
- ...Xl,
8474
+ ], bm = [
8475
+ ...ap,
8465
8476
  "pipeline-orchestrator",
8466
8477
  "pipeline-runner"
8467
8478
  ];
8468
- class vm {
8479
+ class Im {
8469
8480
  disposers = [];
8470
8481
  disposed = !1;
8471
8482
  onError;
@@ -8528,31 +8539,31 @@ class vm {
8528
8539
  }
8529
8540
  }
8530
8541
  }
8531
- const ep = "hub-only";
8542
+ const np = "hub-only";
8532
8543
  function Be(i) {
8533
8544
  return {
8534
- placement: i.execution?.placement ?? ep,
8545
+ placement: i.execution?.placement ?? np,
8535
8546
  group: i.execution?.group
8536
8547
  };
8537
8548
  }
8538
- function ym(i) {
8549
+ function km(i) {
8539
8550
  const s = Be(i).placement;
8540
8551
  return s === "any-node" || s === "agent-only";
8541
8552
  }
8542
- function Sm(i) {
8553
+ function wm(i) {
8543
8554
  return Be(i).placement === "agent-only";
8544
8555
  }
8545
- function fm(i) {
8556
+ function Am(i) {
8546
8557
  return Be(i).group;
8547
8558
  }
8548
- function bm(i, s) {
8559
+ function Cm(i, s) {
8549
8560
  return i.execution?.group ?? s;
8550
8561
  }
8551
- function Im(i) {
8562
+ function Nm(i) {
8552
8563
  return Be(i).placement;
8553
8564
  }
8554
8565
  var Ne = /* @__PURE__ */ ((i) => (i.SystemBoot = "system.boot", i.SystemAddonsReady = "system.addons-ready", i.SystemRestarting = "system.restarting", i.SystemRestartCompleted = "system.restart-completed", i.SystemReadyState = "system.ready-state", i.AddonStarted = "addon.started", i.AddonStopped = "addon.stopped", i.AddonRestarted = "addon.restarted", i.AddonUpdated = "addon.updated", i.AddonInstalled = "addon.installed", i.AddonUninstalled = "addon.uninstalled", i.AddonCrashed = "addon.crashed", i.AddonError = "addon.error", i.AddonPageReady = "addon.page-ready", i.AddonWidgetReady = "addon.widget-ready", i.AddonLoadFailed = "addon.load-failed", i.AddonLoadRecovered = "addon.load-recovered", i.AddonRetryScheduled = "addon.retry-scheduled", i.AddonRetryAttempting = "addon.retry-attempting", i.DeviceRegistered = "device.registered", i.DeviceUnregistered = "device.unregistered", i.DeviceEnabled = "device.enabled", i.DeviceDisabled = "device.disabled", i.DeviceSettingsUpdated = "device.settings-updated", i.DeviceBindingsChanged = "device.bindings-changed", i.DeviceMetaChanged = "device.meta-changed", i.DeviceStreamsRegistered = "device.streams-registered", i.IntegrationEnabled = "integration.enabled", i.IntegrationDisabled = "integration.disabled", i.IntegrationDeleted = "integration.deleted", i.ProviderStarted = "provider.started", i.ProviderStopped = "provider.stopped", i.ProcessCrashed = "process.crashed", i.ProcessRestartScheduled = "process.restart_scheduled", i.ProcessRestarted = "process.restarted", i.RecordingStarted = "recording.started", i.RecordingStopped = "recording.stopped", i.RecordingError = "recording.error", i.RecordingHealthDegraded = "recording.health.degraded", i.RecordingStorageCritical = "recording.storage.critical", i.RecordingSegmentWritten = "recording.segment.written", i.RecordingPolicyFallback = "recording.policy.fallback", i.RecordingRetentionCompleted = "recording.retention.completed", i.DetectionEvent = "detection.event", i.SessionTrackNew = "session.track.new", i.SessionTrackExpired = "session.track.expired", i.BenchmarkProgress = "benchmark.progress", i.PlatformProbePhase = "platform-probe.phase", i.PipelineProgress = "pipeline.progress", i.PipelineTrace = "pipeline.trace", i.PipelineInferenceResult = "pipeline.inference-result", i.PipelineCameraAssigned = "pipeline.camera-assigned", i.PipelineCameraUnassigned = "pipeline.camera-unassigned", i.PipelineCameraUpdated = "pipeline.camera-updated", i.PipelineRunnerLoadSnapshot = "pipeline.runner-load-snapshot", i.PipelineCameraMetricsSnapshot = "pipeline.camera-metrics-snapshot", i.StreamBrokerMetricsSnapshot = "stream-broker.metrics-snapshot", i.StreamBrokerOnCamStreamDemand = "stream-broker.onCamStreamDemand", i.StreamBrokerOnCamStreamIdle = "stream-broker.onCamStreamIdle", i.StreamBrokerOnRequestStreamSourceRefresh = "stream-broker.onRequestStreamSourceRefresh", i.DeviceStateChanged = "device.state-changed", i.BatteryOnStatusChanged = "battery.onStatusChanged", i.DoorbellOnPressed = "doorbell.onPressed", i.PipelineEngineMetricsSnapshot = "pipeline.engine-metrics-snapshot", i.ClusterTopologySnapshot = "cluster.topology-snapshot", i.MetricsNodeResourcesSnapshot = "metrics.node-resources-snapshot", i.MetricsNodeProcessesSnapshot = "metrics.node-processes-snapshot", i.CapabilityBindingChanged = "capability.binding-changed", i.ModelDownloadProgress = "model.download.progress", i.AgentRegistered = "agent.registered", i.AgentUnregistered = "agent.unregistered", i.AgentOnline = "agent.online", i.AgentOffline = "agent.offline", i.WorkerOnline = "worker.online", i.WorkerOffline = "worker.offline", i.AgentTaskDispatched = "agent.task.dispatched", i.AgentTaskAssigned = "agent.task.assigned", i.AgentTrpcConnected = "agent.trpc.connected", i.AgentWsConnected = "agent.ws.connected", i.AgentWsDisconnected = "agent.ws.disconnected", i.AgentBackupActivated = "agent.backup.activated", i.OrchestrationSettingsUpdated = "orchestration.settings-updated", i.PipelineAgentHwaccelChanged = "pipeline.agent-hwaccel-changed", i.MotionAnalysis = "detection.motion-analysis", i.MotionZonesRaw = "detection.motion-zones-raw", i.MotionOnMotionChanged = "motion.on-motion-changed", i.DetectionResult = "detection.result", i.DetectionRaw = "detection.raw", i.DetectionCameraNative = "detection.camera-native", i.PipelineAudioInferenceResult = "pipeline.audio-inference-result", i.DetectionPhaseTransition = "detection.phase-transition", i.ProviderMotion = "provider.motion", i.ProviderDetection = "provider.detection", i.EnrichmentEmbeddingStored = "enrichment.embedding.stored", i.EnrichmentSceneStateChanged = "enrichment.scene.state-changed", i.EnrichmentActivitySummary = "enrichment.activity.summary", i.PipelineAnalyticsTrackStarted = "pipeline-analytics.track-started", i.PipelineAnalyticsTrackEnded = "pipeline-analytics.track-ended", i.PipelineAnalyticsDetectionEvent = "pipeline-analytics.detection-event", i.PipelineAnalyticsFrameTracked = "pipeline-analytics.frame-tracked", i.FrigateLiveEvent = "frigate.live-event", i.CameraStreamsProfileSlotsChanged = "camera-streams.onProfileSlotsChanged", i.StreamOnline = "stream.online", i.StreamOffline = "stream.offline", i.NetworkTunnelStarted = "network.tunnel.started", i.NetworkTunnelStopped = "network.tunnel.stopped", i.LocalNetworkChanged = "network.local.changed", i.BackupCompleted = "backup.completed", i.BackupRestored = "backup.restored", i.NotificationDispatched = "notification.dispatched", i.NotificationFailed = "notification.failed", i.DeviceUpdated = "device.updated", i.DeviceOnline = "device.online", i.DeviceOffline = "device.offline", i.DeviceAwake = "device.awake", i.DeviceSleeping = "device.sleeping", i.RetentionCleanup = "retention.cleanup", i))(Ne || {});
8555
- function km(i, s) {
8566
+ function Pm(i, s) {
8556
8567
  return i.category === s;
8557
8568
  }
8558
8569
  function $n(i, s, n) {
@@ -8564,7 +8575,7 @@ function $n(i, s, n) {
8564
8575
  data: n
8565
8576
  };
8566
8577
  }
8567
- function tp(i, s) {
8578
+ function op(i, s) {
8568
8579
  const n = s.ts ?? Date.now();
8569
8580
  i.emit($n(
8570
8581
  "system.ready-state",
@@ -8579,7 +8590,7 @@ function tp(i, s) {
8579
8590
  }
8580
8591
  ));
8581
8592
  }
8582
- class ap {
8593
+ class sp {
8583
8594
  _ctx = null;
8584
8595
  _config;
8585
8596
  /**
@@ -8633,7 +8644,7 @@ class ap {
8633
8644
  this._ctx = s, await this.resolveConfig();
8634
8645
  const n = await this.onInitialize();
8635
8646
  this.emitLifecycle(Ne.AddonStarted);
8636
- const d = np(n), l = d && "providers" in d && d.providers ? d.providers : [];
8647
+ const d = ip(n), l = d && "providers" in d && d.providers ? d.providers : [];
8637
8648
  return this._registeredCapNames = l.map((m) => m.capability.name), d;
8638
8649
  }
8639
8650
  /**
@@ -8818,7 +8829,7 @@ class ap {
8818
8829
  const d = n.kernel?.localNodeId ?? "hub", l = d.includes("/") ? d.split("/")[0] : d;
8819
8830
  for (const m of this._registeredCapNames)
8820
8831
  try {
8821
- tp(n.eventBus, {
8832
+ op(n.eventBus, {
8822
8833
  capName: m,
8823
8834
  scope: { type: "node", nodeId: l },
8824
8835
  state: s,
@@ -8896,16 +8907,16 @@ class ap {
8896
8907
  }), {};
8897
8908
  }
8898
8909
  }
8899
- function np(i) {
8910
+ function ip(i) {
8900
8911
  if (i != null)
8901
8912
  return Array.isArray(i) ? { providers: i } : i;
8902
8913
  }
8903
- function wm(i, s) {
8914
+ function Dm(i, s) {
8904
8915
  return {
8905
8916
  id: i,
8906
8917
  getRoutes: () => s,
8907
8918
  invoke: async (n) => {
8908
- const d = op(s, n.method, n.path);
8919
+ const d = cp(s, n.method, n.path);
8909
8920
  if (!d)
8910
8921
  return {
8911
8922
  status: 404,
@@ -8917,7 +8928,7 @@ function wm(i, s) {
8917
8928
  status: 200,
8918
8929
  headers: {},
8919
8930
  redirectUrl: null
8920
- }, m = ip(l), v = {
8931
+ }, m = dp(l), v = {
8921
8932
  params: { ...n.params, ...d.params },
8922
8933
  query: n.query,
8923
8934
  body: n.body,
@@ -8932,16 +8943,16 @@ function wm(i, s) {
8932
8943
  }
8933
8944
  };
8934
8945
  }
8935
- function op(i, s, n) {
8946
+ function cp(i, s, n) {
8936
8947
  const d = s.toUpperCase();
8937
8948
  for (const l of i) {
8938
8949
  if (l.method !== d) continue;
8939
- const m = sp(l.path, n);
8950
+ const m = rp(l.path, n);
8940
8951
  if (m !== null) return { route: l, params: m };
8941
8952
  }
8942
8953
  return null;
8943
8954
  }
8944
- function sp(i, s) {
8955
+ function rp(i, s) {
8945
8956
  const n = i.split("/").filter(Boolean), d = s.split("/").filter(Boolean);
8946
8957
  if (n.length !== d.length) return null;
8947
8958
  const l = {};
@@ -8952,7 +8963,7 @@ function sp(i, s) {
8952
8963
  }
8953
8964
  return l;
8954
8965
  }
8955
- function ip(i) {
8966
+ function dp(i) {
8956
8967
  const s = {
8957
8968
  status(n) {
8958
8969
  return i.status = n, s;
@@ -8975,7 +8986,7 @@ function ip(i) {
8975
8986
  };
8976
8987
  return s;
8977
8988
  }
8978
- class cp extends Error {
8989
+ class lp extends Error {
8979
8990
  capName;
8980
8991
  scope;
8981
8992
  waitedMs;
@@ -8999,7 +9010,7 @@ function le(i) {
8999
9010
  function tt(i, s) {
9000
9011
  return i.type !== s.type ? !1 : i.type === "global" || s.type === "global" ? !0 : i.type === "node" && s.type === "node" ? i.nodeId === s.nodeId : i.type === "device" && s.type === "device" ? i.deviceId === s.deviceId : !1;
9001
9012
  }
9002
- class Am {
9013
+ class Mm {
9003
9014
  bus;
9004
9015
  sourceNodeId;
9005
9016
  logger;
@@ -9010,7 +9021,7 @@ class Am {
9010
9021
  unsubscribeBus;
9011
9022
  unsubscribeAgentOffline;
9012
9023
  constructor(s) {
9013
- if (this.bus = s.eventBus, this.sourceNodeId = s.sourceNodeId, this.logger = s.logger, this.now = s.now ?? (() => Date.now()), this.generation = s.generation ?? rp(), this.unsubscribeBus = this.bus.subscribe(
9024
+ if (this.bus = s.eventBus, this.sourceNodeId = s.sourceNodeId, this.logger = s.logger, this.now = s.now ?? (() => Date.now()), this.generation = s.generation ?? pp(), this.unsubscribeBus = this.bus.subscribe(
9014
9025
  { category: "system.ready-state" },
9015
9026
  (n) => this.ingest(n.data)
9016
9027
  ), this.unsubscribeAgentOffline = this.bus.subscribe(
@@ -9129,7 +9140,7 @@ class Am {
9129
9140
  const w = this.onReadyState(s, n, (j) => {
9130
9141
  j.state === "ready" && (k || (k = !0, O(), u()));
9131
9142
  }), N = !Number.isFinite(l) ? null : setTimeout(() => {
9132
- k || (k = !0, O(), y(new cp(s, n, this.now() - m)));
9143
+ k || (k = !0, O(), y(new lp(s, n, this.now() - m)));
9133
9144
  }, l), x = () => {
9134
9145
  k || (k = !0, O(), y(d.signal?.reason ?? new Error("aborted")));
9135
9146
  };
@@ -9274,14 +9285,14 @@ class Am {
9274
9285
  }
9275
9286
  }
9276
9287
  }
9277
- function rp() {
9288
+ function pp() {
9278
9289
  return typeof crypto < "u" && crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36).slice(2, 14);
9279
9290
  }
9280
- function Cm(i, s) {
9291
+ function Em(i, s) {
9281
9292
  for (const { capName: n, scope: d } of s)
9282
9293
  i.emitDown(n, d);
9283
9294
  }
9284
- const Nm = [
9295
+ const xm = [
9285
9296
  "data",
9286
9297
  "media",
9287
9298
  "recordings",
@@ -9294,7 +9305,7 @@ const Nm = [
9294
9305
  "cache",
9295
9306
  "logs",
9296
9307
  "backups"
9297
- ], Pm = {
9308
+ ], Tm = {
9298
9309
  data: "db",
9299
9310
  media: "media",
9300
9311
  recordings: "recordings",
@@ -9307,20 +9318,20 @@ const Nm = [
9307
9318
  cache: "/tmp/camstack-cache",
9308
9319
  logs: "logs",
9309
9320
  backups: "backups"
9310
- }, dp = {
9321
+ }, mp = {
9311
9322
  high: "High",
9312
9323
  mid: "Mid",
9313
9324
  low: "Low"
9314
9325
  };
9315
- function Dm(i) {
9316
- return dp[i] ?? i.charAt(0).toUpperCase() + i.slice(1);
9326
+ function Rm(i) {
9327
+ return mp[i] ?? i.charAt(0).toUpperCase() + i.slice(1);
9317
9328
  }
9318
- function lp(i) {
9329
+ function up(i) {
9319
9330
  return (i.width ?? 0) * (i.height ?? 0);
9320
9331
  }
9321
- function pp(i) {
9332
+ function gp(i) {
9322
9333
  if (i.length === 0) return [];
9323
- const s = i.map((d, l) => ({ s: d, i: l, px: lp(d.metadata ?? {}) })).sort((d, l) => l.px - d.px), n = Array.from({ length: i.length });
9334
+ const s = i.map((d, l) => ({ s: d, i: l, px: up(d.metadata ?? {}) })).sort((d, l) => l.px - d.px), n = Array.from({ length: i.length });
9324
9335
  for (let d = 0; d < s.length; d++) {
9325
9336
  const { s: l, i: m } = s[d];
9326
9337
  let v;
@@ -9328,11 +9339,11 @@ function pp(i) {
9328
9339
  }
9329
9340
  return n;
9330
9341
  }
9331
- function Mm(i) {
9342
+ function Bm(i) {
9332
9343
  const s = i.height ?? 0, n = i.width ?? 0;
9333
9344
  return s >= 1080 || n >= 1920 ? "high" : s >= 480 || n >= 640 ? "mid" : "low";
9334
9345
  }
9335
- function Em(i) {
9346
+ function qm(i) {
9336
9347
  const s = i.protocols.find((l) => l.type === "rtsp" && l.url) ?? i.protocols.find((l) => l.url), n = s?.type, d = n === "rtsp" ? "rtsp" : n === "http" || n === "flv" ? "http-mjpeg" : "custom";
9337
9348
  return {
9338
9349
  id: i.id,
@@ -9345,21 +9356,21 @@ function Em(i) {
9345
9356
  function B(i) {
9346
9357
  return typeof i == "string";
9347
9358
  }
9348
- function mp(i) {
9359
+ function hp(i) {
9349
9360
  return typeof i == "object" && i !== null && !Array.isArray(i);
9350
9361
  }
9351
- function up(i) {
9352
- return B(i) && i.trim() ? { url: i } : mp(i) && B(i.url) && i.url.trim() ? {
9362
+ function vp(i) {
9363
+ return B(i) && i.trim() ? { url: i } : hp(i) && B(i.url) && i.url.trim() ? {
9353
9364
  url: i.url,
9354
9365
  label: B(i.label) ? i.label : void 0
9355
9366
  } : null;
9356
9367
  }
9357
- function xm(i) {
9368
+ function Om(i) {
9358
9369
  const s = B(i.snapshot_url) ? i.snapshot_url : void 0;
9359
9370
  if (Array.isArray(i.streams)) {
9360
9371
  const v = [];
9361
9372
  for (const u of i.streams) {
9362
- const y = up(u);
9373
+ const y = vp(u);
9363
9374
  y && v.push(y);
9364
9375
  }
9365
9376
  return { streams: v, snapshot_url: s };
@@ -9374,14 +9385,14 @@ function xm(i) {
9374
9385
  snapshot_url: s
9375
9386
  };
9376
9387
  }
9377
- function Tm(i) {
9388
+ function zm(i) {
9378
9389
  if (i.length === 0) return {};
9379
- const s = pp(i), n = {}, d = s.find((u) => u.quality === "high"), l = s.find((u) => u.quality === "mid"), m = s.find((u) => u.quality === "low");
9390
+ const s = gp(i), n = {}, d = s.find((u) => u.quality === "high"), l = s.find((u) => u.quality === "mid"), m = s.find((u) => u.quality === "low");
9380
9391
  d && (n.high = d.id), l && (n.mid = l.id), m && (n.low = m.id);
9381
9392
  const v = d ?? l ?? m ?? s[0];
9382
9393
  return v && (n.high || (n.high = v.id), n.mid || (n.mid = v.id), n.low || (n.low = v.id)), n;
9383
9394
  }
9384
- const Rm = {
9395
+ const Lm = {
9385
9396
  streaming: !0,
9386
9397
  notifications: !0,
9387
9398
  objectDetection: !1,
@@ -9391,14 +9402,14 @@ const Rm = {
9391
9402
  recordings: !0,
9392
9403
  backup: !0,
9393
9404
  repl: !0
9394
- }, Bm = ["face", "plate"], qm = ["face", "plate", "clip", "custom"], Om = {
9405
+ }, _m = ["face", "plate"], Fm = ["face", "plate", "clip", "custom"], Um = {
9395
9406
  cleanupIntervalMs: 3600 * 1e3,
9396
9407
  detectionEventsDays: 30,
9397
9408
  audioLevelsDays: 7,
9398
9409
  snapshotsDays: 14
9399
9410
  };
9400
- var gp = /* @__PURE__ */ ((i) => (i.Addon = "addon", i.Core = "core", i.Device = "device", i.Provider = "provider", i.System = "system", i))(gp || {});
9401
- const hp = "camstack/camstack-models", zm = `https://huggingface.co/${hp}/resolve/main`, Lm = {
9411
+ var yp = /* @__PURE__ */ ((i) => (i.Addon = "addon", i.Core = "core", i.Device = "device", i.Provider = "provider", i.System = "system", i))(yp || {});
9412
+ const Sp = "camstack/camstack-models", Hm = `https://huggingface.co/${Sp}/resolve/main`, $m = {
9402
9413
  "features.streaming": !0,
9403
9414
  "features.notifications": !0,
9404
9415
  "features.objectDetection": !1,
@@ -9441,29 +9452,29 @@ const hp = "camstack/camstack-models", zm = `https://huggingface.co/${hp}/resolv
9441
9452
  function Wn(i) {
9442
9453
  return JSON.parse(i);
9443
9454
  }
9444
- function vp(i) {
9455
+ function fp(i) {
9445
9456
  return i === null || typeof i != "object" || Array.isArray(i) ? null : { ...i };
9446
9457
  }
9447
- function _m(i) {
9458
+ function Wm(i) {
9448
9459
  return Array.isArray(i) ? i : [];
9449
9460
  }
9450
- function Fm(i, s = "") {
9461
+ function Km(i, s = "") {
9451
9462
  return typeof i == "string" ? i : s;
9452
9463
  }
9453
- function Um(i, s = 0) {
9464
+ function Gm(i, s = 0) {
9454
9465
  return typeof i == "number" ? i : s;
9455
9466
  }
9456
- function Hm(i, s = !1) {
9467
+ function Vm(i, s = !1) {
9457
9468
  return typeof i == "boolean" ? i : s;
9458
9469
  }
9459
- function $m(i) {
9470
+ function jm(i) {
9460
9471
  try {
9461
- return vp(Wn(i));
9472
+ return fp(Wn(i));
9462
9473
  } catch {
9463
9474
  return null;
9464
9475
  }
9465
9476
  }
9466
- function Wm(i) {
9477
+ function Zm(i) {
9467
9478
  try {
9468
9479
  const s = Wn(i);
9469
9480
  return Array.isArray(s) ? s : null;
@@ -9471,10 +9482,10 @@ function Wm(i) {
9471
9482
  return null;
9472
9483
  }
9473
9484
  }
9474
- function Km(i, s) {
9485
+ function Ym(i, s) {
9475
9486
  return `https://huggingface.co/${i}/resolve/main/${s}`;
9476
9487
  }
9477
- function Gm(i, s) {
9488
+ function Qm(i, s) {
9478
9489
  if (i.length !== s.length) return 0;
9479
9490
  let n = 0, d = 0, l = 0;
9480
9491
  for (let v = 0; v < i.length; v++)
@@ -9482,7 +9493,7 @@ function Gm(i, s) {
9482
9493
  const m = Math.sqrt(d) * Math.sqrt(l);
9483
9494
  return m === 0 ? 0 : n / m;
9484
9495
  }
9485
- class Vm {
9496
+ class Jm {
9486
9497
  constructor(s, n) {
9487
9498
  this.elementId = s, this.getBackend = typeof n == "function" ? n : () => n;
9488
9499
  }
@@ -9515,7 +9526,7 @@ class Vm {
9515
9526
  return d;
9516
9527
  }
9517
9528
  async set(s, n) {
9518
- await this.ensureLoaded(), yp(this.cache, s, n), await this.persist(), this.notifyListeners();
9529
+ await this.ensureLoaded(), bp(this.cache, s, n), await this.persist(), this.notifyListeners();
9519
9530
  }
9520
9531
  async setAll(s) {
9521
9532
  await this.ensureLoaded(), this.cache = { ...s }, await this.persist(), this.notifyListeners();
@@ -9548,7 +9559,7 @@ class Vm {
9548
9559
  }
9549
9560
  }
9550
9561
  }
9551
- function yp(i, s, n) {
9562
+ function bp(i, s, n) {
9552
9563
  const d = s.split(".");
9553
9564
  let l = i;
9554
9565
  for (let m = 0; m < d.length - 1; m++) {
@@ -9572,18 +9583,18 @@ const Kn = {
9572
9583
  // Python native backends
9573
9584
  pytorch: "pt",
9574
9585
  openvino: "openvino"
9575
- }, Sp = {
9586
+ }, Ip = {
9576
9587
  onnx: "onnx",
9577
9588
  coreml: "coreml",
9578
9589
  openvino: "openvino",
9579
9590
  tflite: "tflite",
9580
9591
  pytorch: "pt"
9581
- }, fp = {
9592
+ }, kp = {
9582
9593
  coreml: "coreml_inference.py",
9583
9594
  pytorch: "pytorch_inference.py",
9584
9595
  openvino: "openvino_inference.py"
9585
9596
  };
9586
- function bp(i, s) {
9597
+ function wp(i, s) {
9587
9598
  return i === "node" ? "onnx" : {
9588
9599
  coreml: "coreml",
9589
9600
  openvino: "openvino",
@@ -9592,7 +9603,7 @@ function bp(i, s) {
9592
9603
  cpu: "onnx"
9593
9604
  }[s] ?? s;
9594
9605
  }
9595
- function jm(i, s) {
9606
+ function Xm(i, s) {
9596
9607
  return i === "node" ? Kn[s] ?? "onnx" : {
9597
9608
  coreml: "coreml",
9598
9609
  openvino: "openvino",
@@ -9601,26 +9612,26 @@ function jm(i, s) {
9601
9612
  cpu: "onnx"
9602
9613
  }[s] ?? "onnx";
9603
9614
  }
9604
- function Zm(i, s) {
9605
- return !i || i === "auto" ? "auto" : bp(i, s ?? "cpu");
9615
+ function eu(i, s) {
9616
+ return !i || i === "auto" ? "auto" : wp(i, s ?? "cpu");
9606
9617
  }
9607
- function Ym(i) {
9618
+ function tu(i) {
9608
9619
  return Kn[i] ?? "onnx";
9609
9620
  }
9610
- function Qm(i) {
9611
- return Sp[i];
9621
+ function au(i) {
9622
+ return Ip[i];
9612
9623
  }
9613
- function Jm(i) {
9614
- return fp[i];
9624
+ function nu(i) {
9625
+ return kp[i];
9615
9626
  }
9616
- function Xm(i) {
9627
+ function ou(i) {
9617
9628
  return i === "coreml" || i === "pytorch" || i === "openvino";
9618
9629
  }
9619
- async function eu(i, s) {
9630
+ async function su(i, s) {
9620
9631
  const n = performance.now();
9621
9632
  try {
9622
9633
  return {
9623
- output: s !== void 0 ? await Ip(i(), s) : await i(),
9634
+ output: s !== void 0 ? await Ap(i(), s) : await i(),
9624
9635
  durationMs: en(performance.now() - n),
9625
9636
  ok: !0
9626
9637
  };
@@ -9636,7 +9647,7 @@ async function eu(i, s) {
9636
9647
  function en(i) {
9637
9648
  return Math.round(i * 100) / 100;
9638
9649
  }
9639
- function Ip(i, s) {
9650
+ function Ap(i, s) {
9640
9651
  return new Promise((n, d) => {
9641
9652
  const l = setTimeout(() => d(new Error(`Inference timeout after ${s}ms`)), s);
9642
9653
  i.then((m) => {
@@ -9646,7 +9657,7 @@ function Ip(i, s) {
9646
9657
  });
9647
9658
  });
9648
9659
  }
9649
- const tu = [
9660
+ const iu = [
9650
9661
  { id: "person", name: "Person" },
9651
9662
  { id: "bicycle", name: "Bicycle" },
9652
9663
  { id: "car", name: "Car" },
@@ -9727,11 +9738,11 @@ const tu = [
9727
9738
  { id: "teddy bear", name: "Teddy Bear" },
9728
9739
  { id: "hair drier", name: "Hair Drier" },
9729
9740
  { id: "toothbrush", name: "Toothbrush" }
9730
- ], au = [
9741
+ ], cu = [
9731
9742
  { id: "person", name: "Person" },
9732
9743
  { id: "vehicle", name: "Vehicle" },
9733
9744
  { id: "animal", name: "Animal" }
9734
- ], nu = {
9745
+ ], ru = {
9735
9746
  mapping: {
9736
9747
  person: "person",
9737
9748
  bicycle: "vehicle",
@@ -9761,7 +9772,7 @@ const tu = [
9761
9772
  // or flip this back to `true` and teach `matchesMacroFilter` to handle
9762
9773
  // the raw-COCO case.
9763
9774
  preserveOriginal: !1
9764
- }, ou = {
9775
+ }, du = {
9765
9776
  camera: { type: "camera", label: "Camera", icon: "camera" }
9766
9777
  };
9767
9778
  class pe {
@@ -9926,7 +9937,7 @@ class _t {
9926
9937
  `[DeviceRuntimeState] no schema registered for cap "${s}" — did the device register it via ctx.registerNativeCap before writing?`
9927
9938
  );
9928
9939
  const m = this.slices.get(s) ?? {}, v = d ? { ...m, ...n } : { ...n }, u = l.parse(v);
9929
- if (kp(m, u)) return;
9940
+ if (Cp(m, u)) return;
9930
9941
  this.slices.set(s, u), this.fireListeners([s]);
9931
9942
  const y = this.writer(s, { ...u }).catch(() => {
9932
9943
  });
@@ -9979,7 +9990,7 @@ class _t {
9979
9990
  await Promise.allSettled(s);
9980
9991
  }
9981
9992
  }
9982
- function kp(i, s) {
9993
+ function Cp(i, s) {
9983
9994
  const n = Object.keys(i), d = Object.keys(s);
9984
9995
  if (n.length !== d.length) return !1;
9985
9996
  for (const l of n)
@@ -9987,7 +9998,7 @@ function kp(i, s) {
9987
9998
  return !0;
9988
9999
  }
9989
10000
  const at = "lastFetchedAt";
9990
- function su(i) {
10001
+ function lu(i) {
9991
10002
  const { runtimeState: s, cap: n, ownDeviceId: d, refresh: l, staleMs: m, empty: v } = i, u = async () => {
9992
10003
  const w = s.getCapState(n.name), A = typeof w?.[at] == "number" ? w[at] : 0;
9993
10004
  (!w || Date.now() - A > m) && await l();
@@ -10003,7 +10014,7 @@ function su(i) {
10003
10014
  return await u(), y();
10004
10015
  } };
10005
10016
  }
10006
- const wp = {
10017
+ const Np = {
10007
10018
  audioMetrics: sn,
10008
10019
  battery: cn,
10009
10020
  brightness: rn,
@@ -10022,7 +10033,7 @@ const wp = {
10022
10033
  zoneRules: An,
10023
10034
  zones: gn
10024
10035
  };
10025
- class iu {
10036
+ class pu {
10026
10037
  id;
10027
10038
  stableId;
10028
10039
  type;
@@ -10067,7 +10078,7 @@ class iu {
10067
10078
  get: (d, l) => {
10068
10079
  const m = l;
10069
10080
  if (m in s) return s[m];
10070
- const v = wp[m];
10081
+ const v = Np[m];
10071
10082
  if (!v) return;
10072
10083
  const u = this.sliceProxy(v);
10073
10084
  return s[m] = u, u;
@@ -10396,7 +10407,7 @@ class iu {
10396
10407
  return (this.runtimeState.getCapState("feature-probe")?.lastProbedAt ?? 0) > 0;
10397
10408
  }
10398
10409
  }
10399
- function Ap(i, s) {
10410
+ function Pp(i, s) {
10400
10411
  const n = {};
10401
10412
  for (const d of i.config.entries())
10402
10413
  n[d.key] = d.value;
@@ -10412,7 +10423,7 @@ function Ap(i, s) {
10412
10423
  config: n
10413
10424
  };
10414
10425
  }
10415
- class cu extends ap {
10426
+ class mu extends sp {
10416
10427
  // ── Lifecycle (BaseAddon hooks) ─────────────────────────────────────
10417
10428
  async onInitialize() {
10418
10429
  return this.ctx.logger.info(`${this.providerName} Provider initialized`), [{ capability: Cn, provider: this }];
@@ -10588,15 +10599,15 @@ class cu extends ap {
10588
10599
  // ── Utility ─────────────────────────────────────────────────────────
10589
10600
  /** Convert an IDevice to the flat DeviceSummary for the cap router. */
10590
10601
  toSummary(s) {
10591
- return Ap(s, this.addonId);
10602
+ return Pp(s, this.addonId);
10592
10603
  }
10593
10604
  }
10594
10605
  function me(i) {
10595
10606
  return i.def;
10596
10607
  }
10597
- function ru(i, s = "Configuration", n = "main") {
10608
+ function uu(i, s = "Configuration", n = "main") {
10598
10609
  const d = i.map(
10599
- (l) => Cp(l.key, l.schema, l.description)
10610
+ (l) => Dp(l.key, l.schema, l.description)
10600
10611
  );
10601
10612
  return {
10602
10613
  sections: [
@@ -10608,21 +10619,21 @@ function ru(i, s = "Configuration", n = "main") {
10608
10619
  ]
10609
10620
  };
10610
10621
  }
10611
- function Cp(i, s, n) {
10612
- const d = Pe(s), l = Ep(s), m = n ?? Gn(i), v = {
10622
+ function Dp(i, s, n) {
10623
+ const d = Pe(s), l = Rp(s), m = n ?? Gn(i), v = {
10613
10624
  key: i,
10614
10625
  label: m,
10615
10626
  description: n,
10616
10627
  default: l
10617
10628
  };
10618
- return d instanceof io ? Np(i, v) : d instanceof co ? Pp(d, v) : d instanceof ro ? { ...v, type: "boolean" } : d instanceof lo ? Mp(d, v) : d instanceof po || d instanceof mo ? { ...v, type: "textarea", rows: 6, isJson: !0 } : { ...v, type: "text" };
10629
+ return d instanceof io ? Mp(i, v) : d instanceof co ? Ep(d, v) : d instanceof ro ? { ...v, type: "boolean" } : d instanceof lo ? Tp(d, v) : d instanceof po || d instanceof mo ? { ...v, type: "textarea", rows: 6, isJson: !0 } : { ...v, type: "text" };
10619
10630
  }
10620
- function Np(i, s) {
10631
+ function Mp(i, s) {
10621
10632
  const n = i.toLowerCase();
10622
10633
  return n.includes("password") || n.includes("secret") || n.includes("token") || n.includes("apikey") || n.includes("api_key") ? { ...s, type: "password", showToggle: !0 } : { ...s, type: "text" };
10623
10634
  }
10624
- function Pp(i, s) {
10625
- const n = i, d = n.minValue, l = n.maxValue, m = d != null && isFinite(d) ? d : void 0, v = l != null && isFinite(l) ? l : void 0, u = Dp(i);
10635
+ function Ep(i, s) {
10636
+ const n = i, d = n.minValue, l = n.maxValue, m = d != null && isFinite(d) ? d : void 0, v = l != null && isFinite(l) ? l : void 0, u = xp(i);
10626
10637
  return {
10627
10638
  ...s,
10628
10639
  type: "number",
@@ -10631,13 +10642,13 @@ function Pp(i, s) {
10631
10642
  ...u !== void 0 ? { step: u } : {}
10632
10643
  };
10633
10644
  }
10634
- function Dp(i) {
10645
+ function xp(i) {
10635
10646
  const n = me(i).checks ?? [];
10636
10647
  for (const d of n)
10637
10648
  if (d._zod?.def?.check === "multiple_of" && d._zod.def.value !== void 0)
10638
10649
  return d._zod.def.value;
10639
10650
  }
10640
- function Mp(i, s) {
10651
+ function Tp(i, s) {
10641
10652
  const n = i.options.map((l) => String(l));
10642
10653
  return {
10643
10654
  ...s,
@@ -10648,20 +10659,20 @@ function Mp(i, s) {
10648
10659
  function Pe(i) {
10649
10660
  return i instanceof nn || i instanceof uo || i instanceof go ? Pe(me(i).innerType) : i;
10650
10661
  }
10651
- function Ep(i) {
10662
+ function Rp(i) {
10652
10663
  if (i instanceof nn)
10653
10664
  return me(i).defaultValue;
10654
10665
  }
10655
10666
  function Gn(i) {
10656
10667
  return i.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").replace(/^\w/, (s) => s.toUpperCase()).trim();
10657
10668
  }
10658
- const xp = "device.state-changed";
10669
+ const Bp = "device.state-changed";
10659
10670
  function Vn(i) {
10660
10671
  const s = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
10661
10672
  let d = null;
10662
10673
  const l = (u, y) => `${u}:${y}`, m = () => {
10663
10674
  d || i.live?.onEvent && (d = i.live.onEvent.subscribe(
10664
- { category: xp },
10675
+ { category: Bp },
10665
10676
  {
10666
10677
  onData: (u) => {
10667
10678
  const y = u.data;
@@ -10708,7 +10719,7 @@ function Vn(i) {
10708
10719
  }
10709
10720
  };
10710
10721
  }
10711
- function Tp(i, s, n) {
10722
+ function qp(i, s, n) {
10712
10723
  const d = (l, m) => `${l}:${m}`;
10713
10724
  return {
10714
10725
  read(l, m) {
@@ -10731,7 +10742,7 @@ function Tp(i, s, n) {
10731
10742
  };
10732
10743
  }
10733
10744
  function M(i, s, n) {
10734
- const d = Rp(i) ? i : Vn(i);
10745
+ const d = Op(i) ? i : Vn(i);
10735
10746
  return {
10736
10747
  get value() {
10737
10748
  return d.read(s, n);
@@ -10762,10 +10773,10 @@ function M(i, s, n) {
10762
10773
  }
10763
10774
  };
10764
10775
  }
10765
- function Rp(i) {
10776
+ function Op(i) {
10766
10777
  return typeof i.read == "function" && typeof i.watch == "function";
10767
10778
  }
10768
- function Bp(i, s, n) {
10779
+ function zp(i, s, n) {
10769
10780
  const d = i, l = n?.stateSource ?? Vn(i);
10770
10781
  function m(r, z) {
10771
10782
  const L = typeof r == "object" && r !== null ? r : {};
@@ -11087,7 +11098,7 @@ function Bp(i, s, n) {
11087
11098
  streamBroker: ao
11088
11099
  };
11089
11100
  }
11090
- function du(i, s, n, d, l) {
11101
+ function gu(i, s, n, d, l) {
11091
11102
  if (n.length === 0 || s.length === 0)
11092
11103
  return { passed: i, excluded: [] };
11093
11104
  const m = n.filter((N) => N.enabled !== !1), v = m.filter((N) => N.mode === "include"), u = m.filter((N) => N.mode === "exclude"), y = v.length > 0, k = new Map(s.map((N) => [N.id, N])), w = [], A = [];
@@ -11102,12 +11113,12 @@ function tn(i, s, n, d) {
11102
11113
  return !1;
11103
11114
  for (const l of i.zoneIds) {
11104
11115
  const m = d.get(l);
11105
- if (m && qp(s, m.polygon))
11116
+ if (m && Lp(s, m.polygon))
11106
11117
  return !0;
11107
11118
  }
11108
11119
  return !1;
11109
11120
  }
11110
- function qp(i, s) {
11121
+ function Lp(i, s) {
11111
11122
  if (s.length < 3) return !1;
11112
11123
  let n = !1;
11113
11124
  const { x: d, y: l } = i;
@@ -11117,7 +11128,7 @@ function qp(i, s) {
11117
11128
  }
11118
11129
  return n;
11119
11130
  }
11120
- function lu(i) {
11131
+ function hu(i) {
11121
11132
  const s = i;
11122
11133
  function n(o, U, he, ne, qe) {
11123
11134
  const ve = s[o]?.[U];
@@ -11539,10 +11550,10 @@ function lu(i) {
11539
11550
  }
11540
11551
  };
11541
11552
  }
11542
- const Op = "device.state-changed", zp = "capability.binding-changed", Lp = "device.registered", _p = "device.unregistered", Fp = "device.updated";
11543
- class pu {
11553
+ const _p = "device.state-changed", Fp = "capability.binding-changed", Up = "device.registered", Hp = "device.unregistered", $p = "device.updated";
11554
+ class vu {
11544
11555
  constructor(s) {
11545
- this.api = s, this.stateSource = Tp(this.stateMirror, this.handleListeners, this.api);
11556
+ this.api = s, this.stateSource = qp(this.stateMirror, this.handleListeners, this.api);
11546
11557
  }
11547
11558
  /** deviceId → capName → slice (push-driven mirror). */
11548
11559
  stateMirror = /* @__PURE__ */ new Map();
@@ -11652,7 +11663,7 @@ class pu {
11652
11663
  /** Sync lookup by numeric id. `null` if unknown. */
11653
11664
  getDeviceById(s) {
11654
11665
  const n = this.bindings.get(s);
11655
- return n ? Bp(this.api, n, { stateSource: this.stateSource }) : null;
11666
+ return n ? zp(this.api, n, { stateSource: this.stateSource }) : null;
11656
11667
  }
11657
11668
  /** Sync lookup by display name (exact match). `null` if unknown. */
11658
11669
  getDeviceByName(s) {
@@ -11724,7 +11735,7 @@ class pu {
11724
11735
  const u = nt(s.anyCap), y = new Set(l.entries.map((k) => k.capName));
11725
11736
  if (!u.some((k) => y.has(k))) continue;
11726
11737
  }
11727
- if (s.name !== void 0 && (!m || !Up(m.name, s.name)) || s.online !== void 0 && (!m || m.online !== s.online))
11738
+ if (s.name !== void 0 && (!m || !Wp(m.name, s.name)) || s.online !== void 0 && (!m || m.online !== s.online))
11728
11739
  continue;
11729
11740
  if (s.parentDeviceId !== void 0) {
11730
11741
  if (!m) continue;
@@ -12005,7 +12016,7 @@ class pu {
12005
12016
  const s = this.api.live.onEvent;
12006
12017
  this.bridges.push(
12007
12018
  s.subscribe(
12008
- { category: Op },
12019
+ { category: _p },
12009
12020
  {
12010
12021
  onData: (n) => {
12011
12022
  const d = n.data;
@@ -12015,7 +12026,7 @@ class pu {
12015
12026
  )
12016
12027
  ), this.bridges.push(
12017
12028
  s.subscribe(
12018
- { category: zp },
12029
+ { category: Fp },
12019
12030
  {
12020
12031
  onData: (n) => {
12021
12032
  const d = n.data, l = typeof d?.deviceId == "number" ? d.deviceId : d?.source?.type === "device" && typeof d.source.id == "number" ? d.source.id : null;
@@ -12025,7 +12036,7 @@ class pu {
12025
12036
  )
12026
12037
  ), this.bridges.push(
12027
12038
  s.subscribe(
12028
- { category: Lp },
12039
+ { category: Up },
12029
12040
  {
12030
12041
  onData: (n) => {
12031
12042
  const d = n.data;
@@ -12035,7 +12046,7 @@ class pu {
12035
12046
  )
12036
12047
  ), this.bridges.push(
12037
12048
  s.subscribe(
12038
- { category: _p },
12049
+ { category: Hp },
12039
12050
  {
12040
12051
  onData: (n) => {
12041
12052
  const d = n.data;
@@ -12045,7 +12056,7 @@ class pu {
12045
12056
  )
12046
12057
  ), this.bridges.push(
12047
12058
  s.subscribe(
12048
- { category: Fp },
12059
+ { category: $p },
12049
12060
  {
12050
12061
  onData: (n) => {
12051
12062
  const d = n.data;
@@ -12124,13 +12135,13 @@ function Ie(i, s) {
12124
12135
  function nt(i) {
12125
12136
  return Array.isArray(i) ? i : [i];
12126
12137
  }
12127
- function Up(i, s) {
12138
+ function Wp(i, s) {
12128
12139
  return typeof s == "string" ? i === s : s instanceof RegExp ? s.test(i) : "exact" in s ? i === s.exact : "contains" in s ? i.toLowerCase().includes(s.contains.toLowerCase()) : !1;
12129
12140
  }
12130
- function mu(i) {
12141
+ function yu(i) {
12131
12142
  return i;
12132
12143
  }
12133
- function uu(i, s, n) {
12144
+ function Su(i, s, n) {
12134
12145
  return {
12135
12146
  input: i,
12136
12147
  output: s,
@@ -12139,12 +12150,12 @@ function uu(i, s, n) {
12139
12150
  scope: n?.scope ?? { kind: "system" }
12140
12151
  };
12141
12152
  }
12142
- const Hp = [
12153
+ const Kp = [
12143
12154
  { profile: "main", prefix: "streamMain", label: "Main stream" },
12144
12155
  { profile: "sub", prefix: "streamSub", label: "Sub stream" },
12145
12156
  { profile: "ext", prefix: "streamExt", label: "Third stream" }
12146
12157
  ];
12147
- function $p(i, s, n) {
12158
+ function Gp(i, s, n) {
12148
12159
  const d = [];
12149
12160
  if (s.resolutions.length > 0) {
12150
12161
  const l = s.resolutions.map((v) => ({
@@ -12247,17 +12258,17 @@ function $p(i, s, n) {
12247
12258
  fields: d
12248
12259
  };
12249
12260
  }
12250
- function gu(i, s) {
12261
+ function fu(i, s) {
12251
12262
  const n = [];
12252
- for (const d of Hp) {
12263
+ for (const d of Kp) {
12253
12264
  const l = i[d.profile];
12254
12265
  if (!l) continue;
12255
- const m = $p(d, l, s?.[d.profile]);
12266
+ const m = Gp(d, l, s?.[d.profile]);
12256
12267
  m && n.push(m);
12257
12268
  }
12258
12269
  return n.length === 0 ? null : { sections: n };
12259
12270
  }
12260
- function hu(i, s) {
12271
+ function bu(i, s) {
12261
12272
  const n = {};
12262
12273
  let d = !1;
12263
12274
  const l = `${s}_resolution`;
@@ -12288,7 +12299,7 @@ function hu(i, s) {
12288
12299
  }
12289
12300
  return d ? n : null;
12290
12301
  }
12291
- const vu = {
12302
+ const Iu = {
12292
12303
  accessories: "accessories",
12293
12304
  addonPages: "addon-pages",
12294
12305
  addonPagesSource: "addon-pages-source",
@@ -12373,7 +12384,7 @@ const vu = {
12373
12384
  zoneAnalytics: "zone-analytics",
12374
12385
  zoneRules: "zone-rules",
12375
12386
  zones: "zones"
12376
- }, yu = [
12387
+ }, ku = [
12377
12388
  { key: "accessories", name: "accessories" },
12378
12389
  { key: "addonPages", name: "addon-pages" },
12379
12390
  { key: "addonPagesSource", name: "addon-pages-source" },
@@ -12458,7 +12469,7 @@ const vu = {
12458
12469
  { key: "zoneAnalytics", name: "zone-analytics" },
12459
12470
  { key: "zoneRules", name: "zone-rules" },
12460
12471
  { key: "zones", name: "zones" }
12461
- ], Su = [
12472
+ ], wu = [
12462
12473
  Dd,
12463
12474
  lc,
12464
12475
  mc,
@@ -12466,7 +12477,7 @@ const vu = {
12466
12477
  ni,
12467
12478
  yc,
12468
12479
  hc,
12469
- Jl,
12480
+ tp,
12470
12481
  Bi,
12471
12482
  br,
12472
12483
  ci,
@@ -12493,7 +12504,7 @@ const vu = {
12493
12504
  Vc,
12494
12505
  ud,
12495
12506
  Tt,
12496
- Bl,
12507
+ zl,
12497
12508
  Ed,
12498
12509
  Yd,
12499
12510
  xi,
@@ -12507,7 +12518,7 @@ const vu = {
12507
12518
  Td,
12508
12519
  cr,
12509
12520
  vl,
12510
- Dl,
12521
+ xl,
12511
12522
  gr,
12512
12523
  Li,
12513
12524
  Nd,
@@ -12543,7 +12554,7 @@ const vu = {
12543
12554
  wn,
12544
12555
  An,
12545
12556
  gn
12546
- ], fu = [
12557
+ ], Au = [
12547
12558
  "accessories",
12548
12559
  "battery",
12549
12560
  "brightness",
@@ -12565,7 +12576,7 @@ const vu = {
12565
12576
  "snapshot",
12566
12577
  "stream-params",
12567
12578
  "switch"
12568
- ], bu = Object.freeze({
12579
+ ], Cu = Object.freeze({
12569
12580
  "addonPages.listPages": { capName: "addon-pages", capScope: "system", addonId: null, access: "view" },
12570
12581
  "addonPagesSource.listPages": { capName: "addon-pages-source", capScope: "system", addonId: null, access: "view" },
12571
12582
  "addonRoutes.getRoutes": { capName: "addon-routes", capScope: "system", addonId: null, access: "view" },
@@ -13120,7 +13131,7 @@ const vu = {
13120
13131
  "zones.listZones": { capName: "zones", capScope: "device", addonId: null, access: "view" },
13121
13132
  "zones.removeZone": { capName: "zones", capScope: "device", addonId: null, access: "delete" },
13122
13133
  "zones.updateZone": { capName: "zones", capScope: "device", addonId: null, access: "create" }
13123
- }), Iu = [
13134
+ }), Nu = [
13124
13135
  "addon-pages",
13125
13136
  "addon-pages-source",
13126
13137
  "addon-routes",
@@ -13198,7 +13209,7 @@ const vu = {
13198
13209
  "zone-analytics",
13199
13210
  "zone-rules",
13200
13211
  "zones"
13201
- ], ku = [
13212
+ ], Pu = [
13202
13213
  "audio-analysis",
13203
13214
  "audio-metrics",
13204
13215
  "brightness",
@@ -13225,7 +13236,7 @@ const vu = {
13225
13236
  "zone-analytics",
13226
13237
  "zone-rules",
13227
13238
  "zones"
13228
- ], wu = [
13239
+ ], Du = [
13229
13240
  "addon-pages",
13230
13241
  "addon-pages-source",
13231
13242
  "addon-routes",
@@ -13277,7 +13288,7 @@ const vu = {
13277
13288
  "user-management",
13278
13289
  "user-passkeys",
13279
13290
  "webrtc"
13280
- ], Au = [
13291
+ ], Mu = [
13281
13292
  {
13282
13293
  id: "camera-viewer",
13283
13294
  label: "Camera viewer",
@@ -13312,34 +13323,58 @@ const vu = {
13312
13323
  { type: "capability", target: "audio-analysis", access: ["view"] }
13313
13324
  ]
13314
13325
  }
13315
- ], Wp = Object.freeze({
13326
+ ], Vp = Object.freeze({
13316
13327
  "device-export": "device-export",
13317
13328
  "mesh-network": "mesh",
13318
13329
  "mqtt-broker": "broker",
13319
13330
  "network-access": "ingress",
13320
13331
  "smtp-provider": "email"
13321
- }), Cu = [
13332
+ }), Eu = [
13322
13333
  "device-export",
13323
13334
  "mesh-network",
13324
13335
  "mqtt-broker",
13325
13336
  "network-access",
13326
13337
  "smtp-provider"
13327
13338
  ];
13328
- function Nu(i) {
13339
+ function xu(i) {
13329
13340
  const s = [];
13330
- for (const [n, d] of Object.entries(Wp))
13341
+ for (const [n, d] of Object.entries(Vp))
13331
13342
  d === i && s.push(n);
13332
13343
  return s;
13333
13344
  }
13334
- function Pu(i) {
13345
+ const jp = [
13346
+ /^user$/i,
13347
+ /^usr$/i,
13348
+ /^username$/i,
13349
+ /^password$/i,
13350
+ /^pwd$/i,
13351
+ /^pass$/i,
13352
+ /^passwd$/i,
13353
+ /^secret$/i,
13354
+ /^token$/i,
13355
+ /^auth$/i,
13356
+ /^auth[_-]?token$/i,
13357
+ /^bearer$/i,
13358
+ /^api[_-]?key$/i,
13359
+ /^access[_-]?token$/i,
13360
+ /^refresh[_-]?token$/i
13361
+ ];
13362
+ function Zp(i) {
13363
+ return jp.some((s) => s.test(i));
13364
+ }
13365
+ function Tu(i) {
13335
13366
  try {
13336
13367
  const s = new URL(i);
13337
- return !s.username && !s.password ? i : (s.username = "", s.password = "", s.toString());
13368
+ let n = !1;
13369
+ (s.username || s.password) && (s.username = "", s.password = "", n = !0);
13370
+ for (const d of [...s.searchParams.keys()])
13371
+ Zp(d) && (s.searchParams.set(d, "***"), n = !0);
13372
+ return n ? s.toString() : i;
13338
13373
  } catch {
13339
13374
  return i;
13340
13375
  }
13341
13376
  }
13342
- class Du {
13377
+ class Ru {
13343
13378
  constructor(s) {
13344
13379
  this.capacity = s, this.items = Array.from({ length: s });
13345
13380
  }
@@ -13360,23 +13395,23 @@ class Du {
13360
13395
  return this.count -= d, n;
13361
13396
  }
13362
13397
  }
13363
- function Mu(i, s, n) {
13398
+ function Bu(i, s, n) {
13364
13399
  const d = {};
13365
13400
  for (const l of Object.keys(n))
13366
13401
  d[l] = (m) => i.addons.custom.mutate({ addonId: s, action: l, input: m });
13367
13402
  return d;
13368
13403
  }
13369
13404
  export {
13370
- Yp as ACCESSORY_LABEL,
13371
- Su as ALL_CAPABILITY_DEFINITIONS,
13405
+ tm as ACCESSORY_LABEL,
13406
+ wu as ALL_CAPABILITY_DEFINITIONS,
13372
13407
  wo as APPLE_SA_TO_MACRO,
13373
- um as AUDIO_BACKEND_CHOICES,
13408
+ Sm as AUDIO_BACKEND_CHOICES,
13374
13409
  Io as AUDIO_MACRO_LABELS,
13375
13410
  Pd as AccessoriesStatusSchema,
13376
13411
  H as AccessoryKind,
13377
13412
  ji as AddBrokerInputSchema,
13378
- Wl as AddonAutoUpdateSchema,
13379
- Ll as AddonListItemSchema,
13413
+ Vl as AddonAutoUpdateSchema,
13414
+ Ul as AddonListItemSchema,
13380
13415
  pc as AddonPageDeclarationSchema,
13381
13416
  dc as AddonPageInfoSchema,
13382
13417
  xc as AgentLoadSummarySchema,
@@ -13384,7 +13419,7 @@ export {
13384
13419
  oi as AlertSeveritySchema,
13385
13420
  ii as AlertSourceSchema,
13386
13421
  si as AlertStatusSchema,
13387
- dm as ApiKeyRecordSchema,
13422
+ gm as ApiKeyRecordSchema,
13388
13423
  At as ApiKeySummarySchema,
13389
13424
  Ai as ArchiveEntrySchema,
13390
13425
  Ci as ArchiveManifestSchema,
@@ -13405,15 +13440,15 @@ export {
13405
13440
  ra as AudioMetricsSnapshotSchema,
13406
13441
  $c as AudioPcmChunkSchema,
13407
13442
  Ve as AuthResultSchema,
13408
- $l as AutoUpdateSettingsSchema,
13409
- Ml as AvailableIntegrationTypeSchema,
13443
+ Gl as AutoUpdateSettingsSchema,
13444
+ Tl as AvailableIntegrationTypeSchema,
13410
13445
  Kn as BACKEND_TO_FORMAT,
13411
13446
  No as BATTERY_DEVICE_PROFILE,
13412
13447
  ki as BackupDestinationInfoSchema,
13413
13448
  wa as BackupEntrySchema,
13414
- ap as BaseAddon,
13415
- iu as BaseDevice,
13416
- cu as BaseDeviceProvider,
13449
+ sp as BaseAddon,
13450
+ pu as BaseDevice,
13451
+ mu as BaseDeviceProvider,
13417
13452
  Le as BatteryStatusSchema,
13418
13453
  te as BoundingBoxSchema,
13419
13454
  da as BrightnessStatusSchema,
@@ -13425,13 +13460,13 @@ export {
13425
13460
  jo as BrokerRtspClientSchema,
13426
13461
  Ko as BrokerStatsSchema,
13427
13462
  Wo as BrokerStatusSchema,
13428
- tm as CAM_PROFILE_ORDER,
13429
- vu as CAPABILITY_NAMES,
13430
- yu as CAPABILITY_ROUTER_KEYS,
13431
- fu as CAP_NAMES_WITH_STATUS,
13432
- Wp as CAP_PROVIDER_KIND_MAP,
13433
- tu as COCO_80_LABELS,
13434
- nu as COCO_TO_MACRO,
13463
+ im as CAM_PROFILE_ORDER,
13464
+ Iu as CAPABILITY_NAMES,
13465
+ ku as CAPABILITY_ROUTER_KEYS,
13466
+ Au as CAP_NAMES_WITH_STATUS,
13467
+ Vp as CAP_PROVIDER_KIND_MAP,
13468
+ iu as COCO_80_LABELS,
13469
+ ru as COCO_TO_MACRO,
13435
13470
  W as CamProfileSchema,
13436
13471
  dn as CamStreamKindSchema,
13437
13472
  Rt as CamStreamResolutionSchema,
@@ -13444,8 +13479,8 @@ export {
13444
13479
  Rc as CapabilityBindingsSchema,
13445
13480
  Ao as ChargingStatus,
13446
13481
  hl as ClientNetworkStatsSchema,
13447
- kl as ClusterAddonNodeDeploymentSchema,
13448
- wl as ClusterAddonStatusEntrySchema,
13482
+ Cl as ClusterAddonNodeDeploymentSchema,
13483
+ Nl as ClusterAddonStatusEntrySchema,
13449
13484
  Di as CollectionColumnSchema,
13450
13485
  Mi as CollectionIndexSchema,
13451
13486
  jc as ConfigEntrySchema,
@@ -13453,28 +13488,28 @@ export {
13453
13488
  ti as ConfigTabDeclarationSchema,
13454
13489
  nl as CreateApiKeyInputSchema,
13455
13490
  ol as CreateApiKeyResultSchema,
13456
- xl as CreateIntegrationInputSchema,
13491
+ Bl as CreateIntegrationInputSchema,
13457
13492
  sl as CreateScopedTokenInputSchema,
13458
13493
  il as CreateScopedTokenResultSchema,
13459
13494
  tl as CreateUserInputSchema,
13460
- Ql as CustomActionInputSchema,
13461
- ep as DEFAULT_ADDON_PLACEMENT,
13462
- gm as DEFAULT_AUDIO_ANALYZER_CONFIG,
13463
- mm as DEFAULT_DECODER_HWACCEL_CONFIG,
13464
- Rm as DEFAULT_FEATURES,
13465
- Pm as DEFAULT_LOCATION_SUBDIRS,
13466
- Om as DEFAULT_RETENTION,
13467
- ku as DEVICE_CAP_NAMES,
13495
+ ep as CustomActionInputSchema,
13496
+ np as DEFAULT_ADDON_PLACEMENT,
13497
+ fm as DEFAULT_AUDIO_ANALYZER_CONFIG,
13498
+ ym as DEFAULT_DECODER_HWACCEL_CONFIG,
13499
+ Lm as DEFAULT_FEATURES,
13500
+ Tm as DEFAULT_LOCATION_SUBDIRS,
13501
+ Um as DEFAULT_RETENTION,
13502
+ Pu as DEVICE_CAP_NAMES,
13468
13503
  Po as DEVICE_PROFILES,
13469
13504
  xo as DEVICE_SETTINGS_CONTRIBUTION_METHODS,
13470
13505
  To as DEVICE_STATUS_METHOD,
13471
- ou as DEVICE_TYPE_INFO,
13506
+ du as DEVICE_TYPE_INFO,
13472
13507
  Uo as DecodedAudioChunkSchema,
13473
13508
  la as DecodedFrameSchema,
13474
13509
  Ba as DecoderAssignmentSchema,
13475
13510
  ia as DecoderSessionConfigSchema,
13476
13511
  fo as DecoderStatsSchema,
13477
- Rl as DeleteIntegrationResultSchema,
13512
+ Ol as DeleteIntegrationResultSchema,
13478
13513
  Ss as DetectorOutputSchema,
13479
13514
  pe as DeviceConfig,
13480
13515
  pa as DeviceDiscoveryStatusSchema,
@@ -13490,11 +13525,11 @@ export {
13490
13525
  C as DeviceType,
13491
13526
  lt as DiscoveredChildDeviceSchema,
13492
13527
  ns as DiscoveredChildStatusSchema,
13493
- cm as DiscoveredDeviceSchema,
13494
- vm as DisposerChain,
13528
+ mm as DiscoveredDeviceSchema,
13529
+ Im as DisposerChain,
13495
13530
  os as DoorbellPressEventSchema,
13496
13531
  ma as DoorbellStatusSchema,
13497
- Vm as ElementConfigStore,
13532
+ Jm as ElementConfigStore,
13498
13533
  Gc as EmbeddingInfoSchema,
13499
13534
  Oa as EmbeddingResultSchema,
13500
13535
  zo as EncodedPacketSchema,
@@ -13502,7 +13537,7 @@ export {
13502
13537
  Ne as EventCategory,
13503
13538
  md as EventItemSchema,
13504
13539
  Fr as EventKindSchema,
13505
- gp as EventSourceType,
13540
+ yp as EventSourceType,
13506
13541
  tc as ExportSetupFieldSchema,
13507
13542
  ac as ExportSetupSchema,
13508
13543
  oc as ExposedDeviceSchema,
@@ -13514,24 +13549,24 @@ export {
13514
13549
  we as FrameInputSchema,
13515
13550
  es as GetStreamWithCodecInputSchema,
13516
13551
  Tc as GlobalMetricsSchema,
13517
- zm as HF_BASE_URL,
13518
- hp as HF_REPO,
13519
- pm as HWACCEL_OPTIONS,
13552
+ Hm as HF_BASE_URL,
13553
+ Sp as HF_REPO,
13554
+ vm as HWACCEL_OPTIONS,
13520
13555
  pl as HealthStatusSchema,
13521
13556
  $e as HistoryPointSchema,
13522
13557
  Qs as HistoryResolutionEnum,
13523
- _l as InstalledPackageSchema,
13558
+ Hl as InstalledPackageSchema,
13524
13559
  Xe as IntegrationLiteSchema,
13525
13560
  Qa as IntegrationWithStateSchema,
13526
13561
  Md as IntercomAbilitySchema,
13527
13562
  Ga as IntercomStatusSchema,
13528
- Iu as KNOWN_CAP_NAMES,
13563
+ Nu as KNOWN_CAP_NAMES,
13529
13564
  Ni as LocationStatSchema,
13530
13565
  Na as LogEntrySchema,
13531
13566
  Nn as LogLevelSchema,
13532
- Zl as LogStreamEntrySchema,
13533
- au as MACRO_LABELS,
13534
- bu as METHOD_ACCESS_MAP,
13567
+ Jl as LogStreamEntrySchema,
13568
+ cu as MACRO_LABELS,
13569
+ Cu as METHOD_ACCESS_MAP,
13535
13570
  ho as MODEL_FORMATS,
13536
13571
  Fa as MediaFileSchema,
13537
13572
  Jd as MeshPeerSchema,
@@ -13561,18 +13596,18 @@ export {
13561
13596
  ur as NotificationSchema,
13562
13597
  zi as OauthIntegrationDescriptorSchema,
13563
13598
  $r as ObjectEventSchema,
13564
- om as OrchestratorMetricsSchema,
13599
+ dm as OrchestratorMetricsSchema,
13565
13600
  wd as OsdOverlayKindEnum,
13566
13601
  Cd as OsdOverlayPatchSchema,
13567
13602
  Ad as OsdOverlaySchema,
13568
13603
  It as OsdPositionEnum,
13569
13604
  Ka as OsdStatusSchema,
13570
- Xl as PIPELINE_FLOW_CAPABILITY_NAMES,
13571
- hm as PIPELINE_OWNER_CAPABILITY_NAMES,
13572
- Cu as PROVIDER_KIND_CAP_NAMES,
13573
- fp as PYTHON_SCRIPT,
13574
- Fl as PackageUpdateSchema,
13575
- Ul as PackageVersionInfoSchema,
13605
+ ap as PIPELINE_FLOW_CAPABILITY_NAMES,
13606
+ bm as PIPELINE_OWNER_CAPABILITY_NAMES,
13607
+ Eu as PROVIDER_KIND_CAP_NAMES,
13608
+ kp as PYTHON_SCRIPT,
13609
+ $l as PackageUpdateSchema,
13610
+ Wl as PackageVersionInfoSchema,
13576
13611
  _i as PasskeySummarySchema,
13577
13612
  Re as PcmSampleFormatSchema,
13578
13613
  ht as PerScopeBreakdownSchema,
@@ -13581,7 +13616,7 @@ export {
13581
13616
  D as PipelineEngineChoiceSchema,
13582
13617
  ga as PipelineRunResultBridge,
13583
13618
  ee as PipelineStepInputSchema,
13584
- nm as PlaceholderReasonSchema,
13619
+ rm as PlaceholderReasonSchema,
13585
13620
  Bs as PolygonPointSchema,
13586
13621
  ct as ProfileSlotSchema,
13587
13622
  ke as ProfileSlotStatusSchema,
@@ -13595,30 +13630,30 @@ export {
13595
13630
  rd as PtzPresetSchema,
13596
13631
  dd as PtzStatusSchema,
13597
13632
  Aa as QueryFilterSchema,
13598
- qm as RECOGNITION_TYPES,
13599
- Lm as RUNTIME_DEFAULTS,
13600
- Sp as RUNTIME_TO_FORMAT,
13601
- Am as ReadinessRegistry,
13602
- cp as ReadinessTimeoutError,
13633
+ Fm as RECOGNITION_TYPES,
13634
+ $m as RUNTIME_DEFAULTS,
13635
+ Ip as RUNTIME_TO_FORMAT,
13636
+ Mm as ReadinessRegistry,
13637
+ lp as ReadinessTimeoutError,
13603
13638
  Ac as RegisteredStreamSchema,
13604
13639
  Os as ReportMotionInputSchema,
13605
- Du as RingBuffer,
13640
+ Ru as RingBuffer,
13606
13641
  ts as RtpSourceSchema,
13607
13642
  dt as RtspRestreamEntrySchema,
13608
13643
  zs as RunnerCameraConfigSchema,
13609
- sm as RunnerCameraDeviceUIFields,
13644
+ lm as RunnerCameraDeviceUIFields,
13610
13645
  hn as RunnerLocalLoadSchema,
13611
13646
  Ls as RunnerLocalMetricsSchema,
13612
- Au as SCOPE_PRESETS,
13613
- Vp as STORAGE_LOCATION_CARDINALITY,
13614
- Nm as STORAGE_LOCATION_TYPES,
13615
- Hp as STREAM_PROFILE_META,
13616
- dp as STREAM_QUALITY_LABELS,
13617
- Bm as SUB_DETECTION_TYPES,
13618
- wu as SYSTEM_CAP_NAMES,
13619
- lm as ScopedTokenSchema,
13647
+ Mu as SCOPE_PRESETS,
13648
+ Jp as STORAGE_LOCATION_CARDINALITY,
13649
+ xm as STORAGE_LOCATION_TYPES,
13650
+ Kp as STREAM_PROFILE_META,
13651
+ mp as STREAM_QUALITY_LABELS,
13652
+ _m as SUB_DETECTION_TYPES,
13653
+ Du as SYSTEM_CAP_NAMES,
13654
+ hm as ScopedTokenSchema,
13620
13655
  Ct as ScopedTokenSummarySchema,
13621
- Hl as SearchResultSchema,
13656
+ Kl as SearchResultSchema,
13622
13657
  gd as SegmentSchema,
13623
13658
  Ui as SendEmailInputSchema,
13624
13659
  Hi as SendEmailResultSchema,
@@ -13656,30 +13691,30 @@ export {
13656
13691
  Zs as StreamProfilePatchSchema,
13657
13692
  Vs as StreamProfileSchema,
13658
13693
  Oo as StreamSourceEntrySchema,
13659
- am as StreamSourceSchema,
13694
+ cm as StreamSourceSchema,
13660
13695
  Ho as SubscribeAudioChunksInputSchema,
13661
13696
  $o as SubscribeAudioChunksResultSchema,
13662
13697
  _o as SubscribeFramesInputSchema,
13663
13698
  Fo as SubscribeFramesResultSchema,
13664
13699
  Sa as SwitchStatusSchema,
13665
13700
  id as SystemMetricsSchema,
13666
- pu as SystemMirror,
13667
- El as TestConnectionResultSchema,
13701
+ vu as SystemMirror,
13702
+ Rl as TestConnectionResultSchema,
13668
13703
  yl as ToastSchema,
13669
13704
  R as TokenScopeSchema,
13670
- Il as TopologyNodeSchema,
13705
+ wl as TopologyNodeSchema,
13671
13706
  bl as TopologyProcessSchema,
13672
13707
  fl as TopologyServiceSchema,
13673
13708
  je as TrackSchema,
13674
13709
  zt as TrackStateSchema,
13675
13710
  jr as TrackedDetectionSchema,
13676
13711
  rr as TurnServerSchema,
13677
- Tl as UpdateIntegrationInputSchema,
13712
+ ql as UpdateIntegrationInputSchema,
13678
13713
  al as UpdateUserInputSchema,
13679
- rm as UserRecordSchema,
13714
+ um as UserRecordSchema,
13680
13715
  Qe as UserSummarySchema,
13681
13716
  vo as WELL_KNOWN_TABS,
13682
- Gp as WELL_KNOWN_TAB_MAP,
13717
+ Qp as WELL_KNOWN_TAB_MAP,
13683
13718
  Dc as WebrtcStreamChoiceSchema,
13684
13719
  yt as WebrtcStreamTargetSchema,
13685
13720
  uc as WidgetHostEnum,
@@ -13691,53 +13726,53 @@ export {
13691
13726
  Js as ZoneRuleModeEnum,
13692
13727
  de as ZoneRuleSchema,
13693
13728
  ba as ZoneRuleStageEnum,
13694
- im as ZoneRulesArraySchema,
13729
+ pm as ZoneRulesArraySchema,
13695
13730
  re as ZoneSchema,
13696
13731
  Ys as ZoneScopeBreakdownSchema,
13697
13732
  Dd as accessoriesCapability,
13698
- Qp as accessoryStableId,
13733
+ am as accessoryStableId,
13699
13734
  lc as addonPagesCapability,
13700
13735
  mc as addonPagesSourceCapability,
13701
13736
  Ic as addonRoutesCapability,
13702
13737
  ni as addonSettingsCapability,
13703
13738
  yc as addonWidgetsCapability,
13704
13739
  hc as addonWidgetsSourceCapability,
13705
- Jl as addonsCapability,
13740
+ tp as addonsCapability,
13706
13741
  Bi as adminUiCapability,
13707
13742
  br as advancedNotifierCapability,
13708
13743
  ci as alertsCapability,
13709
- Hm as asBoolean,
13710
- _m as asJsonArray,
13711
- vp as asJsonObject,
13712
- Um as asNumber,
13713
- Fm as asString,
13744
+ Vm as asBoolean,
13745
+ Wm as asJsonArray,
13746
+ fp as asJsonObject,
13747
+ Gm as asNumber,
13748
+ Km as asString,
13714
13749
  _c as audioAnalysisCapability,
13715
13750
  Lc as audioAnalyzerCapability,
13716
13751
  Kc as audioCodecCapability,
13717
13752
  sn as audioMetricsCapability,
13718
13753
  or as authProviderCapability,
13719
- Tm as autoAssignProfiles,
13754
+ zm as autoAssignProfiles,
13720
13755
  Pi as backupCapability,
13721
13756
  cn as batteryCapability,
13722
- Mu as bindAddonActions,
13757
+ Bu as bindAddonActions,
13723
13758
  rn as brightnessCapability,
13724
- wm as buildAddonRouteProvider,
13725
- gu as buildStreamParamsConfigSchema,
13759
+ Dm as buildAddonRouteProvider,
13760
+ fu as buildStreamParamsConfigSchema,
13726
13761
  Id as cameraCredentialsCapability,
13727
13762
  pn as cameraStreamsCapability,
13728
- Mm as classifyStream,
13729
- pp as classifyStreams,
13730
- Gm as cosineSimilarity,
13731
- Bp as createDeviceProxy,
13763
+ Bm as classifyStream,
13764
+ gp as classifyStreams,
13765
+ Qm as cosineSimilarity,
13766
+ zp as createDeviceProxy,
13732
13767
  $n as createEvent,
13733
13768
  Vn as createLazyTrpcSource,
13734
- Tp as createMirrorSource,
13735
- su as createRuntimeStateBridge,
13769
+ qp as createMirrorSource,
13770
+ lu as createRuntimeStateBridge,
13736
13771
  M as createSliceHandle,
13737
- lu as createSystemProxy,
13738
- uu as customAction,
13772
+ hu as createSystemProxy,
13773
+ Su as customAction,
13739
13774
  wc as decoderCapability,
13740
- mu as defineCustomActions,
13775
+ yu as defineCustomActions,
13741
13776
  _r as detectionPipelineCapability,
13742
13777
  mn as deviceDiscoveryCapability,
13743
13778
  cc as deviceExportCapability,
@@ -13749,30 +13784,30 @@ export {
13749
13784
  xt as deviceStatusCapability,
13750
13785
  un as doorbellCapability,
13751
13786
  Vc as embeddingEncoderCapability,
13752
- Cm as emitDownForOwnedCaps,
13753
- tp as emitReadiness,
13787
+ Em as emitDownForOwnedCaps,
13788
+ op as emitReadiness,
13754
13789
  bo as errMsg,
13755
- du as evaluateZoneRules,
13790
+ gu as evaluateZoneRules,
13756
13791
  V as event,
13757
13792
  ud as eventsCapability,
13758
- Xp as expandCapMethods,
13793
+ om as expandCapMethods,
13759
13794
  Tt as featureProbeCapability,
13760
- Ym as formatForBackend,
13761
- Qm as formatForRuntime,
13762
- Zp as getAudioMacroClassIds,
13763
- Nu as getCapsByProviderKind,
13764
- Km as hfModelUrl,
13795
+ tu as formatForBackend,
13796
+ au as formatForRuntime,
13797
+ em as getAudioMacroClassIds,
13798
+ xu as getCapsByProviderKind,
13799
+ Ym as hfModelUrl,
13765
13800
  sa as hydrateSchema,
13766
- Bl as integrationsCapability,
13801
+ zl as integrationsCapability,
13767
13802
  Ed as intercomCapability,
13768
- Sm as isAgentOnlyPlacement,
13769
- ym as isDeployableToAgent,
13770
- em as isDeviceConfigCap,
13771
- km as isEvent,
13803
+ wm as isAgentOnlyPlacement,
13804
+ km as isDeployableToAgent,
13805
+ sm as isDeviceConfigCap,
13806
+ Pm as isEvent,
13772
13807
  Yd as localNetworkCapability,
13773
13808
  xi as logDestinationCapability,
13774
- jp as mapAudioLabelToMacro,
13775
- Pu as maskUrlCredentials,
13809
+ Xp as mapAudioLabelToMacro,
13810
+ Tu as maskUrlCredentials,
13776
13811
  el as meshNetworkCapability,
13777
13812
  c as method,
13778
13813
  cd as metricsProviderCapability,
@@ -13784,16 +13819,16 @@ export {
13784
13819
  Td as nativeObjectDetectionCapability,
13785
13820
  cr as networkAccessCapability,
13786
13821
  vl as networkQualityCapability,
13787
- Dl as nodesCapability,
13788
- np as normalizeAddonInitResult,
13822
+ xl as nodesCapability,
13823
+ ip as normalizeAddonInitResult,
13789
13824
  gr as notificationOutputCapability,
13790
13825
  Li as oauthIntegrationCapability,
13791
13826
  Nd as osdCapability,
13792
- xm as parseCameraStreamConfig,
13793
- Wm as parseJsonArray,
13794
- $m as parseJsonObject,
13827
+ Om as parseCameraStreamConfig,
13828
+ Zm as parseJsonArray,
13829
+ jm as parseJsonObject,
13795
13830
  Wn as parseJsonUnknown,
13796
- hu as parseStreamParamsFormPatch,
13831
+ bu as parseStreamParamsFormPatch,
13797
13832
  Zr as pipelineAnalyticsCapability,
13798
13833
  Ts as pipelineExecutorCapability,
13799
13834
  Bc as pipelineOrchestratorCapability,
@@ -13801,22 +13836,22 @@ export {
13801
13836
  Wd as platformProbeCapability,
13802
13837
  bn as ptzAutotrackCapability,
13803
13838
  pd as ptzCapability,
13804
- Jm as pythonScriptForBackend,
13839
+ nu as pythonScriptForBackend,
13805
13840
  et as readinessKey,
13806
13841
  kd as rebootCapability,
13807
13842
  hd as recordingCapability,
13808
13843
  Lr as recordingEngineCapability,
13809
- Xm as requiresPython,
13844
+ ou as requiresPython,
13810
13845
  Be as resolveAddonExecution,
13811
- fm as resolveAddonGroup,
13812
- Im as resolveAddonPlacement,
13813
- Zm as resolveAddonRuntime,
13814
- bp as resolveDetectionRuntime,
13815
- Jp as resolveDeviceProfile,
13816
- jm as resolveModelFormat,
13817
- bm as resolveRunnerId,
13846
+ Am as resolveAddonGroup,
13847
+ Nm as resolveAddonPlacement,
13848
+ eu as resolveAddonRuntime,
13849
+ wp as resolveDetectionRuntime,
13850
+ nm as resolveDeviceProfile,
13851
+ Xm as resolveModelFormat,
13852
+ Cm as resolveRunnerId,
13818
13853
  Nc as restreamerCapability,
13819
- eu as runInferenceStep,
13854
+ su as runInferenceStep,
13820
13855
  le as scopeKey,
13821
13856
  Ei as settingsStoreCapability,
13822
13857
  $i as smtpProviderCapability,
@@ -13827,13 +13862,13 @@ export {
13827
13862
  bi as storageProviderCapability,
13828
13863
  as as streamBrokerCapability,
13829
13864
  In as streamParamsCapability,
13830
- lp as streamPixels,
13831
- Dm as streamQualityLabel,
13865
+ up as streamPixels,
13866
+ Rm as streamQualityLabel,
13832
13867
  Vo as streamingEngineCapability,
13833
13868
  kn as switchCapability,
13834
13869
  ul as systemCapability,
13835
- Ap as toDeviceSummary,
13836
- Em as toStreamSourceEntry,
13870
+ Pp as toDeviceSummary,
13871
+ qm as toStreamSourceEntry,
13837
13872
  Sl as toastCapability,
13838
13873
  dr as turnProviderCapability,
13839
13874
  ll as userManagementCapability,
@@ -13841,7 +13876,7 @@ export {
13841
13876
  Pc as webrtcCapability,
13842
13877
  En as webrtcClientHintsSchema,
13843
13878
  Mc as webrtcSessionCapability,
13844
- ru as zodEntriesToConfigUI,
13879
+ uu as zodEntriesToConfigUI,
13845
13880
  wn as zoneAnalyticsCapability,
13846
13881
  An as zoneRulesCapability,
13847
13882
  gn as zonesCapability