@camstack/addon-pipeline 1.2.136 → 1.2.138

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 (41) hide show
  1. package/dist/audio-analyzer/index.js +7 -7
  2. package/dist/audio-analyzer/index.mjs +4 -4
  3. package/dist/detection-pipeline/index.js +61 -23
  4. package/dist/detection-pipeline/index.mjs +53 -15
  5. package/dist/{dist-BzLiQ8Ue.js → dist-BuIP0499.js} +315 -25
  6. package/dist/{dist-C1dXLLQq.mjs → dist-CmEYRK7G.mjs} +304 -26
  7. package/dist/{event-loop-stall-monitor-DjV4Bow7.js → event-loop-stall-monitor-Bef2jXMX.js} +1 -1
  8. package/dist/{event-loop-stall-monitor-CU-xxX5c.mjs → event-loop-stall-monitor-JGTFb0Uv.mjs} +1 -1
  9. package/dist/{lazy-sharp-DxWmhTqk.js → lazy-sharp-DH2eVehm.js} +3 -3
  10. package/dist/motion-wasm/index.js +3 -3
  11. package/dist/motion-wasm/index.mjs +3 -3
  12. package/dist/node-ChdX9lv7.js +721 -0
  13. package/dist/node-J07GBWT3.mjs +690 -0
  14. package/dist/pipeline-runner/index.js +87 -18
  15. package/dist/pipeline-runner/index.mjs +87 -18
  16. package/dist/{process-memory-CZK3D3kM.js → process-memory-CJoZemF4.js} +2 -2
  17. package/dist/{process-memory-CaEwi5Cd.mjs → process-memory-DAKxUb9d.mjs} +2 -2
  18. package/dist/recorder/index.js +39 -7
  19. package/dist/recorder/index.mjs +36 -4
  20. package/dist/{segment-demux-js-BbpqygHL.js → segment-demux-js-BgXbXZnp.js} +1 -1
  21. package/dist/{segment-demux-js-njRO85gd.mjs → segment-demux-js-Ck9ly4bX.mjs} +1 -1
  22. package/dist/session-decode/decode-worker-child.js +115 -5
  23. package/dist/session-decode/decode-worker-child.mjs +115 -5
  24. package/dist/stream-broker/_stub.js +2 -2
  25. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CLtMmF1E.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-Cad8960O.mjs} +3 -3
  26. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-xdmO8wYp.mjs +26 -0
  27. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BrTM_tsb.mjs +26 -0
  28. package/dist/stream-broker/demux-worker-child.js +1 -1
  29. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  30. package/dist/stream-broker/{hostInit-CP7Xhd8J.mjs → hostInit-Gd3OcDIa.mjs} +3 -3
  31. package/dist/stream-broker/index.js +245 -535
  32. package/dist/stream-broker/index.mjs +242 -530
  33. package/dist/stream-broker/remoteEntry.js +1 -1
  34. package/dist/{worker-protocol-DvTZBvh2.js → worker-protocol-Bpz62eyB.js} +2 -1
  35. package/dist/{worker-protocol-DxsVx0G7.mjs → worker-protocol-wMS29PG9.mjs} +2 -1
  36. package/package.json +17 -3
  37. package/dist/addon-utils-CKf8kbwh.js +0 -625
  38. package/dist/addon-utils-CgBCF-mE.mjs +0 -583
  39. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DqplWP1i.mjs +0 -26
  40. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DKMXG57X.mjs +0 -26
  41. package/dist/{lazy-sharp-BtT5x-qP.mjs → lazy-sharp-DXsqwpph.mjs} +1 -1
@@ -1,13 +1,14 @@
1
- import { $t as EventCategory, At as DeviceFeature, B as defineCustomActions, Bt as selectAssignedProfileSlots, E as RecordingConfigSchema, J as evaluateSensorEdge, Jt as number, L as customAction, Lt as nodePin, N as batteryCapability, Nt as hydrateSchema, Ot as BaseAddon, Q as isFirstLevelMacroClass, St as errMsg, T as RECORDING_EXPORT_MAX_READ_BYTES, U as deriveRecordingMode, Ut as array, V as deriveBatteryPresence, Wt as boolean, Xt as record, Yt as object, Zt as string, _ as ExportRecordSchema, d as DEFAULT_EVENTS_BAND_BUFFER_SEC, dt as recordingCapability, ft as recordingExportCapability, gt as resolveRecordingProfiles, h as EVENT_PAD_MS, i as BatteryStatusSchema, jt as DeviceType, vt as storageEvictableCapability, x as OpsLogEntrySchema } from "../dist-C1dXLLQq.mjs";
1
+ import { $ as loadContributionCapability, $t as string, At as BaseAddon, B as defineCustomActions, Ct as errMsg, E as RecordingConfigSchema, Ft as hydrateSchema, Gt as array, Ht as selectAssignedProfileSlots, J as evaluateSensorEdge, Kt as boolean, L as customAction, Mt as DeviceFeature, N as batteryCapability, Nt as DeviceType, Q as isFirstLevelMacroClass, Qt as record, T as RECORDING_EXPORT_MAX_READ_BYTES, U as deriveRecordingMode, V as deriveBatteryPresence, Xt as number, Zt as object, _ as ExportRecordSchema, _t as resolveRecordingProfiles, d as DEFAULT_EVENTS_BAND_BUFFER_SEC, ft as recordingCapability, h as EVENT_PAD_MS, i as BatteryStatusSchema, pt as recordingExportCapability, tn as EventCategory, x as OpsLogEntrySchema, yt as storageEvictableCapability, zt as nodePin } from "../dist-CmEYRK7G.mjs";
2
+ import { i as NO_COST_CLAIM, t as ChildCostRegistry } from "../node-J07GBWT3.mjs";
2
3
  import { t as resolveHubHostname } from "../hub-hostname-cCknRYKj.mjs";
