@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.
- package/dist/audio-analyzer/index.js +7 -7
- package/dist/audio-analyzer/index.mjs +4 -4
- package/dist/detection-pipeline/index.js +61 -23
- package/dist/detection-pipeline/index.mjs +53 -15
- package/dist/{dist-BzLiQ8Ue.js → dist-BuIP0499.js} +315 -25
- package/dist/{dist-C1dXLLQq.mjs → dist-CmEYRK7G.mjs} +304 -26
- package/dist/{event-loop-stall-monitor-DjV4Bow7.js → event-loop-stall-monitor-Bef2jXMX.js} +1 -1
- package/dist/{event-loop-stall-monitor-CU-xxX5c.mjs → event-loop-stall-monitor-JGTFb0Uv.mjs} +1 -1
- package/dist/{lazy-sharp-DxWmhTqk.js → lazy-sharp-DH2eVehm.js} +3 -3
- package/dist/motion-wasm/index.js +3 -3
- package/dist/motion-wasm/index.mjs +3 -3
- package/dist/node-ChdX9lv7.js +721 -0
- package/dist/node-J07GBWT3.mjs +690 -0
- package/dist/pipeline-runner/index.js +87 -18
- package/dist/pipeline-runner/index.mjs +87 -18
- package/dist/{process-memory-CZK3D3kM.js → process-memory-CJoZemF4.js} +2 -2
- package/dist/{process-memory-CaEwi5Cd.mjs → process-memory-DAKxUb9d.mjs} +2 -2
- package/dist/recorder/index.js +39 -7
- package/dist/recorder/index.mjs +36 -4
- package/dist/{segment-demux-js-BbpqygHL.js → segment-demux-js-BgXbXZnp.js} +1 -1
- package/dist/{segment-demux-js-njRO85gd.mjs → segment-demux-js-Ck9ly4bX.mjs} +1 -1
- package/dist/session-decode/decode-worker-child.js +115 -5
- package/dist/session-decode/decode-worker-child.mjs +115 -5
- package/dist/stream-broker/_stub.js +2 -2
- 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
- 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
- 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
- package/dist/stream-broker/demux-worker-child.js +1 -1
- package/dist/stream-broker/demux-worker-child.mjs +1 -1
- package/dist/stream-broker/{hostInit-CP7Xhd8J.mjs → hostInit-Gd3OcDIa.mjs} +3 -3
- package/dist/stream-broker/index.js +245 -535
- package/dist/stream-broker/index.mjs +242 -530
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/dist/{worker-protocol-DvTZBvh2.js → worker-protocol-Bpz62eyB.js} +2 -1
- package/dist/{worker-protocol-DxsVx0G7.mjs → worker-protocol-wMS29PG9.mjs} +2 -1
- package/package.json +17 -3
- package/dist/addon-utils-CKf8kbwh.js +0 -625
- package/dist/addon-utils-CgBCF-mE.mjs +0 -583
- 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
- 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
- package/dist/{lazy-sharp-BtT5x-qP.mjs → lazy-sharp-DXsqwpph.mjs} +1 -1
package/dist/recorder/index.mjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { $t as
|
|
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-
|
|
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 {
|
|
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-
|
|
3
|
-
const require_lazy_sharp = require("../lazy-sharp-
|
|
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
|
|
2642
|
-
|
|
2643
|
-
|
|
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-
|
|
2
|
-
import { n as setSharpWarnSink, r as hostExternalEntryUrls, t as getSharp } from "../lazy-sharp-
|
|
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
|
|
2641
|
-
|
|
2642
|
-
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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 };
|