@camstack/addon-pipeline 1.2.77 → 1.2.78

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 (29) hide show
  1. package/dist/{addon-utils-bZcwLaVW.js → addon-utils-C-XbUkiG.js} +1 -1
  2. package/dist/audio-analyzer/index.js +2 -2
  3. package/dist/audio-analyzer/index.mjs +1 -1
  4. package/dist/detection-pipeline/index.js +4 -4
  5. package/dist/detection-pipeline/index.mjs +2 -2
  6. package/dist/{dist-DQZzL0Ri.js → dist-BdVCXl5n.js} +74 -5
  7. package/dist/{dist-HhcoV-Ky.mjs → dist-CsP_DikG.mjs} +74 -5
  8. package/dist/{event-loop-stall-monitor-CBOo1oh_.js → event-loop-stall-monitor-BOu8lGee.js} +1 -1
  9. package/dist/{event-loop-stall-monitor-CqBEWGSZ.mjs → event-loop-stall-monitor-C3cvE_Xk.mjs} +1 -1
  10. package/dist/{lazy-sharp-DIC1rpea.js → lazy-sharp-1LkmyWqV.js} +1 -1
  11. package/dist/motion-wasm/index.js +2 -2
  12. package/dist/motion-wasm/index.mjs +1 -1
  13. package/dist/pipeline-runner/index.js +4 -4
  14. package/dist/pipeline-runner/index.mjs +3 -3
  15. package/dist/recorder/index.js +293 -34
  16. package/dist/recorder/index.mjs +292 -33
  17. package/dist/session-decode/decode-worker-child.js +2 -2
  18. package/dist/session-decode/decode-worker-child.mjs +1 -1
  19. package/dist/stream-broker/_stub.js +1 -1
  20. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-De_xzvjU.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DUi-lR4R.mjs} +1 -1
  21. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-1QMyGZMB.mjs +26 -0
  22. package/dist/stream-broker/{hostInit-CDS5frmk.mjs → hostInit-DEtsjgBO.mjs} +1 -1
  23. package/dist/stream-broker/index.js +106 -23
  24. package/dist/stream-broker/index.mjs +106 -23
  25. package/dist/stream-broker/remoteEntry.js +1 -1
  26. package/dist/{worker-protocol-DZVGVAPU.js → worker-protocol-B4fPjmXk.js} +1 -1
  27. package/dist/{worker-protocol-BNlLGLBV.mjs → worker-protocol-BRwzX3f_.mjs} +1 -1
  28. package/package.json +1 -1
  29. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DHJSxHH1.mjs +0 -26
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-DQZzL0Ri.js");
5
+ const require_dist = require("../dist-BdVCXl5n.js");
6
6
  const require_remote_restream = require("../remote-restream-BYbAsgUf.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  node_crypto = require_dist.__toESM(node_crypto, 1);
@@ -22539,11 +22539,19 @@ var MonotonicClock = class {
22539
22539
  this.rate = rate;
22540
22540
  }
22541
22541
  };