3
4
  import { r as withRecordingIntent } from "../restream-intent-B4BXZra7.mjs";
4
- import { n as createFileDataPlaneHandler, s as parseRangeHeader, t as contentTypeFor } from "../addon-utils-CgBCF-mE.mjs";
5
5
  import { n as RowMapStore, t as retireRootKeys } from "../retire-root-keys-DMolfhsP.mjs";
6
6
  import { randomUUID } from "node:crypto";
7
- import { spawn } from "node:child_process";
8
- import path from "node:path";
9
7
  import { createReadStream, promises, realpathSync } from "node:fs";
8
+ import path from "node:path";
9
+ import { spawn } from "node:child_process";
10
10
  import { open } from "node:fs/promises";
11
+ import { contentTypeFor, createFileDataPlaneHandler, parseRangeHeader } from "@camstack/system/addon-utils";
11
12
  //#region src/recorder/event-capture.ts
12
13
  function markerFromMotion(data, pad) {
13
14
  if (!data.detected) return null;
@@ -6223,6 +6224,7 @@ Object.freeze({
6223
6224
  "listProfiles",
6224
6225
  "listRuntimeNodes"
6225
6226
  ],
6227
+ "load-contribution": ["list"],
6226
6228
  "log-channels": ["list"],
6227
6229
  "log-destination": ["query"],
6228
6230
  "login-method": ["getLoginMethods"],
@@ -8783,6 +8785,12 @@ var SegmentWriter = class {
8783
8785
  startedAt = 0;
8784
8786
  exitWait = null;
8785
8787
  resolveExit = null;
8788
+ /**
8789
+ * The cost claim for the CURRENT ffmpeg generation. Taken in `start()` and
8790
+ * released in `onTermination()` — the two edges of one process, so a restart
8791
+ * storm cannot accumulate claims for children that are already gone.
8792
+ */
8793
+ costClaim = NO_COST_CLAIM;
8786
8794
  constructor(cfg, deps) {
8787
8795
  this.cfg = cfg;
8788
8796
  this.deps = deps;
@@ -8796,6 +8804,7 @@ var SegmentWriter = class {
8796
8804
  this.resolveExit = resolve;
8797
8805
  });
8798
8806
  this.startedAt = Date.now();
8807
+ this.costClaim = this.deps.claimCost?.(proc.pid) ?? NO_COST_CLAIM;
8799
8808
  const stderrTail = [];
8800
8809
  proc.stderr?.on("data", (chunk) => {
8801
8810
  const text = chunk instanceof Buffer ? chunk.toString("utf8") : String(chunk);
@@ -8837,6 +8846,8 @@ var SegmentWriter = class {
8837
8846
  * recording one camera must be greppable by that camera.
8838
8847
  */
8839
8848
  onTermination(termination, stderrTail) {
8849
+ this.costClaim.release();
8850
+ this.costClaim = NO_COST_CLAIM;
8840
8851
  this.resolveExit?.();
8841
8852
  this.resolveExit = null;
8842
8853
  this.proc = null;
@@ -10193,6 +10204,12 @@ var RecordingController = class {
10193
10204
  spawn: this.deps.spawn,
10194
10205
  logger: deviceLog,
10195
10206
  deviceId,
10207
+ claimCost: (pid) => this.deps.costRegistry?.claim({
10208
+ role: "recording",
10209
+ deviceId,
10210
+ unit: `${deviceId}/${profile}`,
10211
+ pid
10212
+ }) ?? NO_COST_CLAIM,
10196
10213
  onGaveUp: () => {
10197
10214
  this.recoverWriterGaveUp(deviceId, profile);
10198
10215
  },
@@ -12416,6 +12433,16 @@ function isSegmentStoreLogExtras(extras) {
12416
12433
  }
12417
12434
  var RecorderV2Addon = class extends BaseAddon {
12418
12435
  nodeId = "hub";
12436
+ /**
12437
+ * The children this addon started, claimed at the spawn site and released at
12438
+ * their exit. It is what `load-contribution` reports: the recorder knows it
12439
+ * ran an ffmpeg for camera 615 profile `high`, so nobody else has to work it
12440
+ * out from a process table.
12441
+ *
12442
+ * One registry per PROCESS, and it dies with the process — which is correct,
12443
+ * because those children were this process's children.
12444
+ */
12445
+ costRegistry = new ChildCostRegistry();
12419
12446
  /** True when THIS node is the designated recording node (`recordingNodeId`).
12420
12447
  * Every other node stays fully inert — registers no providers, serves no
12421
12448
  * playback, runs no controller. Resolved in `onInitialize`. */
@@ -12762,6 +12789,7 @@ var RecorderV2Addon = class extends BaseAddon {
12762
12789
  placeProfile: (deviceId, profile) => this.placeProfile(deviceId, profile),
12763
12790
  onPlacementTick: (deviceIds) => this.recomputePlacement(deviceIds),
12764
12791
  spawn,
12792
+ costRegistry: this.costRegistry,
12765
12793
  segmentSeconds: this.config.segmentSeconds,
12766
12794
  watchIntervalMs: this.config.watchIntervalMs,
12767
12795
  ...consumerHostname !== void 0 ? { consumerHostname } : {},
@@ -13010,6 +13038,10 @@ var RecorderV2Addon = class extends BaseAddon {
13010
13038
  {
13011
13039
  capability: recordingExportCapability,
13012
13040
  provider: exportProvider
13041
+ },
13042
+ {
13043
+ capability: loadContributionCapability,
13044
+ provider: { list: () => this.costRegistry.contributions() }
13013
13045
  }
13014
13046
  ],
13015
13047
  customActions: recorderDebugActions,
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BzLiQ8Ue.js");
1
+ const require_dist = require("./dist-BuIP0499.js");
2
2
  let node_child_process = require("node:child_process");
3
3
  //#region ../../node_modules/mp4box/dist/mp4box.all.js
4
4
  var require_mp4box_all = /* @__PURE__ */ require_dist.__commonJSMin(((exports) => {
@@ -1,5 +1,5 @@
1
1
  import { r as __toESM, t as __commonJSMin } from "./chunk-DnnnRqeS.mjs";
2
- import { St as errMsg } from "./dist-C1dXLLQq.mjs";
2
+ import { Ct as errMsg } from "./dist-CmEYRK7G.mjs";
3
3
  import { spawn } from "node:child_process";
4
4
  //#region ../../node_modules/mp4box/dist/mp4box.all.js
5
5
  var require_mp4box_all = /* @__PURE__ */ __commonJSMin(((exports) => {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_worker_protocol = require("../worker-protocol-DvTZBvh2.js");
3
- const require_lazy_sharp = require("../lazy-sharp-DxWmhTqk.js");
2
+ const require_worker_protocol = require("../worker-protocol-Bpz62eyB.js");
3
+ const require_lazy_sharp = require("../lazy-sharp-DH2eVehm.js");
4
4
  //#region src/session-decode/color-conversion.ts
5
5
  /**
6
6
  * Explicit YUV→RGB colorspace/range resolution for the session-decode worker.
@@ -1092,6 +1092,56 @@ function resolveRgbCropSource(plane, planeStride, region) {
1092
1092
  };
1093
1093
  }
1094
1094
  //#endregion
1095
+ //#region src/session-decode/pull-demuxer-open.ts
1096
+ /**
1097
+ * Open the pull input, skipping `avformat_find_stream_info` when the opened
1098
+ * container already describes its video stream.
1099
+ *
1100
+ * The demuxer is returned even when no video stream was found: disposing it is
1101
+ * the caller's existing `closeInput()` responsibility, and taking that over
1102
+ * here would double-free.
1103
+ */
1104
+ async function openPullDemuxer(params) {
1105
+ const startedAt = Date.now();
1106
+ if (params.forceStreamInfoProbe) return {
1107
+ demuxer: await params.open(params.url, {
1108
+ options: params.demuxerOptions,
1109
+ signal: params.signal,
1110
+ skipStreamInfo: false
1111
+ }),
1112
+ demuxerOpenMs: Date.now() - startedAt,
1113
+ streamInfoProbed: true
1114
+ };
1115
+ const demuxer = await params.open(params.url, {
1116
+ options: params.demuxerOptions,
1117
+ signal: params.signal,
1118
+ skipStreamInfo: true
1119
+ });
1120
+ const videoStream = demuxer.video();
1121
+ if (videoStream && videoStream.codecpar.extradataSize > 0) {
1122
+ const parsed = videoStream.codecpar.parseExtradata();
1123
+ if (parsed < 0) params.note(`decode-worker-child: SPS parse from SDP extradata failed (${parsed}) — decoding anyway, geometry comes from the first decoded frame
1124
+ `);
1125
+ return {
1126
+ demuxer,
1127
+ demuxerOpenMs: Date.now() - startedAt,
1128
+ streamInfoProbed: false
1129
+ };
1130
+ }
1131
+ params.note(`decode-worker-child: opened input did not describe a video stream (videoStream=${videoStream ? "present" : "absent"}, extradataSize=${videoStream?.codecpar.extradataSize ?? 0}) — re-opening WITH the stream-info probe
1132
+ `);
1133
+ demuxer[Symbol.dispose]?.();
1134
+ return {
1135
+ demuxer: await params.open(params.url, {
1136
+ options: params.demuxerOptions,
1137
+ signal: params.signal,
1138
+ skipStreamInfo: false
1139
+ }),
1140
+ demuxerOpenMs: Date.now() - startedAt,
1141
+ streamInfoProbed: true
1142
+ };
1143
+ }
1144
+ //#endregion
1095
1145
  //#region src/session-decode/scene-tile.ts
1096
1146
  /**
1097
1147
  * The whole frame, in the same normalized space every other cut uses. Identical
@@ -1517,6 +1567,17 @@ function errMessage(err) {
1517
1567
  * addon consumer of that package). `analyzeduration`/`probesize` stay small
1518
1568
  * but non-zero — zeroing them starves the Reolink rfc4571 restream demuxer.
1519
1569
  */
1570
+ /**
1571
+ * Restore the unconditional `avformat_find_stream_info` probe on the pull dial.
1572
+ *
1573
+ * Inline rollback (no deploy) for the probe skip, and the A/B that MEASURES it:
1574
+ * `demuxerOpenMs` with this set minus `demuxerOpenMs` with it clear is the
1575
+ * probe's cost on that camera. Read once at module load — a knob that can change
1576
+ * mid-session is a knob with two values during a session
1577
+ * (`native-lease-config.ts` makes the same argument for the lease knobs).
1578
+ * See `pull-demuxer-open.ts`.
1579
+ */
1580
+ var FORCE_STREAM_INFO_PROBE = process.env["CAMSTACK_DECODE_PROBE_STREAM_INFO"] === "1";
1520
1581
  function buildDemuxerOptions() {
1521
1582
  return {
1522
1583
  rtsp_transport: "tcp",
@@ -1753,6 +1814,21 @@ var DecodeWorkerChild = class {
1753
1814
  leaseDownloadFilterBuiltAt = 0;
1754
1815
  dialStartedAt = 0;
1755
1816
  /**
1817
+ * `HardwareContext.create` cost, measured once per worker.
1818
+ *
1819
+ * Reported rather than assumed. The hw device is resolved BEFORE the first
1820
+ * dial and reused across re-dials, so if it is cheap there is nothing to
1821
+ * overlap with `Demuxer.open`; if it is not, this is the number that says so.
1822
+ * Nothing else in this path could answer that question.
1823
+ */
1824
+ hwContextMs = 0;
1825
+ /**
1826
+ * Guards {@link WorkerDialTiming} to ONE report per worker: it describes the
1827
+ * dial that produced the first decoded frame, and a re-dial's numbers would
1828
+ * silently overwrite the cold start the operator is asking about.
1829
+ */
1830
+ dialTimingSent = false;
1831
+ /**
1756
1832
  * Download failures within the CURRENT dial. Forensics (2026-07-16 late,
1757
1833
  * dev 618): failures cluster in the FIRST seconds of a dial after 4-10
1758
1834
  * successful uses — the decoder re-creates its hw_frames_ctx shortly after
@@ -2597,7 +2673,9 @@ var DecodeWorkerChild = class {
2597
2673
  this.nav = nav;
2598
2674
  this.consts = C;
2599
2675
  nav.Log.setLevel(C.AV_LOG_FATAL);
2676
+ const hwContextStartedAt = Date.now();
2600
2677
  await this.ensureHwContext(nav, C);
2678
+ this.hwContextMs = Date.now() - hwContextStartedAt;
2601
2679
  while (!this.stopped) {
2602
2680
  try {
2603
2681
  await this.dialAndDecode(nav, C, url);
@@ -2638,10 +2716,15 @@ var DecodeWorkerChild = class {
2638
2716
  this.dialStartedAt = Date.now();
2639
2717
  this.leaseDownloadFailuresThisDial = 0;
2640
2718
  this.abortController = new AbortController();
2641
- const demuxer = await nav.Demuxer.open(url, {
2642
- options: buildDemuxerOptions(),
2643
- signal: this.abortController.signal
2719
+ const opened = await openPullDemuxer({
2720
+ url,
2721
+ demuxerOptions: buildDemuxerOptions(),
2722
+ signal: this.abortController.signal,
2723
+ open: (target, options) => nav.Demuxer.open(target, options),
2724
+ forceStreamInfoProbe: FORCE_STREAM_INFO_PROBE,
2725
+ note: (message) => this.emitStderr(message)
2644
2726
  });
2727
+ const demuxer = opened.demuxer;
2645
2728
  if (this.stopped) {
2646
2729
  demuxer[Symbol.dispose]?.();
2647
2730
  return;
@@ -2650,24 +2733,51 @@ var DecodeWorkerChild = class {
2650
2733
  const videoStream = demuxer.video();
2651
2734
  if (!videoStream) throw new Error("decode-worker-child: pull input has no video stream");
2652
2735
  const wantHwFrames = this.hwContext !== null && this.hwFilterDecision !== "software";
2736
+ const decoderStartedAt = Date.now();
2653
2737
  const decoder = await nav.Decoder.create(videoStream, {
2654
2738
  ...this.hwContext ? { hardware: this.hwContext } : {},
2655
2739
  ...wantHwFrames ? {} : { rescale: { pixelFormat: C.AV_PIX_FMT_YUV420P } },
2656
2740
  exitOnError: false
2657
2741
  });
2742
+ const decoderCreateMs = Date.now() - decoderStartedAt;
2658
2743
  if (this.stopped) {
2659
2744
  decoder[Symbol.dispose]?.();
2660
2745
  return;
2661
2746
  }
2662
2747
  this.decoder = decoder;
2748
+ const decodeStartedAt = Date.now();
2663
2749
  for await (const frame of decoder.frames(demuxer.packets(videoStream.index))) {
2664
2750
  if (this.stopped) break;
2665
2751
  if (!frame) continue;
2752
+ this.reportDialTiming({
2753
+ hwContextMs: this.hwContextMs,
2754
+ demuxerOpenMs: opened.demuxerOpenMs,
2755
+ decoderCreateMs,
2756
+ firstDecodeMs: Date.now() - decodeStartedAt,
2757
+ streamInfoProbed: opened.streamInfoProbed
2758
+ });
2666
2759
  this.consumeDecodedFrame(frame);
2667
2760
  if (this.redialAsSoftware) break;
2668
2761
  }
2669
2762
  }
2670
2763
  /**
2764
+ * Send the cold-start split ONCE — for the dial that produced the first
2765
+ * decoded frame of this worker's life.
2766
+ *
2767
+ * Not sent on later dials on purpose: a re-dial's numbers are a different
2768
+ * question (a degrade-to-software rebuild, a reconnect), and letting them
2769
+ * overwrite the cold start would make the one line the operator reads mean
2770
+ * two different things depending on what happened afterwards.
2771
+ */
2772
+ reportDialTiming(timing) {
2773
+ if (this.dialTimingSent) return;
2774
+ this.dialTimingSent = true;
2775
+ this.send({
2776
+ kind: "dialTiming",
2777
+ ...timing
2778
+ });
2779
+ }
2780
+ /**
2671
2781
  * Route a decoded frame according to the session's {@link hwFilterDecision}.
2672
2782
  * On the software path a frame is published straight to the latest-wins slot;
2673
2783
  * on the HW path the FIRST GPU surface is probed through the GPU filtergraph
@@ -1,5 +1,5 @@
1
- import { i as formatNativeLeaseKnobs, n as isWorkerRequest, o as resolveNativeLeaseKnobs, r as logLevelForLine } from "../worker-protocol-DxsVx0G7.mjs";
2
- import { n as setSharpWarnSink, r as hostExternalEntryUrls, t as getSharp } from "../lazy-sharp-BtT5x-qP.mjs";
1
+ import { i as formatNativeLeaseKnobs, n as isWorkerRequest, o as resolveNativeLeaseKnobs, r as logLevelForLine } from "../worker-protocol-wMS29PG9.mjs";
2
+ import { n as setSharpWarnSink, r as hostExternalEntryUrls, t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
3
3
  //#region src/session-decode/color-conversion.ts
4
4
  /**
5
5
  * Explicit YUV→RGB colorspace/range resolution for the session-decode worker.
@@ -1091,6 +1091,56 @@ function resolveRgbCropSource(plane, planeStride, region) {
1091
1091
  };
1092
1092
  }
1093
1093
  //#endregion
1094
+ //#region src/session-decode/pull-demuxer-open.ts
1095
+ /**
1096
+ * Open the pull input, skipping `avformat_find_stream_info` when the opened
1097
+ * container already describes its video stream.
1098
+ *
1099
+ * The demuxer is returned even when no video stream was found: disposing it is
1100
+ * the caller's existing `closeInput()` responsibility, and taking that over
1101
+ * here would double-free.
1102
+ */
1103
+ async function openPullDemuxer(params) {
1104
+ const startedAt = Date.now();
1105
+ if (params.forceStreamInfoProbe) return {
1106
+ demuxer: await params.open(params.url, {
1107
+ options: params.demuxerOptions,
1108
+ signal: params.signal,
1109
+ skipStreamInfo: false
1110
+ }),
1111
+ demuxerOpenMs: Date.now() - startedAt,
1112
+ streamInfoProbed: true
1113
+ };
1114
+ const demuxer = await params.open(params.url, {
1115
+ options: params.demuxerOptions,
1116
+ signal: params.signal,
1117
+ skipStreamInfo: true
1118
+ });
1119
+ const videoStream = demuxer.video();
1120
+ if (videoStream && videoStream.codecpar.extradataSize > 0) {
1121
+ const parsed = videoStream.codecpar.parseExtradata();
1122
+ if (parsed < 0) params.note(`decode-worker-child: SPS parse from SDP extradata failed (${parsed}) — decoding anyway, geometry comes from the first decoded frame
1123
+ `);
1124
+ return {
1125
+ demuxer,
1126
+ demuxerOpenMs: Date.now() - startedAt,
1127
+ streamInfoProbed: false
1128
+ };
1129
+ }
1130
+ params.note(`decode-worker-child: opened input did not describe a video stream (videoStream=${videoStream ? "present" : "absent"}, extradataSize=${videoStream?.codecpar.extradataSize ?? 0}) — re-opening WITH the stream-info probe
1131
+ `);
1132
+ demuxer[Symbol.dispose]?.();
1133
+ return {
1134
+ demuxer: await params.open(params.url, {
1135
+ options: params.demuxerOptions,
1136
+ signal: params.signal,
1137
+ skipStreamInfo: false
1138
+ }),
1139
+ demuxerOpenMs: Date.now() - startedAt,
1140
+ streamInfoProbed: true
1141
+ };
1142
+ }
1143
+ //#endregion
1094
1144
  //#region src/session-decode/scene-tile.ts
1095
1145
  /**
1096
1146
  * The whole frame, in the same normalized space every other cut uses. Identical
@@ -1516,6 +1566,17 @@ function errMessage(err) {
1516
1566
  * addon consumer of that package). `analyzeduration`/`probesize` stay small
1517
1567
  * but non-zero — zeroing them starves the Reolink rfc4571 restream demuxer.
1518
1568
  */
1569
+ /**
1570
+ * Restore the unconditional `avformat_find_stream_info` probe on the pull dial.
1571
+ *
1572
+ * Inline rollback (no deploy) for the probe skip, and the A/B that MEASURES it:
1573
+ * `demuxerOpenMs` with this set minus `demuxerOpenMs` with it clear is the
1574
+ * probe's cost on that camera. Read once at module load — a knob that can change
1575
+ * mid-session is a knob with two values during a session
1576
+ * (`native-lease-config.ts` makes the same argument for the lease knobs).
1577
+ * See `pull-demuxer-open.ts`.
1578
+ */
1579
+ var FORCE_STREAM_INFO_PROBE = process.env["CAMSTACK_DECODE_PROBE_STREAM_INFO"] === "1";
1519
1580
  function buildDemuxerOptions() {
1520
1581
  return {
1521
1582
  rtsp_transport: "tcp",
@@ -1752,6 +1813,21 @@ var DecodeWorkerChild = class {
1752
1813
  leaseDownloadFilterBuiltAt = 0;
1753
1814
  dialStartedAt = 0;
1754
1815
  /**
1816
+ * `HardwareContext.create` cost, measured once per worker.
1817
+ *
1818
+ * Reported rather than assumed. The hw device is resolved BEFORE the first
1819
+ * dial and reused across re-dials, so if it is cheap there is nothing to
1820
+ * overlap with `Demuxer.open`; if it is not, this is the number that says so.
1821
+ * Nothing else in this path could answer that question.
1822
+ */
1823
+ hwContextMs = 0;
1824
+ /**
1825
+ * Guards {@link WorkerDialTiming} to ONE report per worker: it describes the
1826
+ * dial that produced the first decoded frame, and a re-dial's numbers would
1827
+ * silently overwrite the cold start the operator is asking about.
1828
+ */
1829
+ dialTimingSent = false;
1830
+ /**
1755
1831
  * Download failures within the CURRENT dial. Forensics (2026-07-16 late,
1756
1832
  * dev 618): failures cluster in the FIRST seconds of a dial after 4-10
1757
1833
  * successful uses — the decoder re-creates its hw_frames_ctx shortly after
@@ -2596,7 +2672,9 @@ var DecodeWorkerChild = class {
2596
2672
  this.nav = nav;
2597
2673
  this.consts = C;
2598
2674
  nav.Log.setLevel(C.AV_LOG_FATAL);
2675
+ const hwContextStartedAt = Date.now();
2599
2676
  await this.ensureHwContext(nav, C);
2677
+ this.hwContextMs = Date.now() - hwContextStartedAt;
2600
2678
  while (!this.stopped) {
2601
2679
  try {
2602
2680
  await this.dialAndDecode(nav, C, url);
@@ -2637,10 +2715,15 @@ var DecodeWorkerChild = class {
2637
2715
  this.dialStartedAt = Date.now();
2638
2716
  this.leaseDownloadFailuresThisDial = 0;
2639
2717
  this.abortController = new AbortController();
2640
- const demuxer = await nav.Demuxer.open(url, {
2641
- options: buildDemuxerOptions(),
2642
- signal: this.abortController.signal
2718
+ const opened = await openPullDemuxer({
2719
+ url,
2720
+ demuxerOptions: buildDemuxerOptions(),
2721
+ signal: this.abortController.signal,
2722
+ open: (target, options) => nav.Demuxer.open(target, options),
2723
+ forceStreamInfoProbe: FORCE_STREAM_INFO_PROBE,
2724
+ note: (message) => this.emitStderr(message)
2643
2725
  });
2726
+ const demuxer = opened.demuxer;
2644
2727
  if (this.stopped) {
2645
2728
  demuxer[Symbol.dispose]?.();
2646
2729
  return;
@@ -2649,24 +2732,51 @@ var DecodeWorkerChild = class {
2649
2732
  const videoStream = demuxer.video();
2650
2733
  if (!videoStream) throw new Error("decode-worker-child: pull input has no video stream");
2651
2734
  const wantHwFrames = this.hwContext !== null && this.hwFilterDecision !== "software";
2735
+ const decoderStartedAt = Date.now();
2652
2736
  const decoder = await nav.Decoder.create(videoStream, {
2653
2737
  ...this.hwContext ? { hardware: this.hwContext } : {},
2654
2738
  ...wantHwFrames ? {} : { rescale: { pixelFormat: C.AV_PIX_FMT_YUV420P } },
2655
2739
  exitOnError: false
2656
2740
  });
2741
+ const decoderCreateMs = Date.now() - decoderStartedAt;
2657
2742
  if (this.stopped) {
2658
2743
  decoder[Symbol.dispose]?.();
2659
2744
  return;
2660
2745
  }
2661
2746
  this.decoder = decoder;
2747
+ const decodeStartedAt = Date.now();
2662
2748
  for await (const frame of decoder.frames(demuxer.packets(videoStream.index))) {
2663
2749
  if (this.stopped) break;
2664
2750
  if (!frame) continue;
2751
+ this.reportDialTiming({
2752
+ hwContextMs: this.hwContextMs,
2753
+ demuxerOpenMs: opened.demuxerOpenMs,
2754
+ decoderCreateMs,
2755
+ firstDecodeMs: Date.now() - decodeStartedAt,
2756
+ streamInfoProbed: opened.streamInfoProbed
2757
+ });
2665
2758
  this.consumeDecodedFrame(frame);
2666
2759
  if (this.redialAsSoftware) break;
2667
2760
  }
2668
2761
  }
2669
2762
  /**
2763
+ * Send the cold-start split ONCE — for the dial that produced the first
2764
+ * decoded frame of this worker's life.
2765
+ *
2766
+ * Not sent on later dials on purpose: a re-dial's numbers are a different
2767
+ * question (a degrade-to-software rebuild, a reconnect), and letting them
2768
+ * overwrite the cold start would make the one line the operator reads mean
2769
+ * two different things depending on what happened afterwards.
2770
+ */
2771
+ reportDialTiming(timing) {
2772
+ if (this.dialTimingSent) return;
2773
+ this.dialTimingSent = true;
2774
+ this.send({
2775
+ kind: "dialTiming",
2776
+ ...timing
2777
+ });
2778
+ }
2779
+ /**
2670
2780
  * Route a decoded frame according to the session's {@link hwFilterDecision}.
2671
2781
  * On the software path a frame is published straight to the latest-wins slot;
2672
2782
  * on the HW path the FIRST GPU surface is probed through the GPU filtergraph
@@ -1,7 +1,7 @@
1
- import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DKMXG57X.mjs";
1
+ import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BrTM_tsb.mjs";
2
2
  import { a as p, i as m, n as h, o as g, r as _, t as v } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react__loadShare__.js-C9j-2lBe.mjs";
3
3
  import { n as y, r as b, t as x } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-XO0-Pyu6.mjs";
4
- import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DqplWP1i.mjs";
4
+ import { t as S } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-xdmO8wYp.mjs";
5
5
  import { n as C, t as w } from "./_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-BO7TIbJV.mjs";
6
6
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
7
7
  var T = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), E = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), D = (e) => {
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.38",
6
+ version: "1.2.40",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_stream_broker_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.116",
21
+ version: "1.2.118",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_stream_broker_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.79",
36
+ version: "1.2.81",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_stream_broker_widgets",
@@ -0,0 +1,26 @@
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.AnalyticsGroupDetailSchema, e.AnalyticsGroupMemberSchema, e.AnalyticsGroupRecordSchema, 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.BATTERY_UNREACHABLE_AFTER_MS, e.BOOT_RECOVERY_BACKOFF_MS, 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.BulkRecordSchema, 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.CLASS_MAP_MACRO_TARGETS, e.CLUSTER_MODEL_SCOPED_STEPS, e.CLUSTER_MODEL_SECTION_ID, e.CLUSTER_STEP_SETTING_FIELDS, 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_CLUSTER_STEP_MODELS, e.DEFAULT_CLUSTER_STEP_SETTINGS, 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_FIRST_SIGHTING_FRESHNESS_MS, e.DEFAULT_MIN_LANDMARK_FACE_SIZE_PX, e.DEFAULT_NATIVE_LEASE_SETTINGS, e.DEFAULT_POOL_MEMORY_POLICY, e.DEFAULT_RECORDING_PROFILES, e.DEFAULT_RETENTION, e.DEFAULT_RUNTIME_STATE_DURABILITY, e.DEFAULT_TIMELAPSE_PREVIEW_TEXT, e.DEFAULT_TOKEN_EXPIRY, 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_CHILDREN_BATCH_MAX, 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.DetectionCatalogClassMapSchema, 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.DiagnosticIdSchema, e.DiagnosticWindowPatchSchema, e.DiagnosticWindowSchema, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DiskReconcileJobSchema, 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.FIRST_LEVEL_MACRO_CLASSES, e.FULL_IMAGE_BBOX, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.Fmp4BoxSplitter, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.FrameLazyCountersSchema, e.FrameLazyMetricsSchema, e.GasStatusSchema, e.GetLoggingSettingsInputSchema, 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.HfModelResolutionSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.INFERENCE_DEVICE_EXCLUSION_REASONS, e.ImageContractSchema, e.ImageContractStateSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.InferenceDeviceExclusionReasonSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LOAD_CONTRIBUTION_ATTRIBUTIONS, e.LOAD_CONTRIBUTION_ROLES, e.LOG_CHANNEL_TICK_MS, e.LOG_LEVEL_RANK, e.LabelAttributionSchema, e.LabelDefinitionSchema, e.LabelTierSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LinkedDevicesModeSchema, e.ListGroupsPageSchema, e.ListGroupsQueryInput, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmDownloadProgressSchema, 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.LoadContributionSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogChannelApplyResultSchema, e.LogChannelDescriptorSchema, e.LogChannelGate, e.LogChannelLevelSchema, e.LogChannelRegistry, e.LogChannelWindowPatchSchema, e.LogChannelWindowSchema, e.LogChannelWindowStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoggingEffectiveSchema, e.LoggingExplicitSchema, e.LoggingLevelLayerSchema, e.LoggingLevelSourceSchema, e.LoggingScopeKindSchema, e.LoggingSettingsPatchSchema, e.LoggingSettingsStateSchema, e.LoginMethodContributionSchema, e.LoginStageEnum, e.MACRO_LABELS, e.MAX_CLIP_EVENT_IDS, e.MAX_CLIP_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.MAX_SENSOR_TRIGGER_DEVICES, e.METHOD_ACCESS_MAP, e.METHOD_DEVICE_SELECTORS, e.MODEL_FORMATS, e.MODEL_PROVIDER_IDS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelExtraFileSchema, 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.ModelProviderIdSchema, 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_SCENE_BUDGET_FIELD, e.NATIVE_LEASE_SCENE_BUDGET_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_CONFIRM_HITS_DEFAULT, e.NC_AUDIO_CONFIRM_HITS_MAX, e.NC_AUDIO_CONFIRM_HITS_MIN, e.NC_AUDIO_CONFIRM_WINDOW_MAX_SEC, e.NC_AUDIO_CONFIRM_WINDOW_MIN_SEC, e.NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT, 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_AUDIO_SEED, 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_OCCUPANCY_DEFAULTS, e.NC_RULE_EDITOR_SECTION_ORDER, e.NC_RULE_KIND_SPECS, e.NC_RULE_SECTIONS, e.NC_SNOOZE_MAX_MINUTES, e.NC_SYSTEM_DELIVERY, e.NC_SYSTEM_EVENT_FILTER_KEYS, 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.NcSceneConditionSchema, 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.OPERATOR_WRITTEN_STALE_MS, 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.PoolMemoryWatchdog, 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.ROOT_BUCKET_KEY, e.RUNTIME_DEFAULTS, e.RUNTIME_STATE_POLICY, e.RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadGopBytesResultSchema, e.ReadSegmentBytesResultSchema, e.ReadWindowBytesResultSchema, 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.RecordingObjectTriggerClassSchema, 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.ReportedLoadContributionSchema, e.RequestCensusGroupSchema, e.RequestCensusProcedureSchema, e.RequestCensusSnapshotSchema, e.RequestCensusStatusSchema, 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_DEFAULT_UNCOVERED_POLICY, e.SCENE_DIVERGED, e.SCENE_RESET_RECAPTURES, e.SCOPE_PRESETS, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_CAPS, e.SOURCE_CAP_ACTIVE_FIELD, e.SOURCE_CAP_CHANGED_AT_FIELD, e.SOURCE_DEVICE_TYPES, 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.SceneUncoveredPolicySchema, e.SceneVerdictSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SetLoggingSettingsInputSchema, 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.TransportPlaneCountsSchema, e.TransportPlaneSchema, e.TurnServerSchema, e.UNATTRIBUTED_BUCKET_KEY, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VISIT_MERGE_GAP_MS, 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.__resetLogChannelRegistryForTests, 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.audioKindId, 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.clusterModelSettingKey, e.clusterStepSettingFieldsFor, e.clusterStepSettingKey, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.commitWatchdogRestart, e.compileExpression, e.compileExpressionSafe, e.composeSwitchedOff, e.conditionDepth, e.conditionExclusionReason, e.conditionVisibleForKind, 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.createEventBusSliceSource, e.createExpressionScope, e.createHwAccelCache, e.createLazyTrpcSource, e.createLogChannelsProvider, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dataStoreProviderCapability, e.dayNightCapability, e.declarationOwnerNodeId, e.declareLogChannel, e.decodeVectorBase64, e.decoderCapability, e.defaultDeliveryForSection, e.defaultDeviceFor, e.defineCustomActions, e.deriveBatteryPresence, 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.droppedConditionsForKind, 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.evaluatePoolMemory, e.evaluateSensorEdge, 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.foldSnapshotByFunction, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.generateAutomationBlock, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getLogChannelRegistry, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.inferModelProvider, e.initialPoolMemoryState, e.integrationsCapability, e.intercomCapability, e.invocationFromEncodeProfile, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isAudioLabelSelected, e.isAudioRule, e.isBaseConditionKey, e.isBatteryPresenceFault, e.isClusterScopedStep, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDetectionMacroClass, e.isDeviceConfigCap, e.isDeviceScopedCap, e.isEvent, e.isFirstLevelMacroClass, e.isIsolatedBuiltin, e.isNode, e.isObjectInput, e.isOccupancyRule, e.isRestoredCap, e.isSameAddonId, e.isScheduleActive, e.isSoftwareDecode, e.isSourceCap, e.isSystemDelivery, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.knownValues, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.loadContributionCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logBannerArgs, e.logChannelsCapability, 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.overlayClusterStepSettings, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProcStatus, e.parseProfileBrokerId, e.parseRuleSection, e.parseStreamParamsFormPatch, e.patchAudio, e.petFeederCapability, e.pickAccessoryControl, e.pickClusterStepModels, e.pickClusterStepSettings, e.pickDetailCropConvention, e.pickNativeLeaseOverride, e.pickPreferredRtspEntry, e.pickRestartCandidate, e.pickVideoEncoder, e.pickerForCondition, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.poolMemoryThreshold, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.principalMayReachAddon, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readClusterStepModels, e.readClusterStepSettings, e.readDetailCropConvention, e.readDeviceStateFrom, e.readNativeLeaseOverride, e.readNodePin, e.readTimelapseGeneratedAt, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.reducePoints, e.requiresPython, e.resetPoolBaseline, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveBucketMs, e.resolveCapMount, e.resolveClusterStepModelId, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveEgressDecodeHwAccel, e.resolveFormat, e.resolveHydratedFieldValue, e.resolveMethodAuth, e.resolveModelFormat, e.resolveMutate, e.resolvePoolMemoryPolicy, e.resolveRecordingProfiles, e.resolveRunnerId, e.resolveVariantModelId, e.resolveViewableDeviceIds, e.roleSpec, e.ruleEditorSectionsForKind, e.ruleKindOf, e.ruleKindSpec, e.ruleMatchesSection, e.ruleSection, e.ruleSectionOf, e.ruleSeedForSection, 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.sliceActiveValue, e.sliceChangedAt, 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.systemEventFilterApplies, e.systemEventFilterAppliesToAnyKind, 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 };