22542
+ var SCRUB_FRAGMENT_CACHE_MAX_BYTES = 2 * 1024 * 1024;
22543
+ /** Demuxed bytes an entry holds — what the byte bound actually counts. */
22544
+ function fragmentBytes(frag) {
22545
+ let total = 0;
22546
+ for (const au of frag.aus) total += au.data.length;
22547
+ return total;
22548
+ }
22542
22549
  var ScrubFragmentCache = class {
22543
- max;
22550
+ maxBytes;
22544
22551
  map = /* @__PURE__ */ new Map();
22545
- constructor(max = 8) {
22546
- this.max = max;
22552
+ bytes = 0;
22553
+ constructor(maxBytes = SCRUB_FRAGMENT_CACHE_MAX_BYTES) {
22554
+ this.maxBytes = maxBytes;
22547
22555
  }
22548
22556
  key(profile, startMs) {
22549
22557
  return `${profile}|${startMs}`;
@@ -22574,17 +22582,26 @@ var ScrubFragmentCache = class {
22574
22582
  }
22575
22583
  return null;
22576
22584
  }
22577
- /** Insert (or refresh) a fragment, evicting the oldest past the bound. */
22585
+ /** Insert (or refresh) a fragment, evicting the oldest past the byte bound. */
22578
22586
  put(profile, frag) {
22579
22587
  const k = this.key(profile, frag.startMs);
22588
+ const held = this.map.get(k);
22589
+ if (held) this.bytes -= fragmentBytes(held);
22580
22590
  this.map.delete(k);
22581
22591
  this.map.set(k, frag);
22582
- while (this.map.size > this.max) {
22592
+ this.bytes += fragmentBytes(frag);
22593
+ while (this.bytes > this.maxBytes && this.map.size > 4) {
22583
22594
  const oldest = this.map.keys().next().value;
22584
22595
  if (oldest === void 0) break;
22596
+ const evicted = this.map.get(oldest);
22585
22597
  this.map.delete(oldest);
22598
+ if (evicted) this.bytes -= fragmentBytes(evicted);
22586
22599
  }
22587
22600
  }
22601
+ /** Demuxed bytes currently held — the number the MB bound governs. */
22602
+ get byteSize() {
22603
+ return this.bytes;
22604
+ }
22588
22605
  get size() {
22589
22606
  return this.map.size;
22590
22607
  }
@@ -22650,6 +22667,9 @@ var ScrubDragStats = class {
22650
22667
  wholeReads = 0;
22651
22668
  readBytes = 0;
22652
22669
  parks = 0;
22670
+ prefetchReads = 0;
22671
+ prefetchBytes = 0;
22672
+ prefetchHits = 0;
22653
22673
  ackTimeouts = 0;
22654
22674
  failures = 0;
22655
22675
  firstPushMs = null;
@@ -22697,6 +22717,15 @@ var ScrubDragStats = class {
22697
22717
  recordPark() {
22698
22718
  this.parks += 1;
22699
22719
  }
22720
+ /** One speculative GOP read and what it cost the disk. */
22721
+ recordPrefetchRead(bytes) {
22722
+ this.prefetchReads += 1;
22723
+ this.prefetchBytes += bytes;
22724
+ }
22725
+ /** A tick served by a fragment speculation had already landed. */
22726
+ recordPrefetchHit() {
22727
+ this.prefetchHits += 1;
22728
+ }
22700
22729
  /** Pushes written off after the ack timeout — dropped work, never silent. */
22701
22730
  recordAckTimeout(pushes) {
22702
22731
  this.ackTimeouts += pushes;
@@ -22750,6 +22779,9 @@ var ScrubDragStats = class {
22750
22779
  travel: this.travel,
22751
22780
  bytes: this.bytes,
22752
22781
  parks: this.parks,
22782
+ prefetchReads: this.prefetchReads,
22783
+ prefetchBytes: this.prefetchBytes,
22784
+ prefetchHits: this.prefetchHits,
22753
22785
  ackTimeouts: this.ackTimeouts,
22754
22786
  failures: this.failures,
22755
22787
  creditEndedAt: this.creditEndedAt,
@@ -22845,6 +22877,24 @@ var SCRUB_JUMP_TRAVEL_MAX_STILLS = 3;
22845
22877
  */
22846
22878
  var SCRUB_PREFETCH_DIR_THRESHOLD = 2;
22847
22879
  /**
22880
+ * How many speculative GOP reads may be in flight at once, i.e. how many drag
22881
+ * steps ahead the feeder reads.
22882
+ *
22883
+ * The scrub tick IS the read: measured on salone 590 over `low`,
22884
+ * `tickMsP50 = 270` of which `readMsP50 = 263` — a cold ~135 KB fragment off
22885
+ * the HDD array through shfs/FUSE, `demuxMsP50 = 1`. One read at a time is a
22886
+ * hard ~3.8 push/s ceiling no cache can lift, because a drag whose steps are
22887
+ * tens of seconds apart revisits nothing. Reading N steps ahead is the only
22888
+ * thing that converts wall-clock the drag is ALREADY spending into pushes.
22889
+ *
22890
+ * 2 and not more: these reads land on the same spindles the recorder is writing
22891
+ * every camera to, and past a small number concurrent random reads stop
22892
+ * overlapping and start thrashing. Raise it only against a measured
22893
+ * `prefetchHits` / `readMsP50` pair — it is the knob, and the census carries
22894
+ * both halves of the evidence.
22895
+ */
22896
+ var SCRUB_PREFETCH_MAX_INFLIGHT = 2;
22897
+ /**
22848
22898
  * Max forward TARGET delta (ms of timeline, between consecutive drag targets)
22849
22899
  * that SWEEPS predicted frames instead of jumping. A steady forward drag is
22850
22900
  * playback with a moving target: once a keyframe decoded, the predicted frames
@@ -23063,12 +23113,25 @@ var RecordedFeeder = class {
23063
23113
  */
23064
23114
  scrubDirRun = 0;
23065
23115
  /**
23066
- * The SECOND bounded concurrency slot: `true` while a direction-aware prefetch
23067
- * demux is in flight. At most one prefetch runs at a time and it only fills
23068
- * `scrubCache` — it never pushes, never touches the pending/timer/latest-wins
23069
- * state, and never blocks the live coalesced tick.
23116
+ * Prefetch reads in flight. Bounded by {@link SCRUB_PREFETCH_MAX_INFLIGHT}:
23117
+ * these are the SPECULATIVE concurrency slots, and they only fill
23118
+ * `scrubCache` — they never push, never touch the pending/timer/latest-wins
23119
+ * state, and never block the live coalesced tick.
23120
+ *
23121
+ * More than one because the read IS the tick (263 of 270 ms measured): with a
23122
+ * single slot the drag can never go faster than one cold read, however well
23123
+ * the speculation guesses.
23124
+ */
23125
+ scrubPrefetchInFlight = 0;
23126
+ /** Probe instants currently being read, so two horizons never duplicate one. */
23127
+ scrubPrefetchProbes = /* @__PURE__ */ new Set();
23128
+ /**
23129
+ * Fragment starts this drag put in the cache SPECULATIVELY. A later tick that
23130
+ * hits one of them is what makes speculation provably worth its I/O
23131
+ * (`prefetchHits`) — without this the feeder could double the load on the disk
23132
+ * that is the bottleneck and the census would look calm.
23070
23133
  */
23071
- scrubPrefetchInFlight = false;
23134
+ scrubPrefetched = /* @__PURE__ */ new Set();
23072
23135
  constructor(deps) {
23073
23136
  this.deps = deps;
23074
23137
  this.audioClock = new MonotonicClock(deps.audioClockRateHz ?? 8e3);
@@ -23358,6 +23421,7 @@ var RecordedFeeder = class {
23358
23421
  this.scrubCredit = SCRUB_CREDIT_CAP;
23359
23422
  this.scrubPrevTarget = null;
23360
23423
  this.scrubDirRun = 0;
23424
+ this.scrubPrefetched = /* @__PURE__ */ new Set();
23361
23425
  this.scrubCursor = null;
23362
23426
  this.scrubNoFootageLogged = false;
23363
23427
  this.scrubParkLogged = false;
@@ -23533,7 +23597,10 @@ var RecordedFeeder = class {
23533
23597
  coverage = "memo";
23534
23598
  } else {
23535
23599
  seg = this.scrubCache.covering(this.deps.profile, target);
23536
- if (seg) coverage = "cache";
23600
+ if (seg) {
23601
+ coverage = "cache";
23602
+ if (this.scrubPrefetched.has(seg.startMs)) this.scrubStats?.recordPrefetchHit();
23603
+ }
23537
23604
  }
23538
23605
  if (!seg) {
23539
23606
  const locateStartMs = performance.now();
@@ -23955,28 +24022,41 @@ var RecordedFeeder = class {
23955
24022
  this.scrubDirRun = 0;
23956
24023
  return;
23957
24024
  }
23958
- const dir = target > prev ? 1 : target < prev ? -1 : 0;
24025
+ const stepMs = target - prev;
24026
+ const dir = stepMs > 0 ? 1 : stepMs < 0 ? -1 : 0;
23959
24027
  if (dir === 0) {
23960
24028
  this.scrubDirRun = 0;
23961
24029
  return;
23962
24030
  }
23963
24031
  this.scrubDirRun = Math.sign(this.scrubDirRun) === dir ? this.scrubDirRun + dir : dir;
23964
24032
  if (Math.abs(this.scrubDirRun) < SCRUB_PREFETCH_DIR_THRESHOLD) return;
23965
- if (this.scrubPrefetchInFlight) return;
23966
- const probeMs = dir === 1 ? seg.startMs + seg.durMs + 1 : seg.startMs - 1;
23967
- if (probeMs < 0) return;
23968
- this.scrubPrefetch(probeMs, gen);
24033
+ const aheadMs = Math.max(Math.abs(stepMs), seg.durMs + 1);
24034
+ const horizons = Math.abs(stepMs) > seg.durMs ? SCRUB_PREFETCH_MAX_INFLIGHT : 1;
24035
+ for (let horizon = 1; horizon <= horizons; horizon++) {
24036
+ if (this.scrubPrefetchInFlight >= SCRUB_PREFETCH_MAX_INFLIGHT) return;
24037
+ const probeMs = target + dir * aheadMs * horizon;
24038
+ if (probeMs < 0) continue;
24039
+ if (this.scrubPrefetchProbes.has(probeMs)) continue;
24040
+ if (this.scrubCache.covering(this.deps.profile, probeMs)) continue;
24041
+ this.scrubPrefetch(probeMs, gen);
24042
+ }
23969
24043
  }
23970
24044
  /**
23971
- * Background (second-slot) prefetch: locate + read + demux the fragment
23972
- * covering `probeMs` into `scrubCache`. Bounded to one in flight; aborts at any
24045
+ * Speculative read: locate + read + demux the fragment covering `probeMs` into
24046
+ * `scrubCache`. Bounded by {@link SCRUB_PREFETCH_MAX_INFLIGHT}; aborts at any
23973
24047
  * teardown (`disposed` / left scrub / a bumped `scrubToken`); a failure is
23974
- * swallowed (the neighbour just demuxes on demand). Never pushes and never
24048
+ * swallowed (the fragment just demuxes on demand). Never pushes and never
23975
24049
  * mutates latest-wins state.
24050
+ *
24051
+ * Every read it issues is COUNTED (`prefetchReads` / `prefetchBytes`), and the
24052
+ * fragment it lands is remembered so a later tick hitting it counts as a
24053
+ * `prefetchHit`. Speculation that cannot be shown to pay for itself is just
24054
+ * load on the disk the drag is already waiting for.
23976
24055
  */
23977
24056
  async scrubPrefetch(probeMs, gen) {
23978
- if (this.scrubPrefetchInFlight) return;
23979
- this.scrubPrefetchInFlight = true;
24057
+ if (this.scrubPrefetchInFlight >= SCRUB_PREFETCH_MAX_INFLIGHT) return;
24058
+ this.scrubPrefetchInFlight += 1;
24059
+ this.scrubPrefetchProbes.add(probeMs);
23980
24060
  try {
23981
24061
  if (this.disposed || !this.scrubbing || gen !== this.scrubToken) return;
23982
24062
  if (this.scrubCache.covering(this.deps.profile, probeMs)) return;
@@ -23989,9 +24069,12 @@ var RecordedFeeder = class {
23989
24069
  if (loc.kind !== "segment") return;
23990
24070
  const load = await this.loadScrubFragment(loc, probeMs);
23991
24071
  if (this.disposed || !this.scrubbing || gen !== this.scrubToken || load === null) return;
24072
+ this.scrubStats?.recordPrefetchRead(load.readBytes);
23992
24073
  this.scrubCache.put(this.deps.profile, load.seg);
24074
+ this.scrubPrefetched.add(load.seg.startMs);
23993
24075
  } catch {} finally {
23994
- this.scrubPrefetchInFlight = false;
24076
+ this.scrubPrefetchInFlight -= 1;
24077
+ this.scrubPrefetchProbes.delete(probeMs);
23995
24078
  }
23996
24079
  }
23997
24080
  /**
@@ -1,5 +1,5 @@
1
1
  import { r as __toESM, t as __commonJSMin } from "../chunk-DnnnRqeS.mjs";
2
- import { At as string, Ct as boolean, D as cameraStreamsCapability, Dt as number, Et as literal, F as egressTranscodeSharingKey, I as egressTransportFromRequest, Mt as EventCategory, O as createHwAccelCache, Ot as object, Q as streamBrokerCapability, S as RingBuffer, St as array, V as maskUrlCredentials, Y as resolveEgressDecodeHwAccel, at as invocationFromEncodeProfile, ct as CAM_PROFILE_ORDER, dt as createEvent, et as webrtcSessionCapability, f as EncodeProfileSchema, gt as nodePin, ht as makeSourceBrokerId, it as buildFfmpegArgs$1, jt as union, kt as record, lt as DeviceFeature, mt as makeProfileBrokerId, nt as AUDIO_PRESETS, ot as isSoftwareDecode, pt as isEvent, rt as Fmp4BoxSplitter, st as BaseAddon, tt as errMsg, ut as DeviceType, v as RATE_CONTROL_RELAXED, vt as parseProfileBrokerId, w as addonWidgetsSourceCapability, wt as discriminatedUnion, xt as _enum, y as RATE_CONTROL_TIGHT } from "../dist-HhcoV-Ky.mjs";
2
+ import { At as string, Ct as boolean, D as cameraStreamsCapability, Dt as number, Et as literal, F as egressTranscodeSharingKey, I as egressTransportFromRequest, Mt as EventCategory, O as createHwAccelCache, Ot as object, Q as streamBrokerCapability, S as RingBuffer, St as array, V as maskUrlCredentials, Y as resolveEgressDecodeHwAccel, at as invocationFromEncodeProfile, ct as CAM_PROFILE_ORDER, dt as createEvent, et as webrtcSessionCapability, f as EncodeProfileSchema, gt as nodePin, ht as makeSourceBrokerId, it as buildFfmpegArgs$1, jt as union, kt as record, lt as DeviceFeature, mt as makeProfileBrokerId, nt as AUDIO_PRESETS, ot as isSoftwareDecode, pt as isEvent, rt as Fmp4BoxSplitter, st as BaseAddon, tt as errMsg, ut as DeviceType, v as RATE_CONTROL_RELAXED, vt as parseProfileBrokerId, w as addonWidgetsSourceCapability, wt as discriminatedUnion, xt as _enum, y as RATE_CONTROL_TIGHT } from "../dist-CsP_DikG.mjs";
3
3
  import { n as profileForStreamId, r as parseRestreamPath } from "../remote-restream-Ci7RXNGb.mjs";
4
4
  import { createRequire } from "node:module";
5
5
  import * as crypto$1 from "node:crypto";
@@ -22534,11 +22534,19 @@ var MonotonicClock = class {
22534
22534
  this.rate = rate;
22535
22535
  }
22536
22536
  };
22537
+ var SCRUB_FRAGMENT_CACHE_MAX_BYTES = 2 * 1024 * 1024;
22538
+ /** Demuxed bytes an entry holds — what the byte bound actually counts. */
22539
+ function fragmentBytes(frag) {
22540
+ let total = 0;
22541
+ for (const au of frag.aus) total += au.data.length;
22542
+ return total;
22543
+ }
22537
22544
  var ScrubFragmentCache = class {
22538
- max;
22545
+ maxBytes;
22539
22546
  map = /* @__PURE__ */ new Map();
22540
- constructor(max = 8) {
22541
- this.max = max;
22547
+ bytes = 0;
22548
+ constructor(maxBytes = SCRUB_FRAGMENT_CACHE_MAX_BYTES) {
22549
+ this.maxBytes = maxBytes;
22542
22550
  }
22543
22551
  key(profile, startMs) {
22544
22552
  return `${profile}|${startMs}`;
@@ -22569,17 +22577,26 @@ var ScrubFragmentCache = class {
22569
22577
  }
22570
22578
  return null;
22571
22579
  }
22572
- /** Insert (or refresh) a fragment, evicting the oldest past the bound. */
22580
+ /** Insert (or refresh) a fragment, evicting the oldest past the byte bound. */
22573
22581
  put(profile, frag) {
22574
22582
  const k = this.key(profile, frag.startMs);
22583
+ const held = this.map.get(k);
22584
+ if (held) this.bytes -= fragmentBytes(held);
22575
22585
  this.map.delete(k);
22576
22586
  this.map.set(k, frag);
22577
- while (this.map.size > this.max) {
22587
+ this.bytes += fragmentBytes(frag);
22588
+ while (this.bytes > this.maxBytes && this.map.size > 4) {
22578
22589
  const oldest = this.map.keys().next().value;
22579
22590
  if (oldest === void 0) break;
22591
+ const evicted = this.map.get(oldest);
22580
22592
  this.map.delete(oldest);
22593
+ if (evicted) this.bytes -= fragmentBytes(evicted);
22581
22594
  }
22582
22595
  }
22596
+ /** Demuxed bytes currently held — the number the MB bound governs. */
22597
+ get byteSize() {
22598
+ return this.bytes;
22599
+ }
22583
22600
  get size() {
22584
22601
  return this.map.size;
22585
22602
  }
@@ -22645,6 +22662,9 @@ var ScrubDragStats = class {
22645
22662
  wholeReads = 0;
22646
22663
  readBytes = 0;
22647
22664
  parks = 0;
22665
+ prefetchReads = 0;
22666
+ prefetchBytes = 0;
22667
+ prefetchHits = 0;
22648
22668
  ackTimeouts = 0;
22649
22669
  failures = 0;
22650
22670
  firstPushMs = null;
@@ -22692,6 +22712,15 @@ var ScrubDragStats = class {
22692
22712
  recordPark() {
22693
22713
  this.parks += 1;
22694
22714
  }
22715
+ /** One speculative GOP read and what it cost the disk. */
22716
+ recordPrefetchRead(bytes) {
22717
+ this.prefetchReads += 1;
22718
+ this.prefetchBytes += bytes;
22719
+ }
22720
+ /** A tick served by a fragment speculation had already landed. */
22721
+ recordPrefetchHit() {
22722
+ this.prefetchHits += 1;
22723
+ }
22695
22724
  /** Pushes written off after the ack timeout — dropped work, never silent. */
22696
22725
  recordAckTimeout(pushes) {
22697
22726
  this.ackTimeouts += pushes;
@@ -22745,6 +22774,9 @@ var ScrubDragStats = class {
22745
22774
  travel: this.travel,
22746
22775
  bytes: this.bytes,
22747
22776
  parks: this.parks,
22777
+ prefetchReads: this.prefetchReads,
22778
+ prefetchBytes: this.prefetchBytes,
22779
+ prefetchHits: this.prefetchHits,
22748
22780
  ackTimeouts: this.ackTimeouts,
22749
22781
  failures: this.failures,
22750
22782
  creditEndedAt: this.creditEndedAt,
@@ -22840,6 +22872,24 @@ var SCRUB_JUMP_TRAVEL_MAX_STILLS = 3;
22840
22872
  */
22841
22873
  var SCRUB_PREFETCH_DIR_THRESHOLD = 2;
22842
22874
  /**
22875
+ * How many speculative GOP reads may be in flight at once, i.e. how many drag
22876
+ * steps ahead the feeder reads.
22877
+ *
22878
+ * The scrub tick IS the read: measured on salone 590 over `low`,
22879
+ * `tickMsP50 = 270` of which `readMsP50 = 263` — a cold ~135 KB fragment off
22880
+ * the HDD array through shfs/FUSE, `demuxMsP50 = 1`. One read at a time is a
22881
+ * hard ~3.8 push/s ceiling no cache can lift, because a drag whose steps are
22882
+ * tens of seconds apart revisits nothing. Reading N steps ahead is the only
22883
+ * thing that converts wall-clock the drag is ALREADY spending into pushes.
22884
+ *
22885
+ * 2 and not more: these reads land on the same spindles the recorder is writing
22886
+ * every camera to, and past a small number concurrent random reads stop
22887
+ * overlapping and start thrashing. Raise it only against a measured
22888
+ * `prefetchHits` / `readMsP50` pair — it is the knob, and the census carries
22889
+ * both halves of the evidence.
22890
+ */
22891
+ var SCRUB_PREFETCH_MAX_INFLIGHT = 2;
22892
+ /**
22843
22893
  * Max forward TARGET delta (ms of timeline, between consecutive drag targets)
22844
22894
  * that SWEEPS predicted frames instead of jumping. A steady forward drag is
22845
22895
  * playback with a moving target: once a keyframe decoded, the predicted frames
@@ -23058,12 +23108,25 @@ var RecordedFeeder = class {
23058
23108
  */
23059
23109
  scrubDirRun = 0;
23060
23110
  /**
23061
- * The SECOND bounded concurrency slot: `true` while a direction-aware prefetch
23062
- * demux is in flight. At most one prefetch runs at a time and it only fills
23063
- * `scrubCache` — it never pushes, never touches the pending/timer/latest-wins
23064
- * state, and never blocks the live coalesced tick.
23111
+ * Prefetch reads in flight. Bounded by {@link SCRUB_PREFETCH_MAX_INFLIGHT}:
23112
+ * these are the SPECULATIVE concurrency slots, and they only fill
23113
+ * `scrubCache` — they never push, never touch the pending/timer/latest-wins
23114
+ * state, and never block the live coalesced tick.
23115
+ *
23116
+ * More than one because the read IS the tick (263 of 270 ms measured): with a
23117
+ * single slot the drag can never go faster than one cold read, however well
23118
+ * the speculation guesses.
23119
+ */
23120
+ scrubPrefetchInFlight = 0;
23121
+ /** Probe instants currently being read, so two horizons never duplicate one. */
23122
+ scrubPrefetchProbes = /* @__PURE__ */ new Set();
23123
+ /**
23124
+ * Fragment starts this drag put in the cache SPECULATIVELY. A later tick that
23125
+ * hits one of them is what makes speculation provably worth its I/O
23126
+ * (`prefetchHits`) — without this the feeder could double the load on the disk
23127
+ * that is the bottleneck and the census would look calm.
23065
23128
  */
23066
- scrubPrefetchInFlight = false;
23129
+ scrubPrefetched = /* @__PURE__ */ new Set();
23067
23130
  constructor(deps) {
23068
23131
  this.deps = deps;
23069
23132
  this.audioClock = new MonotonicClock(deps.audioClockRateHz ?? 8e3);
@@ -23353,6 +23416,7 @@ var RecordedFeeder = class {
23353
23416
  this.scrubCredit = SCRUB_CREDIT_CAP;
23354
23417
  this.scrubPrevTarget = null;
23355
23418
  this.scrubDirRun = 0;
23419
+ this.scrubPrefetched = /* @__PURE__ */ new Set();
23356
23420
  this.scrubCursor = null;
23357
23421
  this.scrubNoFootageLogged = false;
23358
23422
  this.scrubParkLogged = false;
@@ -23528,7 +23592,10 @@ var RecordedFeeder = class {
23528
23592
  coverage = "memo";
23529
23593
  } else {
23530
23594
  seg = this.scrubCache.covering(this.deps.profile, target);
23531
- if (seg) coverage = "cache";
23595
+ if (seg) {
23596
+ coverage = "cache";
23597
+ if (this.scrubPrefetched.has(seg.startMs)) this.scrubStats?.recordPrefetchHit();
23598
+ }
23532
23599
  }
23533
23600
  if (!seg) {
23534
23601
  const locateStartMs = performance.now();
@@ -23950,28 +24017,41 @@ var RecordedFeeder = class {
23950
24017
  this.scrubDirRun = 0;
23951
24018
  return;
23952
24019
  }
23953
- const dir = target > prev ? 1 : target < prev ? -1 : 0;
24020
+ const stepMs = target - prev;
24021
+ const dir = stepMs > 0 ? 1 : stepMs < 0 ? -1 : 0;
23954
24022
  if (dir === 0) {
23955
24023
  this.scrubDirRun = 0;
23956
24024
  return;
23957
24025
  }
23958
24026
  this.scrubDirRun = Math.sign(this.scrubDirRun) === dir ? this.scrubDirRun + dir : dir;
23959
24027
  if (Math.abs(this.scrubDirRun) < SCRUB_PREFETCH_DIR_THRESHOLD) return;
23960
- if (this.scrubPrefetchInFlight) return;
23961
- const probeMs = dir === 1 ? seg.startMs + seg.durMs + 1 : seg.startMs - 1;
23962
- if (probeMs < 0) return;
23963
- this.scrubPrefetch(probeMs, gen);
24028
+ const aheadMs = Math.max(Math.abs(stepMs), seg.durMs + 1);
24029
+ const horizons = Math.abs(stepMs) > seg.durMs ? SCRUB_PREFETCH_MAX_INFLIGHT : 1;
24030
+ for (let horizon = 1; horizon <= horizons; horizon++) {
24031
+ if (this.scrubPrefetchInFlight >= SCRUB_PREFETCH_MAX_INFLIGHT) return;
24032
+ const probeMs = target + dir * aheadMs * horizon;
24033
+ if (probeMs < 0) continue;
24034
+ if (this.scrubPrefetchProbes.has(probeMs)) continue;
24035
+ if (this.scrubCache.covering(this.deps.profile, probeMs)) continue;
24036
+ this.scrubPrefetch(probeMs, gen);
24037
+ }
23964
24038
  }
23965
24039
  /**
23966
- * Background (second-slot) prefetch: locate + read + demux the fragment
23967
- * covering `probeMs` into `scrubCache`. Bounded to one in flight; aborts at any
24040
+ * Speculative read: locate + read + demux the fragment covering `probeMs` into
24041
+ * `scrubCache`. Bounded by {@link SCRUB_PREFETCH_MAX_INFLIGHT}; aborts at any
23968
24042
  * teardown (`disposed` / left scrub / a bumped `scrubToken`); a failure is
23969
- * swallowed (the neighbour just demuxes on demand). Never pushes and never
24043
+ * swallowed (the fragment just demuxes on demand). Never pushes and never
23970
24044
  * mutates latest-wins state.
24045
+ *
24046
+ * Every read it issues is COUNTED (`prefetchReads` / `prefetchBytes`), and the
24047
+ * fragment it lands is remembered so a later tick hitting it counts as a
24048
+ * `prefetchHit`. Speculation that cannot be shown to pay for itself is just
24049
+ * load on the disk the drag is already waiting for.
23971
24050
  */
23972
24051
  async scrubPrefetch(probeMs, gen) {
23973
- if (this.scrubPrefetchInFlight) return;
23974
- this.scrubPrefetchInFlight = true;
24052
+ if (this.scrubPrefetchInFlight >= SCRUB_PREFETCH_MAX_INFLIGHT) return;
24053
+ this.scrubPrefetchInFlight += 1;
24054
+ this.scrubPrefetchProbes.add(probeMs);
23975
24055
  try {
23976
24056
  if (this.disposed || !this.scrubbing || gen !== this.scrubToken) return;
23977
24057
  if (this.scrubCache.covering(this.deps.profile, probeMs)) return;
@@ -23984,9 +24064,12 @@ var RecordedFeeder = class {
23984
24064
  if (loc.kind !== "segment") return;
23985
24065
  const load = await this.loadScrubFragment(loc, probeMs);
23986
24066
  if (this.disposed || !this.scrubbing || gen !== this.scrubToken || load === null) return;
24067
+ this.scrubStats?.recordPrefetchRead(load.readBytes);
23987
24068
  this.scrubCache.put(this.deps.profile, load.seg);
24069
+ this.scrubPrefetched.add(load.seg.startMs);
23988
24070
  } catch {} finally {
23989
- this.scrubPrefetchInFlight = false;
24071
+ this.scrubPrefetchInFlight -= 1;
24072
+ this.scrubPrefetchProbes.delete(probeMs);
23990
24073
  }
23991
24074
  }
23992
24075
  /**
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-De_xzvjU.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DUi-lR4R.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DQZzL0Ri.js");
1
+ const require_dist = require("./dist-BdVCXl5n.js");
2
2
  //#region src/session-decode/native-lease-config.ts
3
3
  /**
4
4
  * Resolution of the native-frame hold / tile knobs for one decode worker.
@@ -1,4 +1,4 @@
1
- import { g as NativeLeaseSettingsSchema, h as NativeLeaseAdmissionSchema, l as DEFAULT_NATIVE_LEASE_SETTINGS } from "./dist-HhcoV-Ky.mjs";
1
+ import { g as NativeLeaseSettingsSchema, h as NativeLeaseAdmissionSchema, l as DEFAULT_NATIVE_LEASE_SETTINGS } from "./dist-CsP_DikG.mjs";
2
2
  //#region src/session-decode/native-lease-config.ts
3
3
  /**
4
4
  * Resolution of the native-frame hold / tile knobs for one decode worker.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline",
3
- "version": "1.2.77",
3
+ "version": "1.2.78",
4
4
  "description": "Pipeline bundle — runner, detection, motion, audio + stream broker. Multi-entry npm package shipping pipeline addons under a single bundle.",
5
5
  "keywords": [
6
6
  "camstack",
@@ -1,26 +0,0 @@
1
- //#region \0virtual:mf:__mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js
2
- var e = "__mf_init__virtual:mf:__mfe_internal__addon_stream_broker_widgets__mf_v__runtimeInit__mf_v__.js__", t = globalThis[e];
3
- if (!t) {
4
- let n, r, i = new Promise((e, t) => {
5
- n = e, r = t;
6
- });
7
- t = globalThis[e] = {
8
- initPromise: i,
9
- initResolve: n,
10
- initReject: r
11
- };
12
- }
13
- var n = t.initPromise, r = "__mf_module_cache__";
14
- globalThis[r] ||= {
15
- share: {},
16
- remote: {}
17
- }, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
18
- var i = globalThis[r], a, o = (e) => {
19
- e.ACCESSORY_LABEL, e.ACCESS_ROLES, e.ALEXA_EGRESS_PROFILE, e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_ANALYSIS_CAP_NAME, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AUDIO_PRESETS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionCandidateResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionJobSchema, e.AdoptionJobStateSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionOutcomeSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationActionSchema, e.AutomationConditionOperatorSchema, e.AutomationConditionSchema, e.AutomationControlStatusSchema, e.AutomationRecipeSchema, e.AutomationTriggerSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BASE_LIVE_EGRESS_PROFILE, e.BATTERY_DEVICE_PROFILE, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAMERA_SWITCH_CATALOG, e.CAMERA_SWITCH_ORDER, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CONNECTION_TEST_TIMEOUT_MS, e.CORE_BLOCKS_ADDON_ID, e.CORE_BLOCK_ADDON_PREFIX, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusDegradationReasonSchema, e.CameraStatusDegradationSchema, e.CameraStatusSchema, e.CameraStatusStageSchema, e.CameraStreamSchema, e.CameraSwitchAuthoritySchema, e.CameraSwitchGroupSchema, e.CameraSwitchIdSchema, e.CameraSwitchSchema, e.CameraSwitchUnavailableReasonSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectionTestDescriptorSchema, e.ConnectionTestInputSchema, e.ConnectionTestOutcomeSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoreBlockCompileResultSchema, e.CoreBlockInputSchema, e.CoreBlockPlacementSchema, e.CoreBlockSchema, e.CoreBlockStatusSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DECLARED_DEVICE_SWEEP_LIMIT, e.DECLARED_INTEGRATION_FIXED_KEY, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_DETAIL_CROP_CONVENTION, e.DEFAULT_EVENTS_BAND_BUFFER_SEC, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_NATIVE_LEASE_SETTINGS, e.DEFAULT_RETENTION, e.DEFAULT_RUNTIME_STATE_DURABILITY, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DEFAULT_TIMELAPSE_PREVIEW_TEXT, e.DETAIL_CROP_PADDING_FIELD, e.DETAIL_CROP_PADDING_KEY, e.DETAIL_CROP_SECTION_ID, e.DETAIL_CROP_SQUARE_KEY, e.DETECTION_MACRO_CLASSES, e.DETECTION_PIPELINE_CAP_NAME, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SCOPED_CAPS, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATE_READERS, e.DEVICE_STATUS_METHOD, e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DataStoreEngineInfoSchema, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DeclaredDevices, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetailCropConventionSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, e.DeviceFeature, e.DeviceInfoSchema, e.DeviceNetworkStatsSchema, e.DeviceRole, e.DeviceRuntimeState, e.DeviceSelectorSchema, e.DeviceStatusSchema, e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, e.EVENT_TAXONOMY, e.EXPORT_DENSE_MAX_RANGES, e.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, e.EgressEncodeSchema, e.EgressRateControlSchema, e.EgressTranscodeRequestSchema, e.EgressTranscodeSchema, e.ElementConfigStore, e.EmbeddingInfoSchema, e.EmbeddingResultSchema, e.EncodeProfileSchema, e.EncodedPacketSchema, e.EnrichedWidgetMetadataSchema, e.EnumSensorDateTimeFormatSchema, e.EnumSensorStatusSchema, e.EventCategory, e.EventEmitterStatusSchema, e.EventFireSchema, e.EventItemSchema, e.EventKindCategorySchema, e.EventKindDescriptorSchema, e.EventKindIconSchema, e.EventKindSchema, e.EventKindsForDeviceSchema, e.EventMediaArtifactSchema, e.EventMediaCoverageSchema, e.EventMediaKindSchema, e.EventMediaProductionSchema, e.EventSourceType, e.ExportBytesSchema, e.ExportDenseRangeSchema, e.ExportDenseSchema, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionBindingSourceSchema, e.ExpressionEvalError, e.ExpressionFieldBindingSchema, e.ExpressionGlobalBindingSchema, e.ExpressionLiteralBindingSchema, e.ExpressionParseError, e.ExpressionSourceSchema, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.Fmp4BoxSplitter, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HAP_AUDIO_BASE, e.HAP_AUDIO_BITRATE_KBPS, e.HAP_AUDIO_VBV_KBITS, e.HAP_KEYFRAME_INTERVAL_SEC, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageContractSchema, e.ImageContractStateSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LOG_LEVEL_RANK, e.LabelAttributionSchema, e.LabelDefinitionSchema, e.LabelTierSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LinkedDevicesModeSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRetryPolicySchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmTimeoutDefaults, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, e.MACRO_LABELS, e.MAX_CONDITION_DEPTH, e.MAX_CONDITION_LEAVES, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.METHOD_DEVICE_SELECTORS, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileInfoSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.MutationFilterSchema, e.NATIVE_LEASE_ACTIVITY_FIELD, e.NATIVE_LEASE_ACTIVITY_KEY, e.NATIVE_LEASE_ADMISSION_FIELD, e.NATIVE_LEASE_ADMISSION_KEY, e.NATIVE_LEASE_BUDGET_FIELD, e.NATIVE_LEASE_BUDGET_KEY, e.NATIVE_LEASE_HOLD_FIELD, e.NATIVE_LEASE_HOLD_KEY, e.NATIVE_LEASE_SECTION_ID, e.NATIVE_LEASE_TILE_BUDGET_FIELD, e.NATIVE_LEASE_TILE_BUDGET_KEY, e.NC_ALARM_SYSTEM_EVENT_KINDS, e.NC_AUDIO_DBFS_FLOOR, e.NC_AUDIO_DB_MAX, e.NC_AUDIO_DB_MIN, e.NC_AUDIO_DB_OFFERED, e.NC_AUDIO_DB_STEP, e.NC_AUDIO_DEFAULTS, e.NC_AUDIO_HIT_PERCENT_MAX, e.NC_AUDIO_HIT_PERCENT_MIN, e.NC_AUDIO_SAMPLING_MAX_SEC, e.NC_AUDIO_SAMPLING_MIN_SEC, e.NC_AUTHORABLE_SYSTEM_EVENT_KINDS, e.NC_BASE_CONDITION_KEYS, e.NC_CONDITION_CATALOG, e.NC_CONFIRM_DEFAULT_MAX_IMAGE_PX, e.NC_CONFIRM_DEFAULT_TIMEOUT_MS, e.NC_CONFIRM_MAX_TIMEOUT_MS, e.NC_CONFIRM_MIN_TIMEOUT_MS, e.NC_DEFAULT_SNOOZE_MINUTES, e.NC_HISTORY_LIMIT_DEFAULT, e.NC_HISTORY_LIMIT_MAX, e.NC_MAX_PER_TRACK_IMMEDIATE, e.NC_SNOOZE_MAX_MINUTES, e.NC_TAXONOMY, e.NativeCropBboxSchema, e.NativeCropRefSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeLeaseAdmissionSchema, e.NativeLeaseSettingsSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NcAlarmConfigSchema, e.NcAlarmModeCoverageSchema, e.NcAlarmSettingsPatchSchema, e.NcAlarmSettingsSchema, e.NcAlarmSkipReasonSchema, e.NcAlarmSkippedDeviceSchema, e.NcAudioConditionSchema, e.NcConditionDescriptorSchema, e.NcConditionsSchema, e.NcConfirmExpectSchema, e.NcConfirmSchema, e.NcCrossingSchema, e.NcDeliverySchema, e.NcDeviceStateConditionSchema, e.NcHistoryEntrySchema, e.NcHistoryFilterSchema, e.NcHistoryRecordKindSchema, e.NcHistoryStatusSchema, e.NcHistorySubjectSchema, e.NcMediaFrameSchema, e.NcMediaPolicySchema, e.NcOccupancyConditionSchema, e.NcPlateMatcherSchema, e.NcRuleActionSchema, e.NcRuleActionSequenceSchema, e.NcRuleActionsSchema, e.NcRuleInputSchema, e.NcRuleNotificationButtonSchema, e.NcRulePatchSchema, e.NcRuleSchema, e.NcRuleTargetSchema, e.NcScheduleSchema, e.NcScheduleWindowSchema, e.NcSnoozeInputSchema, e.NcSnoozeSchema, e.NcSnoozeScopeSchema, e.NcSnoozeSuppressedSchema, e.NcSystemEventConditionSchema, e.NcSystemEventKindSchema, e.NcTaxonomyEntrySchema, e.NcTaxonomySchema, e.NcTestResultSchema, e.NcThrottleGranularitySchema, e.NcThrottleSchema, e.NcZoneConditionSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionIconSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdRenderOutcomeEnum, e.OsdRenderResultSchema, e.OsdSlotBindingSchema, e.OsdSlotViewSchema, e.OsdSourceOptionSchema, e.OsdSourceSchema, e.OsdSourceValueTypeEnum, e.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PRIVACY_MASK_CAP_NAME, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzOptionsSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.RATE_CONTROL_RELAXED, e.RATE_CONTROL_TIGHT, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RECORDING_EXPORT_MAX_READ_BYTES, e.RESERVED_BINDING_NAMES, e.RESTORED_CAP_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_STATE_POLICY, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadGopBytesResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingRangeSchema, e.RecordingRebalanceInputSchema, e.RecordingRebalanceMoveSchema, e.RecordingRebalancePlanSchema, e.RecordingRebalanceSkipReasonSchema, e.RecordingRebalanceSkipSchema, e.RecordingRetentionSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RelocateFootageClassSchema, e.RelocateFootageInputSchema, e.RelocateJobSchema, e.RelocateJobStateSchema, e.RelocateMediaInputSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RetrainAnnotationDraftSchema, e.RetrainAnnotationKindSchema, e.RetrainAnnotationSchema, e.RetrainAnnotationSourceSchema, e.RetrainAssistResultSchema, e.RetrainAssistSubjectSchema, e.RetrainCopyRefusalSchema, e.RetrainFrameCandidateSchema, e.RetrainFrameListSchema, e.RetrainFrameSchema, e.RetrainFrameSelectionSchema, e.RetrainMacroClassSchema, e.RetrainStatusSchema, e.RetrainTrackSchema, e.RetrainTransitionResultSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerInferenceDeviceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCENE_CONDITIONS, e.SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX, e.SCENE_CONFIRM_DEFAULT_TIMEOUT_MS, e.SCENE_DEFAULT_ANCHOR_THRESHOLD, e.SCENE_DEFAULT_CHECK_INTERVAL_SEC, e.SCENE_DEFAULT_OBSERVATION_SPACING_SEC, e.SCENE_DEFAULT_QUIET_SECONDS, e.SCENE_DIVERGED, e.SCENE_RESET_RECAPTURES, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SYSTEM_SCOPE_DEVICE_METHODS, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneConfirmSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.SceneUnavailableSchema, e.SceneVerdictSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SetSiteLocationInputSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, e.SiteLocationSchema, e.SiteLocationSourceSchema, e.SiteLocationStatusSchema, e.SmokeStatusSchema, e.SmtpStatusSchema, e.SnapshotImageSchema, e.SourceInfoSchema, e.SpatialDetectionSchema, e.SsoBridgeClaimsSchema, e.StartEmbeddedInputSchema, e.StationaryObjectSchema, e.StorageAbortUploadInputSchema, e.StorageBeginDownloadInputSchema, e.StorageBeginDownloadResultSchema, e.StorageBeginUploadInputSchema, e.StorageBeginUploadResultSchema, e.StorageEndDownloadInputSchema, e.StorageFinalizeUploadInputSchema, e.StorageLocationDeclarationSchema, e.StorageLocationRefSchema, e.StorageLocationSchema, e.StorageLocationTypeSchema, e.StorageMigrationClassSchema, e.StorageMigrationDestinationsSchema, e.StorageMigrationFootageMoveInputSchema, e.StorageMigrationInputSchema, e.StorageMigrationJobSchema, e.StorageMigrationLeaseInputSchema, e.StorageMigrationMediaMoveInputSchema, e.StorageMigrationMoveSchema, e.StorageMigrationParticipantSchema, e.StorageMigrationPhaseSchema, e.StorageMigrationPlanSchema, e.StorageProviderInfoSchema, e.StorageReadChunkInputSchema, e.StorageTestLocationResultSchema, e.StorageWriteChunkInputSchema, e.StreamCodecSchema, e.StreamFormatSchema, e.StreamNetworkStatsSchema, e.StreamParamsOptionsSchema, e.StreamParamsStatusSchema, e.StreamProfileConfigSchema, e.StreamProfileOptionsSchema, e.StreamProfilePatchSchema, e.StreamProfileSchema, e.StreamSourceEntrySchema, e.StreamSourceSchema, e.SubscribeAudioChunksInputSchema, e.SubscribeAudioChunksResultSchema, e.SubscribeFramesInputSchema, e.SubscribeFramesResultSchema, e.SwitchStatusSchema, e.SystemMetricsSchema, e.SystemMirror, e.TAXONOMY_COLORS, e.TIMELAPSE_DENSE_FLOOR_SEC, e.TIMEZONES, e.TRANSCODE_DOWN_MAX_BITRATE_KBPS, e.TRANSCODE_DOWN_MAX_HEIGHT, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TerminalInstanceInfoSchema, e.TerminalLegacyCameraSchema, e.TerminalOutputBatchSchema, e.TerminalOutputEventSchema, e.TerminalProfileInfoSchema, e.TerminalSessionInfoSchema, e.TestConnectionResultSchema, e.TestConnectionStatusEnum, e.TestResultSchema, e.TimelapseRuleInputSchema, e.TimelapseRulePatchSchema, e.TimelapseRuleSchema, e.TimelapseTemplateSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackFlagsPatchSchema, e.TrackFlagsSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackSourceSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TrainingExportDeviceTotalsSchema, e.TrainingExportSummarySchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VectorDeclareIndexInputSchema, e.VectorDeleteByFilterInputSchema, e.VectorDeleteInputSchema, e.VectorDeleteResultSchema, e.VectorFilterSchema, e.VectorGetInputSchema, e.VectorGetResultSchema, e.VectorItemSchema, e.VectorMatchSchema, e.VectorMetadataSchema, e.VectorMetricSchema, e.VectorQueryInputSchema, e.VectorQueryResultSchema, e.VectorStatsInputSchema, e.VectorStatsResultSchema, e.VectorUpsertInputSchema, e.VectorUpsertResultSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WEBRTC_EGRESS_PROFILE, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneCrossingDirectionSchema, e.ZoneCrossingSchema, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.assertTimelapseCadences, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioIsFailClosed, e.audioLabelChoices, e.audioMetricsCapability, e.audioModeOf, e.audioOrDefaults, e.audioPlanFromEncodeProfile, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.bareAddonId, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildAudioArgs, e.buildEventKindDescriptor, e.buildFfmpegArgs, e.buildInputArgs, e.buildModelVariantGroups, e.buildNcTaxonomy, e.buildRoleScopes, e.buildStreamParamsConfigSchema, e.buildVideoArgs, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, e.canConvertUnit, e.canonicalEgressPlan, e.carbonMonoxideCapability, e.cellsToRects, e.classifyBearerPrincipal, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.composeSwitchedOff, e.conditionDepth, e.connectionTestCapability, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.coreBlockAddonId, e.coreBlockIdFromAddonId, e.coreBlocksCapability, e.cosineSimilarity, e.countConditionLeaves, e.coverCapability, e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createHwAccelCache, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dataStoreProviderCapability, e.dayNightCapability, e.declarationOwnerNodeId, e.decodeVectorBase64, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, e.deriveCameraSwitches, e.deriveDetailCropRect, e.deriveRecordingMode, e.describeModelVariant, e.detectAccessRole, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceSelectorMatches, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.egressTranscodeSharingKey, e.egressTransportFromRequest, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.encodeVectorBase64, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateExpressionSource, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.generateAutomationBlock, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.integrationsCapability, e.intercomCapability, e.invocationFromEncodeProfile, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isAudioLabelSelected, e.isBaseConditionKey, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDetectionMacroClass, e.isDeviceConfigCap, e.isDeviceScopedCap, e.isEvent, e.isIsolatedBuiltin, e.isNode, e.isObjectInput, e.isRestoredCap, e.isSameAddonId, e.isScheduleActive, e.isSoftwareDecode, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.knownValues, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logBannerArgs, e.logDestinationCapability, e.logLevelAtMost, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, a = e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.methodAccessForHttpMethod, e.metricsProviderCapability, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeAudioLabel, e.normalizeTokenScopes, e.normalizeUnit, e.notificationOutputCapability, e.notificationRulesCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.osdManagerCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.patchAudio, e.petFeederCapability, e.pickAccessoryControl, e.pickDetailCropConvention, e.pickNativeLeaseOverride, e.pickPreferredRtspEntry, e.pickVideoEncoder, e.pickerForCondition, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.principalMayReachAddon, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readDetailCropConvention, e.readDeviceStateFrom, e.readNativeLeaseOverride, e.readNodePin, e.readTimelapseGeneratedAt, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveEgressDecodeHwAccel, e.resolveFormat, e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.resolveViewableDeviceIds, e.roleSpec, e.runInferenceStep, e.runtimeDevices, e.runtimeStatePolicyFor, e.sceneMonitorCapability, e.scopeInherits, e.scopeKey, e.scopesAllowAddon, e.scopesAllowDeviceCap, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, e.stateVocabularyFor, e.storageCapability, e.storageEvictableCapability, e.storageMigrationCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.summarisePrivacyAudio, e.summarizeEffectiveScope, e.supportedRuntimes, e.switchCapability, e.switchedOffIds, e.synthesizeSourceInfo, e.systemCapability, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.terminalSessionCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toNodeId, e.toStreamSourceEntry, e.toastCapability, e.toggleAudioLabel, e.tokenize, e.transcodeBody, e.tryConvertUnit, e.turnProviderCapability, e.unitDimension, e.unitsForDimension, e.updateCapability, e.userManagementCapability, e.userPasskeysCapability, e.vacuumControlCapability, e.validateExpressionSource, e.validateRecipeBounds, e.valveCapability, e.vectorDimFromBase64, e.vectorStoreCapability, e.vibrationCapability, e.videoclipsCapability, e.viewerUiCapability, e.waterHeaterCapability, e.weatherCapability, e.webrtcClientHintsSchema, e.webrtcSessionCapability, e.wiringAddonHealthSchema, e.wiringHealthSnapshotSchema, e.wiringNodeHealthSchema, e.wiringProbeKindSchema, e.wiringProbeResultSchema, e.zodEntriesToConfigUI, e.zoneAnalyticsCapability, e.zoneRulesCapability, e.zonesCapability, e.default;
20
- }, s = i.share["default:@camstack/types"];
21
- s === void 0 ? n.then(() => {
22
- if (s = i.share["default:@camstack/types"], s === void 0) throw Error("[Module Federation] Shared module @camstack/types was imported before federation bootstrap finished.");
23
- o(s);
24
- }) : o(s);
25
- //#endregion
26
- export { a as t };